2013 Christmas light controller :: Part 1

I really don’t like hanging or taking down Christmas lights.  I generally do the bare minimum my wife requires to get through the holidays.  I HAVE always been intrigued with the computer controlled lighting displays that are synced to music.  Last year I got into a fun partnership with one of my neighbors.  He wanted to do the whole music shebang, but didn’t know how to do the hardware side of the equation.  Mmmm.. symbiotic relationship.

Last years’ system was a 12 channel deal controlled by a basic arduino.  Worked well enough, built on perfboard and stuffed into a 2-gang junction box.  Downsides were it was not engineered well at all, with the 5v logic intermixed with the 110v ac.  It also required a lot of extension cords as all 12 channels/outlets were combined at the same location (in his garage).

So, we are at it again this year.  The objectives are:

  • increase to 30 channels (arduino mega)
  • hub/spoke design.. with centralized control and 6-channel remote boards to minimize extension cord usage
  • add LEDs to show when channels are on/off for easier programming/debugging
  • safer design.. with better isolation between logic and 110v.  also include little things like fusing on board.
  • waterproof enclosures as we are approaching this as a modular multi-year initiative

So with that in mind, I first created one of the satellite boards.  I designed this in eagle, with a goal of keeping it a single-sided board for easy machining.  The initial trial board machined out well (see previous posts showing generation of gcode from eagle-cad).

First run was pretty good, and soldered up into a usable board.  I did have to hand-dremel a joined trace.  Improvements identified were:

  • Increase the amount of cnc routing around the traces to improve isolation
  • fix the 110v connector pin sizing.  I had them at .1 and they are really .2, so my screw terminal connector wont fit
  • Add a fuse which I forgot to add
  • Increase trace size where possible.  Mid-trace holes sometimes cut the whole trace, so had to bridge with solder.

Did solder up ok into a usable board though:

After a few eagle cad changes and some modifications to the cnc gcode generator you can see the a/b comparison of the boards.  With the original run on the right, and the new one of the left.  Machine time takes about 30 minutes/board.  Using a 60 degree v-carve bit… probably not the best tool for the job.  If you have recommendations on bits please let me know.

Water Rocket Launcher 3.0 :: Ignition

I haven’t have much experience with high voltage, but wanted to be able to generate a good spark to facilitate ignition of the water rocket.  I took the easy way out and picked up a cool little spark generator at (of all places) sparkfun.com.  Creates a scary loud mean-sounding continuous spark.

To put the spark in the bottle I used the cnc machine to route a ‘plug’ of sorts to go in the top of the 1/2 pvc pipe.  Drilled and tapped a couple holes for stainless steel cap screws I had lying around and I had a pretty good start.  I had to bend the left one a bit to ensure they didn’t touch at the top where the caps are.

I probably went a little overkill, but I used some 12gauge house wiring I had for the leads going to the screws.  I didn’t want the sparks ‘gapping’ inside the launch tube.  I used the mini-torch and soldered the copper wires to the screws and shrink-wrapped them up.

And here was a quick test to see if it was sparking ok.  Pretty small, but continuous and hopefully will make ignition happen!

Water Rocket Launcher 3.0 :: The Plan

Been launching water rockets with the kids for a few years, and thought I would try to amp things up a bit this year.  I have been using the air compressor to generate the launching pressure, and the 80psi or so I get makes for an impressive launch – but I think we can do better.  I have also been trying to make an electronic push-button type launcher, little kids have trouble pulling the rope to release the wrocket sometimes.

So I thought I would take a different approach and try to generate the pressure internally via combustion.  That way the bottle would be basically sitting on the pad, not under pressure until ignition.  I had previously thought I could generate H2O via electrolysis but thought that may be too dangerous to have 120vAC in the mix..  🙂

So new plan is to use propane.  I think if you start the bottle with x amount of air, then add propane until you hit the right mix and ignite you should be in business.  The wrocket will either fly or blow up!  Hopefully after a few tests I can identify the right mix.

Or maybe it will just blow up each time.  Should be fun either way.

HT Controller : Overview

Ok, this is a quick post to index the previous posts relating to my Home Theater controller build for later reference.

