RS232 Pegelwandler mit NE556           

von Michael Gaus                     
      
Elektronik-Labor  Literatur  Projekte  Lernpakete  Kalender  Schaltungswettbewerb



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.