Kategorien
Raspberry Pi

Raspberry Pi – Serielle Schnittstelle (RS232) nutzen

Raspberry Pi – Serielle Schnittstelle (RS232) nutzen und so zum Beispiel mit dem Pollin ATMEL Evaluations-Board oder anderen Mikrocontrollern verbinden.

Die Raspberry Pi ist mit vielen Schnittstellen ausgestattet.
Mit dem USB Port lassen sich die Möglichkeiten diesbezüglich mehr als potenzieren.
Um mit meinen AVR Mikrocontrollern zu kommunizieren ist am besten eine serielle Schnittstelle geeignet.

Natürlich hat die Raspberry Pi Eine, aber leider nur als Pins auf der GPIO Steckerleiste.
Die benötigten Pins könnten theoretisch direkt mit dem Mikrocontroller z.B. ATMega8 verbunden werden.
Das würde aber voraussetzen, dass der Mikrocontroller mit 3,3 Volt arbeitet.
Mein Pollin Evaluationsboard arbeitet aber mit 5 Volt, bringt aber eine fertige RS232 Schnittstelle zur Kommunikation mit PC’s oder sonstigen Gerätschaften mit.
Am einfachsten wäre es, die Pi hätte ebenso eine RS232 Schnittstelle.
Beim Googlen habe ich dann die Seite Serial Port Add On gefunden.
Das dort beschriebene Serial Port to TTL Digital Converter Module, habe ich mir bei Ebay gekauft.

GPIO Header Pins
RaspberryPI_GPIO_serielle_Schnittstelle
2 4 6 8 10 12 14 16 18 20 22 24 26
1 3 5 7 9 11 13 15 17 19 21 23 25
1= 3.3V, 9= GND, 8= TX, 10= RX

Die Jumper Kabel zum Anschluss an die Raspberry Pi wurden mitgeliefert.
Ich habe das Modul, wie im Bild dargestellt mit der Pi verbunden.

Um die serielle Schnittstelle ans Laufen zu bekommen müssen noch die /etc/inittab und die /boot/cmdline.txt angepasst werden.

/etc/inittab

  • Auskommentieren der Zeile ‘T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100’
#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

/boot/cmdline.txt

  • Löschen von: dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Bilder meiner PI inklusive ‘serieller Schnittstelle’

RaspberryPI_mit_serieller_Schnittstelle_VS RaspberryPI_GPIO_serielle_Schnittstelle1_VS RaspberryPI_GPIO_serielle_Schnittstelle2_VS RaspberryPI_GPIO_serielle_Schnittstelle3_VS RaspberryPI_GPIO_serielle_Schnittstelle4_VS

Video, zur Demonstration

Das Video kommt bereits bei meinem ‘Hello World Beispiel’ im ATMega8 Bereich meiner Webseite zum Einsatz.
Ich habe dafür ein kleines Perl Script geschrieben.
Sicherlich wäre es auch mit Programmen wie minicom gegangen, aber da hätte ich mich auch erst mal wieder einarbeiten müssen.
Das Script ging schneller und ist am Ende des Tages flexibler.

Von Henry Koch

take a look at: http://www.henrykoch.de/privat.html

6 Antworten auf „Raspberry Pi – Serielle Schnittstelle (RS232) nutzen“

Guten Tag,
ich habe alles so gemacht, wie beschrieben. Wenn ich in screen oder minicom was tippe, kommt alles im Terminalprogramm (Windows 8 – TeraTerm oder auch HyperTerm) an. Wenn ich auf der Windowsseite tippe, kommt am Pi nichts an. Was mache ich falsch??
Mein Fernziel ist, meine Wintergartensteuerung (mit -Control I von Conrad) zu überwachen und evtl. nach Absturz neu zu starten. Dafür sendet die SPS jede Minute eine Protokollzeile in die Serielle Schnittstelle.
M.f.G. Erich Baars

Hallo Herr Baars,
leider kenne ich mich mit Windows 8 nicht aus.
Ist es möglich mit einem anderen PC oder Laptop etwas an die Raspberry PI zu senden?
In den Terminalprogrammen lässt sich ja so einiges einstellen, wie Baudrate, Data Bits, Stop Bits, Handshake, etc.
Sind diese Werte auf der Windows Seite genau so wie auf der PI Seite?
Ich habe gerade mal Cutecom gestartet und sehe z.B. dass es auch die Möglichkeit gib die Verbindung nur lesend zu erlauben.
Grüsse Henry

Hallo Herr Bensel,
habe gerade mal gegoogelt und bin u.a. bei http://www.nokiaport.de fündig geworden.
Das ist auf jeden Fall eine Option.
Einen Pegelwandler von 3,3 auf 5Volt und umgekehrt hinzubekommen, sollte theoretisch auch mit einem Transistor und 2 Widerstaänden machbar sein.
Das RX Signal zur Pi muss über einen Widerstand gedämpft werden, so dass maximal 40mA Strom fließen können.
Das TX Signal von der Pi geht mit einem Vorwiderstand an die Basis eines Transitors und über den Kollektorkreis wird die 5 Volt Seite des Evaluationsboards gesteuert.
Das ist mal ein Mini Projekt für den Winter :-)
Grüsse Henry

Du, reicht die Stromversorgung vom Pi aus um keine kleine Optolink-Schaltung (IR-Diode/Fotozelle) zu versorgen? Da die andere Seite eh nur optisch angebunden ist brauch ich ja keinen Pegelwandler.

Es gibt Optokoppler die mit einigen hundert uA oder noch weniger auskommen. Allerdings würde ich einen einfachen Level Shifter empfehlen. Die sind oft open Drain und können so für fast jede Spannungsübersetzung angewendet werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.