|
_ |
DMX 2Kanal Schrittmotorsteuerung
Mit dieser Schaltung lassen sich zwei unipolare oder bipolare Schrittmotoren mit einem Vollschrittwinkel von 1.8°, 7.5° oder 18° unabhängig voneinander mit einer Auflösung von je 8bit oder 16bit ansteuern. Bei Verwendung von Mikroschritttreibern stehen optional zusätzlich vier PWM-Kanäle zum Dimmen von LEDs zur Verfügung. Eine Schrittmotor-Steuerung besteht aus einem DMX-Transceiver, an dessen Output entweder ein ULN2803-Treiber für unipolare Stepper, zwei L298 für bipolare Stepper oder Mikroschritt-Treiber wie zum Beispiel der A4988 mit Step/Dir-Eingängen angeschlossen werden. Die Schrittmotoren benötigen unbedingt eine leistungsfähige Stromversorgung um Spannungseinbrüche am Transceiver zu verhindern!
DMX-Transceiver (Rev. 3.2)Mit diesem Modul können DMX-Daten sowohl empfangen als auch gesendet werden. Auf Grund des Mikrocontrollers sei Anfängern von einem Nachbau jedoch abgeraten. Diese Schaltung ist durch die vollständige Anbindung des RS485-Wandlers für eine bidirektionale Kommunikation (z.B. RDM nach ANSI E1.20) geeignet. Fertige Platinen in Industriequalität sind im Shop erhältlich.
Bauteile
Die Bauteilkosten für einen Transceiver liegen zwischen 6,50€ und 9,50€.
Wie man sieht, ist die Schaltung äußerst simpel: Die 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 den Spannungsstabilisator IC3 sorgen für eine stabile Betriebsspannung von 5V. Q1 und C1,2 werden für die Betriebsfrequenz von 8MHz benötigt. Über den RS485-Wandler IC2 wird der MCU die Kommunikation mit der Außenwelt ermöglicht. Mit Hilfe von "Spare" können verschiedene Funktionsarten der Firmware fest gejumpert werden. Über A-Input kann ein analoger Schwellwert (z.B. zur Temperaturmessung) eingelesen werden. An PWR wird eine Betriebsspannung zwischen 9Vdc und 12Vdc angeschlossen. Der DMX-Transceiver selbst benötigt <300mA. Bei der Dimensionierung der Spannungsversorgung sind alle angeschlossenen Verbraucher zu berücksichtigen.
Die Verbindung des Transceivers mit dem DMX-Bus erfolgt gemäß der nächsten Grafik: Achtung: Pin 3 des XLR-Anschlusses wird mit dem mittleren Pin des Platinen-Steckverbinders verbunden!
Eine Anleitung zum Programmieren und zur Quarzselektion des AVRs finden Sie unter 'Resources'. Nach dem Anpassen der fuse bits kann die Stepper-Firmware auf den DMX-Transceiver übertragen werden. Dieses Programm wertet nach einer Referenzfahrt die nächsten vier Kanäle nach der Startadresse aus und generiert die zugehörigen Schrittfolgen.
Die Konfiguration von Treibertyp, Homing, Beschleunigungen und maximalen Winkeln - also dem Verfahrbereich - erfolgt wahlweise mit der Software für Windows im Archiv, die eine Datei für das EEPROM des AVRs generiert. Diese Datei sollte anschließend zusätzlich auf den Transceiver übertragen werden. Alternativ ist eine Konfiguration via DMX bei gesetztem Spare3-Jumper möglich:
Ein kurzes Setzen von ch5 auf 255 (Flashen) speichert den jeweiligen Parameter in das EEPROM. Unipolare Schrittmotoren können einfach gemäß folgender Abbildung angeschlossen werden:
Bei bipolaren Schrittmotoren ist der Aufwand etwas größer:
Alternativ können L293 D eingesetzt werden, in denen die Schutzdioden bereits integriert sind. Beide Schaltungen zeigen nur den Anschluss des ersten Steppers - der zweite wird auf gleiche Weise über IN5..8 angeschlossen.
Mikroschritttreiber sind entsprechend der Anleitung zu beschalten:
Folgende Signale stellt der Transceiver dazu bereit: X-STEP= PA0; X-DIR= PA1; Y-STEP= PA2; Y-DIR= PA3. Ist die Betriebsart "A4988 + PWM" gewählt, stehen an PA4 - PA7 PWM-Signale zur Steuerung von LEDs bereit. Der /Enable-Eingang des Treibers wird separat mit GND verbunden. Über MS wird der Mikroschrittbetrieb konfiguriert.
Wer auf einen mechanischen Anschlag bei der Referenzfahrt verzichten möchte, kann entsprechende Taster oder Lichtschranken mit Spare1 und Spare2 verbinden. Ein LOW-Signal wird als Home-Position interpretiert.
DebuggingBeim 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:
|