Page 1 of 2

EXV Valve

Posted: Wed Apr 06, 2022 3:06 pm
by EV_Builder
Anyone tried to control this one?

It has 3 pins.
WhatsApp Image 2022-04-06 at 3.15.16 PM.jpeg
It's either LIN or PWM

Re: EXV Valve

Posted: Wed Apr 06, 2022 6:16 pm
by Doig5710
Would it be a normal TX valve with a position sensor attached? So the HVAC knows when it's gett8ng close to full open or shut to control AC pump speed for power saving?

Re: EXV Valve

Posted: Wed Apr 06, 2022 6:44 pm
by EV_Builder
I'm quite new to this AC subject so maybe you are right.
I was thinking some kind of proportional valve so the amount of chilling of the battery liquid can be adjusted together with the AC pump power.
So indeed the goal is to get a better performance factor.

Re: EXV Valve

Posted: Wed Apr 06, 2022 7:47 pm
by Doig5710
Yea that's another good thought as well, maybe possible to find out with a parts manual somehow, bit beyond my area anyway

Re: EXV Valve

Posted: Fri Apr 15, 2022 5:08 pm
by EV_Builder
Ok the valve has a LIN connection and a +12vdc and GND.

Re: EXV Valve

Posted: Fri Apr 15, 2022 7:11 pm
by larsrengersen
An EXV needs an external controller.
I decided to use a TXV with solenoid

https://www.evcreate.nl/using-tesla-the ... la-chiller

Re: EXV Valve

Posted: Fri Apr 15, 2022 8:48 pm
by EV_Builder
larsrengersen wrote: Fri Apr 15, 2022 7:11 pm An EXV needs an external controller.
I decided to use a TXV with solenoid

https://www.evcreate.nl/using-tesla-the ... la-chiller
Yeah you are right. But i bought the front motor for my project from an 2018 car and gues what all those fancy parts came with it.
So i would like to make them work.
I have got the THC also from the same car and got that one to show its cards :)

Focussing on the AC unit now. Trying to get it spit out CanMessages.
But it looks like it needs HV connected before it starts communicating.
Someone knows the polarity?

ok it gave in :) viewtopic.php?t=2350

Re: EXV Valve

Posted: Sat Apr 16, 2022 10:02 am
by EV_Builder
larsrengersen wrote: Fri Apr 15, 2022 7:11 pm An EXV needs an external controller.
My v2.0 Controller, can be configured so it has LIN , Dual CanBus, PWM, Analog IO it's the candidate for the Thermal controller.

Re: EXV Valve

Posted: Sun Apr 24, 2022 8:09 pm
by EV_Builder
Ok its slow but got LIM comms with THC, but sadly it doesn't address this valve...so either its PWM or the THC thinks it doesn't need to address a EXV valve.

Re: EXV Valve

Posted: Mon Jun 20, 2022 6:50 pm
by Pete9008
Just seen this thread, your valve looks very similar to one of the ones I have, pretty sure it's from the same manufacturer. Do you know the pinout on yours?

If it is a Sanhua valve they mention both LIN and PWM versions on their website so it could be either but I'm guessing the hardware (and so pinout) would be the same and it's just the firmware that changes.

Re: EXV Valve

Posted: Mon Jun 20, 2022 7:08 pm
by EV_Builder
Yes; the Tesla pin-out is known. And it should be a LIN.

Re: EXV Valve

Posted: Mon Jun 20, 2022 7:24 pm
by Pete9008
Just found this image - that's the 3pin valve pinout sorted :D
3pin valve pinout.jpg

Re: EXV Valve

Posted: Mon Jun 20, 2022 10:02 pm
by EV_Builder
EXVPIN.JPG
This is what internet comes up with..

Re: EXV Valve

Posted: Tue Jun 21, 2022 7:24 pm
by Pete9008
Quick update - the Tesla valve and the Jaguar valves are different. Overall they are very similar but on mine the connector is on the opposite side of the square section of the housing, The pinout is also different. Still think they are the same manufacturer but they obviously customised for Tesla or Jaguar.

In case it's of use mine is now sending out data with Gnd on pin3, LIN on pin2 and 12v on pin1 (which is different to the above Tesla one). It responds to LIN address 0x35 at 9800baud with 8bytes of data (c3,00,00,00,ff,ff,ff,ff - guessing ff's are padding and the first 4 bytes are status and position?). Still need to find the command addresses.

I'll post any further data in my other thread.

Re: EXV Valve

Posted: Tue Jun 21, 2022 9:05 pm
by EV_Builder
Ok the tesla i got has a 4bytes data package.
Which ID i'm not totally sure since i don't fully master LIN yet.
There are like global lists?
its either 1h or C1h (aka protected ID).

The FF bytes might be timed out values.
I get 40 EC 00 FC with correct checksum.

Check if yours isn't also 4Bytes by checking the Checksum value.

Re: EXV Valve

Posted: Wed Jun 22, 2022 3:21 pm
by Pete9008
Correction to the above - 9600baud!

Pretty sure it's sending a full 8bytes. There is an additional checksum byte at the end of the message but I haven't checked it yet to see which version of LIN it's using but my guess is it's the earlier one with fixed 8byte response. Hoping to spend a bit more time on it later.

When it powers up you can hear the motor operating for a few seconds and I think it's moving the the fully closed position (it's a stepper drive motor it would need to drive to one end or have a limit switch to determine position at start up, I know domestic ones drive to one end on power up and I'm expecting this to be similar). Hence the guess that the zeros might be the position. It also does this if it stops receiving LIN frames.

Re: EXV Valve

