Die Idee für die Überblendsteuerung entstand nach einem begeisternden Diavortrag in Überblendtechnik mit nur zwei Projektoren. Da ein Projektor mit Vorbereitung für den Anschluss einer Überblendsteuerung bereits vorhanden war (Braun Paximat Multimag 250E-AF), musste nur noch ein zweiter Projektor und die Steuerung her. Da eine handelsübliche Überblendsteuerung mit PC-Anschluss und entsprechender Software für meinen privaten Gebrauch zu teuer ist, wurde die Steuerung sowie die Software kurzerhand selbst entwickelt.

Folgende Anforderungen stellten sich der Steuerung:

  • Anschlussmöglichkeit für 2 Projektoren
  • Anzeige der Dianummer der 2 Projekoren
  • Anschluss an 230V/50Hz
  • Kommunikationsmöglichkeit mit dem PC über serielle Schnittstelle
  • vollständige Steuerung über PC möglich
  • Anschluss einer Fernbedienung für einen Betrieb ohne PC
  • Zusammenschalten mehrerer Steuerung sollte möglich sein
  • Lineare Helligkeitskurve der Projekorlampen
  • Ansteuerung des Triacs im Projekor
  • Transport des Projektors vor/zurück

Schnell wird klar, dass es hier nicht ohne einen Mikrocontroller weitergeht. Allein die synchrone Ansteuerung der beiden Triacs beim Überblenden mit variabler Geschwindigkeit stellt ohne einen Controller eine sehr hohe Anforderung dar. Soll das ganze dann auch noch mit einem PC gesteuert werden, wird es fast unmöglich.Bei der Auswahl des Controllers standen drei Gesichtspunkte im Vordergrund:

  • günstiger Preis
  • Aufwand an der Peripherie
  • Programmupdates

Wegen der einfachen Programmierung, die auch im System stattfinden kann, wurde ein Controller der Firma Atmel ausgewählt. Dieser 8bit RISC Controller ist nicht nur rasend schnell sondern bietet zudem vom kleinesten bis zum grossen Controller eine feine Abstufung. Für die Diasteuerung wurde der AT90S8515 gewählt, um die vielen Ausgänge für die Anzeige zu bedienen. Für die Anzeige wurden vier 7-Segment LED-Anzeigen ausgewählt, so dass für jeden Projektor die Nummern 00-99 angezeigt werden können.Zur Einstellung bestimmter Parameter wurden 16 DIP-Schalter integriert. Ein Netzgerät für 230V/50Hz dient zur Stromversrogung und zur Synchronisation mit den Perioden des Stromnetzes. Dies ist besonders für die Überblendung sehr wichtig.

plan versorgung Das Netzgerät ist sehr einfach aufgebaut. Es besteht aus einem kleinen 3,2VA Transformator mit einer Ausgangsspannung von 6V. Diese Spannung wird über einen Gleichrichter, zwei Kondensatoren und einem Spannungsstabilisator auf 5V geregelt. Vor der Stabilisierung wird über einen Spannungsteiler die pulsierende Gleichspannung dem Controller zugeführt. Der Nulldurchgang dieser Spannung verursacht im Controller einen Interrupt, welcher dann zur Synchronisation auf den Nulldurchgang der Netzspannung genutzt wird.
plan controller Der Controller benötigt nur noch einen Schwingkreis mit einem Quarz und zwei kleinen Kondensatoren. Als Taktfrequenz wurden ungerade 7.3728MHz gewählt. Dies ist die höchste Frequenz für diesen Controller, mit welcher sich alle üblichen Baudraten über die serielle Schnittstelle ohne Fehler erzeugen lassen. Bei einer höheren (8Mhz) Frequenz wäre dies nicht möglich. Für die Programmierung der Flash-Speichers ist ein Anschluss vorgesehen. Über diesen kann der Controller im System neu programmiert werden. Die IO-Pins des Programmiersteckers werden sonst zur Ansteuerung der 7-Segment LED´s benutzt.
plan seriell Für die serielle Schnittstelle ist ein MAX232C spendiert, der die erforderlichen Pegel von 5V auf 12V anpasst. Zum Durchschleifen der Signale wird der zweite Kanal im Baustein verwendet. Eine Besonderheit ist die Sendeleitung. Da diese Leitung nur von einer Steuerung belegt werden darf, ist ein weiteres Signal zur Anzeige der Belegung notwendig. Diese Signal wird an weitere Steuerung weitergereicht. Die Sendeleitung wird über eine Reedrelais vor dem Senden zugeschaltet.
plan projektor

Die Projektoransteuerung erfolgt jeweils über 2 Reedrelais für den Transport und einen Optokoppler in Triac-Ausführung (MOC3021) für den Phasenanschnitt. Die Optokoppler steuern direkt den Leistungstriac im Projektor an. Für den Transport muss mindestens ein Eingang im Projektor vorhanden sein. Die potentialfreien Kontakte für vorwärts und rückwärts können auch zusammen auf einen Eingang geschaltet werden. Die Unterscheidung für die Transportrichtung erfolgt über die Signalzeit (siehe unten).

