Elektronik: Hard- und Software

Lichtsteuerung

Work in progress: Ein Projekt unserer Jugendgruppe.

Elektronische Geräte aus dem Alltag sind für viele eine Black-Box: Gekauft im Elektronik-Markt oder Internet tun sie ihren Zweck wie gewünscht — oder manchmal eben nicht. Wir wollten hinter die Kulissen schauen und ein elektronisches Steuerungsgerät (hier eine Lichtsteuerung für DMX-Bühnenscheinwerfer) selbst konzipieren, zusammenbauen und mit einer eigenen Firmware versehen.

Gemeinsam haben wir Bauteile ausgewählt, Datenblätter studiert und einen Schaltplan erarbeitet. Einige der Jugendlichen haben sich primär der Softwareseite (genauer: der Firmware) gewidmet und andere den Hardwareteil übernommen. Dabei musste nicht nur der verwendete Mikrocontroller extern beschaltet werden, sondern es wurde auch ein Zifferndisplay als eigene Baugruppe aus Siebensegmentanzeigen selbst gelötet – die Ansteuerung erfolgt im Zeitmultiplexverfahren. Programmiert wird bei diesem Projekt hardwarenah in der Programmiersprache C.

Als Mikrocontroller haben wir uns für den ATmega4809 entschieden. Die 8-bit AVR Serie, zu der dieser integrierte Schaltkreis gehört, ist auch von den Arduino-Boards bekannt; allerdings haben wir hier die Beschaltung selbst vorgenommen. So ließ sich auch der Anschluss an den PC (zum Aufspielen der Firmware) mit wenigen Widerständen und einem einfachen Konverterkabel von USB auf seriell realisieren, so dass kein spezielles Programmiergerät angeschafft werden musste.

Zur Entwicklung der Firmware greifen wir auf den GNU C-Compiler und die AVR Libc zurück und das Aufspielen auf den Controller erfolgt mittels „pyupdi“. Einmal eingespielt, arbeitet die Firmware bzw. das Gerät zur Lichtsteuerung autonom, d.h. für den Betrieb wird kein PC mehr benötigt und die Bedienung soll – sobald das Projekt fertig ist – über die als Matrix angeschlossene 10’er-Tastatur erfolgen.

Der Anschluss der Bühnenscheinwerfer erfolgt über eine XLR-Buchse (im Bild unten links zu sehen) mittels des DMX-Protokolls. Als besondere Herausforderung hat sich hier herausgestellt, bei Verwendung des in den Mikrocontroller eingebauten USART-Subsystems die von DMX vorgesehene Rahmensynchronisation (mittels Rahmenfehler bzw. BREAK-Signal) mit dem korrekten Timing sicherzustellen. Hier musste die im Mikrocontroller enthaltene Peripherie zeitweise abgeschaltet werden, um direkten Zugang zur seriellen Steuerleitung zu erhalten. Umso größer war das Erfolgserlebnis, als der Raum nach korrekter Programmierung wie gewünscht in verschiedenfarbiges Licht getaucht wurde.