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.
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.
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%.
Helligkeit 0% |
Helligkeit 1% |
Helligkeit 50% |
Helligkeit 95% |
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.
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:
- Schaltplan Bedienungsteil - PDF-Datei, 152KB
- Bestückung Platine Bedienteil - PDF-Datei, 65KB
- Platine Bedienteil Kupfer oben - PDF-Datei, 36KB
- Platine Bedienteil Kupfer unten - PDF-Datei, 80KB
- Schaltplan Hauptplatine - PDF-Datei, 473KB
- Bestückung Hauptplatine - PDF-Datei, 206KB
- Hauptplatine Kupfer unten - PDF-Datei, 175KB
- Firmware - ZIP-Datei, 6KB
- DIAmat Config - Konfigurationssoftware, 64KB
- DIAmat Control V3 - Präsentationssteuerung (DirectX), 196KB
- Doku DIAmat Steuerung - PDF-Datei, 345KB
- Doku DIAmat-Control - PDF-Datei, 555KB