Innholdsfortegnelse:

Atmega16/32 utviklingsbord med LCD: 8 trinn
Atmega16/32 utviklingsbord med LCD: 8 trinn

Video: Atmega16/32 utviklingsbord med LCD: 8 trinn

Video: Atmega16/32 utviklingsbord med LCD: 8 trinn
Video: AVR ATmega16/32 timer 2024, November
Anonim
Atmega16/32 utviklingsbord med LCD
Atmega16/32 utviklingsbord med LCD
Atmega16/32 utviklingsbord med LCD
Atmega16/32 utviklingsbord med LCD
Atmega16/32 utviklingsbord med LCD
Atmega16/32 utviklingsbord med LCD

Denne instruksjonsfulle viser hvordan du gjør ditt eget utviklingsbord for Atmega16 eller Atmega32 prosessorer. Internett er fullt av hjemmelagde utviklingstavler, men jeg tror at det er plass igjen til et annet. Dette brettet har vært veldig nyttig i prosjektene mine, og jeg har faktisk designet og laget det for å tjene et av prosjektene mine. Hva tilbyr det?- ISP-kontakt.- Justerbar referansespenning for AREF med trimmer.- 8 lysdioder tilkoblet PORTA med flyttbare hoppere, så du kan bruke lysdioder også med andre porter.- Spike-barer for PORTA, PORTB, PORTC og PORTD.- Modifisert piggstang for LCD-skjerm (4 bit)- rs232 seriell portkontakt- Avtagbar rs232-modul- Regulert 5VHva trenger du? (deler til hovedkort)- 1x Atmega16 eller Atmega32 prosessor- 1x krystall (Det er ditt valg hvor mange Mhz det vil være)- 2x 27 pF kondensatorer for krystall- 1x 7805 spenningsregulator- 1x 47uF 16V kondensator- 3x 100nF kondensator- 1x DC-kontakt 2, 1 mm eller 2, 5 mm (hva du enn vil bruke)- 1x 1K potensiometer- 8x LED (hvilken som helst farge)- 8x 330 Ohm motstander- mange piggstykker Deler til RS232-modul- Max232 IC- 4x 0, 1uF kondensatorer - 2x led (grønn og rød)- 2x 330 Ohm motstander- Spike bar- D9-kontakt

Trinn 1: Kretskortene

Kretsbordene
Kretsbordene
Kretsbordene
Kretsbordene

Det er kretser fra begge tavlene og pdf-filen inneholder utskriftsfiler fra disse tavlene. Du kan etse brettene dine fra disse bildene. Zip-filen inneholder alle Eagle-filer fra disse brettene. Du er velkommen til å endre disse hvordan du vil.

Trinn 2: Etsing eller fresing

Etsing eller fresing
Etsing eller fresing
Etsing eller fresing
Etsing eller fresing

Det er to måter å lage disse platene på, etsning eller fresing. Jeg er ikke en kjemiker, så jeg brukte det siste alternativet. Jeg lagde kvernen min fra disse flotte instruktørene, så hvis noen også har nc-mill og vil bruke den til å lage disse brettene, bare gi meg beskjed, så sender jeg G-kodene.

Trinn 3: Lodding

Lodding
Lodding
Lodding
Lodding

Bildet nedenfor viser navnet på komponenten og hvor den skal være om bord.

Trinn 4: Testing

Testing
Testing

Før vi kan teste utviklingskortet vårt, trenger vi AVR-programmererkabel. Her er god instruks om programmeringskabelen. Vi trenger bare 6 ledninger. SCK, MISO, MOSI, RST, Ground og +5V, og det er derfor kontakten min bare har 6 pinner. VIKTIG! SCK-, MISO-, MOSI- og RST -signaler trenger 390 Ohm motstander som vanligvis er loddet om bord, men jeg ønsket å spare plass fra brettet, og det er derfor motstandene er inne i kabelen. Uten disse motstandene fungerer ikke programmeringen. Vi må også koble en kabel mellom rs232 -modulen og hovedkortet. Det er også noen "testledninger" på bildet, og disse er veldig nyttige når vi skal teste brettet vårt.

