DMX Controller

Post here to let others know of a project you're working on.

Moderators: Chuckt, Garth, bitfogav

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

DMX Controller

Post by bitfogav » Thu Jan 27, 2011 7:51 am

I actually have another hobby than electronics/microcontrollers/programming, DJ or Disc Jockey - I have my own setup of DJ equipment and also go on the road and perform at special functions (weddings, partys etc).

Ive had this idea for quite awhile now, making my own DMX Controller to help make some amazin Light Displays on my DJ equipment. - the guys at digital-diy have been working together to make some Swordfish (basic IDE) modules for DMX, but the information and modules are for a DMX Dimmer which is basically a DMX Receiver (light unit)

I'm in the process of testing and prototyping, generating DMX packets using the DMX Protocol at the moment so when I have more ill share :)

heres a pic of my setup equipment.
Image0044.jpg
Image0044.jpg (54.22 KiB) Viewed 24458 times

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Thu Jan 27, 2011 5:11 pm

Very cool setup!

I saw that someone has posted an instructable for a DMX controller and they have entered it into the microcontroller contest, heres the link:
http://www.instructables.com/id/PIC18F- ... ansmitter/
Image

Just so I can understand this better - Can you buy equipment that runs on the DMX standard?

So if you have a DMX controller, you can control anything that is designed around this standard?

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Thu Jan 27, 2011 6:14 pm

Yes Brad that is correct, you can buy equipment that runs the DMX standard.

DMX Controllers which transmit the DMX protocol, and then control anything that is disign for the DMX Protocol, eg Lights, smoke machine etc.

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Fri Jan 28, 2011 9:39 pm

Did you have to reverse engineer anything or is the standard set out so anyone can create an interface or controller?

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Sat Jan 29, 2011 3:44 am

brad wrote:Did you have to reverse engineer anything or is the standard set out so anyone can create an interface or controller?
Well thats a good question, DMX uses 3 connections, 1 Common, 1 data line (+) and 1 data line (-) On my setup I had to reverse the data lines on some of the equipment (receivers/Lights) as some of the DMX receivers on my setup use the reversed type connections, thats the only reversed engineering ive come across. This is easily over come though has you can buy adaptors to put onto the data lines which reverse the data lines for you, for example heres how the standard connections for my 3 pin setup looks like:
dmxconnectors.jpg
dmxconnectors.jpg (16.46 KiB) Viewed 24444 times
Has I am aware there seems to be a standard DMX protocol which you can see here
DMX Packet.jpg
DMX Packet.jpg (30.19 KiB) Viewed 24444 times

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Sat Jan 29, 2011 4:11 am

A good explanation of how the DMX protocol works can be found here

http://www.images2.co.uk/Lighting_Equip ... acket.html

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Sat Jan 29, 2011 6:45 am

I find it interesting that there is no clock pulse for which to synchronise the data to.

How does each piece of equipment know which channel it is?

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Sat Jan 29, 2011 8:11 am

brad wrote:I find it interesting that there is no clock pulse for which to synchronise the data to.
DMX is based on Asynchronous data transmission, data is sent one byte at a time.

Asynchronous devices do not require perfect synchronization and one device functions as the master (the DMX controller) on a network, while the rest function as Receivers (dimmers, intelligent fixtures, etc.). Only the master transmits over the
network, and all Receivers receive the same data (512 channels).

Devices are connected in a daisy-chain fashion, from the controller to device #1, then device #1 to device #2, and
so on.

DMX 512 data is transmitted at 250 kiloHertz (kHz), meaning that 250,000 1’s and 0’s (at a maximum) can be
sent each second. Each bit is measured in 4 microsecond (μs) intervals. In order for the receiving device to
correctly interpret the data, it must be sent in a particular sequence. A single transmission (DMX Packet)
includes synchronizing elements and channel data for up to 512 channels.
dmx protocol2.jpg
dmx protocol2.jpg (10.12 KiB) Viewed 24441 times
brad wrote:How does each piece of equipment know which channel it is?.
On each Receiver there are 9 switches which are then set by the user using Binary Coding, example: if switch one and three was set ON then this will set the Receiver to the Binary Code of 5.. So then the Receiver will then start to interpret the data on channel FIVE..

At this point I will also point out that some Receiving devices (with intelligent fixtures) use more than ONE channel, Depending on the Functions the unit has.

a Standard unit then uses this standard:

• Channel 1: Pan
• Channel 2: Tilt
• Channel 3: Color
• Channel 4: Gobo

When the devices are connected in a daisy-chain fashion, the amount of channels the device uses as to be noted and then set accordingly on the next device in the daisy chain so that two devices do not share the same channel.

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Sat Jan 29, 2011 11:15 pm

Thanks for all that info!

Is one byte of data a full instruction? or does it need to receive multiple bytes to get the full instruction?

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Sat Jan 29, 2011 11:23 pm

brad wrote:Is one byte of data a full instruction? or does it need to receive multiple bytes to get the full instruction?
Well it depends on the Device (Receiver) you are using Brad, If the Device only uses One channel which = One byte then that would be its full instruction.

Otherwise if the Device uses more than one channel example:

Channel 1 = Motor position
Channel 2 = Brightness
Channel 3 = Colour to display
Channel 4 = On/Off

Then the Device will need four bytes of data for its full instruction.

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Sun Jan 30, 2011 6:23 am

Ahh now I see!

I was just thinking of the lights they have in our church. You can move them in all sorts of directions and colours / patterns etc...

I was just wondering that you would need alot more data than just one byte to drive all that!

Sounds like a very cool project and obviously one that you will get a lot out of since you will certainly make good use of it. I'll have to see how your project ends up and see if we can use it in our church. :)

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Sun Feb 13, 2011 9:45 pm

Just an update:

Im still working on the DMX Controller, I'm happy that I have the transmitting DMX protocol done now but ive been working on another circuit to add to the project. I want to add beat detection to the project so that the Lights can move or change colour on a beat detection, Ive been using an electret mic and op-amp.
breakout-board-electret-microphone.jpg
breakout-board-electret-microphone.jpg (11.64 KiB) Viewed 24421 times

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Mon Feb 14, 2011 11:58 am

Nice one bitfogav!

Would you need some sort of automatic gain control so that no matter what level of noise the mic receives, the lights still work just as well?

User avatar
bitfogav
Moderator
Moderator
Posts: 915
Joined: Sun Mar 28, 2010 9:03 pm
Location: United Kingdom
Contact:

Re: DMX Controller

Post by bitfogav » Mon Feb 14, 2011 9:31 pm

brad wrote:Nice one bitfogav!

Would you need some sort of automatic gain control so that no matter what level of noise the mic receives, the lights still work just as well?
Yes Brad I have a pot connected up to an op-amp at the moment which sets the level gain of the mic, my main issue is making a low pass filter so that my op-amp filters out the high Freq so I can beat detect only the Bass notes..

If anyone has any info on this then I would be greatful for any input.. :)

User avatar
brad
Site Admin
Site Admin
Posts: 2578
Joined: Fri Mar 26, 2010 10:30 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: DMX Controller

Post by brad » Tue Feb 15, 2011 9:12 pm

capacitive reactance is found by:

1/(2πfc)

You just need to have a simple resistor - capacitor low pass frequency circuit. these are connected in series with the input signal, and the output is taken across the capacitor. at high frequencies the capacitive reactance is low (so you get very little on the output) as you decrease the frequency, the capacitive reactance will increase and you will therefor drop more over the capacitor. This means your ouput will be high(er)

It's a frequency controlled voltage divider :D

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Who is online

Users browsing this forum: No registered users and 2 guests