Zur Druckansicht wechseln Visit the English version of this page

www.jb-electronics.de » Elektronik » Digitaltechnik » RS232-PWM-Dimmer

RS232-PWM-Dimmer

Manchmal kann es wirklich praktisch sein, eine Schaltung mit dem Computer zu verbinden. Warum? Um etwa Messwerte zum Computer zu schicken, der sie dann abspeichert, oder etwa, um die Schaltung vom Computer aus steuerbar zu machen.

Ein sehr einfaches Protokoll ist das der seriellen RS232-Schnittstelle. Es ist in Form der USART-Schnittstelle in vielen Mikrocontrollern bereits fertig als Modul implementiert, sodass sich der Benutzer um die Hardware schon fast gar keine Gedanken mehr machen muss.

USART steht für Universal Synchronous / Asynchronous Receiver / Transmitter. Es ist ein allgemeines Modul, das so konfiguriert werden kann, um mittels RS232 Daten zu übertragen.

Grundidee

Die Schaltung, die hier vorgestellt wird, ist sehr minimalistisch, aber sie soll auch nur ein einfaches Test-Beispiel für die Verwendung der seriellen Schnittstelle darstellen.

Was soll unsere Test-Schaltung leisten?

  1. Dimmen einer LED mit einer Auflösung von 1:255. Der Duty-Cycle ist also von 0:255 bis 255:255 einstellbar. Diesen Wert (nennen wir ihn im Folgenden X) soll vom Computer seriell an die Schaltung übertragen werden.
  2. Der Mikrocontroller soll den Wert X empfangen und die LED dementsprechend dimmen.
  3. Als Kontrolle soll der Mikrocontroller den Wert X an den Computer zurücksenden.

Benötigte Hardware

Zum einen benötigen wir natürlich einen Mikrocontroller, wobei ich mich hier natürlich für einen PIC entscheide: der PIC16F627A wird verwendet. Es kann natürlich auch jeder andere mit einem USART- oder UART-Modul verwendet werden.

Die RS232-Schnittstelle arbeitet mit negativen Pegeln, die zudem größer sind als unsere 5V-TTL-Pegel. Wir brauchen also einen Pegelwandler in beide Richtungen, denn sowohl müssen eingehende Signale auf verträgliche 0- bzw. 5V-TTL-Pegel gewandelt werden, als auch ausgehende Signale von TTL zu RS232-Pegeln. Dazu gibt es den sehr bekannten IC namens MAX232. Mittels einer Ladungspumpe stellt er die negative Spannung bereit und arbeitet ansonsten genügsam als Black Box; er benötigt nur einige externe Kondensatoren.

Und das war es schon! Es ist gar nicht viel, was benötigt wird. Hier ist der Schaltplan zu sehen:

Der Schaltplan des RS232-PWM-Dimmers

Hier ist der Schaltplan in höherer Auflösung zu finden.

Software

Im Programmcode des Mikrocontrollers muss dann nur noch das PWM-Modul aktiviert werden und das USART-Modul auf RS232 konfiguriert werden. Nähere Erklärungen im Lexikon.

Entscheidend ist eigentlich nur das Quarz, da es in einem gewissen Rahmen die Baudrate bestimmt, also die Geschwindigkeit, mit der die Daten übertragen werden. Ich entschied mich für eine recht geringe Rate von 1200 Baud.

Terminalprogramm

Um diese Schaltung am Computer zu testen, verwendet mensch am besten ein Terminalprogramm. Damit können kontrolliert Daten über die serielle Schnittstelle versendet und empfangen werden. Ich entschied mich für das kostenlose Programm HTerm von Tobias Hammer. Hier ein Screenshot mit allen Einstellungen (von mir nachträglich durch den grünen Kasten hervorgehoben):

Das Terminalprogramm HTerm

Diese Einstellungen habe ich vorgenommen: 1200 Baud, 8 Data-Bits, 1 Stop-Bit, keine Parität, kein Flow-Control.

Auf dem Bild sieht mensch zudem einige gesendete Daten, die ausnahmslos alle auch wieder vom Controller zurückgesendet wurden. 0 entspricht hier "LED ganz aus", und 255 entspricht "LED ganz eingeschaltet", und Zahlen dazwischen entsprechen den Dimmstufen.

Bilder

Hier ein Bild des fertigen Dimmers:

Der fertige RS232-PWM-Dimmer

Es folgen ein paar Fotos des verwendeten weiblichen SUB-D-Adapters mit den relevanten Anschlussbelegungen. Ich selber musste die Belegung mit meinem Oszilloskop nachprüfen, weil mich etliche Skizzen im Internet etwas verwirrt hatten - es ist nun einmal auf Skizzen, die mangelhaft beschriftet sind, nicht ohne Weiteres zu erkennen, ob die Ansicht nun von vorne oder von hinten zu verstehen ist.

Die relevanten RS232-Anschlüsse von hinten

Die relevanten RS232-Anschlüsse von vorne

Für alle Interessierten gibt es hier den C-Quellcode und das fertig kompilierte HEX-File: RS232_PWM_Dimmer.zip (2 KB)

Nach oben

show print layout Die deutsche Version der Seite besuchen

www.jb-electronics.de » Electronics » Digital Technology » RS232 PWM dimmer

RS232 PWM dimmer

My apologies...

There is no English translation of this page available yet. It will take some more time for me to translate the whole website.

If you have a particular interest in this page getting translated as fast as possible, please contact me; I will see what I can do. Please click here for the German version.

To the top