Posted: Wed Jun 22, 2022 4:35 pm
by EV_Builder
Ok mine is silent and goes silent except if I activate the LIN bus then it's power consumption goes to 18mA.

The checksum in mine is 'enhanced' think it's a standard calculation.
If I send 8bytes question out I get to see FF padding too. But I see then CRC error and timeout. Hence why I ask you to check.
It's easy to see bytes which aren't there and it will default to FF.

Yes; autodetect says 9800 but it's 9600.

Re: EXV Valve

Posted: Wed Jun 22, 2022 8:52 pm
by Pete9008
Power consumption is about the same.

Mine definitely sends 8 bytes out on 0x35 when requested followed by a checksum which matches the extended calculation. Little more information on the bytes:

Byte 0 - Bit0 seems to be an error flag, set if valve has received an invalid message
Byte 0 - Bit4 another flag, seems to get set if I interrupt the power up motor sequence
Byte 0 - Bits7&8, always set
Byte 1 - Always zero, wondering if this is the valve position readback
Byte 2 & 3 - seem to be a countdown during the motor initialisation sequence, counts down from around 0x200 at start to 0 at end of sequence.

Fairly sure the command register is 0x34 as it is the only address that causes the invalid message flag to set if the CSUM is invalid. The only message length that it is happy with is 8 - so an 8byte command on 0x34. Not good - I was hoping for a smaller command.

This is where I'm a bit stuck, the obvious simple patterns I've tried seem to have no effect. This suggests that it needs the correct combination of byte values, with 8bytes that's an awful lot of combinations to try even if I automate it. Next test is probably to try all combinations of the first two bytes with the rest set to 0xff but if that doesn't work it's going to need either some inspiration or a LIN bus scan from a working car!

Re: EXV Valve

Posted: Wed Jun 22, 2022 9:37 pm
by EV_Builder
Or the MCU who normally sends commands to it. If you join the LIN as slave you can see what it tries to read/write.

Re: EXV Valve

Posted: Wed Jun 22, 2022 11:09 pm
by Pete9008
If you have a master on the bus talking to the slaves then it should be relatively easy to work things out, the trouble is that all I have is the slave, my test code is the bus master.

Made some progress. Tried sending all possible combinations of the first 2 bytes with the rest at 0xff with the program watching for changes in the status register - nothing. Trying the same with more bytes would just be far too slow. Instead tried guessing combinations and it seems that if the LSB of each of the 8 bytes is a 1 then the the valve starts doing things. Current goes up to 110mA and I can hear the motor moving.

The status register comes alive too. I think the last two bytes may actually be a 10 bit readout of the motor step position as I can hear the motor stall when it reaches the min or max values. This would make sense with the initialisation too, what looked like a count down is actually it moving to the zero position from a worst case of fully open. I think the command register may be step count and direction rather than absolute position but I need to modify my code to test the theory and its too late now, will have another look later this week.

I've also found a patent from Sanhua describing a very similar looking valve and describing a LIN bus interface. It mentions the command containing valve position, motor current and speed. The message format described doesn't match what I'm seeing but the sound of the motor does change on some messages so it's possible that they do control current and step speed as well as position.

Re: EXV Valve

Posted: Sun Jun 26, 2022 9:07 pm
by EV_Builder
Ok i got it working its just a stepper motor indeed.
The homing procedure isn't that nice like on yours i think.
Best practice is to always have it at position closed anyway when stored away.

Re: EXV Valve

Posted: Thu Dec 29, 2022 11:03 pm
by Ralfy1337
EV_Builder wrote: Sun Jun 26, 2022 9:07 pm Ok i got it working its just a stepper motor indeed.
The homing procedure isn't that nice like on yours i think.
Best practice is to always have it at position closed anyway when stored away.
Hi, nice work :) I also got Tesla valve, i can get status back from EVX in LIN address 0xC1, but cant get it to run stepper motor. As i understood, LSB needs to be 1 in every 8bytes that`s sent, but no luck trying with all possible ID`s. Is there any possibility that you can share LIN address and what bytes needs to be sent to get it moving?

Re: EXV Valve

Posted: Fri Dec 30, 2022 8:51 am
by Pete9008
This might help? It's the commands for the I-Pace version of this valve and the process I used to find them.

https://openinverter.org/forum/vie ... 95#p41795

Re: EXV Valve

Posted: Mon Jan 02, 2023 2:03 pm
by Ralfy1337
Pete9008 wrote: Fri Dec 30, 2022 8:51 am This might help? It's the commands for the I-Pace version of this valve and the process I used to find them.

https://openinverter.org/forum/vie ... 95#p41795
Thanks, tried that already, but looks like Tesla valve needs to receive a bit different data? Because i looped thru every possible address while sending {0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff} as data and looking by this calculator https://linchecksumcalculator.machsystems.cz/ this LIN 2.0 Enhanced checksum also should be correct for every packet. And data what i get back(form ID 0x01) is 4 bytes, same as EV_builder told. And first byte bits are different form yours.
Will try to send 4 bytes as data, but don`t think it will yield some results.
Oh, and forgot to mention if no data is send prior to reading from id 0x01 first byte is always 0x40, but when some data is sent, no matter in what ID, 0x01 will give back first byte 0x41.

Re: EXV Valve

Posted: Mon Jan 02, 2023 2:14 pm
by Pete9008
Not too surprised, it was more the process that I went through on the three valves that I thought might be useful?

I'd suggest you try 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40 and 0x80 to all 8 bytes in turn. Somewhere there will be an enable bit and until you set that active it won't do anything. Mine was on the LSB but yours could be somewhere else.