Re: Model 3 High Voltage Controller
Posted: Mon Jan 09, 2023 10:48 pm
openinverter Community
https://openinverter.org/forum/
I am still unable to close the contactors; I shorted each of the HIL pins with a small wire. Do you know how I can check if there is damage to the PCS of the battery?bielec wrote: ↑Thu Jan 05, 2023 8:11 pm I have a dual motor version and I have linked the HVIL on both front and rear motor connectors and the small pins on the "Anciliary"/heater connector.
I have nothing connected to the charger socket.
I have been asked about using an ESP32 instead of a Due so today I quickly modified and stripped the code to work on an ESP32.
This requires Collin Kidders esp32_can library and his can_common library to compile. It is sufficient to copy these two libraries into your arduino library folder. The program is operated from the Arduino serial monitor screen where you will see a continuous stream of battery SOC, cell Voltages, Temperatures etc. Sending a "C" toggles message 221 which turns the contactors on/off. The messages are sent at default 30mS but the rate may be varied by command eg. "i 60" for 60mS. Sending "?" displays a menu of these commands.
I used a Node ESP32 with a 3.3v compatible CAN driver shield Rx on GPIO16 Tx on GPIO17
This is quick and dirty but should allow novice users to get the contactors to close on a newer Wireless capable device.
(edit) there is an error which prevents this program from transmitting proper data and closing the contactors... to correct the error, remove the line "outframe.rtr = 1;"
Don't know about damage to PCS but have you checked.....
Thanks for your comments. What do you mean by "+on outside stud"? in "3. 12v battery across DC/DC stud terminals, + on outside stud"?bielec wrote: ↑Fri Jan 13, 2023 5:18 pm Don't know about damage to PCS but have you checked.....
1. Capacitor across the H.V. pins
2. Resistor on X098 across HVIL pins
3. !2v on 2 pins of X098
3. 12v battery across DC/DC stud terminals, + on outside stud
4. If you are using my hacked code for the ESP32 then did you remove the line of code which caused error in transmission?
5. Links on the HVIL pins on both HV motor connectors and aux HV connector
6. CAN data connection on Vehicle bus on X098
If you use SavvyCan to view data (by hanging an extra can transceiver across the vehicle can lines) then you can view and study the can data stream which will give you information such as HVIL state and will indicate if closure is being attempted and much more.
I mean there are two stud connectors one positive one negative and the outside one is positive.
Code: Select all
40 41 05 15 00 50 71 7f
41 01 55 51 00 00 80 8b
Code: Select all
40 41 05 15 00 50 71 7F <ID221VCFRONT_LVPowerState>
VCFRONT_LVPowerStateIndex: Mux0
VCFRONT_amplifierLVRequest: LV_ON
VCFRONT_das1HighCurrentLVState: LV_OFF
VCFRONT_das2HighCurrentLVState: LV_OFF
VCFRONT_difLVState: LV_OFF
VCFRONT_dirLVRequest: LV_OFF
VCFRONT_espLVState: LV_OFF
VCFRONT_hvacCompLVState: LV_ON
VCFRONT_iBoosterLVState: LV_ON
VCFRONT_ocsLVRequest: LV_OFF
VCFRONT_oilPumpFrontLVState: LV_OFF
VCFRONT_oilPumpRearLVRequest: LV_OFF
VCFRONT_parkLVState: LV_ON
VCFRONT_ptcLVRequest: LV_ON
VCFRONT_radcLVState: LV_OFF
VCFRONT_rcmLVRequest: LV_OFF
VCFRONT_sccmLVRequest: LV_ON
VCFRONT_tpmsLVRequest: LV_OFF
VCFRONT_tunerLVRequest: LV_ON
VCFRONT_uiHiCurrentLVState: LV_ON
VCFRONT_vcleftHiCurrentLVState: LV_ON
VCFRONT_vcrightHiCurrentLVState: LV_ON
41 01 55 51 00 00 80 8B <ID221VCFRONT_LVPowerState>
VCFRONT_LVPowerStateIndex: Mux1
VCFRONT_CMPDLVState: LV_ON
VCFRONT_cpLVRequest: LV_ON
VCFRONT_epasLVState: LV_OFF
VCFRONT_hvcLVRequest: LV_OFF
VCFRONT_pcsLVState: LV_ON
VCFRONT_tasLVState: LV_OFF
Code: Select all
60 55 55 15 54 51 d1 b8
61 05 55 55 00 00 e0 13
Code: Select all
60 55 55 15 54 51 D1 B8 <ID221VCFRONT_LVPowerState>
VCFRONT_LVPowerStateIndex: Mux0
VCFRONT_amplifierLVRequest: LV_ON
VCFRONT_das1HighCurrentLVState: LV_OFF
VCFRONT_das2HighCurrentLVState: LV_OFF
VCFRONT_difLVState: LV_ON
VCFRONT_dirLVRequest: LV_ON
VCFRONT_espLVState: LV_ON
VCFRONT_hvacCompLVState: LV_ON
VCFRONT_iBoosterLVState: LV_ON
VCFRONT_ocsLVRequest: LV_OFF
VCFRONT_oilPumpFrontLVState: LV_ON
VCFRONT_oilPumpRearLVRequest: LV_ON
VCFRONT_parkLVState: LV_ON
VCFRONT_ptcLVRequest: LV_ON
VCFRONT_radcLVState: LV_ON
VCFRONT_rcmLVRequest: LV_ON
VCFRONT_sccmLVRequest: LV_ON
VCFRONT_tpmsLVRequest: LV_ON
VCFRONT_tunerLVRequest: LV_ON
VCFRONT_uiHiCurrentLVState: LV_ON
VCFRONT_vcleftHiCurrentLVState: LV_ON
VCFRONT_vcrightHiCurrentLVState: LV_ON
61 05 55 55 00 00 E0 13 <ID221VCFRONT_LVPowerState>
VCFRONT_LVPowerStateIndex: Mux1
VCFRONT_CMPDLVState: LV_ON
VCFRONT_cpLVRequest: LV_ON
VCFRONT_epasLVState: LV_ON
VCFRONT_hvcLVRequest: LV_OFF
VCFRONT_pcsLVState: LV_ON
VCFRONT_tasLVState: LV_OFF
Code: Select all
20 68 65 1a a4 51 b1 d0
21 09 55 59 00 00 a0 9b
The different of the 2 groups is the mux (or page with settings that you send)bielec wrote: ↑Mon Jan 16, 2023 11:33 am I have seen Vehicle CAN data logs from ModelY cars which give 16 different versions of 0x221 when in Drive. These 16 messages are repeatedly sent continuously. I have also seen logs which do not do this. This was 1 year ago. You seem to have a group of 2 messages which is different. Perhaps Tesla has changed this in later cars? In my setup, I send a single 0x221 to close the contactors which gives HV_UP and 6Kw discharge capacity. I then added another 0x221 message, as described in this group above, so sending two messages , and this caused HV_UP_FOR_DRIVE which allowed more than 11Kw discharge.
I see that the message is multiplexed but the two messages which I send are both mux1 and the only difference in the second message, according to the DBC files, is "epas" is "ON"
How about on the model 3 2021 system. Does the HVIL pins on both HV motor connectors and aux HV connector need a resistor or just a link on the connectors? and for the penthouse i can't see that there is any switches on the screws for the HVIL, but i suppose there must be one some.?bielec wrote: ↑Fri Jan 13, 2023 5:18 pm Don't know about damage to PCS but have you checked.....
1. Capacitor across the H.V. pins
2. Resistor on X098 across HVIL pins
3. !2v on 2 pins of X098
3. 12v battery across DC/DC stud terminals, + on outside stud
4. If you are using my hacked code for the ESP32 then did you remove the line of code which caused error in transmission?
5. Links on the HVIL pins on both HV motor connectors and aux HV connector
6. CAN data connection on Vehicle bus on X098
7. The penthouse lid screws must be in place to complete the HVIL. I think just the two which hold connector X098
If you use SavvyCan to view data (by hanging an extra can transceiver across the vehicle can lines) then you can view and study the can data stream which will give you information such as HVIL state and will indicate if closure is being attempted and much more.
Its only a link that you need in the original connecters are no restistor, if you messure that out. I have make this vom the insert of the battery, there is a little connector with 2 cables on each HV Connector, if you look from insert to the possition where the connectors are and you can disconnect this, and make a connection between the pins and fix up the calble and mount it on a nother possition.Tiak wrote: ↑Fri Feb 03, 2023 7:52 am How about on the model 3 2021 system. Does the HVIL pins on both HV motor connectors and aux HV connector need a resistor or just a link on the connectors? and for the penthouse i can't see that there is any switches on the screws for the HVIL, but i suppose there must be one some.?
I'm not sure how to interpret your caption. On the M3, the shunt is between the middle batteries, in series with the fuse. Your terminal labeled "-" is connected to "-" terminal of a battery and the other to the the Fuse . The Fuse is connectet to "+" terminal of the next battery.
cheers, yes just want to confirm polarity. i have it between modules just like stock.muehlpower wrote: ↑Wed Feb 08, 2023 5:31 pm I'm not sure how to interpret your caption. On the M3, the shunt is between the middle batteries, in series with the fuse. Your terminal labeled "-" is connected to "-" terminal of a battery and the other to the the Fuse . The Fuse is connected to "+" terminal of the next battery.
Still I can´t get the contactor close by sending 2 message 0x221 and 0x21D. I have SR battery and connect to the rear engine 2021 version. I´ve been trying to send these 2 message in different cycle time 5ms, 10ms, 20ms, 30ms. I keep the battery firmware updated latest 2022.44.30. Will that be any issue?bielec wrote: ↑Mon Jan 16, 2023 11:33 am I have seen Vehicle CAN data logs from ModelY cars which give 16 different versions of 0x221 when in Drive. These 16 messages are repeatedly sent continuously. I have also seen logs which do not do this. This was 1 year ago. You seem to have a group of 2 messages which is different. Perhaps Tesla has changed this in later cars? In my setup, I send a single 0x221 to close the contactors which gives HV_UP and 6Kw discharge capacity. I then added another 0x221 message, as described in this group above, so sending two messages , and this caused HV_UP_FOR_DRIVE which allowed more than 11Kw discharge.
Did you check if the fuse is ok?Nam wrote: ↑Sat Feb 11, 2023 6:49 pm Still I can´t get the contactor close by sending 2 message 0x221 and 0x21D. I have SR battery and connect to the rear engine 2021 version. I´ve been trying to send these 2 message in different cycle time 5ms, 10ms, 20ms, 30ms. I keep the battery firmware updated latest 2022.44.30. Will that be any issue?
I attached the log file that I get from Savvycan, if any one can help me what went wrong?
Thank you.
I checked the pyro fuse, it is OK. I use the complete set of Tesla connector so all pin must be good, only cut the CAN cable to the battery to connect the CAN Arduino for sending the 221 and 2D1 message to the battery pack. If I reconnect the CAN connection cable that I cut to the Front ECU, I have the Pyro fuse status as the picture. SOC is 0% but the voltage measured before the contactors is 339VDC.OOP wrote: ↑Sat Feb 11, 2023 7:03 pm Did you check if the fuse is ok?
Did you close the electric circle for the other connectors? (The 2 small pins in the middle of the connectors, that told the battery that a cable is connected.)
Normally if you do so, the battery makes sending the can requests for closing:
1.) a check if the fuse (if it was not fired - it must be a closed cocked on the 2 fire pins - if the fuse is ok, you had this if you bridge the fuse, you have to care about this too)
2.) after 1 is successful the battery start the precharging phase.
Yes, I connect the battery to the display. Actually almost complete car except doors and some front sensor. However, all peaces are removed from a car and de-assembled in my garage so maybe I may miss out some connection. I manage to get the firmware updated to all ECU including BMS.