HOME

Infos

Resources
FAQ
Laser
Nebel

Analog

Dimmer
Switch
Chaser
Strobo
Panel
DLC

DMX

Open RDM
Dimmer
3p Dimmer
Switch
Demux
Halogen
LED
Matrix
Servo
Stepper
Analyzer

Pimp my...

...Strobo
...Fogger

Allgemeines

Profil
Nutzerliste
Links
Impressum
_

Henne's Sites

DMX Servocontroller und LED-Controller

Servo offen

Mit Hilfe dieses Controllers lassen sich bis zu vier Standard-Servos unabhängig voneinander mit einer Auflösung von 8bit ansteuern.
Auf Grund der starken Nachfrage wurde zusätzlich ein LED-Dimmer mit bis zu vier Kanälen und Strobe-Funktion integriert.
Über Jumper lassen sich gängige Servotypen einfach auswählen. Alternativ ist eine Parametrierung über ein PC-Tool möglich.

 

Eine Servo-Steuerung besteht aus einem DMX-Transceiver, an den die Signalleitungen der Servos direkt angeschlossen werden können. Die Servos benötigen unbedingt eine eigene Stromversorgung mit gut gekühltem Spannungsregler (78S05) und großen Elkos dahinter!

 

Rev. 3.01

DMX-Transceiver (Rev. 3.01)

Mit diesem Modul können DMX-Daten sowohl empfangen als auch gesendet werden. Obwohl die Schaltung recht einfach wirkt, empfehle ich den kompletten Selbstbau nur Hobbyelektronikern mit etwas Erfahrung.

Diese Schaltung ist durch die vollständige Anbindung des RS485-Wandlers für eine bidirektionale Kommunikation (RDM nach ANSI E1.20 oder proprietär) geeignet. Dieses Feature wurde bislang jedoch nur in sehr wenigen kostspieligen Geräten implementiert.

Da ein Lochraster-Drahtverhau für diese Schaltung zu unzuverlässig ist, sollte die Platine möglichst  übernommen werden. (Nähere Informationen finden Sie unter 'Resources'.) Wer nicht selbst ätzen möchte, kann eine fertige Platine in Industriequalität bei Embedded Projects erstehen.

 

DMX-Transceiver SchaltungBauteile

  IC1
  IC2
  IC3
  B1 
  LED1
  LED2
  R1
  R2,3,4
  C1,2
  C7
  C5,6
  SW1
  Q1
  Anschlüsse
ATmega8515-16PU (sockeln!)
75176B (sockeln!)
7805
Gleichrichter (rund)
LED 5mm rot
LED 5mm grün
10k (PT10-S)
390 Ohm
27pF
100nF
100µF
DIP-Schalter (10fach)
8MHz (HC49)
Stiftleiste einreihig
 

Die Bauteilkosten für einen Transceiver liegen zwischen 6,50€ und 9,50€.

 

 

 

 

 

 

 

 

 

Wie man sieht, ist die Schaltung äußerst simpel. Die gesamte Ansteuerung erfolgt per Firmware innerhalb der MCU (IC1). Diese wird über den "ISP"-Port auf IC1 übertragen. Die Startadresse und besondere Optionen (falls vorhanden) stellt man über ADR ein. Die Leuchtdioden dienen als Statusanzeigen. Die Bauteile rund um IC3 sorgen  für eine glatte Betriebsspannung von 5V. Q1 und C1,2 werden für die Betriebsfrequenz von 8MHz benötigt. IC2 ist der RS485-Wandler, der der MCU die Kommunikation mit der Außenwelt ermöglicht. Über Spare können verschiedene Funktionsarten der Firmware fest gejumpert werden. Über A-Input kann ein analoger Schwellwert (z.B. zur Temperaturmessung) eingelesen werden.

An AC1&2 wird die Betriebsspannung von 9-12V ac oder dc angeschlossen. Die Versorgung sollte schon ein paar Watt haben, um sämtliche Module zuverlässig versorgen zu können.

Layout (48 * 76 mm^2)

Bestückung

Die Verbindung des Transceivers mit dem DMX-Bus erfolgt gemäß der nächsten Grafik:

 

Eine Anleitung zum Programmieren und zur Quarzselektion des AVRs finden Sie unter 'Resources'.

Nach dem Anpassen der fuse bits kann die Servo-Firmware auf den DMX-Transceiver übertragen werden. Dieses Programm wertet die nächsten sieben Kanäle nach der Startadresse aus und generiert die verschiedenen PWM-Signale.

 

Kanalbelegung zur Ansteuerung von vier Servomotoren

DMX Funktion Ausgangspin
ch1 Position Servo1 OUT1 (PA0)
ch2 Position Servo2 OUT2 (PA1)
ch3 Position Servo3 OUT3 (PA2)
ch4 Position Servo4 OUT4 (PA3)

 

Kanalbelegung im Movinglight-Betrieb

DMX Funktion Ausgangspin
ch1 Servo1 (Tilt) OUT1 (PA0)
ch2 Servo2 (Pan) OUT2 (PA1)
ch3 Strobe  
ch4 PWM1 (red) OUT5 (PA4)
ch5 PWM2(green) OUT6 (PA5)
ch6 PWM3 (blue) OUT7 (PA6)
ch7 PWM4 OUT8 (PA7)

 

Kalibrierung des Servosignals

Der Standard sieht zur Ansteuerung von RC-Servomotoren ein PWM-Signal mit einer Frequenz von 50Hz und einem Duty-Cycle von 1ms bis 2ms vor. Die meisten Hersteller halten sich allerdings nicht an diese Vorgaben und ermöglichen über höhere Duty-Cycles größere Verfahrwege. Aus diesem Grund hält sich der Transceiver nicht nur an den Standard sondern beherrscht auch die gängigen "Dialekte". Die Einstellung wird über den Spare-Port vorgenommen:

Spare1 (PD4) Spare2 (PD5)  Servo
0 0 Standard
1 0 Graupner
0 1 robbe
1 1 custom

0 = nicht gejumpert
1 = gejumpert

Zusätzlich der Verfahrweg des ersten Servos (Tilt) durch Setzen von Spare3 (PD6) eingeschränkt werden. Dies ist bei den meisten Scannern notwendig.

Falls Sie für jeden Servo einen individuellen Verfahrbereich festlegen möchten, kann mit dem PC-Tool eine passende EEPROM-Datei erzeugt werden. Diese muss dann zusammen mit der Firmware  auf den Transceiver  übertragen werden. Zum Nutzen dieser custom-Einstellungen müssen Spare1,2 gesetzt werden. Die Änderungen werden nach einem Neustart übernommen.

 

Daten meines RC-Servos (Referenz)

Conrad Servo

Typ: RS-301 MGBB

Vertrieb: Conrad-Electronik

Spannung: +5V, 150mA

Anschlüsse:
rot:          extern +5V
braun:     GND (extern-GND und Transceiver-GND verbinden!)
orange:  Signal (von DMX-Transceiver)


Debugging

Beim Hochfahren sollte die ErrorLED leuchten. Die Änderung relevanter Kanäle wird durch Blinken der grünen LED indiziert. Ein Fehler wird durch Blinken der ErrorLED angezeigt:

Pattern Fehler Lösung
Blinken Es liegt keinerlei Signal am Transceiver an. Transceiver mit DMX-Bus verbinden.
Doppelblinken Das Signal wird nicht als DMX erkannt.
Es werden nicht alle benötigten Kanäle empfangen.
D+ und D- am DMX-Anschluss vertauschen.
Mehr Kanäle senden oder kleinere Startadresse wählen.