2012-01-28

OpenTherm v2 First Prototype

I finaly built a prototype of the opentherm interface (version 2) for Alex to test, since he dosen't have all the tools to test it I'm hoping that at least the physical interface works, the other features are powered through the interface and using a supercapacitor to hold the power during radio transmission.



The board has a JeeNode interface so Alex doesn't have to change much, there are two extra jumpers, one connects the opentherm rectified voltage to the PWR input of the jeenode, and the other connects the 3.3V output of the jeenode to a supercap. It is still a bit oversized but... Well it is a prototype... The OpAmp is the LM358 (dual version of the quad LM324), works from 3V to 33V and it is relatively low power. The specification of Opentherm states a open voltage of 40V so I had to protect the OpAmp with a parallel Zener (seen in the picture).


A lot has to be done on the jeenode side, but it is mostly software regarding the power saving modes and saving enough power before the short bursts of radio transmission. The schematics of this circuit is based on the published before, but I'll hold the final one until Alex gives me feedback.

2012-01-16

OpenTherm Interface V2

As I mentioned when the boards arrived, I'm planning a new board/circuit but I just briefly mentioned it.
Alex pointed out that in the OpenTherm specification it is stated that a master unit, i.e. your thermostat in the living room or a controller (in Alex's case), could be powered by the interface (use google to find the specification).

In the OpenTherm specification the boiler is slave (although providing the current loop) and the master is the remote control unit. He asked me if it could be done, and looking at the first schematic I drafted a battle plan:
  1. get rid of the dissipative receiver resistor;
  2. get rid of the dissipative transmission resistor;
  3. get rid of the optocouplers, (isolation is good and desired but CTR isn't very good for cheap opto's... hence more current).
  4. with whatever power is available, use a LDO and power something.
  5. Design a current loop transmitter (4-17mA)for testing that works at 40V.
  6. Design a two level shunt regulator for transmitting from master to slave.
  7. Design a minimal loss current loop receiver with output to 3.3V logic systems.
The mains issues were, the maximum loop voltage of 40V and the low voltage LDO and digital signals (3.3V)... and size since Alex want's a "shield" for his JeeNode. There aren't many IC's that work at 40V...

I have planed a tribute post to Jim Williams and Bob Pease playing around analog computers, but time hasn't allowed it... so this short one goes to them and to Bob Widlar.

First I had to design the current loop transmitter to test the system, the input had to be 40V so that under lower load the output voltage was close to that (part of the OpenTherm specification). I remembered the LM10 (designed by Widlar) had an interesting feature in it's datasheet, it is the only OpAmp I know that has been specified for shunt operation (Dear TI that page says "all national products now are belong to us" in front of the datasheet is .... lame).
It also had a application schematic for a current controller, I modified that schematic to allow a push-button (4-20mA) switch (for those not able to find the LM10 check here for an alternative way to generate the current loop, replace DAC with voltage generator).



Then was the master transmitter, basically a shunt regulator with two levels, inactive 7V and active 15V. I used two diodes in series as the reference to the minimum voltage for the regulator, there's a hell of thermal drift but I don't expect the temperature to move outside the range 16C-40C with a corresponding error of 120mV and respective change of about 600mV, therefore negligible. Also I added the push-button to change from one state to the other. I thought of using the same LM10 but unfortunately the LM10 is too slow even for the 2kHz output waveform (it is 1kHz manchester encoded), so the next big thing in single supply opamps capable of 30V operation is the quad LM324, I've used the double LM358. They have their problems in precision and audio circuits but they're good enough and fast enough for the job.

Finally I designed the receiver, the current loop receiver was a nice exercise. I used a simple linear converter to adapt the current levels at the current sense resistor to voltages of less than 0,7V (4-9mA) for the low level and greater than 2,0V for the high level (20mA). One interesting point one is that even single supply amps can work with negative voltages as long as the output is within specification and the voltage at the pin is not negative.



And that's it, I just need to wire a small pref board and send it to be tested.

2012-01-12

New Boards arrived!

This time is the PCB of the Opentherm Interface (v1.0) for Alex and his JeeNode and my Jam Jar Firefly simulator.


The round ones are the JamJarFirely and the rectangular is the JeeNode interface. We've sent them to be produced by Lean, there were some delays but eventually we got them.

Alex mentioned that the Opentherm interface mentions having a loop powered Master and Alex wanted to try and do it with JeeNode. I thought about a version two.
I think that I have the hardware ready but surely a lot has to be done in the jeenode side in terms of software, there are only about 25mW available permanently (about 5V@5mA).
This is my first attempt, I've still just tested it on the breadboard but I think it will work. Here is my initial schematic, the LED on the input is a receive indicator and correct polarity indicator (lights dimly when correctly connected and blinks when receiving).


The rest of the circuit is a programmable shunt regulator with two voltages (the transmitter 7V and 16V since the loop is a current source) and a current to voltage converter (receiver).