Inhoudsopgave:

Atmega16/32 ontwikkelbord met LCD - Ajarnpa
Atmega16/32 ontwikkelbord met LCD - Ajarnpa

Video: Atmega16/32 ontwikkelbord met LCD - Ajarnpa

Video: Atmega16/32 ontwikkelbord met LCD - Ajarnpa
Video: 6 ATmega32 Architecture- Basics Instruction Sets of AVR ATmega32 2024, November
Anonim
Atmega16/32 ontwikkelbord met lcd
Atmega16/32 ontwikkelbord met lcd
Atmega16/32 ontwikkelbord met lcd
Atmega16/32 ontwikkelbord met lcd
Atmega16/32 ontwikkelbord met lcd
Atmega16/32 ontwikkelbord met lcd

Deze instructable laat zien hoe je je eigen ontwikkelbord voor Atmega16- of Atmega32-processors kunt maken. Het internet staat vol met zelfgemaakte ontwikkelborden, maar ik denk dat er nog ruimte is voor een andere. Dit bord is erg handig geweest voor mijn projecten en ik heb het eigenlijk ontworpen en gemaakt om een van mijn projecten te dienen. Wat het biedt? - ISP-connector. - Instelbare referentiespanning voor AREF met trimmer. - 8 leds aangesloten op PORTA met verwijderbare jumpers, dus je kunt leds ook gebruiken met andere poorten.- Spikebars voor PORTA, PORTB, PORTC en PORTD.- Aangepaste spikebar voor LCD-scherm (4 bit)- rs232 seriële poortconnector- Verwijderbare rs232-module- Gereguleerde 5VWat heb je nodig? (onderdelen voor moederbord)- 1x Atmega16 of Atmega32 processor- 1x kristal (het is uw keuze hoeveel Mhz het zal zijn)- 2x 27 pF condensatoren voor kristal- 1x 7805 spanningsregelaar- 1x 47uF 16V condensator- 3x 100nF condensator- 1x DC-jack 2, 1 mm of 2,5 mm (wat je maar wilt gebruiken) - 1x 1K potentiometer - 8x led (elke kleur) - 8x 330 Ohm weerstanden - veel spikebars Onderdelen voor rs232 module - Max232 IC - 4x 0, 1uF condensatoren - 2x led (groen en rood)- 2x 330 Ohm weerstanden- Spike bar- D9-connector

Stap 1: De printplaten

De printplaten
De printplaten
De printplaten
De printplaten

Er zijn schakelingen van beide borden en het pdf-bestand bevat afdrukbestanden van deze borden. U kunt uw planken van deze afbeeldingen etsen. Het zip-bestand bevat alle Eagle-bestanden van deze borden. Voel je vrij om deze naar wens aan te passen.

Stap 2: Etsen of frezen

Etsen of frezen
Etsen of frezen
Etsen of frezen
Etsen of frezen

Er zijn twee manieren om deze planken te maken, etsen of frezen. Ik ben geen chemicus, dus ik heb de laatste optie gebruikt. Ik heb mijn molen gemaakt van deze geweldige instructables, dus als iemand ook nc-mill heeft en deze wil gebruiken om deze boards te maken, laat het me weten en ik zal de G-codes sturen.

Stap 3: Solderen

Solderen
Solderen
Solderen
Solderen

Op de onderstaande afbeelding ziet u de naam van het onderdeel en waar het zich aan boord moet bevinden.

Stap 4: Testen

Testen
Testen

Voordat we ons ontwikkelbord kunnen testen, hebben we een AVR-programmeerkabel nodig. Hier is goede instructie over de programmeerkabel. We hebben maar 6 draden nodig. SCK, MISO, MOSI, RST, Ground en +5V en daarom heeft mijn connector maar 6 pinnen. BELANGRIJK! SCK-, MISO-, MOSI- en RST-signalen hebben 390 Ohm-weerstanden nodig die meestal aan boord worden gesoldeerd, maar ik wilde wat ruimte besparen op het bord en daarom zitten de weerstanden in de kabel. Zonder deze weerstanden werkt het programmeren niet. We moeten ook een kabel maken tussen de RS232-module en het moederbord. Er zijn ook een paar "testdraden" op de foto en deze zijn erg handig als we ons bord gaan testen.

