Sommario:

Scheda di sviluppo Atmega16/32 con LCD: 8 passaggi
Scheda di sviluppo Atmega16/32 con LCD: 8 passaggi

Video: Scheda di sviluppo Atmega16/32 con LCD: 8 passaggi

Video: Scheda di sviluppo Atmega16/32 con LCD: 8 passaggi
Video: LDmicro 14: I2C LCD & DS3231 Real-Time Clock (Microcontroller PLC Ladder Programming with LDmicro) 2024, Dicembre
Anonim
Scheda di sviluppo Atmega16/32 con LCD
Scheda di sviluppo Atmega16/32 con LCD
Scheda di sviluppo Atmega16/32 con LCD
Scheda di sviluppo Atmega16/32 con LCD
Scheda di sviluppo Atmega16/32 con LCD
Scheda di sviluppo Atmega16/32 con LCD

Questo tutorial mostra come creare la tua scheda di sviluppo per i processori Atmega16 o Atmega32. Internet è pieno di schede di sviluppo fatte in casa, ma penso che ci sia spazio per un'altra. Questa scheda mi è stata molto utile per i miei progetti e infatti l'ho progettata e realizzata per servire uno dei miei progetti. Cosa offre?- Connettore ISP.- Tensione di riferimento regolabile per AREF con trimmer.- 8 led collegati PORTA con ponticelli rimovibili, in modo da poter utilizzare i led anche con altre porte.- Spike bar per PORTA, PORTB, PORTC e PORTD.- Spike bar modificato per schermo LCD (4 bit)- Connettore porta seriale rs232- Modulo rs232 removibile- Regolato 5VDi cosa hai bisogno? (parti per la scheda madre)- 1x processore Atmega16 o Atmega32- 1x cristallo (è la tua scelta quanti Mhz saranno)- 2x condensatori 27 pF per cristallo- 1x regolatore di tensione 7805- 1x condensatore 47uF 16V- 3x condensatore 100nF- 1x DC-jack 2, 1mm o 2, 5mm (quello che vuoi usare)- 1x potenziometro da 1K - 8x led (qualsiasi colore)- 8x resistori da 330 Ohm- molte barre di spikeParti per modulo RS232- Max232 IC- 4x condensatori da 0, 1uF - 2x led (verde e rosso)- 2x resistenze da 330 Ohm- Spike bar- Connettore D9

Passaggio 1: i circuiti stampati

I circuiti stampati
I circuiti stampati
I circuiti stampati
I circuiti stampati

Ci sono circuiti da entrambe le schede e il file pdf contiene file di stampa da queste schede. Puoi incidere le tue tavole da queste immagini. Il file zip contiene tutti i file Eagle di queste schede. Sentiti libero di modificarli come vuoi.

Passaggio 2: incisione o fresatura

Incisione o fresatura
Incisione o fresatura
Incisione o fresatura
Incisione o fresatura

Ci sono due modi per realizzare queste tavole, l'incisione o la fresatura. Non sono un chimico, quindi ho usato l'ultima opzione. Ho creato il mio mulino da questi fantastici tutorial, quindi se qualcuno ha anche nc-mill e vuole usarlo per creare queste schede, me lo faccia sapere e invierò i codici G.

Passaggio 3: saldatura

saldatura
saldatura
saldatura
saldatura

L'immagine in basso mostrerà il nome del componente e dove dovrebbe essere a bordo.

Passaggio 4: test

test
test

Prima di poter testare la nostra scheda di sviluppo, avremo bisogno del cavo del programmatore AVR. Ecco una buona istruzione sul cavo di programmazione. Abbiamo bisogno solo di 6 fili. SCK, MISO, MOSI, RST, Ground e +5V ed è per questo che il mio connettore ha solo 6 pin. IMPORTANTE! I segnali SCK, MISO, MOSI e RST necessitano di resistori da 390 Ohm che di solito sono saldati a bordo, ma volevo risparmiare un po' di spazio dalla scheda ed è per questo che i resistori sono all'interno del cavo. Senza queste resistenze la programmazione non funzionerà. Dobbiamo anche fare un cavo tra il modulo rs232 e la scheda principale. Ci sono anche un paio di "fili di prova" nell'immagine e questi sono davvero utili quando proveremo la nostra scheda.

