I’m in the process of replacing a windmill on the farm with a solar pump. The windmill, carefully adjusted, can keep up with the water consumption at the house and troughs a couple of kilometers away. It isn’t perfect; sometimes the house tank overflows and we either water the garden or go down and turn the windmill off for a few days. Sometimes the tank sounds a bit empty and I drive down to the windmill and adjust it for a bit more flow.
The solar pump is not so analogue. In order to lift the water the height needed, the centrifugal pump is oversized in relation to the actual flow required. The pump controller can be turned down to some extent, not not enough to avoid overflowing the tank and wasting water. Some system is needed to turn it off an on remotely. My current plan for this is to use DTMF tones over UHF CB radio.
Dual-tone multi-frequency signalling (DTMF) tones are used widely in telephone systems. The frequencies are chosen to be easily transmitted in the narrow voice bandwidths and using two tonesĀ for each key allows for a small amount of frequency drift as well as good rejection of noise.
The frequencies were originally chosen far enough apart to use analogue bandpass filters for detection, so it’s possible that someone smarter than me could implement a simplified Fourier transform that would run on the Arduino. As I need this to be robust, I rejected that idea and decided to use an MT8870 Integrated DTMF Receiver. Continue reading →