Symbol | Oznaczenie | Nazwa | Przykład |
- | Połączenie przewodów | ||
- | Skrzyżowanie (przewody nie łączą się) | ||
Vcc | Napięcie zasilające | ||
GND | Masa | ||
R | Rezystor | ||
C | Kondensator | ||
C | Kondensator elektrolityczny | ||
D | Dioda | ||
D, LED | LED | ||
Q, X, XTAL | Oscylator kwarcowy | ||
T, Q | Tranzystor | ||
U, IC | Układ scalony |
Źródło: Wojciechowski J. - "Elektronika dla wszystkich", WKiŁ 1975
Przykładowa aplikacja:
Wartość kondensatorów elektrolitycznych zwiększamy gdy prąd pobierany jest "skokami", pobieramy prąd bliski maksymalnemu prądowi stabilizatora, lub po prostu stabilizator podłączony jest dłuższym przewodem. W przypadku podłączania do mostka Gretz'a, kondensator elektrolityczny na wejściu powinien mieć znaczną pojemność (przynajmniej 1000uF na każdy amper pobieranego prądu), a napięcie pracy kondensatora powinno być większe lub równe 1,41*napięcie AC przed prostownikiem.
Moc wydzielana na stabilizatorze w postaci ciepła:
P = (Uin-Uout)*Iout
Np. wchodzi 14V, wychodzi 5V, pobieramy 0,5A:
P = (14-5)*0,5 = 4,5W.
Po sprawdzeniu opracowanego prototypu z płytką stykową i modułem Arduino, można zdecydować się na budowę odrębnego urządzenia. W takim przypadku (o ile tylko zapewnimy źródło taktowania i nie potrzebujemy połączenia USB) możliwe jest zastosowanie zamiast pełnego modułu Arduino tańszego samego mikrokontrolera Atmega328 (lub nawet Atmega8):
Niniejszy schemat zawiera wyprowadzenia do programowania przy użyciu modułu Arduino pozbawionego mikrokontrolera: PROG_RST (Reset), PROG_RX i PROG_TX.
Podczas programowania należy również dołączyć do układu zasilanie (PROG_V) i masę (PROG_G). W przypadku wykorzystania linii RX i TX we własnym zastosowaniu,
można zastosować dwie podwójne zwory, zakładane na czas normalnej pracy urządzenia, a usuwane podczas programowania - w razie zapisu nowego programu na wyprowadzenia
zworek bliższe mikrokontrolerowi dołączane jest Arduino z usuniętym mikrokontrolerem.
Uwaga: Jeżeli układ pobiera dość duży prąd na linii 5V, warto zastosować również zworę na zasilaniu mikrokontrolera by nie przeciążyć Arduino/USB/stabilizatora Arduino.
W celu łatwiejszego przeniesienia prototypu na własną konstrukcję, wyprowadzenia mikrokontrolera odpowiadające wyprowadzeniom modułu Arduino Uno można odczytać z poniższej tabelki:
Pin Arduino Uno | Pin Atmega328 | Uwagi |
0 | 2 | Również Rx do RS232, programowania |
1 | 3 | Również Tx do RS232, programowania |
2 | 4 | - |
3 | 5 | - |
4 | 6 | - |
5 | 11 | - |
6 | 12 | - |
7 | 13 | - |
8 | 14 | - |
9 | 15 | - |
10 | 16 | Również ISP SS |
11 | 17 | Również ISP MOSI |
12 | 18 | Również ISP MISO |
13 | 19 | Również ISP SCK, LED |
AD0 | 23 | - |
AD1 | 24 | - |
AD2 | 25 | - |
AD3 | 26 | - |
AD4 | 27 | - |
AD5 | 28 | - |
Najprostszym programatorem jest programator BSD, podłączany pod port równoległy. Opis budowy można znaleźć np. na tej stronie. W większości przypadków warto jednak dać rezystory 470 Ohm - 1K przed piny MOSI, MISO i SCK. Zabezpieczy to port. Nie należy wkładać układu przy włączonym komputerze - albo wkładamy całość programatora z chipem, albo robimy montaż przy wyłączonym komputerze. W przeciwnym wypadku można uszkodzić port lub mikrokontroler. Wiele programatorów obsługiwanych jest przez program AVRDude. Krótki opis programowania:
avrdude -p m328p -c bsd -e
Linie te po kolei powodują:
- Wyczyszczenie zawartości układu.
- Zapisanie do układu zawartości pliku cpu.hex. Jeżeli chcemy wgrać i zawarotśc EPROM'u, używamy -U eeprom:w:eeprom.hex
- Ustawienie fuse-bitów: Niski: 0xFF, wysoki: 0xC9. Po takim ustawieniu nie będzie można już mikrokontrolera zaprogramować o ile
nie dostarczy się mu źródła taktowania na wyprowadzenia XTAL. W przypadku programowania często wystarczajace jest wetknięcie oscylatora w otwory podstawki
programatora wraz z układem.
UWAGA: W przypadku programatora na port równoległy pod Linuksem należy uruchamiać avrdude z poziomu administratora (np. przez sudo).
Dzięki temu mamy dostęp do portu równoległego i odpowiednie odstępy czasowe są zachowane.
Jeżeli programujemy ATMega8, zmieniamy m328p na m8. Typ programatora zmieniamy z "bsd".
2015/16 mgr inż. Marek Wilkus, Ostatnia aktualizacja: 20160304