Cuprins:

Placă de dezvoltare Atmega16 / 32 cu LCD: 8 pași
Placă de dezvoltare Atmega16 / 32 cu LCD: 8 pași

Video: Placă de dezvoltare Atmega16 / 32 cu LCD: 8 pași

Video: Placă de dezvoltare Atmega16 / 32 cu LCD: 8 pași
Video: Interfacing of LCD 16x2 with Atmega16/32 | LCD Display 2024, Noiembrie
Anonim
Placă de dezvoltare Atmega16 / 32 cu LCD
Placă de dezvoltare Atmega16 / 32 cu LCD
Placă de dezvoltare Atmega16 / 32 cu LCD
Placă de dezvoltare Atmega16 / 32 cu LCD
Placă de dezvoltare Atmega16 / 32 cu LCD
Placă de dezvoltare Atmega16 / 32 cu LCD

Acest spectacol instructiv, cum să vă faceți propria placă de dezvoltare pentru procesoarele Atmega16 sau Atmega32. Internetul este plin de plăci de dezvoltare de casă, dar cred că, mai este loc pentru altul. Această placă a fost foarte utilă în proiectele mele și am proiectat-o și am realizat-o pentru a servi unul dintre proiectele mele. Ce oferă? - Conector ISP.- Tensiune de referință reglabilă pentru AREF cu trimmer.- 8 leduri conectate PORTA cu jumperi detașabile, astfel încât să puteți utiliza led-uri și cu alte porturi. - bare de vârf pentru PORTA, PORTB, PORTC și PORTD. - Bară de vârf modificată pentru ecran LCD (4 biți) - conector port serial RS232 - modul RS232 detașabil - 5V reglementat De ce veți avea nevoie? (piese pentru placa principală) - 1x procesor Atmega16 sau Atmega32 - 1x cristal (este alegerea dvs. câte Mhz va fi) - 2x condensatori 27 pF pentru cristal - 1x regulator de tensiune 7805 - 1x condensator 47uF 16V - condensator 3x 100nF - 1x Mufă DC 2, 1mm sau 2, 5mm (ce vreți vreodată să utilizați) - 1x 1K potențiometru - 8x led (orice culoare) - 8x rezistențe de 330 Ohm - o mulțime de bare spike Piese pentru modul RS232- Max232 IC- 4x 0, 1uF condensatori - 2x led (verde și roșu) - 2x rezistențe de 330 Ohm - Spike bar - conector D9

Pasul 1: Plăcile de circuit

Plăcile de circuit
Plăcile de circuit
Plăcile de circuit
Plăcile de circuit

Există circuite de pe ambele plăci, iar fișierul pdf conține fișiere tipărite de pe aceste plăci. Puteți să vă gravați panourile din aceste imagini. Fișierul zip conține toate fișierele Eagle de pe aceste plăci. Simțiți-vă liber să le modificați cum doriți.

Pasul 2: Gravare sau frezare

Gravare sau frezare
Gravare sau frezare
Gravare sau frezare
Gravare sau frezare

Există două moduri de a realiza aceste plăci, gravarea sau frezarea. Nu sunt chimist, așa că am folosit ultima opțiune. Mi-am făcut moara din aceste instrumente minunate, așa că, dacă cineva are și nc-mill și dorește să o folosească pentru realizarea acestor plăci, anunțați-mă și voi trimite codurile G.

Pasul 3: lipire

Lipire
Lipire
Lipire
Lipire

Imaginea de mai jos va arăta numele componentei și unde ar trebui să fie la bord.

Pasul 4: Testarea

Testarea
Testarea

Înainte de a putea testa placa de dezvoltare, vom avea nevoie de cablu pentru programator AVR. Aici este bine instruit despre cablul de programare. Avem nevoie doar de 6 fire. SCK, MISO, MOSI, RST, Ground și + 5V și de aceea conectorul meu are doar 6 pini. IMPORTANT! Semnalele SCK, MISO, MOSI și RST au nevoie de rezistențe de 390 Ohm, care sunt de obicei lipite la bord, dar am vrut să economisesc puțin spațiu de pe placă și de aceea rezistențele sunt în interiorul cablului. Fără aceste rezistențe programarea nu va funcționa. Trebuie să facem și un cablu între modulul RS232 și placa principală. Există, de asemenea, câteva „fire de testare” pe imagine și acestea sunt foarte utile atunci când vom testa placa noastră.