Achtung: Die Projektoren müssen an dasselbe Netz angeschlossen werden. Nur dann funktioniert die Phasenanschnittsteuerung.

plan dip Die 16 DIP-Schalter werden über 2 Schieberegister eingelesen. Damit lassen sich digitale Eingänge am Controller sparen. Da die DIP-Schalter sowiso nur zur Konfiguration der Steuerung dienen (Adresse, Baudrate...) werden sie nur nach dem Einschalten oder Reset eingelesen.
plan bedienung1plan bedienung2 Für die Ansteuerung der 4 7-Segment LED-Anzeigen würden sehr viele digitale Ausgänge anfallen. Deshalb werden sie nacheinander über dieselben Leitungen angesteuert (gemultiplexed). Somit kommt man mit 4 Steuerleitungen + 8 Datenleitungen für die einzelnen LED´s aus. Die 7-Segment-LED wird über einen PNP-Transistor mit Strom versorgt. Die einzelnen Elemente werden parallel an alle 7-Segment-LED angelegt. Die Ansteuerung der Transistoren wurde noch auf der Hauptplatine untergebracht.

 

Ohne eine Platine geht es bei der Fülle der Verbindungen nicht. Um die Bauteile unterzubringen und möglichst eine zweiseitige Platine zu vermeiden (ist ziemlich aufwändig zu löten) wurde eine grosse Platine (200x160mm) gewählt und zusätzlich die meisten Bauteile für die Anzeige auf eine kleine doppelseitige Platine untergebracht. Diese 2 Platinen konten dann auch praktisch in einem Kunststoffgehäuse untergebracht werden. Alle IC´s und LED´s wurden auf Sockel gesteckt. Damit ist ein schneller Wechsel bei einem Defekt möglich. Auserdem kann für die zwei Schieberegister der Entstörkondensator im Sockel benutzt werden. Ebenfalls wurden alle Verbindungen an das Gehäuse (Stecker zum Projektor, serielle Verbindung, Netzanschluss, Verbindung zur 2. Platine) über Steckverbindungen ausgeführt, um einen einfachen und schnelle Ein/Ausbau der Grundplatine zu ermöglichen.

nulldurchgang Auf dem Diagramm ist die pulsierende Gleichspannung für den Interrupteingang (niedere Amplitude) sowie die Wechselspannung am Gleichrichter (hohe Amplitude) zu erkennen. Bei der Wechselspannung wird aus messtechnischen Gründen nur eine Halbwelle richtig dargestellt, die Andere ist nur noch bis zu Diodendurchlasspannung von ca. 0.6V zu sehen.Die erste Schwierigkeit bestand in der korrekten Erkennung des Nulldurchgangs der Netzspannung. Die pulsierende Gleichspannung am Interrupteingang löst diesen etwas früher als der wirkliche Nulldurchgang aus. Der Grund dafür liegt in der Flankenerkennung des Controllers, der einen Interrupt auslöst sobald die Spannung unter ca. 1.5V fällt. Daher muss der Startpunkt für die Phasenanschnittsteuerung noch etwas verzögert werden.

 

Die eigentliche Phasenanschnittsteuerung der Triacs erfolgt über die 2 Capture/Compare-Ausgänge des Controllers. Diese Ausgänge laufen völlig autark im Hintergrund über einen Timer ab. Erreicht dieser Timer den Zündzeitpunkt, wird der entsprechende Ausgang aktiviert. Damit ist eine, vom sonstigen Programmablauf (serielle Kommunikation, LED-Ansteuerung...) völlig unabhängige, interruptgesteuerte Phasenanschnittsteuerung für 2 Projektoren möglich.Die nachfolgenden Diagramme zeigen die Spannung am Triac des Projektors bei Ansteuerung mit 0%, 1%, 50% und 95%.

Triac0P

Helligkeit 0%

Triac1P

Helligkeit 1%

Triac50P

Helligkeit 50%

Triac95P

Helligkeit 95%

  

kurven Eine weiteres Problem ist dann schnell sichtbar. Bei einer linearen Ansteuerung der Triacs (lineare Aufteilung der Halbperiode in 100 Abschnitte, siehe blaue Kurve) ist festzustellen, dass die Halogenlampen diese lineare Helligkeitsverteilung nicht umsetzen (rote Kurve, geünscht wäre die gelbe Kurve). Mit einem Luxmeter konnte das nachgemessen werden. Im oberen und unteren Bereich ist kaum eine Helligkeitsveränderung festzustellen. Daher musste die Ansteuerung der Triacs auf eine lineare Helligkeitsverteilung umgestellt werden. Dies bedeutet, dass die Zündung nicht mehr in linearen Abständen erfolgt, sondern jetzt der grünen Kurve folgt.

 

Beim Transport des Diamagazins ist festzustellen, dass die Signallänge für den Transport rückwärts um einiges länger sein muss als die Länge für den Transport vorwärts. Dies gilt auch für den Projektor mit getrennten Eingängen für Transport vorwärts und rückwärts. Für die beiden Projektoren der Firma Braun waren dies: 0.25s = vorwärts, 1s = rückwärts.

