Using a modern, solid-state solution for replacing a decades-old mechanical device
In the early part of 2015, my friend Blair came to me for some help with the sequential flasher controller unit on his 1966 Ford Thunderbird. It seems that time and use had finally caught up with the unit, as the electric motor that powered it was starting to squeal and several lamps in the tail light section would not reliably illuminate when the turn signals were turned on. I swung by his place one afternoon to check it out.
Looking over the unit, it looked like some sort of Rube Goldberg contraption. It had a small electric motor that turned a cam, which would close 3 contacts in succession, and a 4th cam allowed the motor to complete the cycle and stop when the turn signal was turned off. This operated in much the same fashion as how a windshield wiper motor will keep running until it “parks” after the wiper switch is turned off. The front turn signal lamps were powered off the same contact for the middle (of 3) rear turn lamps.
The squealing noise was coming from from worn-out bearings of the electric motor and the electrical contacts had pitted and worn to the point that they would no longer make an electrical connection 100% of the time. We could mess around with the bearings on the motor and maybe even clean the contacts of the cam switches to get everything working again, but how long would the fix last? With the experience I have had with the old mechanical charging regulators on automobiles and trying to keep them going once the contacts got pitted and worn, the answer was “probably not very long…”
I had been messing around with microcontrollers (μC) for a little while as I got back into the electronics hobby, and this seemed like a perfect project for such a thing. Since the original unit was pretty much DOA, I wired up an interim solution into the existing wiring using a standard automotive flasher unit and a couple relays which would allow the brake/turn signals to function, albeit without the sequential flasher feature. I then turned my efforts toward the design and development of a μC-based solution.
I elected to call it the Blair Blinker Project, mostly as a play on the movie title, “The Blair Witch Project”. I thought it was a fitting title as Blair would often make comments about sorcery, witchcraft and voodoo magic whenever I would explain to him what I was up to. He elected to call it “Frankenflasher”, which was probably also a fitting title!
Now, remember that I was just getting back into electronics and learning about things I had never really messed around with before. I’m sure my design and component choices at that time might be laughed at by any respectable E.E. , but hey, I was learning! And what I would learn from this project would be put to use in a later controller project.
There weren’t all that many inputs and outputs to concern myself with, so I elected to use Atmel’s AT-Tiny85 uC, but the challenge was in the abilities of the μC itself – it was not able to multitask (as was the case with many μC’s of the day). I could have definitely used a bigger μC with more I/O pins, but I’d still be up against the same multitasking roadblock as I was with the smaller ones. The Tiny85 μC’s were small enough and cheap enough, that using a few of them would not be detrimental to the project.
Knowing that I had a brake/hazard light function, as well as right and left sequential turn functions, I decided that 3 μC’s ought to do the trick. The three μC’s would allow me to split tasks/functions up between them – one for the brake/hazard, one for the left turn and one for the right turn. The μC’s output pins would be used to control the gate of TIP-120 Darlington transistors (sometimes referred to as a “Darlington pair”) – one for each lamp – but not directly…..
Knowing that the gates of the TIP-120’s required at least 6-8 volts more than collector voltage to fully turn on (and I only had 12 volts from the system), and max output voltage from the Tiny85 was only logic-level (5 volts), I would need another way of supplying that 12 volts to the TIP-120’s gate. I had done some research into using a voltage-follower type circuit, but I found a better answer in a device called an optocoupler.
An optocoupler is a device which uses low-voltage signals to power infrared LED’s, which turn on a light-sensitive transistor across from it. So you can use LED-level voltages to control 12 volts running through the transistor. They come in handy little IC packages and some of them even have multiple “channels” in one chip. Optocouplers have the added benefit of electrically isolating components of differing voltages. This is referred to as “galvanic isolation”. There is a newer alternative to optocouplers, called “digital isolators”, which don’t use nearly as much power and are much faster/responsive to input signals than the optocoupler. One could almost make the same speed comparison between optocouplers and digital isolators as between old mechanical style relay points vs transistors – the differences are that drastic!
Since the μC would not be able to flash the front turn signal at the same time as the rear sequential flash routine (at least not from a practical standpoint), I elected to just use one of the Tiny85 outputs to power a flasher circuit powered by the venerable 555 timer IC. That way, all I had to do was turn on the output at the beginning of the turn signal sequence, and turn it off when the sequence was complete (when the turn signal switch was turned off). The output of the 555 chip would drive an optocoupler, which would in turn drive the gate of the TIP-120.
In some bench testing of a TIP-120 with a 12-volt source and a standard incandescent automotive lamp (the famous 1157 lamp) and a single-channel optocoupler, I did find that the TIP-120 generated some heat. This was due to the fact that the gate voltage was not allowing the TIP-120 to fully turn on. Another issue was that I had to use some wiring trickery to “fit” the TIP-120 into the circuit.
Since power in an automotive lamp typically flows from the switch to the turn lamp then to ground and the TIP-120 is a “low side” NPN switch (usually on the downstream side of the circuit’s load), I had to put the load on the downstream side of the emitter output instead of the upstream side of the collector input. So, I was not using the TIP-120 optimally, but it got the job done! (A controller I built several years later incorporated PNP MOSFET’s – the proper component to use for an application such as this).
As a result, part of the design of this turn signal controller incorporated a large aluminum heat-sink made of 1″ aluminum L-channel and some 11 gauge aluminum plate, built to fit inside the housing I had selected (a junction box for semi-truck trailer light wiring). The TIP-120’s were fastened to the heat sink with screws and a dab of heat sink compound. I had to be careful to electrically isolate the heat sink, since the mounting tabs are also tied to the collector input. (In a later controller design where I used some MOSFET’s, I elected to use insulator kits especially made for the same type of TO-220 package, and you can even get insulated MOSFET’s as well). This same heat sink was also used as a foundation for the circuit boards that I put together, using solderable prototyping/bread boards.
Join me in part 2 (coming soon) where we will run some tests, complete the build and do the install!