feel bad to cannibalize
Monday, November 6 2006
setting: rural Hurley Township, Ulster County, New York, US&A
Back Upstate, I returned today to the problem of my Arduino board constantly resetting every time it decides to throw a relay. All this back and forth, chip replacing, and experimenting is taking a toll on my electronics. The Arduino board itself is still relatively unscathed (except, possibly, for accumulated unseen electronic damage from accidental shorts), but the card it fits onto is a living hell of point-to-point wiring between malignant pads of solidified solder, some of it clinging tenaciously to pads of printed circuit copper that has begun to peel away from the substrate. It's a depressing mess, and sometimes I do what I can to replace wires that have been bent or burned one too many times. The wires, by the way, are bits of ribbon cable from an old IDE hard drive cable; I've been using cut-up ribbon cable for point-to-point wiring since the early 1980s, although back then ribbon cable wasn't the limitless commodity it is today — I think I actually used to buy it at Radio Shack.
In the process of my screwing around today, I managed to completely destroy my SN754410 relay interface chip. I don't really know how it happened, though I think it had something to do with using an oversized electrolytic capacitor to absorb some of the transients of a relay's "collapsing magnetic field." Suddenly there was a loud pop and a cloud of smoke and that was it. Lacking a replacement, I had to retreat to a ULN2003, though the only good one still left in the house was from the old flip-flop-based solar sufficiency controller. It had served me well for nearly a year of fairly reliable pump control and it made me feel bad to cannibalize it.
The trick that seemed to work today, the trick that seemed to make the Arduino capable of surviving a relay firing without resetting, was to run a separate wire from the ULN2003 back to the DC power supply. This was an idea suggested by a reader. But I've thought I'd fixed my Arduino resetting problem before only to find I hadn't. I would have to observe how it behaved over time.
For linking purposes this article's URL is:feedback
previous | next