Stap 5: Programmeren en eenvoudig testprogramma

Programmering en eenvoudig testprogramma
Programmering en eenvoudig testprogramma

Vervolgens hebben we een aantal "test"-programma's nodig om ons bord te testen. BELANGRIJK! We moeten JTAG van PORTC uitschakelen, als we dat niet doen, zal de lcd-module niet werken, dus het is noodzakelijk. In Linux kunnen we het doen met avrdude commando:avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m Dit commando schakelt JTAG uit en stelt de 8Mhz interne oscillator in en gebruikt. Ons bord heeft een extern kristal, maar mensen gebruiken kristallen van verschillende grootte, dus dit commando is veilig voor iedereen. Als u uw externe kristal wilt gebruiken, is hier de site voor het berekenen van de juiste zekeringen. BELANGRIJK! Wees voorzichtig met het programmeren van zekeringen. Als u verkeerde zekeringwaarden instelt, werkt uw processor niet. Er is een manier om het te herstellen met een externe puls, maar laten we hopen dat je dat niet hoeft te doen =)Eenvoudig testprogramma:#include (avr/io.h)int main(void){DDRA = 0xff; // stel poort in als outputDDRB = 0xff;DDRC = 0xff;DDRD = 0xff;PORTA = 0x00; // alle pull-ups uitschakelenPORTB = 0x00;PORTC = 0x00;PORTD = 0x00;}Het is tijd om het bord op te starten en dit kleine testprogramma naar de processor te sturen met de winavr of wat je maar wilt gebruiken. Nu kunnen we dat testen onze poorten werken correct. Steek het ene uiteinde van de draad naar het ene uiteinde van de leds en raak met het andere uiteinde stap voor stap elke spike van de poort aan. De led moet elke keer schijnen. Als het niet glanst, dan is er iets mis met het solderen. Onthoud ook dat elke led werkt.

Stap 6: Seriële poort testen

Seriële poort testen
Seriële poort testen
Seriële poort testen
Seriële poort testen

Als alles perfect werkte, is het tijd om onze rs232-module te testen. Er is een klein programma dat test of onze TX en RX werken. Gebruik in Linux: maak een bestand met de naam Makefile en kopieer onderstaande tekst in het bestand. De Makefile-code gaat ervan uit dat u Atmega16 gebruikt en dat uw programmeerkabel stk200 is. uw seriële poort /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 bijgevoegd bestand serial.c en zet het in dezelfde map waar Makefile is. Zet je ontwikkelbord op en plaats de kabel tussen de RS232-module en het moederbord. De leds op de module moeten nu gaan branden. Plaats de testdraad tussen de PA0-pin en een deel van de leds-pin. Gebruik je terminal en ga naar de map waar test.c en de Makefile staan. Sluit de ISP-programmer aan op het bord. Nu is het tijd om onze code naar de processor te sturen en het gebeurt met het terminalcommando: make Download software genaamd GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Start GTKterm en formatteer het gebruik 9600Kbs snelheid, 8 databits, 1 stopbit, geen pariteit, geen overflow. Als alles werkt, zou het moeten schrijven "works!" op het GTKterm-scherm wanneer u op de "z"-knop drukt en wanneer u op de "x"-knop drukt, moet de led aan boord gaan branden en wanneer u op "c" drukt, moet deze uitgaan.

Stap 7: LCD-moduletest

LCD-module Test
LCD-module Test
LCD-module Test
LCD-module Test

Nu is het tijd om onze LCD-module te testen. Ik heb geweldige software bijgevoegd om het LCD-scherm te bedienen. Ik heb de code gedownload van Scienceprog.com en weinig aangepast. Programmeer de processor met deze code en steek uw lcd-module aan boord. LCD-module pinverbindingen:1 = VSS(Ground)2 = VDD(5V)3 = VO(Ground)4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Mijn lcd-module bevat 2 connectoren (zie afbeelding), omdat de tekst ondersteboven staat als je de module plaatst zoals het hoort. Ik gespiegeld en gelijmd nieuwe connector aan de andere kant. Nu werkt het twee kanten op.

Stap 8: Sommige video's

Dimmer versnellingsmeters

Aanbevolen: