- Potrebne komponente
- Pin-diagram Atmega328
- Opisi komponent
- 1. del: Izdelava Arduino Circuit na Breadboard
- Del 2: Sežiganje zagonskega nalagalnika v Atmega328 IC
- 3. del: Kako programirati Arduino Bootloader, naložen Atmega 328
- Programiranje čipa Atmega328 z uporabo plošče Arduino
- Programiranje čipa Arduino Atmega328 z uporabo pretvornika USB v serijski
Vsi vemo, da se Atmega328 IC uporablja na plošči Arduino UNO. Ta IC je možgan Arduino plošče. Pravzaprav so oblikovalci Arduina želeli izdelati priročno prototipsko ploščo za začetnike, tako da so vse komponente organizirali tako, da ima vsakdo dostop do vseh nožic IC Atmega328 in jo lahko programira samo s priključitvijo na računalnik. Tabla Arduino je zelo priljubljena za gradnjo hobi projektov. Toda v industrijskih ali potrošniških izdelkih ni dobra ideja uporabljati celotno ploščo Arduino, zato lahko uporabimo samostojni Atmega328 IC, ki ga lahko programiramo z Arduino IDE, vendar brez uporabe plošče Arduino.
V tej vadnici bomo videli, kako zamenjati ploščo Arduino z Atmega328 IC in z nekaj drugimi komponentami. Za uporabo Atmega328 IC namesto arduina moramo najprej v njem zažgati Arduino Bootloader, nato pa ga programiramo s pomočjo FTDI ali Arduino Board. Ta vadnica vam bo pomagala tudi pri zamenjavi poškodovanega IC Atmega328 s plošče Arduino. Tudi z uporabo spodaj opisanega vezja lahko zgradite svojo Arduino ploščo tako, da jo kopirate na PCB.
Potrebne komponente
- Atmega 328 IC
- Breadboard
- LM7805
- 16 MHz kristal
- 22pF keramični kondenzatorji (2)
- 10uF kondenzator (2)
- 10 K upor
- 1k upor
- Jumper žice
Po želji lahko uporabite tudi 3.3v napetostni regulator LM1117-3.3v, da v svoje vezje vključite 3.3v tirnico.
Pin-diagram Atmega328
Opisi komponent
Del napajanja
- 5V regulator napetosti: Atmega 328 IC deluje na 5V napajanje. Torej, tu uporabljamo LM7805, da dobimo 5v izhod, lahko vhod do 30V. Če imate ločeno napajanje 5 V, lahko ta korak zapustite.
- Kondenzatorji: 10uF kondenzator se uporablja na vhodnem in izhodnem delu 7805, da obide katero koli izmenično komponento na tla.
- LED: To vam bo pokazalo, da prihaja vaš 5V izhod.
Del mikrokrmilnika
- Atmega 328: To je naša glavna sestavina na plošči. Njegov pin-diagram je podan zgoraj.
- Kristalni oscilator: 16MHz zunanji kristal je povezan med Pin 9 in Pin 10 ATmega328. Ta kristal se uporablja za podajanje ure mikrokrmilniku za hitrejše izvajanje nalog.
- Gumb: Za ponastavitev mikrokrmilnika je med zatičem 1 in GND priključen gumb. Običajno je povezan s 5v z uporabo 10k upora.
- LED: LED je povezan z digitalnim zatičem 13.
Ta celotna vadnica je razdeljena na tri dele, da lahko vaš Arduino deluje na plošči:
- Gradnja Arduino Circuit na Breadboard
- Sežiganje zagonskega nalagalnika v Atmega328 IC
- Kako programirati Arduino Bootloader, ki je naložil Atmega 328 IC na ploščo.
Zdaj bomo razložili vsak del posebej.
1. del: Izdelava Arduino Circuit na Breadboard
1. korak: - Priključite napajalni del, kot je prikazano na vezju, in ga preizkusite z zunanjim napajalnikom na LM7805. Videti bo tako.
2. korak: - Zdaj priključite del mikrokrmilnika, kot je prikazano na vezju. Previdno vzpostavite povezave.
3. korak: - Zdaj povežite del napajalnika in mikrokrmilnika s pomočjo mostičkov. Vaše zadnje vezje bo videti nekako takole.
Torej, to je naš Arduino na plošči. Isto vezje lahko na PCB implementirate s preprostimi orodji, kot je EasyEDA itd. Zdaj moramo naložiti zagonski nalagalnik v novo Atmega 328 IC, da bomo lahko začeli programirati IC.
Del 2: Sežiganje zagonskega nalagalnika v Atmega328 IC
Kaj je bootloader in zakaj ga potrebujemo ??
Bootloader je majhen kos izvršljive kode, ki je trajno shranjen v pomnilniku mikrokrmilnika. Ta zaseda manj kot 1 KB pomnilnika. Bootloader omogoča, da IC sprejme kodo iz računalnika in jo postavi v pomnilnik mikrokrmilnika.
Tradicionalno so vsi mikrokrmilniki podjetja Atmel programirani s pomočjo programerjev, ki imajo nekaj modnih povezav. Bootloaderji zmanjšujejo zahtevnost in nam omogočajo enostaven in učinkovit način programiranja mikrokrmilnika. To pomeni, da ga lahko programirate samo s kablom USB.
Ko kupite novo Atmego 328 s trga, v njej ni zagonskega nalagalnika. Torej, če želite programirati svoj Atmega328 z uporabo Arduino IDE, morate najprej naložiti zagonski nalagalnik.
Za nalaganje zagonskega nalagalnika imamo dva načina:
- Uporaba programatorja USBasp
- Uporaba plošče Arduino UNO
Druga metoda je lažja v primerjavi s prvo. Ker zahteva manj povezav in tudi najnovejša različica Arduino IDE ne podpira modnih programerjev USBasp.
Torej, v tej vadnici bomo naložili bootloader z uporabo plošče Arduino Uno.
Naložite zagonski nalagalnik Arduino v čip Atmega328
1. korak: - Odprite Arduino IDE. Pojdite na Datoteka -> Primeri -> ArduinoISP . Nato izberite ArduinoISP. Kot je prikazano spodaj.
2. korak: Zdaj morate to kodo naložiti na svojo ploščo Arduino. V meniju orodja izberite com port in board in pritisnite gumb za nalaganje.
3. korak: - Po končanem nalaganju odklopite ploščo Arduino od računalnika in povežite ploščo Arduino z Atmego 328, kot je prikazano na spodnjem diagramu.
4. korak: - Zdaj povežite ploščo Arduino z računalnikom. Odprite Arduino IDE.
Pojdite na Orodja, Izberite ploščo kot Arduino / Genuine Uno, Izberite ustrezna vrata za svojo ploščo. Izberite Programmer kot »Arduino kot ISP«. Ne zamenjajte ga z ArduinoISP. Oba sta različna.
5. korak: Zdaj pojdite znova na Orodja in kliknite na Burn Bootloader tik pod možnostjo Programmer. Po nekaj sekundah se bootloader uspešno naloži. Če pri nalaganju pride do napake, preverite povezave.
Preverite spodnji video, da boste razumeli zgoraj opisane korake za nalaganje zagonskega nalagalnika v Atmega 328 IC.
Vaša plošča Arduino je pripravljena za delovanje kot prava plošča Arduino. Zdaj se postavlja vprašanje, kako programirati Atmega 328 IC ? O tem bomo razpravljali v naslednjem poglavju.
3. del: Kako programirati Arduino Bootloader, naložen Atmega 328
Samostojni čip Arduino Atmega328 je mogoče programirati na več načinov.
- Uporaba prazne plošče Arduino, tj. Plošče Arduino brez Atmega 328 IC.
- Uporaba pretvorniškega modula USB v serijski TTL (modul FTDI).
- Uporaba programerja USBasp (vključuje veliko povezav).
Tu ga bomo programirali na dva načina: USB v serijski pretvornik in ploščo Arduino.
Programiranje čipa Atmega328 z uporabo plošče Arduino
1. korak: - Vzemite ploščo Arduino brez čipa Atmega328. Povežite ploščo Arduino z našo ploščo Arduino, kot je prikazano na tem diagramu.
2. korak: - Povežite ploščo Arduino z računalnikom in odprite Arduino IDE. Izberite Arduino Uno v meniju Board v Tools , Programmer kot USBasp in pravilno com port plošče.
3. korak: - Začeli bomo s prenosom programa Blink. Torej izberite program za utripanje med Primeri in pritisnite gumb Naloži.
Zdaj lahko vidite, da bo led na plošči začel utripati.
Programiranje čipa Arduino Atmega328 z uporabo pretvornika USB v serijski
1. korak: - Če nimate plošče Arduino. To je najboljša metoda za programiranje vaše plošče Arduino .
Povezave vzpostavite kot:
Zatič RXD FTDI -> Tx zatič Atmega328 (zatič 3)
TXD zatič FTDI -> Rx zatič Atmega328 (zatič 2)
GND -> GND (zatič 8)
5v -> Vcc (zatič 7)
Nekateri moduli FTDI imajo ponastavitveni zatič, znan tudi kot DTR zatič, ki ga je treba povezati s ponastavitvenim zatičem Atmega328 (zatič 1). Če v modulu ni ponastavitvenega zatiča, ne skrbite, dal bom rešitev, ko bomo programirali čip.
2. korak: - Zdaj povežite FTDI z računalnikom in na nadzorni plošči odprite Upravitelj naprav. Videli boste razdelek Vrata, razširite ga. Če je pred gonilnikom rumena oznaka, morate posodobiti gonilnik modula.
Če oznake ni, si zapišite številko pristanišča in odprite Arduino IDE. Odprite Orodja -> Vrata -> Izberite com, ki ste ga zabeležili.
3. korak: - Zdaj bomo program za utripanje naložili na naš Breadboard Arduino . Odprite Datoteka -> Primeri -> Osnove -> Utripa . V meniju Board v orodjih izberite Arduino Uno, Programmer kot USBasp in pravilno com port plošče.
Nato pritisnite gumb za nalaganje.
Opomba: Če vaš modul FTDI nima zatiča DTR, pritisnite gumb Ponastavi na plošči in pritisnite gumb za prenos. Držite pritisnjeno, če piše Prevajanje skice... Spustite gumb takoj, ko piše Nalaganje...
Zdaj bo program uspešno naložen v čip Arduino Bootloader Atmega328.
Spodaj je video za programiranje Atmega 328 IC brez uporabe plošče Arduino:
Končali smo z našim DIY Breadboard Arduino Circuit. To vezje lahko oblikujete na PCB, da postane bolj kompaktno.