ZombieVCU coolant heater control

Post Reply
m.art.y
Posts: 550
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK
Has thanked: 24 times
Been thanked: 17 times

ZombieVCU coolant heater control

Post by m.art.y »

Hi, wonder if somebody could give some experience/insight on how would one control a coolant heater with a ZombieVCU? So far I can see it has an option to control Ampera or VW heaters that allows to enable/disable those and set power from webinterface but there does not seem to be any dedicated input pins to switch the heater on/off from the cab let alone to be able to control the temp with a knob or am I not seeing/understanding something? Is the control meant to be done externally with another controller etc? Thanks 😊
LRBen
Posts: 471
Joined: Thu Jul 04, 2019 6:35 pm
Location: Somerset, UK
Has thanked: 42 times
Been thanked: 99 times

Re: ZombieVCU coolant heater control

Post by LRBen »

There are some general purpose input and output pins on the Zombieboard. So I would imagine it would be a case of figuring out what inputs the heater needs, then if there are available pins on the Zombie coding a module to run that heater. You could use one of the spare analog in pins to control temperate from a knob in the cab. Or potentially canbus if you had any sort of canbus enabled rotary knobs.

In my limited experience with the pre canbus outlander heater that worked by a number of low side switches to control the heat output. So not possible to control with the Zombie board, as it doesn't have enough spare low side switch outputs. Not too hard to make up a arduino based board to control though.

However the later Canbus outlander heaters would just need a module written for them and could be easily controlled by Zombie.
Kelju
Posts: 128
Joined: Sat Aug 22, 2020 6:54 pm
Location: Finland
Has thanked: 8 times
Been thanked: 5 times

Re: ZombieVCU coolant heater control

Post by Kelju »

I have been playing around with the Zombie and trying to get the Volt/Ampera heater control working.
The heater control code actually monitors the GP12V input pins status and the heater is only enable whenever this input is pulled high.
There is also a spot value for this on the web interface with the name "HeatReq"

I have managed to get the heater activated and heating with the information given in this topic: viewtopic.php?t=2665
Unfortunately, however, not with the control from the Zombie, but rather by generating the required messages with a PEAK CAN dongle.

During my debugging of the Zombie, I have done the following:
1. Checked the single wire CAN output of the NCV7356 and noticed that it only ever sends out a series of three very short voltage peaks of around 5V, that have more a sinusoidal form than a square shape that you would expect for a digital signal.
2. Checked that the orientation of the chip was correct and checked that all pins are consistently soldered and the chip receives power supply
3. Changed the NCV7356, but the behavior is exactly the same with the replaced chip
4. Noticed that the load resistor resistance value is not according to the reference circuit of the datasheet (1kOhm instead of 6k5) and also routed erroneously not directly between CANH and Load pins, but rather from the other side of the filter inductor to the Load pin. I changed the resistance value and connected as per reference schematic (not that it really matter on which side of the inductor the resistance is connected, but I was desperate). The behavior remains the same.

I would very much like to control the heater with the Zombie, but I am out of ideas at this point.
Has somebody actually got the heater working with the Zombie?

Finally, even if the Zombie could manage to switch on the heater, there is at the moment no means to set the power level, other than from the web interface. For this, I was thinking about hacking to the RX8 OEM heat control potentiometer output and reading this value with one of the analog inputs of the Zombie. Unfortunately the potentiometer output is hidden somewhere in the depths of the RX8 dash, so I am not exactly looking forward to this endeavor.
m.art.y
Posts: 550
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK
Has thanked: 24 times
Been thanked: 17 times

Re: ZombieVCU coolant heater control

Post by m.art.y »

Kelju wrote: Tue Jan 31, 2023 6:42 pm The heater control code actually monitors the GP12V input pins status and the heater is only enable whenever this input is pulled high.
There is also a spot value for this on the web interface with the name "HeatReq"
Thanks, this is really helpful, have not seen this mentioned anywhere. I know Damien is running this same exact heater with a Zombie so in theory it should be working. Have you soldered the correct jumpers for CAN3 as that is selectable between High speed CAN, fault tolerant CAN and single wire CAN? Also is the speed for CAN3 set right as somebody said the heater does not work if CAN messages are not sent fast enough. You have probably checked that but that's the only things that come to mind.
Kelju
Posts: 128
Joined: Sat Aug 22, 2020 6:54 pm
Location: Finland
Has thanked: 8 times
Been thanked: 5 times

Re: ZombieVCU coolant heater control

Post by Kelju »

I've checked the schematic, the complete layout and the jumpers multiple times, and all seems to be in order on that front.
I have not checked how the Zombie actually sets up the speed of the CAN3. I have just assumed that it is tested and correct...
When I succeeded in the control with the PEAK CAN dongle, I had the speed setting at 33kbit/s.

I am also planning to use the Chademo charging with the PDM, so I might anyway need to use the CAN3 for this and use a separate Arduino for the heater control. Would be still nice to figure out what the problem with the Zombie heater control is.
m.art.y
Posts: 550
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK
Has thanked: 24 times
Been thanked: 17 times

Re: ZombieVCU coolant heater control

Post by m.art.y »

Kelju wrote: Tue Jan 31, 2023 7:15 pm When I succeeded in the control with the PEAK CAN dongle, I had the speed setting at 33kbit/s.
I am also planning to use the Chademo charging with the PDM, so I might anyway need to use the CAN3 for this and use a separate Arduino for the heater control. Would be still nice to figure out what the problem with the Zombie heater control is.
Indeed I checked the Zombie settings in the latest version and it has CAN3 speed at k33.3 as default but it has 500k selectable too. There also is canperiod setting which is 10ms or 100ms. Do you have those in your version?

Yes it's a pity that SW CAN heater and Chademo can't be used at the same time, lack of free pins I suppose. Perhaps a different heater could be used that uses LIN for example like those Webasto HV ones. Would be great if someone with skill could add the code to the Zombie as they have been reverse engineered by Johannes 😊
streber
Posts: 28
Joined: Sun Dec 01, 2019 7:46 am
Location: Seattle, WA, USA
Been thanked: 3 times
Contact:

Re: ZombieVCU coolant heater control

Post by streber »

I'm adding support for PWM driven heaters. My particular setup is a Tesla Model S battery heater in an E46. It has a signal that is normally used to open and close the hot water valve to the cabin that I'm reading as HeatReq and letting the normal HVAC controls decide when to turn it on and off. You can now also use either HVReq or GP_12Vin as the HeatReq input.

https://github.com/streber42/Stm32-vcu/tree/pwm_heater
Post Reply