Laborboard RS232: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{ProjektInfoBox
|name=Laborboard using RS232 port
|status=stable
|image=LaborLogo2.png
|description=This project descripes how to connect the Laborboard to a serial port.
|username=siro
|author=siro
|version=1.00
|update=07.02.10
|tags=Microcontroller & FPGAs, AVR, RS232,
}}
<div style="margin-right:300px;">
== Anfangen ==
== Anfangen ==
 
Wissen was man tun möchte und wies funktioniert:<br>
Sehr ausführliche Tutorials : <br>
[http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART AVR-Tutorial:_UART]<br>
[http://www.mikrocontroller.net/articles/RS-232 RS232-Tutorial]<br>
== Hardware ==
Bauteilliste:
Bauteilliste:


  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 25: Zeile 43:
Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)<br>
Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)<br>
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)<br>
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)<br>
* Nochmals: '''Pinbelegungen überprüfen !''' 2te große Fehlerquelle !<br>
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 38: Zeile 59:


== Programme zum RS232 Datenaustausch ==
== Programme zum RS232 Datenaustausch ==
'''Empfehlung:''' realterm<br>
<b>gtkterm</b> (Linux):<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!'''


Linux:<br>
Um Daten an den Atmega zu senden und zu empfangen empfehle ich das Programm gtkterm.<br>
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>


Windows/Linux:<br>
'''realterm''' (Windows/Linux):<br>
<br>
<br>
[http://realterm.sourceforge.net/ http://realterm.sourceforge.net/]<br>
[http://realterm.sourceforge.net/ http://realterm.sourceforge.net/]<br>
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2<br>
Für Linuxnutzer:<br>
Realterm läuft mit WINE, wenn diese Verknüpfung erzeugt wurde kann der USB-Seriell-Adapter über COM2 angesprochen werden.<br>
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2<br>


Die erste serielle Schnittstelle heißt unter Linux /dev/tty0 oder /dev/ttyUSB0.
Die erste serielle Schnittstelle heißt unter Linux /dev/tty0 oder /dev/ttyUSB0.
Zeile 54: Zeile 80:
== Links ==
== Links ==
[http://rn-wissen.de/index.php/UART_mit_avr-gcc rn-wissen.de: UART_mit_avr-gcc]<br>
[http://rn-wissen.de/index.php/UART_mit_avr-gcc rn-wissen.de: UART_mit_avr-gcc]<br>
[http://sprut.de/electronic/pic/grund/rs232.htm sprut: RS232 Hardware]
[http://sprut.de/electronic/pic/grund/rs232.htm sprut: RS232 Hardware]<br>
[http://realterm.sourceforge.net/ Windows/WINE: http://realterm.sourceforge.net/]
[http://realterm.sourceforge.net/ Windows/WINE: http://realterm.sourceforge.net/]<br>

Aktuelle Version vom 8. April 2017, 00: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/