I have been working on an MSP430 based sailboat start timer. For those readers not into sailboat racing, races as started by a series of “guns”. At predetermined times before the start of a race, the race committee creates an audio signal (shotgun with blanks, airhorn, cannon, …) . The sailors use these to attempt to get their boat to an invisible line between two buoys at the split second the time reaches zero. It is a complex task that requires lots of practice.
So I attempted to make my very own timer. A small motorcycle battery with a little micro to drive a car horn at the proper times. This I could place on the dock of my lake cabin and I could practice as long as the neighbors would allow a car horn going off.
It was a simple design. A 3.3V regulator off the 12 volt battery would power the MSP430. The MSP would drive a transistor to close an automotive relay that would power the monster car horn. By monster I mean many amps and nasty surge as well as an awful amount of EMI from the coils energizing and collapsing. But I was isolated via the relay… right?
Nope. Each time the horn would go off, the MSP430 would reset. I have tried a hundred different things. My latest design includes a separate 9V battery for the MSP430, and an optocoupler to the transistor that turns on the relay. The blasted thing still it reboots. But if I replace the horn with a power resistor that draws the same current, it works like a champ.
I have wrapped the circuit board in foil, I have committed all non-committed pins on the micro, I have added enough caps of different sizes to sink my sailboat. I am running out of ideas.