The latest module coming to Venturii is perhaps one of the most versatile ones created to date! Venturii BusCom is a connector module for talking to any device, program or system that can communicate over a Serial connection (RS-232, RS-485, RS-422, TTL, etc.), an IP connection (TCP Client, TCP Server, UDP Client, UDP Server) or a Unix pipe. This module will basically open up Venturii to countless device types and systems, allowing data to be exchanged in both directions with them. Stay tuned!
Posted in Automation In General, Integration, Serial Communication by cube with no comments yet.
Over the past month I’ve noticed that the toilet on the main floor has been running (filling) a lot – overfilling by minutes, if not more. A closer inspection of the inner workings revealed that part of the mechanism responsible for shutting off the water flow was cracked, making it mechanically difficult for the float ball to rise high enough to push the plunger down enough to shut off the flow of water, resulting in hundreds of wasted gallons of water. A quick trip to my local Home Depot found me a very cool-looking, quieter replacement, but now I had no float ball upon which to mount the magnet for my flush sensor. I had to come up with a different solution for monitoring when this toilet was being flushed.
Posted in Conservation, DIY Projects, Energy Monitoring, Integration and tagged Bathroom, Float Sensor, Flush Sensor, Tank, Toilet, Toilet Tank, Washroom, Water, Water Conservation by cube with no comments yet.
Sometimes calamity strikes
A few weeks ago my family and I went camping for the weekend. When we came home, we discovered that our hot water tank had burst over 14 hours before we arrived home. About five years ago the same thing had happened, only we caught it within minutes of springing the leak, had the whole event on camera and were able to prevent any damage to the house whatsoever. That tank, itself barely 5 years old, carried a 10 year warranty and was replaced by the manufacturer, Bradford White, but the new tank had often made suspicious creaking, crackling and groaning sounds to the point that I not only suspected it would burst some day, I expected it to. To that end I had installed water sensors beneath it and an electric ball valve on the main water line coming into the house, so when it too did burst and we weren’t home, Venturii immediately shut off the water and sent me an email. Ironically, I had decided that I would not check my phone that evening, reasoning that nothing is so important tonight that it cannot wait until tomorrow. In retrospect that was a good call, as I’d have only been stressing the whole next morning as we packed up and prepared to come home.
Opportunity Presents Itself
Although itself still carrying ~2 year warranty, I opted not to replace like with like since both previous likes had burst and instead went to a different brand of hot water tank. However, this left me with a relatively new hot water tank, with all the trimmings. As I began to dismantle it, determined to determine where the leak actually occurred from, (since the hot water tank was packed in spray foam, it was not immediately apparent while still connected to the water lines where the water was actually leaking out of the metal tank from since it poured out of every crack, crevice and cranny in the outer jacket), I removed the burner assembly and gas valve to provide another hole through which to peer into the mysterious chasm that held much rusty hot water. I won’t go into detail on how much the tank had rusted, the sliver that was left of the sacrificial anode rod or the quantity of brown sludge that lay in the bottom of the tank, stubbornly refusing to leave despite my regular efforts at flushing the tank. What caught my eye was three letters above an inconspicuous hole on the Honeywell gas valve that I’d just removed. Those three letters piqued my curiosity and wound up the wheels of wonder as I pondered the possibility of a direct link into the very brain of the hot water heater’s mind.
The first thing I need to do is figure out a way to power the gas valve so that I can interact with it. Originally, it was powered by the pilot light. The tiny flame that remains lit at all times to light the main burner in the hot water tank is directed onto a cluster of thermocouples combined together to create what is called a thermopile. The heat from the pilot light is converted into a tiny electric current by the thermopile, which in turn is converted into the correct voltage by circuitry on the gas valve’s control circuit board. A tiny capacitor stores enough charge to handle the inrush demands of both the pilot and main burner gas valve activations, as directed by an ultra low-power micro-controller from Texas Instrument’s M430 family, in this case the M430F2254.
Positive results were obtained shortly after lighting the candle. After a few moments under the thermopile the thermostat clicked on the gas to the pilot light, and the LED began to flash once every couple of seconds, indicating that all is well. A well timed shot caught the LED mid-flash as you can see above. (Note the glowing LED on the bottom left-hand corner of the circuit board.) Measuring the inline voltage (voltage read with the gas valve connected) brought the output of the thermopile minus the demand of the PCB to about 300 mV. This is definitely on the low end of where it should be, a fact that was quite evident when the gas valve powered off as soon as I tried to fire up the main burner valve. It seemed that pushed it over the edge and it browned out. Changing the candle for a blow torch set on very low resolved this issue, and testing was soon to progress.
With a functional gas valve on the workbench, the next order of business was connecting to the communication lines on it. Since the MCU was kind enough to pull the RX pin high, measuring the voltage between Rx and GND read 3.3v. I assume this is the operating voltage of the MCU which should make communicating with it, at least electrically, less complicated. I had read about Honeywell gas valves supporting a different COM bus, wherein two 24VAC lines were supplied to the gas valve and a single data pin, which was clock-synchronized to the AC waveform. With this model of valve having clearly marked GND / Tx / Rx pins, I am all but certain that it uses an entirely different means of communication. First up, determine what that method of communication is.
We hooked up the TX and RX lines to an oscilloscope and see that the RX pin goes high once the micro-controller has powered up. That said, it does not broadcast any information out when the set-point is changed or the main burner kicks on. This seems to coincide with everything I’ve read about the EnviraCom protocol, which I suspect this device speaks, which is a query/response protocol; you have to ask it a question before it will reply. It would seem that in this case, as with any diplomatic engagement, getting the answer you desire depends on the question that you ask. Now the mystery: What question do I ask it?
Most EnviraCom documentation I’ve encountered used an interface module that translated signals from the 3-wire com bus used on previous generations of gas valves to the RS-232 standard. I don’t know if that module is translating both command set AND electrical signaling, or if the protocol that it is exposing is the actual protocol used by the devices internally and it is merely doing a physical layer translation. Obviously that would be the preferred method, as it would potentially mean that the protocol needed to talk to the valve is already [at least somewhat] documented and available on the Internet. For me the big breakthrough will be marked by sending the gas valve a message and having it respond in a sane fashion. Once that happens, the rest (should be) downhill.
Posted in Energy Monitoring, Hot Water Heater, HVAC, Integration and tagged Device Communication, Discovery, Energy Monitoring, Energy Saving, Hot Water Heater, Hot Water Tank, HVAC, Integration, Serial Communication by cube with 1 comment.