Trinn 5: Programmering og enkelt testprogram

Programmering og enkelt testprogram
Programmering og enkelt testprogram

Deretter trenger vi noen "test" -programmer for å teste brettet vårt. VIKTIG! Vi må deaktivere JTAG fra PORTC, hvis vi ikke gjør det, vil ikke lcd -modulen fungere, så det er nødvendig. I Linux -drift kan vi gjøre det med avrdude -kommando: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Denne kommandoen deaktiverer JTAG og setter 8Mhz intern oscillator opp og bruker. Styret vårt har ekstern krystall, men folk bruker forskjellige størrelser krystaller, så denne kommandoen er trygg for alle. Hvis du vil bruke din eksterne krystall, er her stedet for å beregne riktige sikringer. VIKTIG! Vær forsiktig med sikringsprogrammering. Hvis du angir feil sikringsverdier, vil prosessoren være ute av drift. Det er en måte å gjenopprette den med ekstern puls, men la oss håpe at du ikke trenger å gjøre det =) Enkelt testprogram: #include (avr/io.h) int main (void) {DDRA = 0xff; // angi port som outputDDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // deaktiver alle pull-upsPORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} Det er på tide å slå på brettet og sende dette lille testprogrammet til prosessoren med winavr eller hva du nå vil bruke. Nå kan vi teste det portene våre fungerer som de skal. Sett den ene enden fra ledningen til den ene på lysdiodene og ta med den andre enden hver port som stiger trinnvis. LED -lampen skal skinne hver gang. Hvis det ikke skinner, er det noe galt med lodding. Husk test også at hver LED fungerer.

Trinn 6: Test av seriell port

Tester seriell port
Tester seriell port
Tester seriell port
Tester seriell port

Hvis alt fungerte perfekt, er det på tide å teste rs232 -modulen vår. Det er et lite program som tester at TX og RX fungerer. Bruk i Linux: Lag en fil som heter Makefile og kopier teksten nedenfor i filen. Makefile -koden antar at du bruker Atmega16 og programmeringskabelen er stk200 Husk å angi riktige tillatelser 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 *.oLast ned vedlagte fil serial.c og legg den i samme mappe som Makefile er. Slå på utviklingskortet og sett kabelen mellom rs232 -modulen og hovedkortet. Lysdiodene på modulen skal lyse nå. Sett testledningen mellom PA0 -pinnen og noen av lysdiodene. Bruk terminalen og gå til mappen der er test.c og Makefile. Koble ISP-programmereren til kortet. Nå er det på tide å sende koden vår i prosessoren, og det skjer med terminalkommando: lag Last ned programvare kalt GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Start GTKterm og format den med 9600Kbs hastighet, 8 databiter, 1 stoppbit, ingen paritet, overløp ingen. Hvis alt fungerer, skal det skrive "fungerer!" på GTKterm -skjermen når du trykker på "z" -knappen og når du trykker på "x" -knappen, skal LED -lampen om bord slås på, og når du trykker på "c", skal den slås av.

Trinn 7: Test av LCD-modul

LCD-modul Test
LCD-modul Test
LCD-modul Test
LCD-modul Test

Nå er det på tide å teste vår LCD-modul. Jeg har lagt ved en flott programvare for å kontrollere LCD-skjermen. Jeg lastet ned koden fra Scienceprog.com og endret den lite. Programmer prosessoren med denne koden og koble til lcd-modulen ombord. Pin-tilkoblinger for LCD-modul: 1 = VSS (bakken) 2 = VDD (5V) 3 = VO (bakken) 4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7 Min lcd-modul inneholder 2 kontakter (se bildet), fordi teksten går opp og ned hvis du setter modulen slik den skal være. Jeg speilet og limte ny kontakt til den andre siden. Nå fungerer det begge veier.

Trinn 8: Noen videoer

Dimmer akselerometre

Anbefalt: