Model 3 High Voltage Controller

Topics concerning the Tesla front and rear drive unit drop-in board
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

I tried 2 ohms on the pyrotechnic cell but no different.
I found some suitable can logs and sent them but got some pulsing of input current like before. When this was happening, I noticed a faint pinging from the contactors. So it is trying to energise them and I was suspicious that my psu wasn't up to the job. I measured the contactor coils at 2 ohms which would be 6A at 12v. Then added a jump start battery and heavier wires to suppliment my psu but no better. Scoped the 12v rail and noticed small blips when the energise attempts happened. These were less than 0.5v and were repeated 8 times at 2mS apart and diminished in amplitude towards the last. This suggests to me that there is low voltage on the contactor supply and that it is decaying under load. I suppose this comes from the dcdc, so maybe it is not being energised?
Edit... I checked the voltage on the contactor coil pins and there is none! Or, there is perhaps 0.1v on one of them which is possibly enough to cause the "pinging" I hear when closure is comanded. The Model 3 schematic shows the contactors have "always on" supply at the contactor coils so where has it gone? The 3 fuses are intact and I do have +12v on pins 18 and 8 of X098
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

I notice on the official Tesla Model 3 schematics that the battery pack has two water detectors. It would be reasonable to suspect that contact closure would be prevented if water is detected. The signal names show "Hall sensor" which made me wonder if they were floats with magnets on. Now, I am using my battery in the vertical position and that might upset such sensors. I notice that evtv used their model 3 batteries flat whereas they used model S batteries vertical. Off I went and lowered my battery to the horizontal position and .... still no closure! I am sure the closure is being attempted because of the pulses of supply current I see - there are two pulses half a second or so apart and the current reaches 1.5A or so. This may be the driver firing up but there is only a tiny voltage on the coils.
User avatar
EV_Builder
Posts: 902
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands

Re: Model 3 High Voltage Controller

Post by EV_Builder »

I think you full-fill the requirements of closing the coils but not the ones preventing it from opening.
It could happen that the software cycle is 2mS en thus you measure this as outputs going high and directly low again.
(would be not so nice design but who knows....)

Another option is that the coils are safety controlled (like SIL relais do) then those pulses are only "is there a valid coil connection" pulses.
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

M3221init.csv
(828 Bytes) Downloaded 23 times
Interesting observations today. The "pinging" in the coils stops when I remove the links on the Front and rear drive connector sense pins so that confirms the loop is ok. The pinging is not stopped when I remove the supercharger and ac charger connectors. I am currently sending a group of 0x221 messages found online (attached) and the timing of sending these is important. There must be between 5mS and 50mS delay set in Savvycan for them to work.
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

I now have contact closure! I needed a capacitor across the HV output presumably to satisfy the charge up time of the precharge process.
The contactors take a lot of current at the start and the dcdc converter puts out a lot of voltage too, I saw almost 20v across the battery terminals for a moment. I hope that has not done damage. A large battery is required to absorb that rush
nkiernan
Posts: 268
Joined: Mon Feb 24, 2020 8:59 pm
Location: Ireland

Re: Model 3 High Voltage Controller

Post by nkiernan »

bielec wrote: Sun May 01, 2022 1:09 pm I now have contact closure!
Great work bielec :)
muehlpower
Posts: 328
Joined: Fri Oct 11, 2019 10:51 am
Location: Germany Fürstenfeldbruck

Re: Model 3 High Voltage Controller

Post by muehlpower »

Since I only want to use the HV controller for voltage and temperature monitoring and for balancing, I would be interested in how to initiate balancing.
Greatest respect for your work. Please continue to post any findings.
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

Here is my initial Arduino sketch to display data from the Model 3 battery and operate the contactors. It is based on the EVTV program for the Model S. The cell voltage display is commented out but does work. Send "c" to toggle the contactors on/off. There are a lot of remnants from the original code which are not used.
Attachments
TeslaModelSPackVoltages2.ino
(22.38 KiB) Downloaded 56 times
nkiernan
Posts: 268
Joined: Mon Feb 24, 2020 8:59 pm
Location: Ireland

Re: Model 3 High Voltage Controller

Post by nkiernan »

