ATmega328P na zkušebním poli

Page

Stránky / Mikrokontroléry /

Na této stránce je návod, jak poskládat jádro z Arduino na zkušebním poli. ATmega328P-PU je mikrokontrolér, kolem kterého je postaveno Arduino Uno. Tento návod staví verzi, která běží na frekvenci 16 MHz. Naprogramovat hotové zapojení lze podle návodu na Arduino jako ISP programátor.

Zkušební pole

Na experiment stačí pole, které má 30 sloupců. Něj se pohodlně vejde mikrokontrolér, reset obvod, krystal a LED dioda.

Mikrokontrolér

Zastrčte ATmega328P do zkušebního pole tak, aby PIN1 byl na pozici e9. To nám zajistí dostatek prostoru po obou stranách, kam budeme umisťovat později reset tlačítko a LED diodu.

ATmega328P on a breadboard

Napájení

Propojte obě podélné dráhy, které jsou určeny pro + 5V a GND. Přidejte propojení mezi a16 a GND a j15 a GND. Přidejte propojení mezi a15 a +5 V a j16 a +5 V. Propojení j15 a j16 nemusí být nutně připojeny, jejich účelem je napájet analogové měření. Někdy se v takových schématech přidává ještě kondenzátor 0,1 uF mezi každý napájecí pin a GND. Je to filtrovací kondenzátor, jehož úkolem je vyrovnávat výkyvy napětí. Umisťuje se co nejblíže k mikrokontroléru. Pokud si budete takové zapojení skládat na plošném spoji, určitě tam ty kondenzátory přidejte.

ATmega328P power wires

Reset

Reset tlačítkem můžete obvod kdykoliv resetovat. Tlačítko zastrčte hned vedle mikrokontroléru. Vyrábějí se různé typy, které se mírně liší velikostí. Můj se vešel na pozici c6-e8. Dejte pozor na to, aby byly v tlačítku vodivé dráhy vodorovně s mikrokontrolérem. Rezistor 10k zastrčte mezi a9 a + 5V.

Na pozici e9 je pin 1 mikrokontroléru. Ten je díky rezistoru (pull-up) držen na +5 V. Stisknutím tlačítka se pin připojí na GND a to vyvolá reset mikrokontroléru. Aby to fungovalo, je třeba ještě propojit a6 a GND a a8 a b9.

ATmega328P reset button

Krystal

Krystal je potřebný pouze tehdy, pokud chceme mít identické Arduino na frekvenci 16 MHz. Propojte kondenzátor 22pF mezi a17 a GND. Propojte kondenzátor 22 pF mezi a18 a GND. Propojte krystal 16 MHz mezi b17 a b18. Implicitně je mikrokontrolér z výroby nastaven na frekvenci 1 MHz. Aby mohl fungovat i na vyšší frekvenci, je potřebný krystal a třeba nastavit i pojistky (fuses).

ATmega328P crystal

LED

LED nám poslouží k indikaci správné činnosti obvodu. Připojíme ji ke stejnému pinu, kde má Arduino Uno LED diodu na digitálním výstupu 13. Propojte h18 a h24. LED umístěte na i24 (anoda - delší nožička) a i25. Propojte rezistor 1k mezi j25 a GND. V jiných návodech se můžete setkat is hodnotou 330R. Hodnoty rezistoru nastavují proud, který teče přes LED diodu. Dnes se prodávají silně svítivé LED diody, takže hodnota 1k vám bude stačit.

ATmega328P on a breadboard - final

Připojení Arduina Uno jako ISP

  • 10 uF elektrolytický kondenzátor mezi RESET a GND na Arduinu. Plus je připojeno na RESET. Toto zabrání resetu Arduina. Nejprve to ale vyzkoušejte bez kondenzátoru. Podle mých zkušeností není při novějších verzích IDE potřebný.
  • 5 V z Arduina na 5 V zkušebního pole.
  • GND z Arduina na GND zkušebního pole.
  • 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

Nyní je obvod připraven na programování a testování. Přesný popis viz hyperlink na na začátku této strany. Nezapomeňte správně nastavit všechny parametry. Častou chybou bývá zejména to, že správně nenastavíte verzi programátora na ArduinoISP. Dejte si pozor i na nastavení pojistek (fuses).

Poskládané na zkušebním poli

Abyste si mohli udělat představu, jak to vypadá opravdu poskládané, přiložil jsem i fotografie.

ATmega328P on a breadboard

Na prvním obrázku je to poskládané pomocí propojovacích vodičů. Trošku nepřehledné.

ATmega328P on a breadboard

Na druhém obrázku je to poskládané pomocí propojovacích drátků, které se dají koupit v šikovném balení. Výsledkem může být opravdu přehledné zapojení.

Rozmístění pinů.

ATmega328P pin mapping

Proč to zapojovat jen takto?

Protože spotřeba takto zapojeného mikrokontroléru je minimální. Arduino má na plošném spoji kopu součástek, které spotřebovávají proud. Při takovém zapojení je spotřeba pouze 16 mA. Arduino UNO má spotřebu přibližně 50 mA.

Pokud se chcete dostat se spotřebou ještě nižší, je možné mikrokontrolér uspat. Pokud se člověk nechce při tom velmi vyčerpat zkoumáním režimů spánku, využije hotové  řešení prostřednictvím knihovny Narcoleptic.


02.07.2017


Menu