Webasto HVH50
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Webasto HVH50
Do we have any info on these?
- Attachments
-
- HVH_Datasheet_2020.pdf
- (202.15 KiB) Downloaded 288 times
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
-
- Posts: 3294
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 81 times
- Been thanked: 241 times
- Contact:
Re: Webasto HVH50
Nice find! I see there is a workshop manual for them:
You have wiring diagram and pinout with some Lin bus protocol.
Looks like you can also use PWM for control.
That would be almost too easy...
- Attachments
-
- 4d. Heater Info - 9035422C_II-OI_HVH_50_and_70_EN 19-01 PMC.pdf
- (5.52 MiB) Downloaded 287 times
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
Wow, thats superb!
Thanks a lot, will try it out. Seems I can run it from the 130V that all my lab power supplies in series provide.
Thanks a lot, will try it out. Seems I can run it from the 130V that all my lab power supplies in series provide.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
I have started a wiki page: https://openinverter.org/wiki/Webasto_HVH50
Now Webasto offered to sell application data for 1500€ (probably just the document above). Will they get nervous when they see it here?
Now Webasto offered to sell application data for 1500€ (probably just the document above). Will they get nervous when they see it here?
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
I have sourced all necessary connectors and connected HV to Prius-generated 290V.
I have tested the "analog" input, i.e. just supplying 12V to pin 3 - didn't work, no power draw from the heater
Then tested PWM on pin 3 - didn't work
Now I'm trying my luck at LIN. Since I have no transceiver handy, I just use an inverter gate plus N-MOS transistor.
Now in the manual it says that there is diagnostic info on ID 24. With parity that is 0xD8.
So I'm sending BREAK - SYNC (0x55) - PID (0xD8) - thats what you see on the scope (200us/div). At 19200 baud each bit lasts about 50us.
Now I would expect some kind of response from the heater but there is none. Only reaction is that it does actually wake up and draws about 100mA from the 12V line.
EDIT: maybe there is no heat output because I just filled the heater with liquid but didn't actually circulate it. That still wouldn't explain lacking comms though.
I have tested the "analog" input, i.e. just supplying 12V to pin 3 - didn't work, no power draw from the heater
Then tested PWM on pin 3 - didn't work
Now I'm trying my luck at LIN. Since I have no transceiver handy, I just use an inverter gate plus N-MOS transistor.
Now in the manual it says that there is diagnostic info on ID 24. With parity that is 0xD8.
So I'm sending BREAK - SYNC (0x55) - PID (0xD8) - thats what you see on the scope (200us/div). At 19200 baud each bit lasts about 50us.
Now I would expect some kind of response from the heater but there is none. Only reaction is that it does actually wake up and draws about 100mA from the 12V line.
EDIT: maybe there is no heat output because I just filled the heater with liquid but didn't actually circulate it. That still wouldn't explain lacking comms though.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- muehlpower
- Posts: 583
- Joined: Fri Oct 11, 2019 10:51 am
- Location: Germany Fürstenfeldbruck
- Has thanked: 12 times
- Been thanked: 105 times
Re: Webasto HVH50
On this since there are pictures of how it should look on the oscilloscope, maybe that will help.johu wrote: ↑Fri Apr 16, 2021 11:20 am I have sourced all necessary connectors and connected HV to Prius-generated 290V.
I have tested the "analog" input, i.e. just supplying 12V to pin 3 - didn't work, no power draw from the heater
Then tested PWM on pin 3 - didn't work
Now I'm trying my luck at LIN. Since I have no transceiver handy, I just use an inverter gate plus N-MOS transistor.
Now in the manual it says that there is diagnostic info on ID 24. With parity that is 0xD8.
So I'm sending BREAK - SYNC (0x55) - PID (0xD8) - thats what you see on the scope (200us/div). At 19200 baud each bit lasts about 50us.
Now I would expect some kind of response from the heater but there is none. Only reaction is that it does actually wake up and draws about 100mA from the 12V line.
EDIT: maybe there is no heat output because I just filled the heater with liquid but didn't actually circulate it. That still wouldn't explain lacking comms though.
https://infosys.beckhoff.com/index.php? ... 3.html&id=
- muehlpower
- Posts: 583
- Joined: Fri Oct 11, 2019 10:51 am
- Location: Germany Fürstenfeldbruck
- Has thanked: 12 times
- Been thanked: 105 times
Re: Webasto HVH50
i have written a program that simply sends all 64 valid headers without data bits and outputs the messages on rs232. Normally a 0 is then displayed for all data bits. Everything else stands out clearly. Then I only display the address to which I received an answer and send all data bits with 255 to the other addresses and watch whether something changes in the received message. After that I send fewer and fewer addresses and watch when the received message changes until I have the address to which the answer is responding. then i shorten the message and watch the output until one data length behaves differently from the others. That’s the right length then.johu wrote: ↑Fri Apr 16, 2021 11:20 am I have sourced all necessary connectors and connected HV to Prius-generated 290V.
I have tested the "analog" input, i.e. just supplying 12V to pin 3 - didn't work, no power draw from the heater
Then tested PWM on pin 3 - didn't work
Now I'm trying my luck at LIN. Since I have no transceiver handy, I just use an inverter gate plus N-MOS transistor.
Now in the manual it says that there is diagnostic info on ID 24. With parity that is 0xD8.
So I'm sending BREAK - SYNC (0x55) - PID (0xD8) - thats what you see on the scope (200us/div). At 19200 baud each bit lasts about 50us.
Now I would expect some kind of response from the heater but there is none. Only reaction is that it does actually wake up and draws about 100mA from the 12V line.
EDIT: maybe there is no heat output because I just filled the heater with liquid but didn't actually circulate it. That still wouldn't explain lacking comms though.
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
I went through all 256 PIDs (so the invalid ones also) and I never got a reply. Scope is on 2 ms time base so I should see replies up to 20ms later. I must be doing something fundamentally wrong. Does it maybe just reply with HV connected?
Attached is my transmitter circuit.
EDIT: I was expecting 30k from LIN towards 12V (pull-up) but resistance is infinite. LIN pin does rise to 12V when powering up though. Maybe some active pull-up...
Attached is my transmitter circuit.
EDIT: I was expecting 30k from LIN towards 12V (pull-up) but resistance is infinite. LIN pin does rise to 12V when powering up though. Maybe some active pull-up...
- Attachments
-
- lin.png (5.21 KiB) Viewed 8381 times
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- muehlpower
- Posts: 583
- Joined: Fri Oct 11, 2019 10:51 am
- Location: Germany Fürstenfeldbruck
- Has thanked: 12 times
- Been thanked: 105 times
Re: Webasto HVH50
i don't know what the webasto unit is doing. With my VW compressor and my VW heater I got an answer without any HV connection. Maybe something is wrong with the timing or the polarity. The master usually has a 1K resistor in series with a diode at 12V and a 1uF capacitor to ground.
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
Finally got a reply!
So it seems that units firmware has been altered for the OEM. It runs on 9600 (as opposed to 19200 in the manual) and replies to IDs 22 and 23 (PID 0xD6 and 0x97) as opposed to IDs 24 and 40.
Now remains the question which one is the control ID (35 in the manual) and is the same data format still used.
So it seems that units firmware has been altered for the OEM. It runs on 9600 (as opposed to 19200 in the manual) and replies to IDs 22 and 23 (PID 0xD6 and 0x97) as opposed to IDs 24 and 40.
Now remains the question which one is the control ID (35 in the manual) and is the same data format still used.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
-
- Posts: 78
- Joined: Thu Jan 28, 2021 6:15 pm
- Has thanked: 1 time
- Been thanked: 6 times
Re: Webasto HVH50
For general linbus testing i am using a microchip lin bus analyser link below. the generic software is abit basic and could really work with making something custom but it displays addresses and data. it also allows to transmit. which is helpfull for quick testing
https://uk.rs-online.com/web/p/communic ... s/6810960/
hope that helps
https://uk.rs-online.com/web/p/communic ... s/6810960/
hope that helps
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
Well I am pretty confident in sending and receiving valid frames with the STM32, so don't think a bus analyzer will help right now.
Today I'm actually circulating water and connected 290V. Then I sent the frame as specified in the manual:
0x1 (turn on), 0x64 (heat up to 60°C=100-40), 0xa (power limit to 400W)
I sent this on all valid and invalid IDs. Also added an extra 0 byte or an upcounter in the 4th byte. No change, never drawing power. Then I got desperate and brute forced all values from 0-0xFF with incrementing PID and frame length. As soon as the heater reports a status != 0 I stop. When I hit ID22 it stopped with a "Temporary lock" probably because of collision as 22 is a read command.
I checked the parity calculation of the PID and the checksum calculation against muehlpowers manual and all is fine. I guess I will brute force more and exclude IDs 22 and 23.
The bus voltage and temperature readings are all perfectly valid, so no fundamental communication issue anymore.
Any ideas?
Today I'm actually circulating water and connected 290V. Then I sent the frame as specified in the manual:
0x1 (turn on), 0x64 (heat up to 60°C=100-40), 0xa (power limit to 400W)
I sent this on all valid and invalid IDs. Also added an extra 0 byte or an upcounter in the 4th byte. No change, never drawing power. Then I got desperate and brute forced all values from 0-0xFF with incrementing PID and frame length. As soon as the heater reports a status != 0 I stop. When I hit ID22 it stopped with a "Temporary lock" probably because of collision as 22 is a read command.
I checked the parity calculation of the PID and the checksum calculation against muehlpowers manual and all is fine. I guess I will brute force more and exclude IDs 22 and 23.
The bus voltage and temperature readings are all perfectly valid, so no fundamental communication issue anymore.
Any ideas?
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- muehlpower
- Posts: 583
- Joined: Fri Oct 11, 2019 10:51 am
- Location: Germany Fürstenfeldbruck
- Has thanked: 12 times
- Been thanked: 105 times
Re: Webasto HVH50
I don't know exactly how you work about it. A status byte was recognizable on my devices because it did not move slightly like measured values but made jumps when something changed. There was always a difference between pure reading (only sending the feedback ID) and also sending all IDs. After that I sent fewer and fewer IDs until I noticed it in the status byte again. That was the right ID to control. After that I only sent this ID, but with different lengths. One length then had a different status byte than the others. That was the right length!
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
There is one documented status field in the first 3 bits of PID 0x97/23. It is 0 in stop mode, then has various error values and when it is 4 we are in operate mode. I have never seen it change though! Except once when I had appended data to the ID 22 READ request. There is another fast changing field in the last byte of PID 0xD6/22. But it always toggles between the same values even if I just read data.
I changed my brute force attack, now it just tried all permutations of 0,1,2,4,...,128 on all 4 bytes and on all PIDs with length ranging from 1 to 4. That went much quicker, 0-0xFF would have taken days. But no combination was found that would change the status to "Operate".
I also connected the possible enable input on pin 3 to 12V, just in case.
I'm not 100% sure about the interlock. Basically both the HV and the LV connector have 2 interlock pins. When I measure resistance they look like a dead short, like you just insert it into a long chain of connectors and when one is pulled, the signal is interrupted. But then Damien said these might expect a certain current flowing through them. Is that possible? How is it on other "Aux" devices?
Currently I just shorted both the HV and LV interlock.
The manual says:
I changed my brute force attack, now it just tried all permutations of 0,1,2,4,...,128 on all 4 bytes and on all PIDs with length ranging from 1 to 4. That went much quicker, 0-0xFF would have taken days. But no combination was found that would change the status to "Operate".
I also connected the possible enable input on pin 3 to 12V, just in case.
I'm not 100% sure about the interlock. Basically both the HV and the LV connector have 2 interlock pins. When I measure resistance they look like a dead short, like you just insert it into a long chain of connectors and when one is pulled, the signal is interrupted. But then Damien said these might expect a certain current flowing through them. Is that possible? How is it on other "Aux" devices?
Currently I just shorted both the HV and LV interlock.
The manual says:
Does it mean I have to connect HV and LV interlock in a loop? Doesn't sound very meaningful.Pin 3 and 4 are connected to the LV connector and will detect an open HV circuit. These pins will lose connection before the main HV pins (1 and 2) lose their connection. As soon as the locking pins detect that the circuit has been interrupted, the vehicle on-board power supply management system must disconnect the power supply.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
Found it
So your advise was spot on.
I monitored the first diagnostic status byte while sending some random data to all PIDs. Then at PID 0x55/21 the bit jumped to the supposed "Temporary Lock" value. Same for 22 and 23. So since 21 doesn't return any data it must be the command message. Now it was easy. I increased the length from 3 to 4 and there was no more Temporary Lock when sending on PID 21.
I put values into the 4 bytes until the heater turned on.
@golf: now I admit it would be easier with some LIN analyzer software
Now, to summarize:
- Only 12V and LIN needs to be connected, interlock needn't be connected to anything.
- Byte 0 sets the power with a scaling factor of 40
- Byte 1 set the temperature setpoint in °C with an offset of 40
- Byte 2 is unused
- Byte 3 =8 heater on (i.e. bit 3 set)
The return values are somewhat strange but I have extracted voltage, temperature and power. Will show up in the stm32-car project on the "Volvo" branch.
So your advise was spot on.
I monitored the first diagnostic status byte while sending some random data to all PIDs. Then at PID 0x55/21 the bit jumped to the supposed "Temporary Lock" value. Same for 22 and 23. So since 21 doesn't return any data it must be the command message. Now it was easy. I increased the length from 3 to 4 and there was no more Temporary Lock when sending on PID 21.
I put values into the 4 bytes until the heater turned on.
@golf: now I admit it would be easier with some LIN analyzer software
Now, to summarize:
- Only 12V and LIN needs to be connected, interlock needn't be connected to anything.
- Byte 0 sets the power with a scaling factor of 40
- Byte 1 set the temperature setpoint in °C with an offset of 40
- Byte 2 is unused
- Byte 3 =8 heater on (i.e. bit 3 set)
The return values are somewhat strange but I have extracted voltage, temperature and power. Will show up in the stm32-car project on the "Volvo" branch.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- muehlpower
- Posts: 583
- Joined: Fri Oct 11, 2019 10:51 am
- Location: Germany Fürstenfeldbruck
- Has thanked: 12 times
- Been thanked: 105 times
- celeron55
- Posts: 779
- Joined: Thu Jul 04, 2019 3:04 pm
- Location: Finland
- Has thanked: 29 times
- Been thanked: 111 times
- Contact:
Re: Webasto HVH50
have you finially heated up the water?
johu wrote: ↑Tue Apr 20, 2021 6:34 pm Found it
So your advise was spot on.
I monitored the first diagnostic status byte while sending some random data to all PIDs. Then at PID 0x55/21 the bit jumped to the supposed "Temporary Lock" value. Same for 22 and 23. So since 21 doesn't return any data it must be the command message. Now it was easy. I increased the length from 3 to 4 and there was no more Temporary Lock when sending on PID 21.
I put values into the 4 bytes until the heater turned on.
@golf: now I admit it would be easier with some LIN analyzer software
Now, to summarize:
- Only 12V and LIN needs to be connected, interlock needn't be connected to anything.
- Byte 0 sets the power with a scaling factor of 40
- Byte 1 set the temperature setpoint in °C with an offset of 40
- Byte 2 is unused
- Byte 3 =8 heater on (i.e. bit 3 set)
The return values are somewhat strange but I have extracted voltage, temperature and power. Will show up in the stm32-car project on the "Volvo" branch.
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
Yes, that's what I meant to say
Since you're new: please quote only the sentences you refer to.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
-
- Posts: 91
- Joined: Mon Apr 12, 2021 10:26 am
- Location: Nederland
- Has thanked: 1 time
- Been thanked: 4 times
Re: Webasto HVH50
Hi, does anyone know on which car/type these heaters can be found? I am trying to find one.
In the meantime I found out that Jaguar I-pace and Porsche Taycan both have this type of PTC heater,
The I-pace has the HVH50 and the Taycan the HVH10 (10 kW?)
In the meantime I found out that Jaguar I-pace and Porsche Taycan both have this type of PTC heater,
The I-pace has the HVH50 and the Taycan the HVH10 (10 kW?)
-
- Posts: 91
- Joined: Mon Apr 12, 2021 10:26 am
- Location: Nederland
- Has thanked: 1 time
- Been thanked: 4 times
Re: Webasto HVH50
Hi,
I have some trouble setting up the LIN communication software and hardware.
I am working on a small controller to manipulate the dashboard gauges on my Saab 93, for this I use CircuitPython. I like to add the LIN bus with a MCP2021 but I have no idea to setup/build the correct LIn message string that goes to the transceiver. I see above all kinds of snippets but I only know half what it does.
So, if anyone could please help me out or point me in the right direction I would be very grateful.
I have a HVH_50, already fitted, connected and filled. Only thing missing is the LIN bus input
I have some trouble setting up the LIN communication software and hardware.
I am working on a small controller to manipulate the dashboard gauges on my Saab 93, for this I use CircuitPython. I like to add the LIN bus with a MCP2021 but I have no idea to setup/build the correct LIn message string that goes to the transceiver. I see above all kinds of snippets but I only know half what it does.
So, if anyone could please help me out or point me in the right direction I would be very grateful.
I have a HVH_50, already fitted, connected and filled. Only thing missing is the LIN bus input
- johu
- Site Admin
- Posts: 5849
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 165 times
- Been thanked: 1072 times
- Contact:
Re: Webasto HVH50
Look here: https://github.com/jsphuebner/stm32-car ... ar.cpp#L95
It uses the LinBus class from libopeninv https://github.com/jsphuebner/libopenin ... linbus.cpp
It uses the LinBus class from libopeninv https://github.com/jsphuebner/libopenin ... linbus.cpp
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
-
- Posts: 91
- Joined: Mon Apr 12, 2021 10:26 am
- Location: Nederland
- Has thanked: 1 time
- Been thanked: 4 times
Re: Webasto HVH50
hi, I have no clue. Nothing comes out and nothing what I sent in works.
I guess I bin the heater and find something else.
I guess I bin the heater and find something else.
Re: Webasto HVH50
Could someone explain how to obtain the complete HV connector for this unit?
I can find the Tyco HVA280 connector part # 2103177-1 easily, but this does not include contacts, interlock or seals.
The Tyco website is difficult to use as there are no references as to which contacts or accessories work with which connector bodies!
Thanks
I can find the Tyco HVA280 connector part # 2103177-1 easily, but this does not include contacts, interlock or seals.
The Tyco website is difficult to use as there are no references as to which contacts or accessories work with which connector bodies!
Thanks