2 axis stepper controller
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)
With 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.
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.
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).
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.