Indholdsfortegnelse:

Atmega16/32 Development Board Med LCD: 8 trin
Atmega16/32 Development Board Med LCD: 8 trin

Video: Atmega16/32 Development Board Med LCD: 8 trin

Video: Atmega16/32 Development Board Med LCD: 8 trin
Video: Atmega16 interfacing with LCD in 4 bit mode (Proteus Simulation) 2024, November
Anonim
Atmega16/32 Development Board Med LCD
Atmega16/32 Development Board Med LCD
Atmega16/32 Development Board Med LCD
Atmega16/32 Development Board Med LCD
Atmega16/32 Development Board Med LCD
Atmega16/32 Development Board Med LCD

Denne instruktive viser, hvordan du laver dit eget udviklingsbord til Atmega16 eller Atmega32 processorer. Internettet er fyldt med hjemmelavede udviklingsplader, men jeg tror, at der er plads til en anden. Dette bord har været meget nyttigt i mine projekter, og jeg har faktisk designet og gjort det til at tjene et af mine projekter. Hvad tilbyder det?- ISP-stik.- Justerbar referencespænding til AREF med trimmer.- 8 leds tilsluttet PORTA med aftagelige jumpere, så du kan også bruge lysdioder med andre porte.- Spike barer til PORTA, PORTB, PORTC og PORTD.- Modificeret spike bar til LCD-skærm (4 bit)- rs232 seriel port stik- Aftageligt rs232 modul- Reguleret 5V Hvad skal du bruge? (dele til hovedkort)- 1x Atmega16 eller Atmega32 processor- 1x krystal (Det er dit valg, hvor mange Mhz det vil være)- 2x 27 pF kondensatorer til krystal- 1x 7805 spændingsregulator- 1x 47uF 16V kondensator- 3x 100nF kondensator- 1x DC-jack 2, 1 mm eller 2, 5 mm (hvad du end vil bruge)- 1x 1K potentiometer- 8x LED (enhver farve)- 8x 330 Ohm modstande- mange spike barer Dele til RS232 modul- Max232 IC- 4x 0, 1uF kondensatorer - 2x LED (grøn og rød)- 2x 330 Ohm modstande- Spike bar- D9-stik

Trin 1: Kredsløbskortene

Kredsløbskortene
Kredsløbskortene
Kredsløbskortene
Kredsløbskortene

Der er kredsløb fra begge tavler, og pdf-filen indeholder udskrivningsfiler fra disse tavler. Du kan ætse dine brædder ud fra disse billeder. Zip-filen indeholder alle Eagle-filer fra disse tavler. Du er velkommen til at ændre disse, hvordan du vil.

Trin 2: Ætsning eller fræsning

Ætsning eller fræsning
Ætsning eller fræsning
Ætsning eller fræsning
Ætsning eller fræsning

Der er to måder at lave disse brædder på, ætsning eller fræsning. Jeg er ikke en kemiker, så jeg brugte den sidste mulighed. Jeg lavede min mølle af disse fantastiske instruktioner, så hvis nogen også har nc-mill og vil bruge den til at lave disse tavler, så lad mig det vide, og jeg sender G-koderne.

Trin 3: Lodning

Lodning
Lodning
Lodning
Lodning

Billedet herunder viser komponentens navn, og hvor det skal være om bord.

Trin 4: Test

Test
Test

Inden vi kan teste vores udviklingstavle, skal vi bruge AVR-programmeringskabel. Her er god vejledning om programmeringskablet. Vi mangler kun 6 ledninger. SCK, MISO, MOSI, RST, Ground og +5V, og derfor har mit stik kun 6 ben. VIGTIGT! SCK-, MISO-, MOSI- og RST -signaler har brug for 390 Ohm modstande, der normalt er loddet om bord, men jeg ville spare lidt plads fra brættet, og derfor er modstandene inde i kablet. Uden disse modstande fungerer programmering ikke. Vi skal også lave et kabel mellem rs232 -modulet og hovedkortet. Der er også par "testledninger" på billedet, og disse er virkelig nyttige, når vi skal teste vores bord.