Die Software für den Controller wurde in ANSI-C geschrieben. Nach einigen Anfängen in Assembler wurde mir schnell klar, dass dies eine Lebensaufgabe werden würde. Nachdem ich einen kostenlosen C-Compiler für die Atmel-Controller gefunden hatte, stellt der Umstieg auch kein Problem mehr da. Als Compiler wurde der GNU-C Compiler für die Atmel-CPU verwendet.

Ein tolles Tool zur Programmierung des Controllers über die parallele/serielle Schnittstelle gibt es bei Johann Aichinger (Download) So ausgerüstet, stand der Umsetzung der Wünsche bisher nichts mehr im Wege. Der C-Compiler erzeugt eine HEX-Datei für den Programmcode und eine EEP-Datei für die Daten des EEPROMS. Mit Hilfe eine Programms aus obige Internet-Seite ("elfcoff.zip") lässt sich die erzeugt *.ELF-Datei in eine *.COF-Datei umwandeln, mit der das Programm in der Entwicklungsumgebung von Atmel simuliert werden kann. Zur Ermittlung der Zeiten für die Nulldurchgangserkennung sowie die Phasenanschnittssteuerung wurde eine Netzfrequenz von 50Hz zugrundegelegt. Für eine andere Frequenz müssen diese Parameter wiederum ermittelt werden (am besten durch Messung und dies lässt sich in Deutschland schlecht durchführen!!) Viele Parameter, die zur Anpassung an verschiedene Projektoren notwendig sind, wurden im internen EEPROM abgelegt. Hier können sie über den Controller durch entprechende Befehle verändert und permanent abgelegt werden.

Der zweite interessante Gesichtspunkt des Projekts ist die PC-Software zur Ansteuerung des Controllers.

diamat config Zur Kontrolle aller Funktionen entstand die Software "DIAmat Config". Diese dient nicht nur als einfaches Tools mit dem alle Funktionen überprüft werden können, sondern gleichzeitig auch als Konfigurationssoftware für die Einstellungen des Controllers. Diese Einstellungen, u.a. Nachglimmzeit, Transportzeit, Pausenzeiten für Automatikbetrieb über Fernbedienung, werden im EEPROM des Controllers abgelegt und gehen dadurch nach dem Ausschalten nicht verloren.
diamat control Zu einer automatischen Show mit Musikuntermalung reicht diese Software aber nicht aus. Deshalb wurde die Software "DIAmat Control" entwickelt, mit der sich die komplette Show erstellen lässt. Interessant machte dieses Projekt besonders die zeitrichtige Ansteuerung der Überblendsteuerung. Es wurde daher mit mehreren Threads, die alle parallel im Hintergrund aktiv sind, gearbeitet. Die Musik- und Kommentarwiedergabe erfolgt über den Windows Media Player ab V6.1. Zur einfacheren Erstellung der Show kann alles am Bildschirm simuliert werden, ohne dass die Steuerung oder die Projektoren angeschlossen werden müssen. In der Version 1.1 ist die Software nur in der Lage, eine DIAmat Steuerung mit 2 Projektoren zu bedienen.

 

Beide Programme wurden in MS Visual C++ unter Windows XP entwickelt. Lauffähig sind sie ab Windows 95. Für die Musikwiedergabe muss mindestens der Windows Media Player V6.1 installiert sein. Ausserdem sollte bei einer häufigen Benutzung der Musik- und Kommentarwiedergabe ein Rechner mit ausreichend Rechenleistung und Arbeitsspeicher vorhanden sein (getestet unter Win98, PII 300MHz und 128MB RAM). Probleme ergaben sich mit der V1 unter Windows98 beim Abspielen vieler verschiedener Musikstücke. Der MediaPlayer gibt den Speicher am Ende des Musikstückes nicht mehr richtig frei. So kommt es über kurz oder lang zu einem völligen Systemabsturz. Unter WindowsXP extistiert dieses Problem nicht. Mit der Version 02 wurde das Abspielen der Musikdateien über DirectX realisiert. Dazu wurde die Datei "bass.dll" V1.6a verwendet, die bei www.un4seen.com heruntergeladen werden kann. Damit wird zwar DirectX ab V3 benötigt, aber es kommt zu keinem Systemabsturz unter Windows98 mehr.

Ab Version 03 ist die "bass.dll" ab Version V1.8 im Einsatz. Die neue Version bietet einige Verbesserung:

  • Fehler in der Berechnung von Dianummern und aktiven Projektoren behoben
  • Ein/Ausschalten der Projektorlampen solange keine Vorführung aktiv ist
  • Möglichkeit zur sanften Aus/Einblendung der Musik vor und nach Kommentaren bzw. Musikwechseln
  • Start an beliebiger Zeile mit exakter Musikuntermalung
  • Druckfunktion der Tabelle in unterschiedlichem Umfang

Downloads: