Laborboard RS232: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(erste version, braucht Überarbeitung)
 
Keine Bearbeitungszusammenfassung
 
(14 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 ==
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:
1x MAX232
1x 10µF Elko (Spannungsstabilisierung)
4x 1µF Elko / 0.1µF Kondensator
1x RS232/COM-Buchse
* '''Schaltplan und Layout:'''<br>


Anfangen
[[https://www.das-labor.org/trac/browser/microcontroller/doc/Layouts/Laborboard_mit_max232_Layout.png Laborboard_mit_max232_Layout.png]]<br>
[[https://www.das-labor.org/trac/browser/microcontroller/doc/Layouts/Laborboard_mit_max232_Schaltplan.png Laborboard_mit_max232_Schaltplan.png]]<br>
<br>
Nach dem Aufbau '''alle''' Leiterbahnen überprüfen, hier ist meistens eine kalte Löststelle.<br>
Primäre Fehlerquelle !<br>


Bauteilliste:
* '''Test des MAX232:'''<br>
Pin T2IN des Max232 auf 0V legen -> Pin T2OUT muss größer 8V sein<br>
Pin T2IN des Max232 auf 5V legen -> Pin T2OUT muss kleiner -8V sein<br>
<br>
Pin R2IN des Max232 auf -5V legen -> Pin R2OUT muss gleich 5V sein<br>
Pin R2IN des Max232 auf 5V legen -> Pin R2OUT muss gleich 0V sein<br>


1x MAX232
* '''Verbinden des MAX232 mit einer seriellen Schnittstelle:'''<br>
5x 1µF Elko
Pin T2OUT (Pin 7 MAX232) verbinden mit Pin 2 (RXD)<br>
[[https://www.das-labor.org/trac/browser/microcontroller/doc/Layouts/Laborboard_mit_max232_Layout.png]]
Pin R2IN (Pin 8 MAX232) verbinden mit Pin 3 (TXD)<br>
[[https://www.das-labor.org/trac/browser/microcontroller/doc/Layouts/Laborboard_mit_max232_Schaltplan.png]]


Nach dem Aufbau, '''alle''' Leiterbahnen überprüfen, hier ist meistens eine kalte Löststelle.
* 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 ==


Erst mal checken wir die Quellcodes der Beispielprogramme aus:
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/
  svn checkout https://www.das-labor.org/svn/microcontroller/src-atmel/tests/uart-echo/
Zeile 21: Zeile 56:
  avrdude $AVR -U image.hex
  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 Wandler nehmen. Unter Linux sollten die Treiber bereits im Kernel vorhanden sein, wenn nicht sind diese natürlich erst zu installieren.
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<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!'''
 
Es kann installiert werden mit dem Befehl:<br>
sudo apt-get install gtkterm<br>
 
'''realterm''' (Windows/Linux):<br>
<br>
[http://realterm.sourceforge.net/ http://realterm.sourceforge.net/]<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.
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).


Um Daten an den Atmega zu senden und zu empfangen empfehle ich das Programm gtkterm.
== Links ==
Es kann installiert werden mit
[http://rn-wissen.de/index.php/UART_mit_avr-gcc rn-wissen.de: UART_mit_avr-gcc]<br>
sudo apt-get install gtkterm
[http://sprut.de/electronic/pic/grund/rs232.htm sprut: RS232 Hardware]<br>
[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/