Laborboard using RS232 port
Laborboard using RS232 port Release status: stable [box doku] | |
---|---|
Description | This project descripes how to connect the Laborboard to a serial port. |
Author(s) | siro |
Last Version | 1.00 |
Anfangen
Wissen was man tun möchte und wies funktioniert:
Sehr ausführliche Tutorials :
AVR-Tutorial:_UART
RS232-Tutorial
Hardware
Bauteilliste:
1x MAX232 1x 10µF Elko (Spannungsstabilisierung) 4x 1µF Elko / 0.1µF Kondensator 1x RS232/COM-Buchse
- Schaltplan und Layout:
[Laborboard_mit_max232_Layout.png]
[Laborboard_mit_max232_Schaltplan.png]
Nach dem Aufbau alle Leiterbahnen überprüfen, hier ist meistens eine kalte Löststelle.
Primäre Fehlerquelle !
- Test des MAX232:
Pin T2IN des Max232 auf 0V legen -> Pin T2OUT muss größer 8V sein
Pin T2IN des Max232 auf 5V legen -> Pin T2OUT muss kleiner -8V sein
Pin R2IN des Max232 auf -5V legen -> Pin R2OUT muss gleich 5V sein
Pin R2IN des Max232 auf 5V legen -> Pin R2OUT muss gleich 0V sein
- Verbinden des MAX232 mit einer seriellen Schnittstelle:
Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)
- Nochmals: Pinbelegungen überprüfen ! 2te große Fehlerquelle !
Besonders trickreich, wenn man die Reihenfolge der Pins vertauscht am COM-Port, dann wird das Komplement zum Atmega gesendet. Es sieht so aus als wäre die Verkabelung OK, jedoch empfängt der PC keine Daten.
Beispielprogramm UART-ECHO
Erst mal checken wir die Quellcodes der Beispielprogramme aus und laden ein neues Programm in den Atmega:
svn checkout https://www.das-labor.org/svn/microcontroller/src-atmel/tests/uart-echo/ cd /svn/microcontroller/src-atmel/tests/uart-echo/ make avrdude $AVR -U image.hex
Als nächstes wird das Laborboard mit einem Serial Anschluss verbunden, wer einen Laptop nutzt kann auch einen USB->Serial Adapter nehmen. Die Treiber sollten bei den meißten neueren Betriebssystemen vorhanden sein, wenn nicht sind diese natürlich erst zu installieren.
Programme zum RS232 Datenaustausch
Empfehlung: realterm
gtkterm (Linux):
gtkterm eignet sich gut um Daten zu empfangen, es kann diese auch als HEX+ASCII darstellen, aber:
gtkterm einthaelt einen Fehler, beim senden von HEX-Zeichen stürzt das Programm ab!
Es kann installiert werden mit dem Befehl:
sudo apt-get install gtkterm
realterm (Windows/Linux):
http://realterm.sourceforge.net/
Für Linuxnutzer:
Realterm läuft mit WINE, wenn diese Verknüpfung erzeugt wurde kann der USB-Seriell-Adapter über COM2 angesprochen werden.
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2
Die erste serielle Schnittstelle heißt unter Linux /dev/tty0 oder /dev/ttyUSB0. Um zu testen ob Daten vom PC gesendet werden, kann die BAUD-Rate auf 300 bit/s eingestellt werden, ein Spannungsmessgerät mit der TX Leitung & Masse verbunden, und beliebige Zeichen gesendet werden. Die Spannung sollte sich merklich ändern (im Volt-Bereich).
Links
rn-wissen.de: UART_mit_avr-gcc
sprut: RS232 Hardware
Windows/WINE: http://realterm.sourceforge.net/