Laborboard RS232: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
KKeine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
{{ProjektInfoBox
{{ProjektInfoBox
|name       = Laborboard using RS232 port
|name=Laborboard using RS232 port
|status     = stable
|status=stable
|image       = LaborLogo2.png
|image=LaborLogo2.png
|description = This project descripes how to connect the Laborboard to a serial port.
|description=This project descripes how to connect the Laborboard to a serial port.
|author      = siro
|username=siro
|username    = siro
|author=siro
|version     = 1.00
|version=1.00
|update     = 07.02.10
|update=07.02.10
|platform    =
|tags=Microcontroller & FPGAs, AVR, RS232,
|license    =
}}
|download    =  
<div style="margin-right:300px;">
}}<div style="margin-right:300px;">


== Anfangen ==
== Anfangen ==
Zeile 22: Zeile 21:


  1x MAX232
  1x MAX232
  5x 1µF Elko
  1x 10µF Elko (Spannungsstabilisierung)
  1x RS232 /COM-Buchse
4x 1µF Elko / 0.1µF Kondensator
  1x RS232/COM-Buchse


* '''Schaltplan und Layout:'''<br>
* '''Schaltplan und Layout:'''<br>
Zeile 45: Zeile 45:


* Nochmals: '''Pinbelegungen überprüfen !''' 2te große Fehlerquelle !<br>
* Nochmals: '''Pinbelegungen überprüfen !''' 2te große Fehlerquelle !<br>
Besonders trickreich, wenn man die Reihenfolge der Pins vertauscht, dann wird das Komplement zum Atmega gesendet. Es sieht so aus als wäre die Verkabelung OK, aber der PC empfängt keine Daten.
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 ==
== Beispielprogramm UART-ECHO ==
Zeile 59: Zeile 59:


== Programme zum RS232 Datenaustausch ==
== Programme zum RS232 Datenaustausch ==
'''Empfehlung:''' realterm<br>


<b>gtkterm</b> (Linux):<br>
<b>gtkterm</b> (Linux):<br>
Um Daten an den Atmega zu senden und zu empfangen empfehle ich das Programm gtkterm.<br>
gtkterm eignet sich gut um Daten zu empfangen, es kann diese auch als HEX+ASCII darstellen, aber:<br>
'''gtkterm einthaelt einen Fehler, beim senden von HEX-Zeichen stürzt das Programm ab!'''
 
Es kann installiert werden mit dem Befehl:<br>
Es kann installiert werden mit dem Befehl:<br>
  sudo apt-get install gtkterm<br>
  sudo apt-get install gtkterm<br>

Aktuelle Version vom 8. April 2017, 01:31 Uhr

     
Laborboard using RS232 port

Release status: stable [box doku]

LaborLogo2.png
Description This project descripes how to connect the Laborboard to a serial port.
Author(s)  siro
Last Version  1.00



Anfangen[Bearbeiten | Quelltext bearbeiten]

Wissen was man tun möchte und wies funktioniert:
Sehr ausführliche Tutorials :
AVR-Tutorial:_UART
RS232-Tutorial

Hardware[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

rn-wissen.de: UART_mit_avr-gcc
sprut: RS232 Hardware
Windows/WINE: http://realterm.sourceforge.net/