This is a project demonstrating how to make DMX512 Fixture Using Arduino to Control the Stepper Motor. We have controlled the Stepper motor position angle using the value on the DMX512 channel. In this fixture we can change the Channel number addressing using the simple DIP switches.
If we talk about the DMX512, It is a standard for digital communication networks that are commonly used to control stage lighting and effects. It was originally intended as a standardized method for controlling light dimmers.
Further DMX512 stands for digital multiplex 512. This means that 512 channels are controlled digitally through 1 data cable. A channel is a set of 255 steps that are assigned to control attributes in each light. This may be a color like red, green or blue, and intensity, strobe, pan/tilt or other attributes.
In General DMX512 is commonly used to control stage lighting and theatrical effects (ex: moving lights, color changing lights, fog machines, etc.) and also used for color changing LED applications Different type of the fixtures are available in the market. As I have said for we are going to control the stepper motor and it is some kind of special requirement, so we will make our own fixture.
I was interested in controlling the angle of the stepper motor using the DMX channel value. Because of this specific purpose I have made my own DXM512 fixture. The detail explanation is available there in the video attached at the bottom of this blog. The circuit diagram for the fixture as given below.
The list to main parts and components used to make this Fixture in this project is as under
- Arduino Nano
- DIP switches
- MAX485 IC
- Stepper Motor
- Stepper Motor Driver Module TB6600
- Power Supply 24V 4A for Stepper Motor
- General Purpose PCB, Jumper
As shown in above diagram we can select the DMX channel by using the DIP switches. If the switch is OFF we have taken it as Zero and if it is ON we will consider it as 1. to address 512 channel we need 9 DIP switches. Assume, if we make first 3 switches ON then the receiving channel will be 7. The calculation and binary to decimal conversion is explained by the Figure as under.
To send the DMX Value we are using a DMX controller the detail descriptions you can see the video attach with this post. the DMX controller Fixture and channel details of my DMX controller is as under.
As you know, In this project we are using the Arduino Nano board and we are using the DMXSerial Library in this project the links given there to download the Sketch and Library
Moreover above, The complete explanation and demonstration of the project is described in the YouTube video as below