Passaggio 5: programmazione e programma di test semplice

Programmazione e programma di test semplice
Programmazione e programma di test semplice

Successivamente avremo bisogno di alcuni programmi di "test" per testare la nostra scheda. IMPORTANTE! Dobbiamo disabilitare JTAG da PORTC, se non lo facciamo, il modulo lcd non funzionerà, quindi è necessario. In Linux possiamo farlo con il comando avrdude:avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m Questo comando disabilita JTAG e imposta l'oscillatore interno a 8Mhz e lo usa. La nostra scheda ha un cristallo esterno, ma le persone usano cristalli di dimensioni diverse, quindi questo comando è sicuro per tutti. Se vuoi usare il tuo cristallo esterno, ecco il sito per calcolare i fusibili corretti. IMPORTANTE! Attenzione alla programmazione dei fusibili. Se imposti valori fusibili errati, il tuo processore non sarà operativo. C'è un modo per recuperarlo con un impulso esterno, ma speriamo che tu non debba farlo =)Semplice programma di test:#include (avr/io.h)int main(void){DDRA = 0xff; // imposta la porta come outputDDRB = 0xff;DDRC = 0xff;DDRD = 0xff;PORTA = 0x00; // disabilita tutti i pull-upPORTB = 0x00;PORTC = 0x00;PORTD = 0x00;}È ora di accendere la scheda e inviare questo piccolo programma di test al processore con il winavr o qualunque cosa tu voglia usare. Ora possiamo testarlo le nostre porte funzionano correttamente. Metti un'estremità del filo a quella dei led pinhead e tocca con l'altra estremità ogni passo delle porte spike passo dopo passo. Il led dovrebbe brillare ogni volta. Se non brilla, c'è qualcosa che non va nella saldatura. Ricordati di testare anche che ogni led funziona.

Passaggio 6: test della porta seriale

Test della porta seriale
Test della porta seriale
Test della porta seriale
Test della porta seriale

Se tutto ha funzionato perfettamente, è il momento di testare il nostro modulo rs232. C'è un piccolo programma che verifica il funzionamento dei nostri TX e RX. Utilizzo in Linux: crea un file chiamato Makefile e copia sotto il testo nel file. Il codice Makefile presuppone che tu stia utilizzando Atmega16 e che il tuo cavo di programmazione sia stk200 Ricorda di impostare i permessi corretti su la tua porta seriale /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 *.oScarica il file atteched serial.c e metti nella stessa cartella in cui si trova Makefile. Accendi la tua scheda di sviluppo e metti il cavo tra il modulo rs232 e la scheda principale. I led sul modulo dovrebbero ora accendersi. Metti il cavo di prova tra il pin PA0 e alcuni dei pin dei led. Usa il tuo terminale e vai alla cartella dove si trova test.c e il Makefile. Collegare il programmatore ISP alla scheda. Ora è il momento di inviare il nostro codice nel processore e succede con il comando del terminale: make Download software chiamato GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Avvia GTKterm e formattalo usa la velocità di 9600 Kbs, 8 bit di dati, 1 bit di stop, nessuna parità, nessuna overflow. Se tutto funziona, dovrebbe scrivere "funziona!" nella schermata GTKterm quando si preme il pulsante "z" e quando si preme il pulsante "x" il led a bordo dovrebbe accendersi e quando si preme "c" dovrebbe spegnersi.

Passaggio 7: test del modulo LCD

Test del modulo LCD
Test del modulo LCD
Test del modulo LCD
Test del modulo LCD

Ora è il momento di testare il nostro modulo LCD. Ho allegato un ottimo software per il controllo dello schermo LCD. Ho scaricato il codice da Scienceprog.com e l'ho modificato poco. Programmare il processore con questo codice e collegare il modulo lcd a bordo. Connessioni pin del modulo LCD:1 = VSS(Ground)2 = VDD(5V)3 = VO(Ground)4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Il mio modulo lcd contiene 2 connettori (vedi l'immagine), perché il testo va verso l'alto se metti il modulo come dovrebbe essere. Ho specchiato e incollato il nuovo connettore sull'altro lato. Ora funziona in entrambi i modi.

Passaggio 8: alcuni video

Accelerometri dimmer

Consigliato: