Ich habe hier drei chinesische Billig-Movingheads, die anstatt eines Leuchtmittels eine Kamera eingepflanzt bekommen haben.
Somit ergibt sich eine Low-Cost, low-end Pan/Zoom-Kamera die sich über DMX steuern lässt.
Bis jetzt hatten wir dafür ein billiges DMX-Pult ohne Zusatz für Scanner/Moving-Heads. Das Teil ist breit und die Positionierung über Fader statt Joystick ist mühsam.
-> Ersatz musste her.
Also eine runde Platinen machen. Während der Chinamann (Elecrow) die Platinen fertig habe ich das ganze schon mal auf dem Steckbrett zusammen genagelt und die Software programmiert
Nebenbei habe ich bei mikrocontroller.net ein günstiges Angebot für ALPS Drehgeber mit LED-Kreis und magnetischer Auswertung gefunden -> so einer musste einfach mit verbaut werden.
Seit über 10 Jahren fliegt hier ein Pultgehäuse von Reichelt rum, also dafür schnell in FreeCAD eine Frontplatte gezeichnet und einen Freund gefragt ob er es drucken kann:
Raus gekommen ist folgendes Pult, im folgenden CaracalCamController oder CCC genannt:
Da die Taster perfekt ins 2,54mm-Raster passen sind die Tasterbänke auf Lochraster aufgebaut:
Die Steuerplatine ist universell gehalten und beherbergt einen Atmega1280 und Anschlüsse für bis zu 8 Tastenblöcke (á 4 Taster mit 4 LEDs), über 30 offene GPIO, LCD, Drehgeber, RS485 (=DMX), Kommunikation und Stromversorgung über USB:
Einige Teile habe ich leider bei Reichelt vergessen, daher sind noch einige Footprints unbestückt, einige bleiben aber auch offen (ich brauch z.B. nur 4 Tasterblöcke)
Die LEDs werden über einen MAX7221 (8x8 Matrixtreiber) angesteuert, die Taster bilden eine 8x4 Matrix.
Das ganze bedient sich wie folgend:
Hardware
Auf der Frontplatte befinden sich die 6 grundlegenden Bedieneinheiten des CCCs.
1. Softkeys
2. Store
3. Nicht benutzt (später um die Funktion des Drehgebers zu beeinflussen)
4. Drehgeber
5. Kamerawahl
6. Joystick
Die Softkeys führen durch das unten beschriebene Menü.
Über die Kamerawahl-Tasten wird die zu bedienende Kamera (1-4) aufgewählt. Die LED der gewählten Kamera leuchtet. Mit dem Joystick kann die gewählte Kamera um Pan- und Tiltachse geschwenkt werden. Über den Drehgeber kann die maximale Bewegungsgeschwindigkeit beeinflusst werden.
Die Store-Tasten ermöglichen es, pro Kamera bis zu 4 Positionen einzuspeichern. Ist ein Store-Slot mit einem Wertepaar belegt, leuchtet die LED der entsprechenden Taste.
Auf der Rückseite des CCCs befinden sich die Anschlüsse für DMX und USB zur Stromversorgung (keine Datenverbindung).
Software
Nach dem Start erscheint der Startbildschirm:
Code: Alles auswählen
+--------------------+
|DragonVideo |
|By Karrn |
|Cam controller |
| 2017|
+--------------------+
Jede Softkey-Taste oder ein Druck auf den Drehgeber verlassen den Startbildschirm und führen ins Hauptmenü.
Hauptmenü
Code: Alles auswählen
+--------------------+
|Active: CAM ? |
|Pan: ??? Tilt: ??? |
|Speed: ??? |
|STORE MENU|
+--------------------+
Im Hauptmenü sind alle Funktionen, die oben bereits skizziert wurden, verfügbar. Die durch die Kamerawahl-Tasten gewählte Kamera wird in der 1. Reihe des LCDs angezeigt.
In der 2. Reihe werden die aktuell über DMX übertragene Werte für Pan und Tilt angezeigt.
Die 3. Reihe zeigt die über den Drehgeber gewählte Geschwindigkeit an. Zu beachten ist die invertierte Logik dieses Parameters, Speed: 0 entspricht der maximalen Geschwindigkeit.
Über den Softkey STORE gelangt man ins Store-Menü.
Der Softkey MENU führt ins Einstellungsmenü.
Store-Menü
Code: Alles auswählen
+--------------------+
|Store |
|Choose store to save|
| |
| CLEAR ABORT|
+--------------------+
Die vier LEDs der Store-Taster beginnen zu blinken. Ein Druck auf einen Store-Taster speichert die aktuellen Werte für Pan/Tilt in diesem Slot und das Menü wird verlassen.
Eine leuchtende LED zeigt an, dass in dem gewählten Slot ein Wertepaar gespeichert ist.
Ein Druck auf ABORT verlässt das Menü ohne etwas zu speichern, CLEAR führt in ein Menü zum Löschen von Wertepaaren.
Code: Alles auswählen
+--------------------+
|Clear store |
|Choose store |
| |
|ALL ABORT|
+--------------------+
Die vier LEDs der Store-Taster blinken weiterhin. Ein Druck auf den Taster löscht das entsprechende Wertepaar, die LED erlischt. Der Softkey ALL löscht alle vier Slots.
Einstellungsmenü
Code: Alles auswählen
+--------------------+
|Choose menu option |
|????????????????????|
| |
|PREV NEXT ENTER BACK|
+--------------------+
In der 2. Zeile steht der aktuell ausgewählte Untermenüpunkt. Über PREV/NEXT und den Drehgeber kann durch die Menüpunkte gewechselt werden, ENTER oder ein Druck auf den Drehgeber führen in das entsprechende Menü.
Folgende Menüs stehen zur Auswahl:
- Camera setup
Camera controlling
General camera power
Lock cam controller
Enter lock code
Show hardware info
Reset settings
Camera setup
Code: Alles auswählen
+--------------------+
|Select cam |
|Edit Cam ? |
| |
|PREV NEXT ENTER BACK|
+--------------------+
Zuerst gelangt man in ein vorgelagertes Menü, in dem die zu bearbeitende Kamera gewählt werden muss. Über ENTER gelangt man in das eigentliche Menü:
Code: Alles auswählen
+--------------------+
|Enter parameter CAM?|
|????????????????????|
|??? |
|NEXT UP DOWN BACK|
+--------------------+
Die 2. Zeile zeigt den aktuellen Parameter ein
Mit dem Softkey NEXT kann durch die Liste der einstellbaren Paramter gewechselt werden. UP/DOWN beeinflusst den Parameter. Dies ist auch über den Drehgeber möglich. Der LED-Ring um den Drehgeber zeigt den aktuellen Wert in Bezug auf min/max an.
Folgende Parameter können manipuliert werden:
- Camera active: 0/1 Kamera inaktiv (kann nicht ausgewählt werden)
- base_addr: DMX-Adresse des Movingheads
- pan address: Offset der Pan-Achse von der DMX-Basisadresse
- tilt address: Offset der Tilt-Achse von der DMX-Basisadresse
- speed address: Offset des Speeds von der DMX-Basisadresse
- switch address: Offset der Switch-Adresse von der DMX-Basisadresse (GoPro-Schalter)
- invert pan: Spiegel die Pan-Achse
- invert tilt: Spiegel die Tilt-Achse
- pan scaling: Skalierung der Joystick-ADC-Werte für die Pan-Achse
- tilt scaling: Skalierung der Joystick-ADC-Werte für die Tilt-Achse
Camera controlling
Code: Alles auswählen
+--------------------+
|Setup |
|Controll CAM ? |
| |
|PREV NEXT CTRL BACK|
+--------------------+
Zuerst gelangt man in ein vorgelagertes Menü, in dem die zu bearbeitende Kamera gewählt werden muss. Über CTRL gelangt man in das eigentliche Menü:
Code: Alles auswählen
+--------------------+
|Setup |
| |
| Power |
|>ON< OFF BTN BACK|
+--------------------+
Mit den Softkeys ON/OFF kann die Stromversorgung der GoPro an/ausgeschaltet werden. Der aktuelle Zustand wird über zwei Pfeile >< dargestellt.
Der Softkey BTN betätigt den Taster der GoPro zum ein/ausschalten.
General camera power
Code: Alles auswählen
+--------------------+
|Setup |
| |
|Switch all cams |
|ON OFF BACK|
+--------------------+
Über dieses Menü kann die Stromversorung aller aktiven Kameras auf einmal geschaltet werden.
Lock cam controller
Code: Alles auswählen
+--------------------+
| DragonVideo |
| **** LOCKED **** |
| |
| 1 2 3 4 |
+--------------------+
Der CCC ist gesperrt und und alle Eingaben werden blockiert. Die Sperre bleibt über einen Spannungsverlust hinaus erhalten. Über die Softkeys muss der zuvor konfigurierte vierstellige Sperrcode eingegeben werden.
Enter lock code
Code: Alles auswählen
+--------------------+
|Setup |
|Enter new code: |
| |
| 1 2 3 4 |
+--------------------+
Über die Softkeys wird der neue Entsperrcode eingegeben. Der Code hat immer vier Stellen. Nach erfolgreicher Eingabe springt der CCC zurück ins Einstellungsmenü.
Show hardware info
Code: Alles auswählen
+--------------------+
|Matrix: ?? ?? ?? ?? |
|ADC X:???? Y:???? |
| |
| |
+--------------------+
In diesem Menü werden zur Fehleranalyse verschiedene Parameter angezeigt. Die 1. Zeile im LCD zeigt den Zustand der Tastenmatrix, die 2. die Werte der Joystick-ADCs.
Reset settings
Code: Alles auswählen
+--------------------+
|Setup |
|Load default config |
|and erase all data? |
|YES BACK|
+--------------------+
In diesem Menü können die vorgegebenen Standardwerte geladen werden.
Die Software gibts bei Github, ist aber recht schwach kommentiert:
https://github.com/Bauteiltoeter/camcontroller