ihormelnyk / arduino_opentherm_controller

Arduino OpenTherm Controller
10 stars 9 forks source link

Time outs #1

Open zarpax opened 7 years ago

zarpax commented 7 years ago

Hi, I've mounted the circuit of your blog (http://ihormelnyk.com/page/arduino_opentherm_controller) and I've been trying it with and arduino uno, but I'm not able to connect with my boiler. Alway receive the same response..... "time out".

Does the circuit have any update?. Did you make any change?

Thanks in advance!

ihormelnyk commented 7 years ago

Hi @zarpax , There are no updates, original circuit works fine for me. Which boiler model do you have? Does it support OpenTherm protocol? Have you checked voltage levels on boiler connectors and on adapter PCB? Can you show me some photos of your PCB and connections?

zarpax commented 7 years ago

Hi @ihormelnyk,

Thanks for your fast response.

I've got a ferroli boiler with a Honeywell T8851A1022 thermostat that I've been "googling" and is supposed that used opentherm.

I haven't checked voltage levels on PCB because I don't know wich values to expect.

These are pictures of my test pcb.

Thanks again

wp_20170410_22_17_11_pro_li wp_20170410_22_17_41_pro_li wp_20170410_22_18_21_pro_li wp_20170410_22_18_33_pro_li wp_20170410_22_18_57_pro_li wp_20170410_22_19_15_pro_li

ihormelnyk commented 7 years ago

Hi @zarpax , According to your photos IN and OUT wires connected to 0 and 1 pins, which is wrong because they are used by Serial port to print debug messages. Try connect orange wire to pin 2, and white to pin 3. Then update and redeploy sketch: int OT_IN_PIN = 3; int OT_OUT_PIN = 2; Also check voltage levels on screw connector, there should be low level <7V if board is online, and >15V if offline.

zarpax commented 7 years ago

Hi @ihormelnyk ,

I made all you said me and I had a surprise result:

First, I changed the input and output as you suggested me, but all was the same. Second, I tried to check the voltage but I saw very strange values. Nothing about 7, 15v. I think I need a new metre :)

By chance, when I was unplugging the wires, the first one was the 5v and gnd wires and since that moment, I started to receive data from the boiler, so the connections for this situation are those one:

newcircuit responsecircuit

So, I don´t know If I've got any incorrect connection or I don't need 5v and gnd wires but for the moment I'm gonna try to see if this info is correct making another requests to the boiler.

I'll tell you any advance of this.

Thanks for your time and support

zenz commented 7 years ago

change the delay ms in waitForResponse function, from 1250 to 1005, you will get it work.

ihormelnyk commented 7 years ago

Could help, but not for sure. Bit period = 1ms -10%+15% according to protocol documentation. It depends on your boiler. So you can experiment with delayMicroseconds values for waitForResponse and readResponse functions. For readResponse nominal delay 1000 microsec (1bit), for waitForResponse nominal delay 1250 (1bit + quarter)

zarpax commented 6 years ago

Hi @ihormelnyk,

I've been out for a long time but a few weeks ago I started again with this in the same point I left it.

I saw that you have updated the code and I've been trying with it and doing what you suggested me but still doesn't work.

I've measured the volts in the actual thermostat and I've seen that is 25,5volts !! Could be a custom implementation of opentherm? Can your circuit works with this voltaje?

imagen

ihormelnyk commented 6 years ago

Hi, I think it's normal voltage if there is no load connected. Try to connect adapter and check voltage again.

zenz commented 6 years ago

@zarpax for different machine, may be there's some little difference. my boiler using NordGas's PCB, and the voltage is 18VDC. you have to check the manual to confirm it.

zarpax commented 6 years ago

I've been looking for that information but my boiler technical info doesn't tell anything about this so I have to measure it directly on thermostat wires