Inhaltsverzeichnis:

Atmega16/32-Entwicklungsboard mit LCD - Gunook
Atmega16/32-Entwicklungsboard mit LCD - Gunook

Video: Atmega16/32-Entwicklungsboard mit LCD - Gunook

Video: Atmega16/32-Entwicklungsboard mit LCD - Gunook
Video: Interface Lcd With AVR atmega8 atmega16 atmega 32 2024, November
Anonim
Atmega16/32 Entwicklungsboard mit LCD
Atmega16/32 Entwicklungsboard mit LCD
Atmega16/32 Entwicklungsboard mit LCD
Atmega16/32 Entwicklungsboard mit LCD
Atmega16/32 Entwicklungsboard mit LCD
Atmega16/32 Entwicklungsboard mit LCD

Dieses anweisbare zeigt, wie Sie Ihr eigenes Entwicklungsboard für Atmega16- oder Atmega32-Prozessoren erstellen. Das Internet ist voll von hausgemachten Entwicklungsboards, aber ich denke, es ist noch Platz für ein anderes. Dieses Board war bei meinen Projekten sehr nützlich und ich habe es tatsächlich entworfen und hergestellt, um eines meiner Projekte zu dienen. Was es bietet?- ISP-Anschluss.- Einstellbare Referenzspannung für AREF mit Trimmer.- 8 LEDs verbunden PORTA mit abnehmbaren Jumpern, so können Sie LEDs auch mit anderen Ports verwenden.- Spike Bars für PORTA, PORTB, PORTC und PORTD.- Modifizierte Spike Bar für LCD-Bildschirm (4 Bit)- RS232 serieller Port-Anschluss- Abnehmbares RS232-Modul- Geregelte 5VWas wird benötigt? (Teile für Hauptplatine)- 1x Atmega16 oder Atmega32 Prozessor- 1x Quarz (Sie haben die Wahl wie viele Mhz es sein wird)- 2x 27 pF Kondensatoren für Quarz- 1x 7805 Spannungsregler- 1x 47uF 16V Kondensator- 3x 100nF Kondensator- 1x DC-Buchse 2, 1 mm oder 2,5 mm (was immer Sie verwenden möchten) - 1x 1K Potentiometer - 8x LED (beliebige Farbe) - 8x 330 Ohm Widerstände - viele Spike Bars Teile für RS232 Modul - Max232 IC - 4x 0, 1uF Kondensatoren - 2x LED (grün und rot)- 2x 330 Ohm Widerstände- Spike Bar- D9-Anschluss

Schritt 1: Die Leiterplatten

Die Leiterplatten
Die Leiterplatten
Die Leiterplatten
Die Leiterplatten

Es gibt Schaltungen von beiden Platinen und die pdf-Datei enthält Druckdateien dieser Platinen. Sie können Ihre Boards von diesen Bildern ätzen. Die Zip-Datei enthält alle Eagle-Dateien dieser Boards. Fühlen Sie sich frei, diese zu ändern, wie Sie möchten.

Schritt 2: Ätzen oder Fräsen

Ätzen oder Fräsen
Ätzen oder Fräsen
Ätzen oder Fräsen
Ätzen oder Fräsen

Es gibt zwei Möglichkeiten, diese Platten herzustellen, Ätzen oder Fräsen. Ich bin kein Chemiker, also habe ich die letzte Option gewählt. Ich habe meine Mühle aus diesen tollen Anleitungen gemacht, also wenn jemand auch NC-Mühle hat und sie für die Herstellung dieser Bretter verwenden möchte, lassen Sie es mich einfach wissen und ich werde die G-Codes senden.

Schritt 3: Löten

Löten
Löten
Löten
Löten

Das Bild unten zeigt den Namen der Komponente und wo sie sich an Bord befinden sollte.

Schritt 4: Testen

Testen
Testen

Bevor wir unser Entwicklungsboard testen können, benötigen wir ein AVR-Programmerkabel. Hier ist gut instructable über das Programmierkabel. Wir brauchen nur 6 Drähte. SCK, MISO, MOSI, RST, Ground und +5V und deshalb hat mein Stecker nur 6 Pins. WICHTIG! SCK-, MISO-, MOSI- und RST-Signale benötigen 390-Ohm-Widerstände, die normalerweise auf der Platine verlötet sind, aber ich wollte etwas Platz auf der Platine sparen und deshalb befinden sich die Widerstände im Kabel. Ohne diese Widerstände funktioniert die Programmierung nicht. Wir müssen auch ein Kabel zwischen dem RS232-Modul und der Hauptplatine herstellen. Es gibt auch ein paar "Testdrähte" auf dem Bild und diese sind wirklich nützlich, wenn wir unser Board testen wollen.

Schritt 5: Programmierung und einfaches Testprogramm

Programmierung und einfaches Testprogramm
Programmierung und einfaches Testprogramm