Pasul 5: Programare și program de testare simplă

Programare și program de testare simplă
Programare și program de testare simplă

În continuare, vom avea nevoie de câteva programe de „testare” pentru testarea plăcii noastre. IMPORTANT! Trebuie să dezactivăm JTAG din PORTC, dacă nu facem acest lucru, modulul lcd nu va funcționa, deci este necesar. În operarea Linux o putem face cu comanda avrdude: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Această comandă dezactivează JTAG și activează și folosește oscilatorul intern de 8 MHz. Placa noastră are cristale externe, dar oamenii folosesc cristale de dimensiuni diferite, deci această comandă este sigură pentru toți. Dacă doriți să utilizați cristalul extern, aici este site-ul pentru calcularea siguranțelor corecte. Aveți grijă la programarea siguranțelor. Dacă setați valori greșite ale siguranței, procesorul dvs. va fi inoperant. Există o modalitate de recuperare cu puls extern, dar să sperăm că nu trebuie să faceți asta =) Program de testare simplu: #include (avr / io.h) int main (void) {DDRA = 0xff; // setați portul ca ieșire DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // dezactivați toate extragerilePORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} Este timpul să porniți placa și să trimiteți acest mic program de testare procesorului cu winavr sau ce vreți vreodată să folosiți. Acum putem testa asta porturile noastre funcționează corect. Puneți un capăt de la sârmă la cel al capului de pin al ledurilor și atingeți cu celălalt capăt fiecare port de vârf pas cu pas. Ledul ar trebui să strălucească de fiecare dată. Dacă nu strălucește, atunci este ceva în neregulă cu lipirea. Amintiți-vă, de asemenea, testați că fiecare led funcționează.

Pasul 6: Testarea portului serial

Testarea portului serial
Testarea portului serial
Testarea portului serial
Testarea portului serial

Dacă totul a funcționat perfect, este timpul să testăm modulul nostru RS232. Există un mic program care testează funcționarea TX și RX. Utilizare în Linux: Creați fișierul numit Makefile și copiați textul de mai jos în fișier. Codul Makefile presupune că utilizați Atmega16 și cablul de programare este stk200 Nu uitați să setați permisiunile corecte la portul dvs. serial / 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 *.o Descărcați fișierul atașat serial.c și puneți în același folder în care este Makefile. Porniți placa de dezvoltare și puneți cablul între modulul RS232 și placa principală. Ledurile de pe modul ar trebui să se aprindă acum. Puneți firul de test între pinul PA0 și unele dintre pin-urile LED-urilor. Utilizați terminalul și mergeți la folderul unde este test.c și Makefile. Conectați programatorul ISP la placă. Acum este timpul să trimiteți codul nostru în procesor și se întâmplă cu comanda terminalului: faceți Descărcați software-ul numit GTKterm (Serial Port Terminal). 8 biți de date, 1 bit de oprire, fără paritate, fără preaplin. Dacă totul funcționează, ar trebui să scrie „funcționează!” pe ecranul GTKterm când apăsați butonul „z” și când apăsați butonul „x” ledul de pe bord ar trebui să se aprindă și când apăsați „c” ar trebui să se stingă.

Pasul 7: Testul modulului LCD

Testul modulului LCD
Testul modulului LCD
Testul modulului LCD
Testul modulului LCD

Acum este timpul să testăm modulul nostru LCD. Am atașat un software excelent pentru controlul ecranului LCD. Am descărcat codul de pe Scienceprog.com și l-am modificat puțin. Programați procesorul cu acest cod și conectați modulul LCD la bord. Conexiunile pinului modulului LCD: 1 = VSS (masă) 2 = VDD (5V) 3 = VO (masă) 4 = RS5 = R / W6 = E11 = PC412 = PC513 = PC614 = PC7Modulul meu LCD conține 2 conectori (a se vedea imaginea), deoarece textul crește cu fața în jos dacă puneți modulul așa cum ar trebui. Am oglindit și am lipit conectorul nou de cealaltă parte. Acum funcționează în ambele sensuri.

Pasul 8: Unele videoclipuri

Dimmer accelerometre

Recomandat: