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
Click Here to Download the Arduino Sketch
Click Here to Download the Arduino Library “DMXSerial”
Moreover above, The complete explanation and demonstration of the project is described in the YouTube video as below
10 thoughts on “How to Build DMX512 Fixture Using Arduino Nano & MAX485 IC”
hi!! in love with your work!! im building this devide, jp2 is the dmx in?
Hello ADRI !!!
Thanks for Appreciation, Yes JP2 is the DMX input.
All the best for your project.
muchas gracias, estoy muy atento vuestro trabajo. Sepuede usar el mismo codigo con arduino + dmx shield? soy principiante con circuitos y componentes…
Gracias hermano, no estoy seguro, depende de qué escudo dmx vas a utilizar. sus pines de E / S, etc.
Hi, I would like to USA a a4988 driver and a normal nema 17 stepper motor. How to I use that in this circuit. I am just a bigginner 🙂
Hi, I would like to use a a4988 driver with a generic nema 17 motor. How can I use that with this circuit?
(I don’t now if the first one was posted)
hi! how do you build this with a a4988 driver and how do i white the code??
How can increase the pulse rate of stepper driver from this programme?
Hi, this is a very nice project!
But I have two questions:
1.) Is it possible to devine the angle of rotation? You are making a full turn from 0-255, I would like to have only 180-210° from 0-255. Can I change the 360 in the code to the value as I need it?
2.) The rotation speed is depending on the movement of the slide controller, right? What will happen, if I jump directly from 0 to 255 value, will it rotate as fast as possible? That would mean with load on the motor I could loose some steps?
Thank you for your support.
best regards Tim
Thanks for appreciation !!!!!!!!!
Yes you can get 180-210° from 0-255 by small modification in the sketch.
Yes it will rotate fast but but by changing a few lince in the code, it can be adjusted as per your need.