Trin 5: Programmering og enkelt testprogram

Programmering og enkelt testprogram
Programmering og enkelt testprogram

Dernæst skal vi bruge nogle "test" -programmer til test af vores board. VIGTIG! Vi er nødt til at deaktivere JTAG fra PORTC, hvis vi ikke gør det, fungerer lcd -modulet ikke, så det er nødvendigt. I Linux -drift kan vi gøre det med avrdude -kommando: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Denne kommando deaktiverer JTAG og indstiller 8Mhz intern oscillator og bruger den. Vores bord har ekstern krystal, men folk bruger forskellige størrelser af krystaller, så denne kommando er sikker for alle. Hvis du vil bruge din eksterne krystal, er dette sted til beregning af korrekte sikringer. VIGTIGT! Vær forsigtig med sikringsprogrammering. Hvis du angiver forkerte sikringsværdier, fungerer din processor ikke. Der er en måde at gendanne det med ekstern puls, men lad os håbe, at du ikke behøver at gøre det =) Enkelt testprogram: #include (avr/io.h) int main (void) {DDRA = 0xff; // indstil port som outputDDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // deaktiver alle pull-upsPORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} Det er på tide at tænde tavlen og sende dette lille testprogram til processor med winavr eller hvad du nogensinde vil bruge. Nu kan vi teste det vores porte fungerer korrekt. Sæt den ene ende fra ledningen til den ene af lysdiodernes pinhead og rør med den anden ende, at hver havn stiger trin for trin. LED'en skal lyse hver gang. Hvis det ikke skinner, så er der noget galt med lodningen. Husk test også, at hver LED fungerer.

Trin 6: Test af seriel port

Test af seriel port
Test af seriel port
Test af seriel port
Test af seriel port

Hvis alt fungerede perfekt, er det tid til at teste vores rs232 -modul. Der er et lille program, der tester, at vores TX og RX fungerer. Brug i Linux: Opret fil kaldet Makefile og kopier nedenstående tekst i filen. Makefile -koden antager, at du bruger Atmega16, og dit programmeringskabel er stk200 Husk at angive korrekte tilladelser til din serielle 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 *.oDownload vedlagte fil serial.c og læg det i den samme mappe, hvor Makefile er. Tænd for dit udviklingskort, og sæt kablet mellem rs232 -modulet og hovedkortet. Lysdioderne på modulet skal lyse nu. Sæt testledning mellem PA0 pin og nogle af lysdioder pin. Brug din terminal og gå til mappen, hvor er test.c og Makefile. Tilslut ISP-programmer til kortet. Nu er det tid til at sende vores kode i processoren, og det sker med terminalkommando: lav Download software kaldet GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Start GTKterm og formater det med 9600Kbs hastighed, 8 databit, 1 stopbit, ingen paritet, overløb ingen. Hvis alt virker, skal det skrive "virker!" på GTKterm -skærmen, når du trykker på "z" -knappen, og når du trykker på "x" -knappen, skal LED'en ombord tændes, og når du trykker på "c", skal den slukke.

Trin 7: Test af LCD-modul

LCD-modul test
LCD-modul test
LCD-modul test
LCD-modul test

Nu er det tid til at teste vores LCD-modul. Jeg vedhæftede en fantastisk software til styring af LCD-skærmen. Jeg downloadede koden fra Scienceprog.com og ændrede den lidt. Programmer processoren med denne kode, og tilslut dit lcd-modul om bord. Tilslutninger til LCD-modul pin: 1 = VSS (jord) 2 = VDD (5V) 3 = VO (jord) 4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Mit lcd-modul indeholder 2 stik (se billedet), fordi teksten går opad nedad, hvis du sætter modulet, som det skal være. Jeg spejlede og limede nyt stik til den anden side. Nu fungerer det begge veje.

Trin 8: Nogle videoer

Dæmpere accelerometre

Anbefalede: