I’m making progress on my aquarium controller project, but boy is it a matter of two steps forward and one step back.
I finally got a usable circuit board from Olimex (memo to file: make the holes bigger than you think they need to be) and began wiring things up…only to find I’d made a teensy weensy little mistake in designing the circuit. It turns out the chip I’m using to control the LED displays and relays (ULN2003A) doesn’t source current, it sinks current. Which would be okay if I’d built the circuit to sink current. Only I didn’t. Sigh.
Unfortunately, while this is kind of like putting a battery in backwards, I can’t fix it by just reversing the chip :).
But I think I came up with a solution: there’s another IC which is laid out very similar to the one I used in my design which does, in fact, source current (UDN2981). Granted, it has a couple more pins than the one in my design, but I can just let them hang loose in the air. And the power supply connections for the alternate chip are reversed, so I’ll have to do a little surgery on the board to reroute power. Which means it’ll look ugly…but only when I open the case up to look at it :).
At least this way I won’t have to order a third circuit board.
But it sure would’ve been nicer if I’d paid closer attention to the instructions for that chip!!
Update: proving once again that it often pays to walk away from a problem and then reconsider it, I came up with a much simpler fix that doesn’t require me to wait for those alternate chips to arrive. I just rewired the LEDs and relay links to link the driver chip to the ground side, rather than the hot side, and voila! Problem solved. And it only requires that I cut one trace on the board and add one jumper to it.