Thursday, February 26, 2015

The DMX Experience (Part 6 - Testing)

Last weekend I had the chance to use not only one, but two of my new USB DMX interfaces in a big, real-world party lighting setup. One of them was driven by Chamsys MagicQ (a professional lighting software) and the second one was actually connected to one of my Rasperry Pis and PiLight.

The first setup featured some moving heads and a range of LED fixtures, completed by a fog machine. The second consisted of a few LED PARs and two 50-LED WS2801 LED Pixel strings (of which only one was on the DMX bus).

Both setups were running all night, and there were no troubles at all, and I'm very pleased with that. I'd say that this was a very realistic test, and the outcome is very encouraging to say the least. I even had some time to work on the PiLight core software and the Android app.

Here's a short video of the big setup in action (and yes, I cut the audio... it was pretty bad):

Thursday, February 12, 2015

The DMX Experience (Part 5 - the build)

So... since I did have to wait for my parts longer than expected this time (and I still wonder how that postal code got messed up on the parcel) and I couldn't really prepare anything ahead for this, it took me a little longer to finish.

After I finally got all the parts I needed and verified their board footprints (yes, those optocouplers are really that large, they seem like DIP-8 with cut leads) I etched and drilled the prototype board and started populating it. I started off with the microcontroller section so I could try to flash the firmware, but I was unlucky: I simply couldn't get the bare controller to show up in the USB device list. Thus, I was unable to flash any firmware over USB. Well, I'm happy I included the ISP header as a backup, because at least that one worked without a hitch.

While testing the DC-DC bridge I measured that the secondary power on my board was not really working as expected, and noticed that the IC was getting really hot. After some debugging I found out that I had accidentally reversed the polarity on the converter outputs. D'oh! The best I could think of was to unsolder the output pads and cross them over with some wires to properly power the circuit, which turned out to be an acceptable fix (at least for a prototype).

After populating the rest of the components, I hooked it up to my Raspberry Pi et voilá - it worked right away, at least the output (I'm still not done programming the input side).

So, with all that done, here's a little update on the Todo List of part 1:
  • Testing: Well, that is pretty much an ongoing task. My two LED PARs work perfectly, but that hardly counts as extensive testing.
  • PiLight Integration: Works perfectly as an output, but no work has been done on the input side.
  • DMX Input: no progress so far, except for the fact that the hardware has been included in the build.
  • Configuration: I can receive the configuration in the firmware by now, and I have started interpreting it with the AVR timer. Parameter storage to EPROM still needs to be done.
  • Galvanic isolation: Included and seems to work (at least I got rid of that nasty ground hum the first prototype had). I still need to evaluate if it really is effective against a few hundred to thousand volts.
  • Packaging: Well, I still need an enclosure :)
To round things up, here's a few pictures of the result:

Close-up view with LED PAR
Up and running with my new Raspberry Pi 2