Der Raspberry Pi ist ein leistungsfähiger Linux-Computer, etwa so groß wie eine Kreditkarte.
Ich kann an dieser Stelle nicht ausführlich erklären, was alles mit diesem Rechner möglich ist
– das sprengt den Rahmen dieser Bastelstube. Wer Genaueres wissen möchte, soll sich mal auf der
Homepage des Projekts umschauen.
Der Raspberry Pi hat auf seinem 26-poligen Pfostenstecker unter anderem eine asynchrone serielle Schnittstelle.
Der Kommunikationsbaustein dahinter nennt sich UART (Universal Asynchronous Receiver / Transmitter).
In diesem Teil der Bastelstube möchte ich ein paar Basteleien für die serielle Kommunikation
mit dem Raspberry Pi vorstellen.
RS232-Schnittstelle:
Die bekannteste Methode für serielle Kommunikation ist immer noch die "klassische"
RS232-Schnittstelle. Ich habe eine kleine Platine entworfen,
die einen Pegelwandler MAX3232 für RS-232 und
einen Pegelwandler PCA9517 für I2C mit 5V bietet.
Den MAX3232 gibt es in zwei Gehäusevarianten mit unterschiedlicher Breite – die Platine
ist für beide Varianten vorbereitet.
Wer möchte, kann die GPIO-Leitungen 4 und 5 als Handshake-Signale RTS und CTS verwenden.
Über Jumper lassen sich die Leitungen trennen, wenn man sie für andere Zwecke
nutzen will.
Wie sieht denn das RS232-Board für den Raspberry Pi überhaupt aus?
MIDI-Schnittstelle:
Der Standard für serielle Kommunikation zwischen elektronischen Musikinstrumenten
heißt MIDI (= Music Instruments Digital Interface).
Wer seinen Synthesizer steuern oder Tastendrücke vom Keyboard aufzeichnen möchte,
kann sich dieses kleine MIDI-Board auf seinen Raspberry Pi stecken.
Die Übertragungsgeschwindigkeit ist normiert auf 31250 Baud,
das Datenformat ist "8N1" = 1 Startbit, 8 Datenbits, kein Paritätsbit, 1 Stopbit.
Damit in der Tonerzeugung keine Brummgeräusche durch Masseschleifen zwischen den Geräten
entstehen, wird die Schnittstelle durch Optokoppler galvanisch getrennt.
Der Optokoppler PC817 auf meiner Platine kann als DIL- oder als SMD-Bauteil bestückt werden.
Wie sieht denn das MIDI-Board für den Raspberry Pi überhaupt aus?
Infrarot-Schnittstelle zum RCX:
Die RCX-Bausteine kommunizieren über Infrarotlicht, das mit 38 kHz gepulst wird.
Die Ãœbertragungsgeschwindigkeit ist 2400 Baud, das Datenformat ist "8O1"
= 1 Startbit, 8 Datenbits, ungerades Paritätsbit, 1 Stopbit.
In Senderichtung übernimmt ein NE555 die Erzeugung der Infrarot-Pulse,
in Empfangsrichtung demoduliert ein TSOP1738 aus dem Infrarotlicht wieder die
seriellen Daten.
Die Schaltung
ist so einfach, dass man sie auf einer einseitigen Platine unterbringen kann.
Die Bauteile zum Senden / Empfangen des Infrarotlichts kann man vom Rest der Platine
abtrennen, damit sie sich günstiger in Nähe des RCX platzieren lassen.
In diesem Fall werden die durchgetrennten Leiterbahnen mit einem Kabel verbunden.
Ich habe schon Lötaugen für die zusätzlichen Stecker vorgesehen.
Wie sieht denn das InfraLink-Board für den Raspberry Pi überhaupt aus?
One-Wire-Schnittstelle:
Die One-Wire-Schnittstelle (= OWI) läuft nicht mit dem UART des Raspberry Pi,
aber sie ist trotzdem auch eine serielle Schnittstelle, weil die Informationen
nacheinander auf derselben Leitung übertragen werden.
Wie der Name schon sagt, braucht sie meistens nur einen Draht für
die Kommunikation – allerdings auch zusätzlich noch eine Masseverbindung.
Man kann viele verschiedene Bausteine an diesen einen Draht anschließen,
im einfachsten Fall werden sie direkt aus der Datenleitung gespeist.
Durch einen Suchalgorithmus kann der Busmaster herausfinden, welche Bausteine
aktuell angeschlossen sind.
Die One-Wire-Schnittstelle wurde von Dallas Semiconductor entwickelt (heute
Maxim Integrated).
Meine OWI-Platine benutzt den Baustein DS2482-100 zum Ansteuern der OWI-Leitung.
Damit spart man sich einen Haufen zeitkritische Steuerungsaufgaben, die auf einem
Raspberry Pi mit Linux auch nur sehr schwierig umzusetzen wären.
Der DS2482 wird über I2C mit 5V angesprochen, also brauche ich zusätzlich
noch einen PCA9517 zum Umsetzen des I2C-Busses auf 5V.
UPDATE: Inzwischen wird das One-Wire-Protokoll direkt vom
Raspbian-Betriebssystem unterstützt, so dass man eine solche
Adapterplatine nicht mehr unbedingt braucht.
Die Platine hat verschiedene Stecker zum Anschluss von OWI-Bausteinen.
Damit sollte es für Euren Einsatzfall genug Möglichkeiten geben.
Ich habe der Schaltung auch einen 5V / 2A Spannungsregler spendiert, damit man
den Raspberry Pi an entfernten Einsatzorten gleich über den OWI-Adapter
versorgen kann.
Wie sieht denn der OWI-Adapter für den Raspberry Pi überhaupt aus?
Tschüß, euer Martin S.
|
E-mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!