Tesla Model S/X DC/DC Converter: Difference between revisions

From openinverter.org wiki
Jump to navigation Jump to search
(changed DCDC command interval to 100ms)
(Categories)
 
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:Tesladcdc.jpg|thumb|Tesla DC-DC converter]]
==Overview==
== Wiring ==
The Tesla Model S/X '''GEN2''' DC-DC Converter is a popular candidate for EV conversions.  It was first available in the Model S around Jan2014, and later in the Model X.  It is located in the frunk area near the cowl.
 
It is not to be confused with the earlier '''GEN1''' DC-DC Converter, whose casing was of a kidney-shape, was located in the RF fenderwell against the firewall, and it incorporated functions of the [[Tesla Model S Front HVJB|front HVJB]]; it contains fuses for the coolant heater, cabin heater, and air-condition compressor, and servicing these fuses was never supported by Tesla (though is frequently performed in the aftermarket), so it developed a reputation for being unreliable due to frequent replacement for blown fuses.  Though the hardware connections are different between GEN1 & GEN2, they both use the same (5) wired connections with the same functions, and the CAN commands appear to (may be) the same.[[File:Tesladcdc.jpg|thumb|Tesla Model S GEN2 DC-DC Converter]]
==Wiring==
 
=== HV ===
HV connector: [http://www.ket.com/resources/web/MG655776/MG655776_2d.pdf KET MG655776 type D]
HV connector: [http://www.ket.com/resources/web/MG655776/MG655776_2d.pdf KET MG655776 type D]


HV+ (positive) line is the one on the leftmost - opposite side of the red 12v output bolt.
[[File:DCDC Connector wiring.jpg|thumb|Minimum required wiring for basic unit function: Seven wires from left):(2) HV Input, (1) HW Enable, (2) CAN (if voltage control is needed), (3) 12VDC Output]]
[[File:DCDCTESLA.jpg|thumb|CAN lines are pins 2 & 3.]]
Note, be careful about which connector you get when salvaging this connector from Telsa wiring harnesses. Specifically, you want the key D variant.
* ''Orange (A/C): MG655773 (key A)''
*''Gray (fluid heater): MG655774 (key B)''
*''Brown (PTC heater): MG655775 (key C)''
*'''<u>Blue (DC-DC): MG655776 (key D)</u>'''
Donor Harness:  Tesla OE/OEM Part Number: 1032804-00-A has two Blue DC-DC plugs.
[[File:PXL 20210514 092652934-min.jpg|alt=Pinout for LV connector is written on the board|thumb|Pinout for LV connector is printed on the board.]]
=== LV & Signalling ===
LV connector: [https://www.molex.com/molex/products/part-detail/crimp_housings/0334721301 Molex 0334721301]
LV connector: [https://www.molex.com/molex/products/part-detail/crimp_housings/0334721301 Molex 0334721301]


HV+ (positive) line is the one on the leftmost - oposite side of the red 12v output bolt.
LV connector (top row)
 
* Pin 1 : HW-EN (Enable ("turn on") via applying 12v+ )
* Pin 2 : CAN H
* Pin 3 : CAN L
 
The remaining pins are for the HVIL loop, and can be ignored if desired, as they do not affect the unit's function.
 
==Control==
 
=== Hardware ===
Although CAN control is an option, it is not necessary as the unit will run comfortably in failsafe mode (i.e. without any CAN input).  Supply 12V to HW-EN (pin 1 on Molex plug), ground the case to the chassis, and the converter starts spitting out 13.5V.  It has been mentioned that under heavy load the voltage may sag, so to enable CAN control see [https://openinverter.org/forum/viewtopic.php?f=10&t=536 this OI forum thread.]
 
=== CAN ===
Two CAN MsgIDs are documented for this unit.  When working with CAN, in some contexts, you need to know the hex (0x) or the decimal (0d) equivalent, eg DBC files and some CAN software requires 0d format, so both are given below:
 
* 0x03D8 (0d984) : Input: Commands to the unit (3 bytes)
* 0x0210 (0d528) : Output: Status Reporting from the unit (7 bytes)
 
==== Commands (0x03D8, 0d984) ====
This CAN command payload is 3 bytes, and must be sent at 500ms intervals. 
 
The first 10 bits (0-9, ''little-endian format'') in the message encodes the output voltage.  The following bit is the DC/DC enable bit<ref>https://openinverter.org/forum/viewtopic.php?p=20995#p20995</ref>:
 
* Byte 0 + Byte 1[0-1] (10 bits total) : (desired voltage - 9) * 146)
* Byte 1[2] = Enable DC output (must be 1 to enable output)
* Byte 1[3-7] : Unknown
* Byte 2 : Unknown
 
===== Example =====
If 14.4V is desired:
 
* Subtract constant 9 from 14.4v =  5.4
* Multiply 5.4 by constant 146 = 788.4
* Convert 788.4 to hex = 0x0315 (expressed as individual bytes: <u><span style="color:red">0x03</span> <span style="color:blue">0x15</span></u>)
*Convert to little-endian format = <u><span style="color:blue">0x15</span> <span style="color:red">0x03</span></u>
*Add 4 to the second byte, to enable DC output = <u>0x15 0x0<span style="color:red">7</span></u>
*Pad with zero byte to assemble the required 3-byte payload: <u>0x15 0x07 <span style="color:red">0x00</span></u>
*Prefix with the command MsgID 0x3D8 : '''<u>0x03D8 0x15 0x07 0x00</u>'''
* Send the MsgID + data payload
 
 
==== Status Reporting (0x0210, 0d528)====
The data is comprised of 7 bytes, which is transmitted at 100ms (10Hz) intervals:
 
* Byte 0 = Status bits (bit 0 = Heater shorted, 1 = Over temperature, 2 = Output under voltage, 3 = Bias Fault, 4 = Input not OK, 5 = Output over voltage, 6 = Output current limited 7 = Heater open circuit)
* Byte 1 = Status bits (bit 0 = Coolant request, 1 = Current thermal limit,  2 = Output voltage regulation fault, 3 = Calibration factor fault)
 
*Byte 2 = coolant inlet temp (0.5C scale, -40 offset)
*Byte 3 = input power (16 W/bit),
*Byte 4 = output current (1 A/bit),
*Byte 5 = output voltage (0.1 V/bit)
 
Note Status Reporting does not work if HW-EN line is not high.
 
Jason Hughes (wk057) posted this DC-DC Converter CAN Status Reporting information<ref>https://skie.net/uploads/TeslaCAN/Tesla%20Model%20S%20CAN%20Deciphering%20-%20v0.1%20-%20by%20wk057.pdf</ref> in Jan2016:
 
[[File:Telsa Model S DC-DC-Converter CAN 01b.png|alt=Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.|thumb|600x600px|Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.|none]]The "CAN3" above refers to the specific CAN bus on the early Tesla Model S, which had (5) (later, (6)) CAN buses.  CAN3 is the Powertrain CAN bus.
 
 


DBC example #1<ref>https://brianman.visualstudio.com/DBCTools/_git/DBCTools?path=/Samples/tesla_models_rwd.dbc&version=GBmaster</ref> for 0x0210 0d'''528''' (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):


For LV connector pin1 (top row) s the enable pin. Pin2 and pin3 are CAN H and CAN L.
&nbsp;&nbsp;&nbsp;BO_ '''528''' DC_DC_Converter_Status: 7 CAN3
[[File:DCDCTESLA.jpg|thumb]]
[[File:DCDC Connector wiring.jpg|thumb]]


== Control ==
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SG_ Inlet_Temperature: 16|8@1- (0.5,40) [0|0] "C" TBD
Although CAN control is an option, it is not necessary as the unit will run quite comfortably in failsafe mode (i.e. without any CAN input). Supply 12V to HW-EN (pin 1 on Molex plug), ground the case to the chassis and the converter starts spitting out 13.5V. It has been mentioned that under heavy load the voltage will sag, so to enable CAN control see [https://openinverter.org/forum/viewtopic.php?f=10&t=536 this OI forum thread.] [[File:PXL 20210514 092652934-min.jpg|alt=Pinout for LV connector is written on the board|thumb|Pinout for LV connector is written on the board]]CAN commands to request 14V at <s>5ms</s> 100ms interval would be 0x2DD, but i need to provide additional +4 value to byte 1 because of enable bit value. Therefore 0x6DD.


Msg is 3 byte long and value of data is swapped little endian so DD is byte0 and 06 is byte1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SG_ Input_Power: 24|8@1+ (16,0) [0|0] "W" TBD


CAN ID 0x3D8 MSG DD 06 00
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SG_ Output_Current: 32|8@1+ (1,0) [0|0] "A" TBD


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SG_ Output_Voltage: 40|8@1+ (0.1,0) [0|0] "V" TBD


Reporting does not work if enable line is not high. Whenever i turn on enable i see reports.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CM_ BO_ 528 "DC-DC Converter Status [10Hz]";


Report is in telegram 0x210


0x210 8 bytes at 100ms
DBC example #2<ref>https://brianman.visualstudio.com/DBCTools/_git/DBCTools?path=%2FSamples%2Ftesla_models.dbc&version=GBmaster</ref> for 0x0210 0d'''528''' (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):


byte 2 = coolant inlet temp,
&nbsp;&nbsp;&nbsp;BO_ 528 DCDC_statusPartial: 2 ETH


byte 3 = input power (16 W/bit),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SG_ DCDC_outputCurrent: 0|8@1+ (1,0) [0|0] "A" X


byte 4 = output current (1 A/bit),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SG_ DCDC_outputVoltage: 8|8@1+ (0.1,0) [0|0] "V" X


byte 5 = output voltage (0.1 V/bit)
==References==
[[Category:OEM]]
[[Category:Tesla]]  
[[Category:Tesla]]  
[[Category:DC/DC]]
[[Category:DC/DC]]
<references />

Latest revision as of 16:59, 20 December 2024

Overview

The Tesla Model S/X GEN2 DC-DC Converter is a popular candidate for EV conversions. It was first available in the Model S around Jan2014, and later in the Model X. It is located in the frunk area near the cowl.

It is not to be confused with the earlier GEN1 DC-DC Converter, whose casing was of a kidney-shape, was located in the RF fenderwell against the firewall, and it incorporated functions of the front HVJB; it contains fuses for the coolant heater, cabin heater, and air-condition compressor, and servicing these fuses was never supported by Tesla (though is frequently performed in the aftermarket), so it developed a reputation for being unreliable due to frequent replacement for blown fuses. Though the hardware connections are different between GEN1 & GEN2, they both use the same (5) wired connections with the same functions, and the CAN commands appear to (may be) the same.

Tesla Model S GEN2 DC-DC Converter

Wiring

HV

HV connector: KET MG655776 type D

HV+ (positive) line is the one on the leftmost - opposite side of the red 12v output bolt.


Minimum required wiring for basic unit function: Seven wires from left):(2) HV Input, (1) HW Enable, (2) CAN (if voltage control is needed), (3) 12VDC Output
CAN lines are pins 2 & 3.

Note, be careful about which connector you get when salvaging this connector from Telsa wiring harnesses. Specifically, you want the key D variant.

  • Orange (A/C): MG655773 (key A)
  • Gray (fluid heater): MG655774 (key B)
  • Brown (PTC heater): MG655775 (key C)
  • Blue (DC-DC): MG655776 (key D)


Donor Harness: Tesla OE/OEM Part Number: 1032804-00-A has two Blue DC-DC plugs.

Pinout for LV connector is written on the board
Pinout for LV connector is printed on the board.

LV & Signalling

LV connector: Molex 0334721301

LV connector (top row)

  • Pin 1 : HW-EN (Enable ("turn on") via applying 12v+ )
  • Pin 2 : CAN H
  • Pin 3 : CAN L

The remaining pins are for the HVIL loop, and can be ignored if desired, as they do not affect the unit's function.

Control

Hardware

Although CAN control is an option, it is not necessary as the unit will run comfortably in failsafe mode (i.e. without any CAN input). Supply 12V to HW-EN (pin 1 on Molex plug), ground the case to the chassis, and the converter starts spitting out 13.5V. It has been mentioned that under heavy load the voltage may sag, so to enable CAN control see this OI forum thread.

CAN

Two CAN MsgIDs are documented for this unit. When working with CAN, in some contexts, you need to know the hex (0x) or the decimal (0d) equivalent, eg DBC files and some CAN software requires 0d format, so both are given below:

  • 0x03D8 (0d984) : Input: Commands to the unit (3 bytes)
  • 0x0210 (0d528) : Output: Status Reporting from the unit (7 bytes)

Commands (0x03D8, 0d984)

This CAN command payload is 3 bytes, and must be sent at 500ms intervals.

The first 10 bits (0-9, little-endian format) in the message encodes the output voltage. The following bit is the DC/DC enable bit[1]:

  • Byte 0 + Byte 1[0-1] (10 bits total) : (desired voltage - 9) * 146)
  • Byte 1[2] = Enable DC output (must be 1 to enable output)
  • Byte 1[3-7] : Unknown
  • Byte 2 : Unknown
Example

If 14.4V is desired:

  • Subtract constant 9 from 14.4v = 5.4
  • Multiply 5.4 by constant 146 = 788.4
  • Convert 788.4 to hex = 0x0315 (expressed as individual bytes: 0x03 0x15)
  • Convert to little-endian format = 0x15 0x03
  • Add 4 to the second byte, to enable DC output = 0x15 0x07
  • Pad with zero byte to assemble the required 3-byte payload: 0x15 0x07 0x00
  • Prefix with the command MsgID 0x3D8 : 0x03D8 0x15 0x07 0x00
  • Send the MsgID + data payload


Status Reporting (0x0210, 0d528)

The data is comprised of 7 bytes, which is transmitted at 100ms (10Hz) intervals:

  • Byte 0 = Status bits (bit 0 = Heater shorted, 1 = Over temperature, 2 = Output under voltage, 3 = Bias Fault, 4 = Input not OK, 5 = Output over voltage, 6 = Output current limited 7 = Heater open circuit)
  • Byte 1 = Status bits (bit 0 = Coolant request, 1 = Current thermal limit, 2 = Output voltage regulation fault, 3 = Calibration factor fault)
  • Byte 2 = coolant inlet temp (0.5C scale, -40 offset)
  • Byte 3 = input power (16 W/bit),
  • Byte 4 = output current (1 A/bit),
  • Byte 5 = output voltage (0.1 V/bit)

Note Status Reporting does not work if HW-EN line is not high.

Jason Hughes (wk057) posted this DC-DC Converter CAN Status Reporting information[2] in Jan2016:

Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.
Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.

The "CAN3" above refers to the specific CAN bus on the early Tesla Model S, which had (5) (later, (6)) CAN buses. CAN3 is the Powertrain CAN bus.


DBC example #1[3] for 0x0210 0d528 (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):

   BO_ 528 DC_DC_Converter_Status: 7 CAN3

      SG_ Inlet_Temperature: 16|8@1- (0.5,40) [0|0] "C" TBD

      SG_ Input_Power: 24|8@1+ (16,0) [0|0] "W" TBD

      SG_ Output_Current: 32|8@1+ (1,0) [0|0] "A" TBD

      SG_ Output_Voltage: 40|8@1+ (0.1,0) [0|0] "V" TBD

      CM_ BO_ 528 "DC-DC Converter Status [10Hz]";


DBC example #2[4] for 0x0210 0d528 (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):

   BO_ 528 DCDC_statusPartial: 2 ETH

      SG_ DCDC_outputCurrent: 0|8@1+ (1,0) [0|0] "A" X

      SG_ DCDC_outputVoltage: 8|8@1+ (0.1,0) [0|0] "V" X

References