Project Goal(s):

  1. Mostly to use the CNC machine to make something new, with materials other than wood.  Learn in the process.
  2. Fix a previous project that broke.  I had a power strip that turned on my amps sequentially but the voltage regulator burned up (no heatsink)
  3. Address the problem that my cable modem is behind my theater equipment rack, and when it needs to be reset it’s a pain to get to.

With that in mind, here are the posts covering the basic steps – in order:

  1. Learning to make a circuit board.  Isolation routing one and two.
  2. Cutting the front/back panels out of acrylic.
  3. Assembling the innards of the controller, and connecting input/outputs.
  4. Troubleshooting the things that went wrong.
  5. Final pics and video of completed project.

HT Controller : Troubleshooting

So I had some issues when putting the final product into use.  Which is to be expected, but this bugger had me opening the case at least 6 seperate times..

Issue 1 : when the 5v relays would kick in, it my 7805 voltage regulators didn’t have the reserver to engage them both at the same time.  I needed to add a capacitor.  I did it the easy way, and just screwed it into the terminals.  The +5v is wired in parallel so both relays benefit.

Issue 2 : I used digital pins 0 and 1 on the arduino to control the relays.  Turns out those pins are used for serial communications.  So when updating the board the relays woudl clickclickclickclick like no tomorrow.  No good, had to use different pins.  Obviously I didn’t account for that on the board creation, so they got solder to the pins directly.  Picture is a little out of focus, but it is the orange/yellow leads in the foreground.

Issue 3 : In the external power strip where 6 seperate relays live and are controlled by the arduino here, I made a mistake in that I didn’t have any 10k pull-down resistors on the 6 control lines.  I should have put them in my original circuit, and instead I added them via a little ‘daughter’ board I added to my original circuit board.  Oh, and if you actually jump to read about the external power strip know I took the power supply and arduino out as they are replaced by this build.  All that is left is the transistors and relays.

Ribbon cable removed, and ‘riser’ pins installed:

Daughter board freshly machined:

And installed:

Lessions Learned :

* Patience.  I had to keep telling myself that there was no way I would get everything right on the first try.

* That a 7805 regulator needs a headsink in most cases.

* That a 7805 also needs filter capacitors.  You can’t just plop it in a circuit and expect clean output.

HT Controller : Assembly

Installing the various components to get the HT controller to work was probably my favorite part of the build.  Something satisfying about seeing everything coming together.  At a high level these are the key components:

Arduino : Brains of the operation

Custom circuit board : Connections out from arduino and 5v power regulation

Relays : control each of the 2 outlets (cable modem and router)

Scavanged switching power supply : 120v ac to 12v dc

DB9 : connection out to the power strip where a relay controls each of 6 outlets/amps

So everything was installed on nylon spacers, with small machine bolts coming up through the bottom.  That can be seen well on the relay installation:

And here is the custom circuit board I created in my isolation routing tutorial.  All wired up to the front panel, buttons, db9, and relays:

Overall unit in early assembly:

And (almost) final:

Primary lesson learned on this assembly was when routing a circuit board that you are going to attach ribbon cables to, ensure the holes are lined up straight.  Do not stagger them as I did, it makes it very difficult.

I also learned that when soldering to plain copper boards you really need Flux – more than than what is in your solder.  I had good luck with some acid-based plumbers flux I had laying around.  I put that on the board where the pads where, and then tinned them.  Don’t forget to clean it of with rubbing alchohol or acetone.

Ring light for CNC

I recently put LED strip lights under the cabinets in the kitchen, and had a few left over.  They are pretty basic white 12v LED lights, similar to the ones you see here.  While milling a circuit board the other day, I found myself using a flashlight to see how things were progressing.  It was also hard to photograph the process, so I thought I would install some lights.  Pretty straightforward process.  The strips are made of small segments which can be cut off the roll.  I cut 4 sections off, and arranged them in a square.  Soldered the corners up and left a longer lead which would go through my cable raceway to the computer running the show.

The LED’s I had are backed with a 3m adhesive, so mounting them under my z-axis was pretty easy.  Peel and stick!

From there, I opened up the computer case and cut the leads off one of the molex connectors.  The power things like cdroms/hard drives, and contain both a 5v(red) and 12v(yellow) power source.  I connected the Leds up to the 12v, and now whenever the computer is on the LEDs light up the work piece.