bielec wrote: Wed May 11, 2022 11:47 am Here is my initial Arduino sketch to display data from the Model 3 battery and operate the contactors. It is based on the EVTV program for the Model S. The cell voltage display is commented out but does work. Send "c" to toggle the contactors on/off. There are a lot of remnants from the original code which are not used.
Nice work Bielec :) looking forward to trying this on my disassembled pack
collin80
Posts: 107
Joined: Sun Aug 30, 2020 3:28 pm
Location: United States, Michigan
Contact:

Re: Model 3 High Voltage Controller

Post by collin80 »

bielec wrote: Sun May 01, 2022 1:09 pm I now have contact closure! I needed a capacitor across the HV output presumably to satisfy the charge up time of the precharge process.
The contactors take a lot of current at the start and the dcdc converter puts out a lot of voltage too, I saw almost 20v across the battery terminals for a moment. I hope that has not done damage. A large battery is required to absorb that rush
The Model 3 works by taking your 12V input and using a DC/DC converter to "precharge" by literally generating the full pack voltage from 12V. I don't entirely know why they did that, probably so they don't need a precharge resistor. They just pump energy into the HV system until it charges up and then close the contactors. So, you probably really won't be able to close the contactors until it sees a voltage on the output that matches the voltage of the battery. Once they're close the contactors can close without any arcing. It's ingenious in a way and really quite odd in other ways. I haven't heard of DC/DC charge pumping as a precharge system before. But, it's a pretty neat idea.
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

collin80 wrote: Thu May 12, 2022 10:54 pm The Model 3 works by taking your 12V input and using a DC/DC converter to "precharge" by literally generating the full pack voltage from 12V. I don't entirely know why they did that, probably so they don't need a precharge resistor.
Probably because they didn't like using a precharge R. which charges exponentially and only gets there at time=infinity. A flyback type step up converter is more or less constant current while ramping up so would give a linear ramp up to the target voltage and thus make timing easy to predict.
User avatar
EV_Builder
Posts: 902
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands

Re: Model 3 High Voltage Controller

Post by EV_Builder »

bielec wrote: Fri May 13, 2022 2:39 pm
collin80 wrote: Thu May 12, 2022 10:54 pm The Model 3 works by taking your 12V input and using a DC/DC converter to "precharge" by literally generating the full pack voltage from 12V. I don't entirely know why they did that, probably so they don't need a precharge resistor.
Probably because they didn't like using a precharge R. which charges exponentially and only gets there at time=infinity. A flyback type step up converter is more or less constant current while ramping up so would give a linear ramp up to the target voltage and thus make timing easy to predict.
The biggest question is how much complexity you need to add to the DC/DC converter. If that's not to much then its an easy gain of energy losses, space , costs etc.
collin80
Posts: 107
Joined: Sun Aug 30, 2020 3:28 pm
Location: United States, Michigan
Contact:

Re: Model 3 High Voltage Controller

Post by collin80 »

EV_Builder wrote: Fri May 13, 2022 2:58 pm The biggest question is how much complexity you need to add to the DC/DC converter. If that's not to much then its an easy gain of energy losses, space , costs etc.
Probably not a lot I'd guess. If their DC/DC is already a buck/boost type (or similar) system then it probably can work both directions. So, if you are already doing 400V -> 12V it may be more or less possible to go backward and do 12V -> 400V instead. But, that only works on certain types of DC/DC converter. Still, I haven't heard of other manufacturers doing this. I'd love to hear if any of them are. I have a Bolt and it uses a resistor. All the older Teslas use a resistor. The Model 3/Y seem like the first I've heard of any company doing this. But, I still do think it's a pretty neat idea.
vdawger
Posts: 5
Joined: Sat Dec 18, 2021 3:40 am

Re: Model 3 High Voltage Controller

Post by vdawger »

bielec wrote: Sun May 01, 2022 1:09 pm I now have contact closure! I needed a capacitor across the HV output presumably to satisfy the charge up time of the precharge process.
The contactors take a lot of current at the start and the dcdc converter puts out a lot of voltage too, I saw almost 20v across the battery terminals for a moment. I hope that has not done damage. A large battery is required to absorb that rush
Has anyone been able to get the model 3 battery pack contactors to close without a capacitor of some sort connected across the HV output?

