|
_ |
DMX 2Kanal Schrittmotorsteuerung
Mit Hilfe dieses Controllers 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 16bit ansteuern. Die Ansteuerung erfolgt im Viertelschritt-Betrieb - also Microstepping. Eine Schrittmotor-Steuerung besteht aus einem DMX-Transceiver, an dessen Output entweder ein ULN2803-Treiber für unipolare Stepper oder zwei L298 für bipolare Stepper angeschlossen werden. Die Schrittmotoren benötigen unbedingt eine leistungsfähige Stromversorgung um Spannungseinbrüche am Transceiver zu verhindern!
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.
| |||||||||||||||||||||||||||
| 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 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.
Zur Konfiguration von Beschleunigungen und maximalen Winkeln - also dem Verfahrbereich - befindet sich eine Software für Windows im Archiv, die eine Datei für das EEPROM des AVRs generiert. Diese Datei sollte anschließend zusätzlich mittels PonyProg oder dem AVR-Studio auf den Transceiver übertragen werden.
Unipolare Schrittmotoren können einfach gemäß folgender Abbildung angeschlossen werden (Spare3 offen):
Bei bipolaren Schrittmotoren ist der Aufwand etwas größer (Spare3 gejumpert):

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.
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.
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. |