Making something work on the bench, and making it work in the real world are often very different things. While the Dish-O-Tron 6000 has been an amusing companion on my dishwasher door for a few months now, it has proven to be somewhat unreliable. Making it more robust has been an interesting odyssey of tracing unpredictable behaviour, and learning the finer points of electrical noise. I’ve also learned a lot more about the weaknesses of the noble 555 timer.
I identified a number of problems in long term use:
Sometimes, while sitting in the Dirty State for a long period, it would randomly flip to Clean.
Following a run of the dishwasher, while sitting in the Clean state, it would occasionally spontaneously revert to Dirty.
The battery life was too short. It needed a new 9V battery about every three weeks, when in continuous operation.
The first two bugs were pretty rare, but common enough to be annoying. The battery life problem was just plain expensive! All three issues needed to be resolved for the Dish-O-Tron to be a practical device. I started by tackling bugs #1 and #2.
So now it was back to research mode. I knew something in my kitchen was making the upper 555 reset, but not what. I studied up on the quirks of the 555 timer, and learned that when chaining them together, a decoupling capacitor is recommended on signal lines. Perhaps my spontaneous state changes are being caused by noise on the signal line between the two 555s.
Well, that turned out to be a wild goose chase. The problems persisted. A decoupling cap in a signal line is still good practice, so I left it there and moved back to research. I read everything I could find on known issues and gotchas with the 555. The evidence seemed to suggest that the 555 was picking up noise on pin 2, which is pulled to ground by the Clean switch. When the switch is open, this pin is supposed to be pulled high by the thermistor voltage divider. However, perhaps noise was getting in there somehow. A small cap tying the Set pin to ground might help.
So, the Dirty state was now stable. However, Clean was still a bit unstable. I noticed that Clean only became unstable after the dishwasher door had been opened following a cycle. That pointed the finger at the tilt switch I’m using to start the unloading timer. Could the tilt switch be giving false positives? I opened and closed the door repeatedly until the Clean state flipped spontaneously, then quickly put an ohmmeter on the tilt switch. It was closed when it should be open! That meant the little rolling ball inside the switch was getting stuck sometimes. Tapping the switch with my finger made it read correctly again.
I needed something better than this rolling ball tilt switch. The old-school component for this purpose would be a mercury switch. However, as we all know mercury is very toxic, and mercury switches have essentially been phased out completely. They are not RoHS compliant, which makes them very difficult to get in the United States. A modern equivalent would be an accelerometer, but that would require a completely different circuit design. I needed a drop-in replacement for a simple mechanical switch that registers changes in angle. There are other rolling-ball designs, but I have no way of knowing if they would be any better, and I suspect they wouldn’t. A mercury switch is really what I need, but you can’t buy them in the United States any more. Or can you?
So that fixed bug #2 quite nicely! Now on to bug #3, the battery life problem. I considered circuit changes to extend battery life, but honestly the 555 timer is kind of a little pig, and I was never going to get battery life to where I was happy with it (six months or so). However, where there’s a dishwasher, there’s mains power, right? Why not just convert the Dish-O-Tron to run on mains? That’s exactly what I did, in fact.
I resumed normal use of the Dish-O-Tron with its new power source, but much to my frustration, Bug #1 reappeared! It was switching from Dirty to Clean all by itself again. Back to the bench!
A little bit more research taught me that wall warts are terribly, terribly noisy sources of power. With that knowledge, I went back to the kitchen, and messed around in the environment to see if I could recreate the problem. I found that if I flipped a nearby light switch rapidly, the Dish-O-Tron would flip spontaneously to Clean. That’s Bug #1, alright! I could reproduce it by introducing AC power noise via the nearby light switch. So clearly, I needed a cleaner power supply.
That seemed to work very well once I got the right capacitor setup to support the 7809 regulator which was now supplying our juice.
Since I was in there reworking stuff, I decided one more tweak was in order. The Dirty light was a bit dim on the original design, which was intentional but always bugged me. The device spends most of its time in the Dirty state, and I wanted to save battery life. Now that it runs on mains, however, why not brighten it up?
I took careful notes while I was making all these changes, and revised the schematic once I had it all working. Here’s Revision B of the Dish-O-Tron 6000. Meet the Dish-O-Tron 6000 EXTREME!