I'm wondering if this has been my problem all along.
bielec
Posts: 17
Joined: Tue Apr 19, 2022 12:17 pm
Location: Aberdeenshire

Re: Model 3 High Voltage Controller

Post by bielec »

vdawger wrote: Mon May 16, 2022 2:35 am
Has anyone been able to get the model 3 battery pack contactors to close without a capacitor of some sort connected across the HV output?

I'm wondering if this has been my problem all along.
To be clear, I connected a 1000uF 450v capacitor across one of the motor output connectors. Both the motor connectors (edit) and the ancilliary hv connector (edit) had the small HVIL pins shorted. Many different 0x221 messages would cause closure but I ended up sending the one in the code below. It was sent repeatedly at 30mS intervals. 60mS was too slow and 5mS too fast. I used an Arduino Due with Collin Kidders excellent CAN library.

Now if anyone can tell me how to activate the internal charger on 240v ac I would be much obliged. I see Damien McGuire has activated the charger by bypassing the HV controller. Do you think we could just send the same commands as he does , but to the HV controller?

Code: Select all

void send221frame()                     // causes contact closure
{
        outframe.id = 0x221;            // Set our transmission address ID
        outframe.length = 8;            // Data payload 8 bytes
        outframe.extended = 0;          // Extended addresses - 0=11-bit 1=29bi
        outframe.rtr=1;                 //No request
        outframe.data.bytes[0]=0x41;
        outframe.data.bytes[1]=0x11;  
        outframe.data.bytes[2]=0x01;
        outframe.data.bytes[3]=0x00;
        outframe.data.bytes[4]=0x00;
        outframe.data.bytes[5]=0x00;
        outframe.data.bytes[6]=0x20;
        outframe.data.bytes[7]=0x96;
        
  Can0.sendFrame(outframe);    //Mail it                    
}
[code]
vdawger
Posts: 5
Joined: Sat Dec 18, 2021 3:40 am

Re: Model 3 High Voltage Controller

Post by vdawger »

Thanks to the help of everyone on this forum and especially bielec, I was able to get HV contact closure. I did indeed need a capacitor connected to the output of the HV lines of the battery.

I now have 2 issues I'm wondering if anyone else has encoutered. They may be related.

1) The HV contactors no longer close. They get to the below message. I get no precharge ramp up on the HV lines, and then it switches back to open.

Code: Select all

D1 12 09 42 18 01    <ID20AHVP_contactorState>
HVP_dcLinkAllowedToEnergize: 1
HVP_fcContNegativeAuxOpen: 1
HVP_fcContNegativeState: CONTACTOR_STATE_OPEN
HVP_fcContPositiveAuxOpen: 1
HVP_fcContPositiveState: CONTACTOR_STATE_OPEN
HVP_fcContactorSetState: CONTACTOR_SET_STATE_OPEN
HVP_fcCtrsClosingAllowed: 0
HVP_fcCtrsOpenNowRequested: 0
HVP_fcCtrsOpenRequested: 0
HVP_fcCtrsRequestStatus: REQUEST_COMPLETED
HVP_fcCtrsResetRequestRequired: 0
HVP_fcLinkAllowedToEnergize: FC_LINK_ENERGY_NONE
HVP_hvilStatus: STATUS_OK                    <!----
HVP_packContNegativeState: CONTACTOR_STATE_OPEN
HVP_packContPositiveState: CONTACTOR_STATE_PRECHARGE
HVP_packContactorSetState: CONTACTOR_SET_STATE_CLOSING   <!-----
HVP_packCtrsClosingAllowed: 1
HVP_packCtrsOpenNowRequested: 0
HVP_packCtrsOpenRequested: 0
HVP_packCtrsRequestStatus: REQUEST_ACTIVE
HVP_packCtrsResetRequestRequired: 0
HVP_pyroTestInProgress: 0
I also get this, which is new for me.

Code: Select all

53 00 02 00 FF FF 00 00    <ID232BMS_contactorRequest>
BMS_ensShouldBeActiveForDrive: 0
BMS_fcContactorRequest: SET_REQUEST_OPEN_IMMEDIATELY  <!------
BMS_fcLinkOkToEnergizeRequest: 3
BMS_gpoHasCompleted: 1
BMS_internalHvilSenseV: 0V
BMS_packContactorRequest: SET_REQUEST_OPEN
BMS_pcsPwmDisable: 0

