Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Tento návod ukazuje, ako si vytvoriť vlastnú vývojovú dosku pre procesory Atmega16 alebo Atmega32. Internet je plný domácich doskových vývojových dosiek, ale myslím si, že zostáva priestor pre ďalšiu. Táto doska bola veľmi užitočná v mojich projektoch a v skutočnosti som ju navrhol a vyrobil tak, aby slúžila jednému z mojich projektov. Čo ponúka?- Konektor ISP.- Nastaviteľné referenčné napätie pre AREF s trimrom.- 8 LED zapojených PORTA s odnímateľnými prepojkami, LED diódy teda môžete používať aj s inými portami.- Tŕne pre PORTA, PORTB, PORTC a PORTD.- Upravený hrot pre LCD obrazovku (4 bit)- Konektor sériového portu RS232- Vyberateľný modul RS232- Regulovaný 5 V Čo budete potrebovať? (diely pre základnú dosku)- 1x procesor Atmega16 alebo Atmega32- 1x kryštál (koľko MHz bude na vás)- 2x 27 pF kondenzátory pre kryštál- 1x regulátor napätia 7805- 1x 47uF 16V kondenzátor- 3x 100nF kondenzátor- 1x DC-jack 2, 1 mm alebo 2, 5 mm (čokoľvek budete chcieť použiť)- 1 x 1K potenciometer- 8x LED (ľubovoľná farba)- 8x 330 Ohm odpory- množstvo tŕňov - 2x LED (zelená a červená)- 2x 330 Ohm odpory- Spike bar- D9-konektor
Krok 1: Obvodové dosky
Z oboch dosiek existujú obvody a súbor pdf obsahuje súbory z týchto dosiek vytlačené. Z týchto obrázkov môžete leptať svoje dosky. Zip súbor obsahuje všetky súbory Eagle z týchto dosiek. Neváhajte ich upraviť, ako chcete.
Krok 2: Leptanie alebo frézovanie
Tieto dosky možno vyrobiť dvoma spôsobmi, a to leptaním alebo frézovaním. Nie som chemik, tak som využil poslednú možnosť. Vyrobil som svoj mlyn z týchto skvelých inštrukcií, takže ak niekto má aj nc-mill a chce ho použiť na výrobu týchto dosiek, dajte mi vedieť a ja pošlem G-kódy.
Krok 3: Spájkovanie
Na obrázku nižšie je uvedený názov komponentu a miesto, kde by mal byť na palube.
Krok 4: Testovanie
Predtým, ako budeme môcť testovať našu vývojovú dosku, budeme potrebovať kábel programátora AVR. Tu je dobrý návod na programovací kábel. Potrebujeme iba 6 drôtov. SCK, MISO, MOSI, RST, Ground a +5V a preto má môj konektor iba 6 pinov. DÔLEŽITÉ! Signály SCK, MISO, MOSI a RST vyžadujú odpory 390 Ohm, ktoré sú zvyčajne spájkované na doske, ale chcel som ušetriť miesto na doske, a preto sú odpory vo vnútri kábla. Bez týchto rezistorov nebude programovanie fungovať. Musíme tiež vytvoriť kábel medzi modulom rs232 a hlavnou doskou. Na obrázku je tiež pár „testovacích vodičov“, ktoré sú veľmi užitočné, keď ideme testovať našu dosku.
Krok 5: Programovanie a jednoduchý testovací program
Ďalej budeme potrebovať niekoľko „testovacích“programov na testovanie našej dosky. DÔLEŽITÉ! Musíme zakázať JTAG z PORTC, ak to neurobíme, lcd modul nebude fungovať, takže je to nevyhnutné. V operačnom systéme Linux to môžeme urobiť príkazom avrdude: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Tento príkaz deaktivuje JTAG a nastaví a používa interný oscilátor 8 MHz. Naša doska má vonkajší kryštál, ale ľudia používajú kryštály rôznej veľkosti, takže tento príkaz je bezpečný pre všetkých. Ak chcete použiť svoj externý kryštál, tu nájdete webovú stránku na výpočet správnych poistiek. IMPORTATNT! Buďte opatrní pri programovaní poistiek. Ak nastavíte nesprávne hodnoty poistky, váš procesor bude nefunkčný. Existuje spôsob, ako ho obnoviť pomocou externého impulzu, ale dúfajme, že to nebudete musieť urobiť =) Jednoduchý testovací program: #include (avr/io.h) int main (void) {DDRA = 0xff; // nastavenie portu ako výstupuDDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // deaktivujte všetky sťahovania PORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} Je načase zapnúť dosku a odoslať tento malý testovací program do procesora pomocou programu winavr alebo čohokoľvek, čo chcete použiť. Teraz to môžeme otestovať naše porty fungujú správne. Jeden koniec zapojte z drôtu na jeden z hrotov LED diódy a druhým koncom sa dotýkajte každého portu krok za krokom. LED dióda by mala svietiť zakaždým. Ak nesvieti, potom s spájkovaním nie je niečo v poriadku. Nezabudnite tiež na test, že každá LED funguje.
Krok 6: Testovanie sériového portu
Ak všetko fungovalo perfektne, je načase otestovať náš modul rs232. Existuje malý program, ktorý testuje, či naše TX a RX fungujú. Použitie v Linuxe: Vytvorte súbor s názvom Makefile a skopírujte text pod súbor. Kód Makefile predpokladá, že používate Atmega16 a váš programovací kábel je stk200. Nezabudnite nastaviť správne povolenia na váš sériový port/dev/ttyS0CC =/usr/bin/avr -gccCFLAGS = -g -Os -Wall -mcall -prologues -mmcu = atmega16 -std = gnu99OBJ2HEX =/usr/bin/avr -objcopy AVRDUDE =/usr/bin /avrdude: $ (TARGET).hex $ (AVRDUDE) -p m16 -P /dev /parport0 -c stk200 -u -U flash: w: test.hex %.obj: %.o $ (CC) $ (CFLAGS) $ <-o $@%.hex: %.obj $ (OBJ2HEX) -R.eeprom -O ihex $ <$@clean: rm -f *.hex *.obj *.oSťahujte priložený súbor serial.c a vložte umiestnite ho do rovnakého priečinka, kde je Makefile. Zapnite vývojovú dosku a zapojte kábel medzi modul rs232 a hlavnú dosku. LED diódy na module by sa mali rozsvietiť. Vložte testovací vodič medzi pin PA0 a niektorý z pinov LED. Použite svoj terminál a prejdite do priečinka, kde je test.c a Makefile. Pripojte programátora ISP k doske. Teraz je čas poslať náš kód do procesora a stane sa to pomocou príkazu terminálu: vytvorte softvér na stiahnutie s názvom GTKterm (terminál sériového portu). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Spustite GTKterm a naformátujte ho pomocou rýchlosti 9600 kB, 8 dátových bitov, 1 stop bit, žiadna parita, pretečenie žiadne. Ak všetko funguje, malo by napísať „funguje!“na obrazovke GTKterm, keď stlačíte tlačidlo „z“a keď stlačíte tlačidlo „x“, dióda LED na doske by sa mala zapnúť a keď stlačíte „c“, mala by sa vypnúť.
Krok 7: Test modulu LCD
Teraz je čas otestovať náš modul LCD. Pripojil som skvelý softvér na ovládanie obrazovky LCD. Stiahol som kód z Scienceprog.com a trochu som ho upravil. Naprogramujte procesor s týmto kódom a zapojte LCD modul na dosku. Pripojenie pinov modulu LCD: 1 = VSS (uzemnenie) 2 = VDD (5V) 3 = VO (uzemnenie) 4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7 Môj LCD modul obsahuje 2 konektory (viď obrázok), pretože text ide hore stranou dole, ak modul umiestnite tak, ako by mal. Zrkadlil som a prilepil nový konektor na druhú stranu. Teraz to funguje oboma smermi.
Krok 8: Niektoré videá
Stmievačové akcelerometre