RS232 Pegelwandler mit NE556
von Michael Gaus
Wenn
ein Mikrocontroller an die serielle RS232-Schnittstelle eines PCs
angeschlossen werden soll, dann ist ein invertierender Pegelwandler
erforderlich, üblicherweise z.B. ein MAX232. RS232-Spannungspegel
zwischen +3V und +15V entsprechen einer logischen 0 und werden
mikrocontrollerseitig auf Low-Pegel (GND) umgewandelt.
RS232-Spannungspegel zwischen -3V und -15V entsprechen einer logischen
1 und werden mikrocontrollerseitig auf High-Pegel (ca. +5V)
umgewandelt. Hierüber kann der TX-Ausgang des PCs an den
RX-Eingang eines Mikrocontrollers abgeschlossen werden. Für den
Anschluss des TX-Ausgangs eines Mikrocontrollers an den RX-Eingang des
PCs reicht es üblicherweise
aus, die Mikrocontroller-Pegel einfach zu invertieren, da die
meisten PCs einen GND-Pegel am RS232-Eingang als logische 1
interpretieren und es nicht unbedingt erfoderlich ist, eine negative
Spannung zu erzeugen.
Solch einen Pegelwandler kann man auch mit
einem NE556 aufbauen. Verwendet wurden die Bauteile des
Adventskalenders plus ein Zusatzbauteil: eine 9-polige D-Sub Buchse zum
Anschluss der Schaltung an die RS232 Schnittstelle eines PCs.
Der
Pegelwandler soll mikrocontrollerseitig ungefähr 5 V Pegel haben,
somit muss zunächst aus der 9V Batteriespannung eine entsprechende
Anpassung vorgenommen werden. Über die 1-k-Widerstände R1 bis
R3 wird ein Spannungsabfall von ca.2/3 der Batteriespannung, also ca. 6
V, an der Basis des Transistors eingestellt. Der Transistor arbeitet
als Emitterfolger, sodass sich am Emitter eine Spannung von ca. (6 V -
0,7 V) = 5,3 V ergibt. Hierüber wird der NE556 versorgt. Da der
Ausgang des NE556 nicht ganz an die Versorgungsspannung herankommt,
beträgt der High-Pegel dann weniger als 5 V.
Der NE556
arbeitet hier als eine Art "invertierender Verstärker". Der am
Control-Pin 3 angeschlossene Transistor T2 bewirkt eine Spannung von
ca. 0,7 V am negativen Komparatoreingang des Threshold-Pins. Durch den
an Control angeschlossenen internen Widerstand fließt ein Strom
über die Basis des Transistors nach GND und bewirkt somit einen
Spannungsabfall in Höhe der Basis-Emitter-Spannung von ca. 0,7 V.
Der Kollektor von T2 bleibt unbeschaltet. Wenn die Spannung an
Threshold größer ist als 0,7 V (z.B. wenn eine positive
Spannung an Pin 3 der RS232-Schnittstelle anliegt und die grüne
LED1 leuchtet), dann wird der Reset-Pin des im NE556 integrierten
Flipflops getriggert und der Ausgang (Pin 5) geht auf GND-Pegel. Durch
die grüne LED wird die Spannung am Threshold-Pin auf ca. +2 V
begrenzt.
Die Triggerschwelle für den positiven
Komparatoreingang des Trigger-Pins des NE556 liegt aufgrund der
Innenbeschaltung bei ungefähr der halben
Threshold-Triggerschwelle, also bei ca. 0,35 V. Wenn die Spannung an
Trigger kleiner ist als 0,35 V (z.B. wenn eine negative Spannung an Pin
3 der RS232-Schnittstelle anliegt und die rote LED2 leuchtet), dann
wird der Set-Pin des im NE556 integrierten Flipflops getriggert und der
Ausgang (Pin 5) geht auf VCC-Pegel. Somit wird praktisch ein
invertierender Verstärker gebildet. Durch die rote LED wird die
Spannung am Trigger-Pin auf ca. -1,8 V begrenzt. Der Widerstand R5
sorgt dafür, dass die negative Spannung keinen Schaden im NE556
anrichten kann.
Zum Test kann eine Nullmodem-Verbindung
hergestellt werden, indem an X2 die Pins TX_OUT und RX_IN gebrückt
werden. Wenn man nun mit einem Terminalprogramm (z.B. Hyperterminal)
eine Verbindung zum entsprechenden RS232 COM-Port herstellt und Zeichen
eintippt, dann sollten diese als Echo dargestellt werden. Die Baudrate
konnte beim Test auf bis zu 57600 Bd eingestellt werden. Werte oberhalb
57600 Bd haben nicht mehr funktioniert, da bei Signalwechseln dann die
Pegel nicht mehr schnell genug umgeschaltet wurden. Wenn keine Zeichen
gesendet werden, leuchtet die rote LED2, da der Ruhepegel auf der RS232
eine logische 1 ist (negative Spannung). Während des Sendens von
Daten flackern die rote und grüne LED je nach den auftretenden
Bits im Datenstrom.