2) I am now trying to get the model 3 complete battery pack to charge via the standard model 3 charge port. I've been replicating can logs taken from a model 3 during charging. However, I now get the following two messages:

Code: Select all

82 C5 00 00 00 06 10 5B    <ID224PCSDCDCstatus>
DCDC12VSupportRtyCnt224: 0
DCDC12VSupportStatus224: 0
DCDCDischargeRtyCnt224: 0
DCDCFaulted224: 1
DCDCHvBusDischargeStatus224: 0
DCDCInitialPrechargeSubState224: 11
DCDCoutputCurrent224: 0A
DCDCstate224: Error                           <!------
DCDCoutputCurrentMax224: 0A
DCDCOutputIsLimited224: 0
DCDCPrechargeRestartCnt224: 3
DCDCPrechargeRtyCnt224: 3
DCDCPrechargeStatus224: 2
DCDCPwmEnableLine224: 1
DCDCSubState224: NUM
DCDCSupportingFixedLvTarget224: 0
PCS_ecuLogUploadRequest224: 0

Code: Select all

38 00 00 00 00 00 00 00    <ID204PCS_chgStatus>
PCS_chargeShutdownRequest: NO_SHUTDOWN_REQUESTED
PCS_chgInstantAcPowerAvailable: 0kW
PCS_chgMainState: PCS_CHG_STATE_FAULTED   <!--------
PCS_chgMaxAcPowerAvailable: 0kW
PCS_chgPHAEnable: 0
PCS_chgPHALineCurrentRequest: 0A
PCS_chgPHBEnable: 0
PCS_chgPHBLineCurrentRequest: 0A
PCS_chgPHCEnable: 0
PCS_chgPHCLineCurrentRequest: 0A
PCS_chgPwmEnableLine: 0
PCS_gridConfig: GRID_CONFIG_SNA
PCS_hvChargeStatus: PCS_CHARGE_FAULTED
PCS_hwVariantType: PCS_48A_SINGLE_PHASE_VARIANT

Has anyone else gotten the PCS_CHARGE_FAULTED codes from their PCS?
If so, were you able to reset the PCS? Would love to find a software solution before opening it up to look for a hardware fault.

I believe the contactors refusing to open and the PCS fault are related, but it could also be the SOC. Anyone else seen unusual behavior when the SOC gets very low? My full battery pack stopped closing the contactors when I got to around 1.2% SOC. Pack voltage still at ~280V.
nkiernan
Posts: 268
Joined: Mon Feb 24, 2020 8:59 pm
Location: Ireland

Re: Model 3 High Voltage Controller

Post by nkiernan »

bielec wrote: Wed May 11, 2022 11:47 am Here is my initial Arduino sketch to display data from the Model 3 battery and operate the contactors. It is based on the EVTV program for the Model S. The cell voltage display is commented out but does work. Send "c" to toggle the contactors on/off. There are a lot of remnants from the original code which are not used.
Is "msgID6F2.h" available anywhere, doesn't seem to show up in various searches and arduino sketch needs it to compile?
vdawger
Posts: 5
Joined: Sat Dec 18, 2021 3:40 am

Re: Model 3 High Voltage Controller

Post by vdawger »

I don't believe you need 0x6F2 for the model 3. I was able to get it to work on the model 3 battery without it. You do need to modify the code in the sketch though.

I think it's a model S specific code.
vdawger
Posts: 5
Joined: Sat Dec 18, 2021 3:40 am

Re: Model 3 High Voltage Controller

Post by vdawger »

You'll need to modify the pins based on the board you're using.
Model3ContactorClose.ino
Modified slightly more to focus on model 3
(18.94 KiB) Downloaded 17 times
nkiernan
Posts: 268
Joined: Mon Feb 24, 2020 8:59 pm
Location: Ireland

Re: Model 3 High Voltage Controller

Post by nkiernan »

vdawger wrote: Fri Aug 05, 2022 5:46 pm You'll need to modify the pins based on the board you're using. Model3ContactorClose.ino
That's great, thank you for sharing, I'll get to try this tomorrow. Is it possible to read out the individual temperatures, not just the min and max? I believe there are 16, so four per module.
Post Reply