ATmega328P na skúšobnom poli

Page

Stránky / Mikrokontroléry /

Na tejto stránke je návod, ako poskladať jadro z Arduina na skúšobnom poli. ATmega328P-PU je mikrokontrolér, okolo ktorého je postavené Arduino Uno. Tento návod stavia verziu, ktorá beží na frekvencii 16 MHz. Naprogramovať hotové zapojenie možno podľa návodu na Arduino ako ISP programátor.

Skúšobné pole

Na experiment stačí pole, ktoré má 30 stĺpcov. Naň sa pohodlne zmestí mikrokontrolér, reset obvod, kryštál a LED dióda.

Mikrokontrolér

Zastrčte ATmega328P do skúšobného poľa tak, aby PIN1 bol na pozícii e9. To nám zabezpečí dostatok priestoru po oboch stranách, kam budeme umiestňovať neskôr reset tlačidlo a LED diódu.

ATmega328P on a breadboard

Napájanie

Prepojte obe pozdĺžne dráhy, ktoré sú určené pre +5V a GND. Pridajte prepojenie medzi a16 a GND a j15 a GND. Pridajte prepojenie medzi a15 a +5 V a j16 a +5 V. Prepojenia j15 a j16 nemusia byť nutne pripojené, ich účelom je napájať analógové meranie. Niekedy sa v takýchto schémach pridáva ešte kondenzátor 0,1 uF medzi každý napájací pin a GND. Je to filtrovací kondenzátor, ktorého úlohou je vyrovnávať výkyvy napätia. Umiestňuje sa čo najbližšie k mikrokontroléru. Pokiaľ si budete takéto zapojenie skladať na plošnom spoji, určite tam tie kondenzátory pridajte.

ATmega328P power wires

Reset

Reset tlačidlom môžete obvod kedykoľvek resetovať. Tlačidlo zastrčte hneď vedľa mikrokontroléra. Vyrábajú sa rôzne typy, ktoré sa mierne líšia veľkosťou. Môj sa zmestil na pozíciu c6-e8. Dajte pozor na to, aby boli v tlačidle vodivé dráhy vodorovne s mikrokontrolérom. Rezistor 10k zastrčte medzi a9 a +5V.

Na pozícii e9 je pin 1 mikrokontroléra. Ten je vďaka rezistoru (pull-up) držaný na +5 V. Stlačením tlačidla sa pin pripojí na GND a to vyvolá reset mikrokontroléra. Aby to fungovalo, je potrebné ešte prepojiť a6 a GND a a8 a b9.

ATmega328P reset button

Kryštál

Kryštál je potrebný len vtedy, ak chceme mať identické Arduino na frekvencii 16 MHz. Prepojte kondenzátor 22pF medzi a17 a GND. Prepojte kondenzátor 22 pF medzi a18 a GND. Prepojte kryštál 16 MHz medzi b17 a b18. Implicitne je mikrokontrolér z výroby nastavený na frekvenciu 1 MHz. Aby mohol fungovať aj na vyššej frekvencii, je potrebný kryštál a treba nastaviť aj poistky (fuses).

ATmega328P crystal

LED

LED nám poslúži na indikáciu správnej činnosti obvodu. Pripojíme ju ku tomu istému pinu, kde má Arduino Uno LED diódu na digitálnom výstupe 13. Prepojte h18 a h24. LED umiestnite na i24 (anóda - dlhšia nožička) a i25. Prepojte rezistor 1k medzi j25 a GND. V iných návodoch sa môžete stretnúť aj s hodnotou 330R. Hodnoty rezistora nastavujú prúd, ktorý tečie cez LED diódu. Dnes sa predávajú silno svietivé LED diódy, takže hodnota 1k vám bude stačiť.

ATmega328P on a breadboard - final

Pripojenie Arduina Uno ako ISP

  • 10 uF elektrolytický kondenzátor medzi RESET a GND na Arduine. Plus je pripojené na RESET. Toto zabráni resetu Arduina. Najprv to ale vyskúšajte bez kondenzátora. Podľa mojich skúseností nie je pri novších verziách IDE potrebný.
  • 5 V z Arduina na 5 V skúšobného poľa.
  • GND z Arduina na GND skúšobného poľa.
  • PIN10 z Arduina na d9.
  • PIN11 z Arduina na j20.
  • PIN12 z Arduina na j19.
  • PIN13 z Arduina na j18.

Arduino UNO as ISP programmer

Teraz je obvod pripravený na programovanie a testovanie. Presný popis si pozrite na hyperlinku na začiatku tejto strany. Nezabudnite správne nastaviť všetky parametre. Častoch chybou býva najmä to, že správne nenastavíte verziu programátora na ArduinoISP. Dajte si pozor aj na nastavenie poistiek (fuses).

Poskladané na skúšobnom poli

Aby ste si mohli urobiť predstavu, ako to vyzerá naozaj poskladané, priložil som aj fotografie.

ATmega328P on a breadboard

Na prvom obrázku je to poskladané pomocou prepojovacích káblikov. Trošku neprehľadné.

ATmega328P on a breadboard

Na druhom obrázku je to poskladané pomocou prepojovacích drôtikov, ktoré sa dajú kúpiť v šikovnom balení. Výsledkom môže byť naozaj prehľadné zapojenie.

Rozmiestnenie pinov

ATmega328P pin mapping

Prečo to zapájať len takto?

Pretože spotreba takto zapojeného mikrokontroléra je minimálna. Arduino má na plošnom spoji kopu súčiastok, ktoré spotrebovávajú prúd. Pri takomto zapojení je spotreba iba 16 mA. Arduino UNO má spotrebu približne 50 mA.

Ak sa chcete dostať so spotrebou ešte nižšie, je možné mikrokontrolér uspať. Ak sa človek nechce pri tom veľmi vyčerpať skúmaním režimov spánku, využije hotové riešenie prostredníctvom knižnice Narcoleptic.


08.03.2016


Menu