Thursday, October 18, 2012

The (Slow) Morrow Progress

This week has been installing the electronics.

I learned a bit about casting on the first go-around, and as I install I'm learning how well the previous method works.  Which is...good enough.  But I want better.  The next pull, I want to try out a thin-shell casting method demonstrated by one of the amazing modelers at the Replica Props Forum.  What he did was, within a two-piece shell mold (backed up by a carefully squared mother mold), lay tiny scraps of glass fiber and build up a controlled thickness by brushing resin into the mold and the fiberglass reinforcement.

This box would be easier to wire up if I had a thin but strong wall with a controlled thickness.  And even better if I could split it apart, and fix the circuit board inside.  Instead I'm basically dangling a loose circuit board into the cavity, with a whole mess of wires going back and forth.

Here's the speaker, "injector" LED, and so forth being secured with hot-glue and epoxy and Zap-a-gap.  Fortunately, I can pull all the positive leads together (all the control channels I'll be using sink loads).

I would have used the two screw terminals at the bottom as a battery cut-off, but the biggest lumps of my first attempt at a rotocast are down there, and none of my drill bits are long enough to reach through them!

So I had several of the circuits working on breadboard.  It was too messy to keep going with alligator clips, though, so next step is really to solder up the final harness and then work on programming from there.  Nice thing about digital domain; although I might have tested everything off the same I/O pin, one I/O is just like another...none of the circuitry should care when I put them on different pins and then start addressing them individually in software.

I'm not using the milspec Dialights as they were designed.  I don't have the height above or below the panel.  Plus, I don't feel like setting up a 12V source for running incandescents.  So instead they are modified for LEDs.

The high-power LEDs were prepped with the appropriate ballast resistor.

Then I took the adapter coupling (a screw that goes between the lamp base and lamp cap, suspended the LED assembly inside with my third-hand jig, and filled it with hot glue.

I just so happened to have a bottle of Smooth-on Mold Release Spray, and that worked excellently to keep the hot glue from sticking to the tinfoil I was protecting my work table with.

Then the adapter was set into the hole and, because it needs to be secure in order for the light head to rotate, epoxied in place.

Here's the lighting test on the first one.  That trefoil shape is the natural result of the inner shutters of the Dialight panel light.

The VFD is hot-glued in place, and the backs of all the lights hit with a quick touch of black spray paint.  The rotary switch -- unfortunately it is only a single-decker, so I can't actually use it for a power switch -- has a resistor ladder attached to it now, making it basically a potentiometer with click stops.  That will go to an analog port on the Arduino, thus saving me a few I/O pins.

I still have one rotary switch and one LED to go.  Then I'll start collecting positive leads and otherwise tighten up this harness.

And on to version 0.2 of the circuit board.  It isn't a whole version number, because I never breadboarded the entire thing.  In fact, because of all those little dangly wires, I'm not breadboarding the VFD at all.  I know it lights.  Now the trick is going to be if I can get my high voltage supply and switch to work right.

My first "naked" Arduino; this is a pre-programmed ATmega168 chip stuck on a strip board.

Or, actually, an Adafruit "Perma-Proto" board.

This is a wonderful variation of a standard strip-board that exactly mimics a standard solderless breadboard.  If you have done a nice neat breadboard, you can transfer it exactly wire by wire to this thing.  And it is built to the usual Adafruit standards; plated through holes, complete silk screen, solder mask, etc.

Of course I didn't have a neat breadboard.  So I made this cludge instead.  And I also reversed a connection on the ICSP header.  But at least it lights...not just the power light, but the Arduino.

Unfortunately, THIS is the Supertex HV5812.  Big one, eh?  And it isn't going to fit on my little board.

So v. 0.2 is retired from this project.  I'm sure I'll have a use for an Arduino with 8 channels of Power Darlington (the ULN2803 you see on the right) soon enough.

So the only way to get everything to fit into my little box is to turn the circuit board sideways.  Which I did by hacking a chunk of a Radio Shack strip board.

 And it is typical Rat Shack quality.  The copper traces peel, the holes are oversized and unplated, and it is frustratingly difficult to get the solder to flow cleanly on the pads.

Plus of course I don't exactly have double-wide sockets lying around.  So a little more time with the razor saw, creating my own.

So here is v. 0.4 of the CBR controller.  On the top right is 7805-based voltage regulator, with the customary blinkenight to show the power supply is working.  ATMega168 on the top left, with resonator in the middle of the board (the ATtinys I like running from internal oscillator, but for this it is easier to wire it just like an Arduino).  The ICSP is crammed into a corner.  On the bottom right, the socket for the HV5812, and to the right, a RECOM RY-0924S DC-DC converter which is supposed to be able to supply up to 1 amp of 24 volts off of a 9v supply.  I chickened out on building my own boost converter just yet!

So far, nothing is completed but power and basic Arduino.  That LED in the middle there is a temporary addition while I tracked down an issue that was keeping the Arduino from booting.  Since it is an out-of-the-box with bootloader and all, it already has a "blink an LED on pin13" program loaded on it.  Makes it very simple to get to "Hello World."  Also a trifle wasteful, since my Adafruit USB Tiny ISP doesn't require the bootloader!

But, then, an ATMega is overkill for this project anyhow.  The current I/O needs are three LEDs (two of which could be PWM'd for extra realism), one PWM output for tone generation to the speaker (which could be done as readily with a digital pin -- I'm only doing square waves here, not waveform generation!), up to four pins to talk to the Supertex (clock, data, strobe, blanking), one analog pin to read the selector switch, one digital to read the button, and two pins taken up by doing the capacitance sensing (which can be done on a single pin in many of the AT series by using ATmel's own capacitance sensing library -- but that's more work!)

I figure another full work session to finish this board, and maybe a bit more to straighten up the wiring inside the box itself, before I am ready to start programming.  Then, since the whole point of this circuitry was to do full alpha-numerics on the Vacuum Fluorescent Display, I'm going to need a week to create some kind of robust display handler that I can then program with all sorts of activity; self-diagnostic routines, threat analysis, user alerts, etc.

No comments:

Post a Comment