my logo
HOME

DMX 512

resources
FAQ
OpenRDM
dimmer
switch pack
demux
LED
matrix
rc-servo
stepper
Analyzer
strobo mod

high voltage

tesla coil
twin

misc

pics
links
imprint
_

...the best of Henne's Sites in english...

2 axis stepper controller

(c) Nicolas Kruse

With this circuit 2 unipolar or bipolar stepper motors can be positioned via DMX. Supported full step angles are 18, 7.5 and 1.8. The resolution is 16bit and the steppers are positioned in 1/4 step microstepping mode. 

A stepper controller is made of a DMX-Transceiver and a ULN2803 driver for unipolar steppers (or two L298, etc. for bipolar ones) connected to the output.

 

DMX-Transceiver (Rev. 3.01)

picture of transceiver rev.3.01With this modul DMX data can be received or transmitted.

Because of the complete usage of the RS485 converter, a bidirectional transfer of data is possible (i.e: RDM as described in ANSI E1.20). Till now this feature is only supported by a few expensive devices.

Though the circuit is only made of an AVR and few other parts I recommend a diy etched board.

 

 

 


parts

  IC1
  IC2
  IC3
  B1 
  LED1
  LED2
  R1
  R2,3,4
  C1,2
  C7
  C5,6
  SW1
  Q1
  connectors
ATmega8515-16PU
75176B
7805
rectifier (round)
LED 5mm red
LED 5mm green
10k (PT10-S)
390 Ohm
27pF
100nF
100F
DIP-Switch (10)
8MHz (HC49)
pin header (single)

 

 

 

 

 

 

 

 

 

 

 

As you can see, the schematic is quite simple: The heart of the controller is the firmware of the mcu (IC1). The start address is set with SW1. The LEDs indicate the status of the controller. The parts around IC3 are responsable for an exact Vcc of 5.0Vdc. IC2 is the RS485-Transceiver. It allows our controller to communicate via DMX512 with other equipment.

For a dimmer- or switchpack you have to connect the pins of "output" with the "-"pins of the dimmer-/switchmodules because a mcu can drive bigger loads as a current sink. The "+"inputs of all modules must be connected to vcc.

The "spare" port is used for additional pins or to jumper different modes.

AC1&2 have to be connected with a power supply of 9-12V ac or dc. 3-5W should be sufficient.

The following schematic shows you how to connect the transceiver with the DMX bus:

this is the layout:

The board is 48 * 76 mm^2. The resolution of the picture above is 300dpi.

placement:

On the resources site you can find a manual for programming AVRs. The 8MHz crystal has to be selected as clock source by changing the fuse bits.

After the mcu is set to the right clock source, the stepper firmware should be written to the flash of the AVR. The firmware evaluates four channels after the start address and generates the corresponding step sequences.

 

In the archive you can also find a software for Windows to configure the maximum angles of the steppers and the acceleration. This tool generates an EEPROM file that should be written to the AVR's EEPROM.

 

The following schematic describes the connection of unipolar stepper motors to the transceiver's output (Spare3 is not connected):

 

 

Connecting bipolar steppers is a bit more difficult (Spare3 must be jumpered):

You can replace the L298 with L293 D, which has internal diodes. Both schematics show one stepper - just connect the second one the same way to IN5..8.

 

If you want to detect the home position electrically, you can connect the switches or photo sensors to Spare1 and Spare2. (A LOW-Level means home position).


Debugging

The ErrorLED is on while booting. Changes of relevant DMX channels are indicated by a flashing green LED.

If there is no valid DMX signal or an invalid start address the ErrorLED starts flashing.