Als nächstes werden wir einige "Test" -Programme zum Testen unseres Boards benötigen. WICHTIG! Wir müssen JTAG von PORTC deaktivieren, wenn wir das nicht tun, funktioniert das LCD-Modul nicht, daher ist es notwendig. Im Linux-Betrieb können wir dies mit dem avrdude-Befehl tun:avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m Dieser Befehl deaktiviert JTAG und stellt den internen 8-MHz-Oszillator ein und verwendet ihn. Unser Board hat einen externen Kristall, aber die Leute verwenden Kristalle unterschiedlicher Größe, sodass dieser Befehl für alle sicher ist. Wenn Sie Ihren externen Quarz verwenden möchten, können Sie hier die richtigen Sicherungen berechnen. WICHTIG! Seien Sie vorsichtig bei der Programmierung von Sicherungen. Wenn Sie falsche Sicherungswerte einstellen, ist Ihr Prozessor außer Betrieb. Es gibt eine Möglichkeit, es mit externem Puls wiederherzustellen, aber hoffen wir, dass Sie das nicht tun müssen =)Einfaches Testprogramm:#include (avr/io.h)int main(void){DDRA = 0xff; // Port als Ausgang setzenDDRB = 0xff;DDRC = 0xff;DDRD = 0xff;PORTA = 0x00; // alle Pullups deaktivierenPORTB = 0x00;PORTC = 0x00;PORTD = 0x00;}Es ist an der Zeit, das Board einzuschalten und dieses kleine Testprogramm mit dem Winavr an den Prozessor zu senden oder was auch immer Sie verwenden möchten. Jetzt können wir das testen unsere Häfen funktionieren richtig. Setzen Sie ein Ende des Drahtes auf den einer der LED-Stiftköpfe und berühren Sie mit dem anderen Ende jeden Port-Spitze Schritt für Schritt. Die LED sollte jedes Mal leuchten. Wenn es nicht glänzt, dann stimmt etwas mit dem Löten nicht. Denken Sie auch daran, dass jede LED funktioniert.

Schritt 6: Testen der seriellen Schnittstelle

Testen des seriellen Ports
Testen des seriellen Ports
Testen des seriellen Ports
Testen des seriellen Ports

Wenn alles perfekt funktioniert hat, ist es an der Zeit, unser RS232-Modul zu testen. Es gibt ein kleines Programm, das testet, dass unser TX und RX funktioniert. Verwendung unter Linux: Erstellen Sie eine Datei namens Makefile und kopieren Sie den folgenden Text in die Datei. Der Makefile-Code geht davon aus, dass Sie Atmega16 verwenden und Ihr Programmierkabel stk200 ist Ihre serielle Schnittstelle /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 der attechierten Datei serial.c und put es in den gleichen Ordner, in dem Makefile ist. Schalten Sie Ihr Entwicklungsboard ein und legen Sie das Kabel zwischen das RS232-Modul und das Mainboard. Die LEDs am Modul sollten jetzt leuchten. Legen Sie den Testdraht zwischen den PA0-Pin und einige der LED-Pins. Verwenden Sie Ihr Terminal und gehen Sie in den Ordner, in dem sich test.c und das Makefile befinden. Verbinden Sie den ISP-Programmer mit dem Board. Jetzt ist es an der Zeit, unseren Code in den Prozessor zu senden, und dies geschieht mit dem Terminalbefehl: make Download-Software namens GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Starten Sie GTKterm und formatieren Sie es mit einer Geschwindigkeit von 9600 KB. 8 Datenbits, 1 Stoppbit, keine Parität, kein Überlauf. Wenn alles funktioniert, sollte es "funktioniert!" schreiben. Wenn Sie auf dem GTKterm-Bildschirm die Taste "z" und die Taste "x" drücken, sollte die LED an Bord aufleuchten und wenn Sie "c" drücken, sollte sie erlöschen.

Schritt 7: LCD-Modul Test

LCD-Modul Test
LCD-Modul Test
LCD-Modul Test
LCD-Modul Test

Jetzt ist es an der Zeit unser LCD-Modul zu testen. Ich habe eine tolle Software zur Steuerung des LCD-Bildschirms beigefügt. Ich habe den Code von Scienceprog.com heruntergeladen und wenig modifiziert. Programmieren Sie den Prozessor mit diesem Code und stecken Sie Ihr LCD-Modul an Bord. LCD-Modul Pin-Anschlüsse:1 = VSS(Ground)2 = VDD(5V)3 = VO(Ground)4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Mein LCD-Modul enthält 2 Anschlüsse (siehe Bild), da der Text auf den Kopf gestellt wird, wenn Sie das Modul so platzieren, wie es sein sollte. Ich habe gespiegelt und neuen Stecker auf die andere Seite geklebt. Jetzt funktioniert es in beide Richtungen.

Schritt 8: Einige Videos

Dimmer Beschleunigungsmesser

Empfohlen: