<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.eaa-phev.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Perfectsky</id>
	<title>My wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.eaa-phev.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Perfectsky"/>
	<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/Special:Contributions/Perfectsky"/>
	<updated>2026-05-16T23:41:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4253</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4253"/>
		<updated>2007-03-08T23:18:33Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Original generation */adding terminology&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1, referred to as Mk1 in Australia and the UK, where it has occasionally been privately imported)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Almost always called Gen 1 in North America, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug disconnect/connect sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
A simple reed switch, which is integrated into the 2004-up Prius service plug, is opened during the service plug removal sequence, just BEFORE the service plug opens the battery circuit. Upon re-installation, the switch is closed (shorted) just AFTER the service plug completes the circuit. Two pins connect the reed switch to the battery ECU. The purpose of this switch is to tell the battery ECU that the service plug is being removed, so that the system main relays can be opened prior to disconnecting the battery in the event that the service plug is inadvertently being removed while the system is in READY mode. Toyota warns that the HV ECU can be damaged if the power switch is engaged with the service plug disconnected.&lt;br /&gt;
&lt;br /&gt;
NOTE: If the service plug in not firmly pushed down after insertion, the switch will not close, the system will not ready up, and a DTC will be set. This is a common oversight.&lt;br /&gt;
&lt;br /&gt;
The service plug disconnect/connect sensor is a failsafe that prevents arcing at the service plug. It is not present on the service plug used in 1997-2003 Prius vehicles, but is integrated into the receptacle for the plug.&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay K1 (precharge resistor)&lt;br /&gt;
* System relay K2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay K3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
==== System Relays ====&lt;br /&gt;
&lt;br /&gt;
Toyota refers to this assembly as an SMR (System Main Relay). In truth, there are three separate System Main Relays, housed in the drivers' side end of the battery pack enclosure:&lt;br /&gt;
* a precharge relay in series with a precharge resistor&lt;br /&gt;
* 2 contactors, one on the positive circuit and one on the negative circuit.&lt;br /&gt;
&lt;br /&gt;
The system relays (contactors) are turned on in this sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:PriusContactorSequence.gif]]&lt;br /&gt;
&lt;br /&gt;
At power up:&lt;br /&gt;
* The precharge relay is turned on first by itself (which results in no current, because there is no return path), and then turned off. This function checks for a stuck relay on the negative side. If that relay was stuck, current would be present. The HV ECU would then record a DTC before shutting itself down. The DTC would have to be cleared and the problem corrected before the vehicle will re-enter READY status.&lt;br /&gt;
* After a pause, the precharge relay and the negative contactors are turned on, to precharge the electronics in the vehicle slowly, through the system resistor. &lt;br /&gt;
* Then the positive contactor is turned on, to complete a direct path between the battery and the vehicle electronics. &lt;br /&gt;
* Then the precharge relay is turned off.&lt;br /&gt;
&lt;br /&gt;
At power down:&lt;br /&gt;
* The positive contactor is turned off, removing power to the vehicle electronics. This is the only time when arcing may occur. Arcing on its contacts will affect its lifetime.&lt;br /&gt;
* Then the negative contactor is turned off. &lt;br /&gt;
&lt;br /&gt;
There is a hump in the waveforms, as the voltage goes from 10 V to 12 V. This is probably due to the DC-DC converter (from the traction battery voltage to the 12 V battery) being on.&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Actual battery voltage at 175 V or less (regardless of what you tell it the voltage is). Or, telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4252</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4252"/>
		<updated>2007-03-08T23:17:19Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Original generation */calrifying common usage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Almost always called Gen 1 in North America, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug disconnect/connect sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
A simple reed switch, which is integrated into the 2004-up Prius service plug, is opened during the service plug removal sequence, just BEFORE the service plug opens the battery circuit. Upon re-installation, the switch is closed (shorted) just AFTER the service plug completes the circuit. Two pins connect the reed switch to the battery ECU. The purpose of this switch is to tell the battery ECU that the service plug is being removed, so that the system main relays can be opened prior to disconnecting the battery in the event that the service plug is inadvertently being removed while the system is in READY mode. Toyota warns that the HV ECU can be damaged if the power switch is engaged with the service plug disconnected.&lt;br /&gt;
&lt;br /&gt;
NOTE: If the service plug in not firmly pushed down after insertion, the switch will not close, the system will not ready up, and a DTC will be set. This is a common oversight.&lt;br /&gt;
&lt;br /&gt;
The service plug disconnect/connect sensor is a failsafe that prevents arcing at the service plug. It is not present on the service plug used in 1997-2003 Prius vehicles, but is integrated into the receptacle for the plug.&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay K1 (precharge resistor)&lt;br /&gt;
* System relay K2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay K3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
==== System Relays ====&lt;br /&gt;
&lt;br /&gt;
Toyota refers to this assembly as an SMR (System Main Relay). In truth, there are three separate System Main Relays, housed in the drivers' side end of the battery pack enclosure:&lt;br /&gt;
* a precharge relay in series with a precharge resistor&lt;br /&gt;
* 2 contactors, one on the positive circuit and one on the negative circuit.&lt;br /&gt;
&lt;br /&gt;
The system relays (contactors) are turned on in this sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:PriusContactorSequence.gif]]&lt;br /&gt;
&lt;br /&gt;
At power up:&lt;br /&gt;
* The precharge relay is turned on first by itself (which results in no current, because there is no return path), and then turned off. This function checks for a stuck relay on the negative side. If that relay was stuck, current would be present. The HV ECU would then record a DTC before shutting itself down. The DTC would have to be cleared and the problem corrected before the vehicle will re-enter READY status.&lt;br /&gt;
* After a pause, the precharge relay and the negative contactors are turned on, to precharge the electronics in the vehicle slowly, through the system resistor. &lt;br /&gt;
* Then the positive contactor is turned on, to complete a direct path between the battery and the vehicle electronics. &lt;br /&gt;
* Then the precharge relay is turned off.&lt;br /&gt;
&lt;br /&gt;
At power down:&lt;br /&gt;
* The positive contactor is turned off, removing power to the vehicle electronics. This is the only time when arcing may occur. Arcing on its contacts will affect its lifetime.&lt;br /&gt;
* Then the negative contactor is turned off. &lt;br /&gt;
&lt;br /&gt;
There is a hump in the waveforms, as the voltage goes from 10 V to 12 V. This is probably due to the DC-DC converter (from the traction battery voltage to the 12 V battery) being on.&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Actual battery voltage at 175 V or less (regardless of what you tell it the voltage is). Or, telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=PriusPlus_History-PseudoCode&amp;diff=4127</id>
		<title>PriusPlus History-PseudoCode</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=PriusPlus_History-PseudoCode&amp;diff=4127"/>
		<updated>2007-02-18T05:57:39Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* CAN Parameters */cleaning up spelling and grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PriusPlus History}}&lt;br /&gt;
&lt;br /&gt;
This is the '''Prius PHEV Pseudo Code''' which determines how the [[Prius PHEV#CalCars Method]] implementation functions.  &lt;br /&gt;
It may be incomplete and is intended to be general enough to be implemented with various [[Prius PHEV User Interfaces]] hardware and software.&lt;br /&gt;
Its primary goal is to exploit [[State Of Charge Drift]] in order to accomplish [[State Of Charge Manipulation]].&lt;br /&gt;
&lt;br /&gt;
==CAN Parameters==&lt;br /&gt;
These are [[CAN]] Parameters of particular interest used in the pseudo code:&lt;br /&gt;
* '''[[SOC]]''' - The reported SOC is used to determine when to enable the SOC Spoofing circuit which raises the perceived or reported SOC.&lt;br /&gt;
* '''Speed''' - Used to determine when to re-enter EV-mode after leaving it due to high speed or power demand.&lt;br /&gt;
* '''Voltage''' - The reported Voltage is that measured by the Prius which may or may not be the '''Real Voltage'''.&lt;br /&gt;
* '''Amperage''' - The reported Amperage is the amount of current being removed from or added to the battery.&lt;br /&gt;
* '''Temperature''' - Battery temp used for temperature conpensation.&lt;br /&gt;
* '''Spoof Voltage''' - Determined by measuring the difference in reported '''Voltage''' which occurs when the SOC Spoofing circuit is enabled.&lt;br /&gt;
* '''Real Voltage''' - Used to determine the replacement HV batteries real SOC.&lt;br /&gt;
** Real Voltage is reported '''Voltage''' if the SOC Spoof circuit is disabled.&lt;br /&gt;
** Real Voltage is ''Spoof Voltage'' subtracted from reported '''Voltage''' if SOC Spoof circuit is enabled.&lt;br /&gt;
* '''Real SOC''' - Could be determined in a number of ways using '''Real Voltage''' and reported '''Amperage'''. &amp;lt;br&amp;gt; '' ''' This aspect had not been fully resolved, so more details are sure to come at a later time''' ''&lt;br /&gt;
** Zero Crossing SOC - Used to determine the real SOC by measuring '''Real Voltage''' as '''Amperage''' crosses zero.&lt;br /&gt;
** Under Load SOC - Used by combining '''Real Voltage''' and reported '''Amperage''' in a manner to determine the batteries internal resistance, which is an indication the batteries SOC.&lt;br /&gt;
** Watt Hour SOC - By counting Watt Hours removed from and added to the battery one can determine how much energy is left in a battery given that you knew how much you had to begin with, the capacity of the battery, and its Peukert characteristics.  Unfortunantly WH counting is unlikely to be accurate based on the amperage, voltage, and power levels reported on the CAN buss as these are pre-filtered.  Additional hardware such as a dedicated WH meter would be necessary to implement this type of SOC indication. However it may not be a bad idea to use such a device even if not integrated as a control device.&lt;br /&gt;
*** [[EVDL_Maillist:2005./7./115|EVDL_Maillist:2005./7./115 State of Charge calculations]] - Lee Hart [http://autos.groups.yahoo.com/group/ev-list-archive/message/42428] [http://autos.groups.yahoo.com/group/ev-list-archive/message/42128]&lt;br /&gt;
*** [[EVDL_Maillist:2003./8./333|EVDL_Maillist:2003./8./333 Looking for a dual needle gauge ( amps &amp;amp; volts )]] - T Humphrey - [http://www.qsl.net/k5lxp/ev/evgauge/evgauge.html Mark Brueggemann's meter]&lt;br /&gt;
&amp;lt;!-- 1.75VPC (Volts Per Cell) at 75A draw.&lt;br /&gt;
 Measured/Calculated Battery Pack Impedance Chart&lt;br /&gt;
 As measured at the input to the controller.&lt;br /&gt;
 SOC 	NoLoadV Pack Z 		Pack V @X Amps 		0A 	75A 	150A 	225A 	300A&lt;br /&gt;
 100% 	153.36 	.13920 Ohms 		: 	 	153.36 	142.90 	132.50 	122.00 	111.60&lt;br /&gt;
 50% 	147.60 	.16908 Ohms 		: 	 	147.60 	134.90 	122.20 	109.60 	96.90&lt;br /&gt;
 0% 	141.84 	.19920 Ohms 		: 	 	141.84 	126.90 	112.00 	97.00 	82.10&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*** [http://shop.altenergystore.com/itemdesc~product~Link+10+Deluxe+Battmon%2D1000a+Shnt%2C+Rs232~ic~XANLINK10%2D1000A~eq~~Tp~.htm  Xantrex Link 10]&lt;br /&gt;
*** [[WikiPedia:Battery pack]] for more SOC calculation discussions.&lt;br /&gt;
&lt;br /&gt;
==User Settings==&lt;br /&gt;
* Note: Below within the code logic ''_XX_'' are user settings, the listed value is a best guess default for that setting.  These may need to be changed in order to allow for various battery chemestries and user preferances.&lt;br /&gt;
** ''_30_''seconds - Denied Timeout&lt;br /&gt;
** ''_78_''% - Spoof circuit enable SOC level&lt;br /&gt;
** ''_20_''% - Real SOC lower limit&lt;br /&gt;
** ''_40_''% - Real SOC PHEV entry lower limit&lt;br /&gt;
** ''_33_''MPH - EV-Mode re-entry speed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pseudo Code Logic==&lt;br /&gt;
* Initialization and Discovery:&lt;br /&gt;
** Upon startup the current state of the system is unknow, has the battery been left discharged or is it fully charged?&lt;br /&gt;
*** Determine current '''Real SOC''', using '''Temperature''' compensated no-load or zero-crossing '''Real Voltage'''.&lt;br /&gt;
** Depending on the user settings and the CAN management device PHEV mode might be entered immediatly given that '''Real SOC''' is high enough.  ''Temperature might also be considered if it is very low, sub-freezing?''. ''Defroster settings might also disable PHEV-Mode from the Prius side of the system''.&lt;br /&gt;
*** Enter EV-Mode, Verify EV-Mode was entered&lt;br /&gt;
**** If EV-Mode denied, timeout re-attempts for ''_30_'' seconds&lt;br /&gt;
** If '''SOC''' &amp;lt; ''_78_''%&lt;br /&gt;
*** Then enable SOC Spoof circuit&lt;br /&gt;
**** Measure voltage differance to aquire '''Spoof Voltage'''.  ''Cycling of the SOC Spoofing circuit for multiple samples may provide more accurate readings''. ''This setting might be saved by the CAN management device as it should rarely change and is manually set''.&lt;br /&gt;
*** Else disable SOC Spoof circuit&lt;br /&gt;
**** still enable momentarily to determine '''Spoof Voltage'''.&lt;br /&gt;
&lt;br /&gt;
* PHEV-Mode Loop Start&lt;br /&gt;
** If '''SOC''' &amp;lt; ''_78_''%&lt;br /&gt;
*** Then enable SOC Spoof circuit&lt;br /&gt;
*** Else disable SOC Spoof circuit&lt;br /&gt;
** If '''Speed''' &amp;lt; ''_33_'' MPH and EV-Mode is not enabled&lt;br /&gt;
*** Re-enable EV-mode&lt;br /&gt;
**** If EV-mode denied, timeout re-attempts for ''_30_'' seconds&lt;br /&gt;
** If '''Real SOC''' &amp;lt; ''_30_''%&lt;br /&gt;
*** Then leave PHEV mode and return to normal HEV mode, End PHEV-Mode Loop, Enter HEV-Mode Loop.&lt;br /&gt;
** Return to PHEV-Mode Loop Start&lt;br /&gt;
&lt;br /&gt;
* HEV-Mode Loop Start&lt;br /&gt;
** If '''Real SOC''' &amp;gt; ''_40_''%&lt;br /&gt;
*** Then re-enter PHEV-Mode Loop&lt;br /&gt;
* Return to HEV-Mode Loop Start&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:CalCars]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4121</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4121"/>
		<updated>2007-02-16T07:59:27Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Cabling to traction battery */cleaning up recent edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug disconnect/connect sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
A simple reed switch, which is integrated into the 2004-up Prius service plug, is opened during the service plug removal sequence, just BEFORE the service plug opens the battery circuit. Upon re-installation, the switch is closed (shorted) just AFTER the service plug completes the circuit. Two pins connect the reed switch to the battery ECU. The purpose of this switch is to tell the battery ECU that the service plug is being removed, so that the system main relays can be opened prior to disconnecting the battery in the event that the service plug is inadvertently being removed while the system is in READY mode. Toyota warns that the HV ECU can be damaged if the power switch is engaged with the service plug disconnected.&lt;br /&gt;
&lt;br /&gt;
NOTE: If the service plug in not firmly pushed down after insertion, the switch will not close, the system will not ready up, and a DTC will be set. This is a common oversight.&lt;br /&gt;
&lt;br /&gt;
The service plug disconnect/connect sensor is a failsafe that prevents arcing at the service plug. It is not present on the service plug used in 1997-2003 Prius vehicles, but is integrated into the receptacle for the plug.&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay K1 (precharge resistor)&lt;br /&gt;
* System relay K2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay K3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
==== System Relays ====&lt;br /&gt;
&lt;br /&gt;
Toyota refers to this assembly as an SMR (System Main Relay). In truth, there are three separate System Main Relays, housed in the drivers' side end of the battery pack enclosure:&lt;br /&gt;
* a precharge relay in series with a precharge resistor&lt;br /&gt;
* 2 contactors, one on the positive circuit and one on the negative circuit.&lt;br /&gt;
&lt;br /&gt;
The system relays (contactors) are turned on in this sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:PriusContactorSequence.gif]]&lt;br /&gt;
&lt;br /&gt;
At power up:&lt;br /&gt;
* The precharge relay is turned on first by itself (which results in no current, because there is no return path), and then turned off. This function checks for a stuck relay on the negative side. If that relay was stuck, current would be present. The HV ECU would then record a DTC before shutting itself down. The DTC would have to be cleared and the problem corrected before the vehicle will re-enter READY status.&lt;br /&gt;
* After a pause, the precharge relay and the negative contactors are turned on, to precharge the electronics in the vehicle slowly, through the system resistor. &lt;br /&gt;
* Then the positive contactor is turned on, to complete a direct path between the battery and the vehicle electronics. &lt;br /&gt;
* Then the precharge relay is turned off.&lt;br /&gt;
&lt;br /&gt;
At power down:&lt;br /&gt;
* The positive contactor is turned off, removing power to the vehicle electronics. This is the only time when arcing may occur. Arcing on its contacts will affect its lifetime.&lt;br /&gt;
* Then the negative contactor is turned off. &lt;br /&gt;
&lt;br /&gt;
There is a hump in the waveforms, as the voltage goes from 10 V to 12 V. This is probably due to the DC-DC converter (from the traction battery voltage to the 12 V battery) being on.&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4120</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4120"/>
		<updated>2007-02-16T07:47:16Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* System Relays */cleaning up earlier edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug disconnect/connect sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
A simple reed switch, which is integrated into the 2004-up Prius service plug, is opened during the service plug removal sequence, just BEFORE the service plug opens the battery circuit. Upon re-installation, the switch is closed (shorted) just AFTER the service plug completes the circuit. Two pins connect the reed switch to the battery ECU. The purpose of this switch is to tell the battery ECU that the service plug is being removed, so that the system main relays can be opened prior to disconnecting the battery in the event that the service plug is inadvertently being removed while the system is in READY mode. Toyota warns that the HV ECU can be damaged if the power switch is engaged with the service plug disconnected.&lt;br /&gt;
&lt;br /&gt;
NOTE: If the service plug in not firmly pushed down after insertion, the switch will not close, the system will not ready up, and a DTC will be set.&lt;br /&gt;
&lt;br /&gt;
The service plug disconnect/connect sensor is a failsafe that prevents arcing at the service plug. It is not present on 1997-2003 Prius vehicles.&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay K1 (precharge resistor)&lt;br /&gt;
* System relay K2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay K3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
==== System Relays ====&lt;br /&gt;
&lt;br /&gt;
Toyota refers to this assembly as an SMR (System Main Relay). In truth, there are three separate System Main Relays, housed in the drivers' side end of the battery pack enclosure:&lt;br /&gt;
* a precharge relay in series with a precharge resistor&lt;br /&gt;
* 2 contactors, one on the positive circuit and one on the negative circuit.&lt;br /&gt;
&lt;br /&gt;
The system relays (contactors) are turned on in this sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:PriusContactorSequence.gif]]&lt;br /&gt;
&lt;br /&gt;
At power up:&lt;br /&gt;
* The precharge relay is turned on first by itself (which results in no current, because there is no return path), and then turned off. This function checks for a stuck relay on the negative side. If that relay was stuck, current would be present. The HV ECU would then record a DTC before shutting itself down. The DTC would have to be cleared and the problem corrected before the vehicle will re-enter READY status.&lt;br /&gt;
* After a pause, the precharge relay and the negative contactors are turned on, to precharge the electronics in the vehicle slowly, through the system resistor. &lt;br /&gt;
* Then the positive contactor is turned on, to complete a direct path between the battery and the vehicle electronics. &lt;br /&gt;
* Then the precharge relay is turned off.&lt;br /&gt;
&lt;br /&gt;
At power down:&lt;br /&gt;
* The positive contactor is turned off, removing power to the vehicle electronics. This is the only time when arcing may occur. Arcing on its contacts will affect its lifetime.&lt;br /&gt;
* Then the negative contactor is turned off. &lt;br /&gt;
&lt;br /&gt;
There is a hump in the waveforms, as the voltage goes from 10 V to 12 V. This is probably due to the DC-DC converter (from the traction battery voltage to the 12 V battery) being on.&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4119</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4119"/>
		<updated>2007-02-15T20:21:44Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Cabling to traction battery */info on service plug reed switch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug disconnect/connect sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
A simple reed switch, which is integrated into the 2004-up Prius service plug, is opened during the service plug removal sequence, just BEFORE the service plug opens the battery circuit. Upon re-installation, the switch is closed (shorted) just AFTER the service plug completes the circuit. Two pins connect the reed switch to the battery ECU. The purpose of this switch is to tell the battery ECU that the service plug is being removed, so that the system main relays can be opened prior to disconnecting the battery in the event that the service plug is inadvertently being removed while the system is in READY mode. Toyota warns that the HV ECU can be damaged if the power switch is engaged with the service plug disconnected.&lt;br /&gt;
&lt;br /&gt;
NOTE: If the service plug in not firmly pushed down after insertion, the switch will not close, the system will not ready up, and a DTC will be set.&lt;br /&gt;
&lt;br /&gt;
The service plug disconnect/connect sensor is a failsafe that prevents arcing at the service plug. It is not present on 1997-2003 Prius vehicles.&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay K1 (precharge resistor)&lt;br /&gt;
* System relay K2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay K3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
==== System Relays ====&lt;br /&gt;
&lt;br /&gt;
Toyota refers to this assembly as an SMR (System Main Relay). In truth, there are three separate System Main Relays:&lt;br /&gt;
* a precharge relay in series with a precharge resistor&lt;br /&gt;
* 2 contactors, one on the positive circuit and one on the negative circuit.&lt;br /&gt;
&lt;br /&gt;
The system relays (contactors) are turned on in this sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:PriusContactorSequence.gif]]&lt;br /&gt;
&lt;br /&gt;
At power up:&lt;br /&gt;
* The precharge relay is turned on first by itself (which results in no current, because there is no return path), and then turned off. This function checks for a stuck relay on the negative side. If that relay was stuck, current would be present. The HV ECu would then record a DTC before shutting itself down.&lt;br /&gt;
* After a pause, the precharge relay and the negative contactors are turned on, to precharge the electronics in the vehicle slowly, through the system resistor. &lt;br /&gt;
* Then the positive contactor is turned on, to complete a direct path between the battery and the vehicle electronics. &lt;br /&gt;
* Then the precharge relay is turned off.&lt;br /&gt;
&lt;br /&gt;
At power down:&lt;br /&gt;
* The positive contactor is turned off, removing power to the vehicle electronics. This is the only time when arcing may occur. Arcing on its contacts will affect its lifetime.&lt;br /&gt;
* Then the negative contactor is turned off. &lt;br /&gt;
&lt;br /&gt;
There is a hump in the waveforms, as the voltage goes from 10 V to 12 V. This is probably due to the DC-DC converter (from the traction battery voltage to the 12 V battery) being on.&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4117</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4117"/>
		<updated>2007-02-15T17:48:37Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* System Relays */expanding on description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Two pins. Shorted when the Service Plug is fully plugged-in&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay K1 (precharge resistor)&lt;br /&gt;
* System relay K2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay K3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
==== System Relays ====&lt;br /&gt;
&lt;br /&gt;
Toyota refers to this assembly as an SMR (System Main Relay). In truth, there are three separate System Main Relays:&lt;br /&gt;
* a precharge relay in series with a precharge resistor&lt;br /&gt;
* 2 contactors, one on the positive circuit and one on the negative circuit.&lt;br /&gt;
&lt;br /&gt;
The system relays (contactors) are turned on in this sequence:&lt;br /&gt;
&lt;br /&gt;
[[Image:PriusContactorSequence.gif]]&lt;br /&gt;
&lt;br /&gt;
At power up:&lt;br /&gt;
* The precharge relay is turned on first by itself (which results in no current, because there is no return path), and then turned off. This function checks for a stuck relay on the negative side. If that relay was stuck, current would be present. The HV ECu would then record a DTC before shutting itself down.&lt;br /&gt;
* After a pause, the precharge relay and the negative contactors are turned on, to precharge the electronics in the vehicle slowly, through the system resistor. &lt;br /&gt;
* Then the positive contactor is turned on, to complete a direct path between the battery and the vehicle electronics. &lt;br /&gt;
* Then the precharge relay is turned off.&lt;br /&gt;
&lt;br /&gt;
At power down:&lt;br /&gt;
* The positive contactor is turned off, removing power to the vehicle electronics. This is the only time when arcing may occur. Arcing on its contacts will affect its lifetime.&lt;br /&gt;
* Then the negative contactor is turned off. &lt;br /&gt;
&lt;br /&gt;
There is a hump in the waveforms, as the voltage goes from 10 V to 12 V. This is probably due to the DC-DC converter (from the traction battery voltage to the 12 V battery) being on.&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=User:Perfectsky&amp;diff=4089</id>
		<title>User:Perfectsky</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=User:Perfectsky&amp;diff=4089"/>
		<updated>2007-02-12T20:16:41Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: Update of bio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Rosebro founded Perfect Sky, a company that trains technicians to work on hybrid vehicles. Perfect Sky's clients include the City of New York (1100+ hybrid passenger cars), City of Toronto, California Bureau of Automotive Repair,  County of Fairfax, Virginia (which now owns a Hymotion PHEV Prius) as well as technicians, policy makers, and engineers in the US, Canada, Europe, and Asia, including master technicians who have already been trained by Toyota, Honda, and Ford. Perfect Sky is happy to share any technical information and expertise that will be useful to the EAA-PHEV open-content project. We conduct our own research and develop our own training materials.&lt;br /&gt;
&lt;br /&gt;
Jack also writes articles on hybrids, PHEVs, and other subjects for Green Car Congress: one of his articles &amp;quot;Toyota Ratchets Up Plug-In Hybrid Talk&amp;quot; is referenced on this website.&lt;br /&gt;
&lt;br /&gt;
As of February 2006, Jack is in Europe researching their plug-in hybrid progress, although he usually travel to the US at least once per month to deliver training.&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Battery_Pack_Configurations&amp;diff=4071</id>
		<title>Battery Pack Configurations</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Battery_Pack_Configurations&amp;diff=4071"/>
		<updated>2007-02-11T03:27:26Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Hybrid */ spelling correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
There are many ways to implement a [[WikiPedia:battery pack|battery pack]] or traction pack.  In this article we will try to clarify the distinction between simple, parallel, and hybrid implementations.  We realize that the use of the word ''hybrid'' may be confusing, especially when you add ''battery pack'', which might seem to describe the standard traction battery in a hybrid vehicle rather than a particular type of battery pack configuration.&lt;br /&gt;
&lt;br /&gt;
==Simple==&lt;br /&gt;
A '''simple''' pack consists of a '''single series string''' of batteries or cells, this is by far the most common type of battery pack.  If no other modifier is used to describe a battery pack you can usually assume it is a single, simple string.  Ideally the individual batteries are chosen such that a single string of them will satisfy all the requirements of a projects design goals.  However there are instances in which a satisfactory battery is not available to meet all of the demands, or there may be other reasons to use a more complex battery pack configuration.&lt;br /&gt;
&lt;br /&gt;
==Parallel==&lt;br /&gt;
In the EV world with regards to battery packs '''Parallel''' usually indicated parallel strings of batteries.  They might be disconnectable or hard-wired but probably don't have any advanced electronics between them.  There are special considerations to observe with regards to the interconnects such that one string's total internal resistance is as equal as possible to the other's. Such parallel strings are usually made up of the same type of batteries. They are normally designed to share the load equally and are used to either increase the available power or energy content of the pack.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=parallel%20pack&amp;amp;all=1 evdl archives:parallel pack] ~60 matches&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=parallel%20batter&amp;amp;all=1 evdl archives:parallel batter]-y-ies ~25 matches&lt;br /&gt;
&lt;br /&gt;
==Hybrid==&lt;br /&gt;
The use of the term &amp;quot;hybrid&amp;quot; in relation to a battery pack simply refers to a pack that is a combination of two different types of energy storage devices. It does not refer specifically to a hybrid vehicle, although this section discusses its use in a hybrid vehicle.&lt;br /&gt;
&lt;br /&gt;
A '''Hybrid''' battery pack is too advanced a setup to be simply called ''parallel''. It would likely be made up of two strings of roughly equivalent voltage, but may be entirely different chemistries or even use caps as one of the strings. There would usually be a DC-DC device between the pack or some other way to manage the flow of power from one string to the other.  Such a Hybrid Battery Pack is used to take advantage of the strong points and mask the weak aspects of the various strings that make up the whole. This is similar to reducing engine size and making up for it with electric motors, as is done with hybrid vehicles.  One might have a high capacity but low power string and a low capacity but high power string and combine them in a manner to utilize both of these strengths and eliminate the weaknesses.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Background Information'''&amp;lt;br&amp;gt;&lt;br /&gt;
In short, a new larger capacity ''(source)'' battery pack and ''[[Battery Chargers|charger]] device'' would float-charge the stock ''(target)'' battery pack at a voltage near the top of its normal operating range, taking care to consider regeneration headroom.  A contactor based setup might simply parallel a properly sized source pack with the target on a SOC based duty cycle, additionally a large resistor might be used to limit the current transfer when the source pack is fully  charged and the voltage differential is at its greatest.  Such dump charging is simple and effective but can also be risky if not properly configured.  A DC-DC converter or DC input charger with load following capabilities might also be used to continuously replace the energy removed by the motors while taking care to not overcharge the target battery pack.  It's important to keep the stock battery pack at a voltage which corresponds to a high, yet not full [[SOC]].  The charger would also need to stop discharging the source battery pack when it reaches a particular desired SOC.  Once the source pack is depleted the vehicle should revert to normal operation using only the original battery pack.  A properly configured Hybrid Battery Configuration will exploit the [[State Of Charge Drift]] portion of the vehicles battery management routines in order to accomplish [[State Of Charge Manipulation]].  The use of a [[Battery Tap Emulator]] should not be necessary with these implementations.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
These Searches may take some time to complete:&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=hybrid%20pack&amp;amp;all=1 evdl archives:'''hybrid pack'''] ~290 matches&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=hybrid%20batter&amp;amp;all=1 evdl archives:'''hybrid batter]-y-ies''' ~102 matches&lt;br /&gt;
** [[EVDL_Maillist:2003./6./317]], [[EVDL_Maillist:2003./6./370]] - Li Ion Series Resistance&lt;br /&gt;
** [[EVDL_Maillist:2003./6./896]], [[EVDL_Maillist:2003./6./1180]] - ThunderSky Li &amp;amp; PbA pack&lt;br /&gt;
** [[EVDL_Maillist:2003./6./1438]] - Using a PFC-50 in a hybrid pack arrangement&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=dump%20charge&amp;amp;all=1 evdl archives:'''dump charge'''] ~250 matches&lt;br /&gt;
&lt;br /&gt;
==PHEV Applications==&lt;br /&gt;
&lt;br /&gt;
===Conversion topologies===&lt;br /&gt;
At the very least, to convert a non-plug-in HEV into a PHEV, you need a power cord and a battery charger. Beyond that, there are many topologies depending on the battery pack(s) used, and on the Battery Electronic Control Unit (ECU) used. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a tree of possible PHEV conversion topologies. It also gives examples of conversions  that use a given topology.&lt;br /&gt;
&lt;br /&gt;
* Stock pack and Battery ECU only&lt;br /&gt;
* One or more additional stock packs, in parallel with stock pack&lt;br /&gt;
** Using the stock Battery ECU&lt;br /&gt;
** Using a custom Battery ECU&lt;br /&gt;
* New pack only&lt;br /&gt;
** Using the stock Battery ECU (e.g.: [[Prius_PHEV|Original CalCars Method]])&lt;br /&gt;
** Using a custom Battery ECU (e.g.: [[Hybrids-Plus]])&lt;br /&gt;
* New pack in addition to stock pack (note 1) (e.g.: [[Hymotion]], but which topology?)&lt;br /&gt;
** Two packs connected in parallel (note 2) &lt;br /&gt;
*** Using the stock Battery ECU (e.g.: original [[PiPrius]]/[[PriusBlue]])&lt;br /&gt;
*** Using a custom Battery ECU&lt;br /&gt;
** Two packs connected through a DC-DC converter (note 3) &lt;br /&gt;
*** Using the stock Battery ECU (e.g.: future [[PiPrius]]/[[PriusBlue]])&lt;br /&gt;
*** Using a custom Battery ECU (e.g.: [[EDrive]]/[http://www.energycs.com EnergyCS])&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Called the &amp;quot;Hybrid pack&amp;quot; method elsewhere in this page&lt;br /&gt;
# Called the &amp;quot;Contactor&amp;quot; method by the people who use a contactor to selectively connect the two packs in parallel&lt;br /&gt;
# Called &amp;quot;PFC method&amp;quot; by the people making the PiPrius conversion, because it uses a product called the &amp;quot;PCF-30&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some of the advantages and disadvantages of the various topologies:&lt;br /&gt;
* The &amp;quot;Stock pack only&amp;quot; topologies are pretty pointless if the range achievable by the stock pack is only a couple of miles.&lt;br /&gt;
* The &amp;quot;New Pack Only&amp;quot; topologies do not need to deal with batteries of different chemistries. However, if the same Battery ECU is used, the ECU has to be fooled into operating with the new pack. If the new pack has better characteristics than the stock pack, removing the original pack results in a lighter vehicle for a given range.&lt;br /&gt;
* Using the stock ECU is cheaper and somewhat easier, but there may be hassles trying to fool it into working with a different pack. Using a custom Battery ECU avoids all the hassles required to fool the stock ECU, but you have the design effort and cost of a new ECU&lt;br /&gt;
* Topologies that use a new pack in addition to the stock pack need to deal with how the two pack are connected (in parallel or through a DC-DC converter). Also, if the new pack has better characteristics than the stock pack, keeping the original pack may be an inefficient use of space and weight.&lt;br /&gt;
* See also some useful documents prepared by Ron Gremban on Feb 17, 2006: ''New spreadsheet of projected battery performance in PHEV conversions'', [http://www.forsites.com/CalCars/calcars-phev-batteries18feb06-rdg.xls Excel version], [http://www.forsites.com/CalCars/calcars-phev-batteries18feb06-rdg.pdf pdf version]&lt;br /&gt;
&lt;br /&gt;
===Prius===&lt;br /&gt;
See also [[Prius PHEV#Hybrid-Pack Method]] for specific conversion examples using this method.&lt;br /&gt;
&lt;br /&gt;
See the stock [[Toyota Prius Battery Specs]] and [[Prius PHEV Battery Options#Hybrid-Pack Method]] pages.&lt;br /&gt;
&lt;br /&gt;
With regards to the Prius, the term ''parallel'' might be used to describe a pack that uses additional stock batteries which are always connected to the original stock battery.  Though such [[Prius EV Mode Button#Parallel Packs|projects exist]] (using both stock NiMH and PbA chemistries), most do not charge their parallel packs from an AC outlet.&lt;br /&gt;
&lt;br /&gt;
Ron's original [[PriusPlus History]] and the [[EDrive]] systems do not use a parallel nor hybrid type pack, rather these implementations replace the stock battery with a simple  string. Though they may be capable of switching back to use the stock string, the two packs are not used at the same time.  An advantage of this implementation is that there is no chance of damaging or degrading the stock battery pack which could be removed for weight and space savings or even sold to offset the conversion costs.  If the stock battery is removed, then its replacement must be as robust, in order to prevent failures. The risk can be mitigated by leaving the stock battery in place, so that it can be used should the need arise.&lt;br /&gt;
&lt;br /&gt;
The [[Hymotion]] system may ''(I'm speculating)'' be using a Hybrid Pack which is made-up of the stock NiMH string and an additional Li-ion string with some level of management between them.  Such a hybrid setup has also been suggested by a number of EV folks as they have discussed and even implemented such setups for use in pure EV's over the years.  Some benefits of such an implementation may include simplicity of installation because there is no need for a [[Battery Tap Emulator]]: the existing battery and its taps are used.   [[State Of Charge Manipulation]] may still be required using [[State Of Charge Drift]].  Drawbacks might include the need to keep the stock battery which might not be ideal for the tasks of a [[PHEV]] and there may be lighter batteries which could better utilize the space which the stock battery occupies.  Though there is a risk of damaging the stock battery, such an implementation should actually reduce the load and number of cycles to which the stock battery is subjected, thus further extending its service life.&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Battery_Pack_Configurations&amp;diff=4070</id>
		<title>Battery Pack Configurations</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Battery_Pack_Configurations&amp;diff=4070"/>
		<updated>2007-02-11T03:26:19Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Hybrid */ clarification of term &amp;quot;hybrid&amp;quot; in this section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
There are many ways to implement a [[WikiPedia:battery pack|battery pack]] or traction pack.  In this article we will try to clarify the distinction between simple, parallel, and hybrid implementations.  We realize that the use of the word ''hybrid'' may be confusing, especially when you add ''battery pack'', which might seem to describe the standard traction battery in a hybrid vehicle rather than a particular type of battery pack configuration.&lt;br /&gt;
&lt;br /&gt;
==Simple==&lt;br /&gt;
A '''simple''' pack consists of a '''single series string''' of batteries or cells, this is by far the most common type of battery pack.  If no other modifier is used to describe a battery pack you can usually assume it is a single, simple string.  Ideally the individual batteries are chosen such that a single string of them will satisfy all the requirements of a projects design goals.  However there are instances in which a satisfactory battery is not available to meet all of the demands, or there may be other reasons to use a more complex battery pack configuration.&lt;br /&gt;
&lt;br /&gt;
==Parallel==&lt;br /&gt;
In the EV world with regards to battery packs '''Parallel''' usually indicated parallel strings of batteries.  They might be disconnectable or hard-wired but probably don't have any advanced electronics between them.  There are special considerations to observe with regards to the interconnects such that one string's total internal resistance is as equal as possible to the other's. Such parallel strings are usually made up of the same type of batteries. They are normally designed to share the load equally and are used to either increase the available power or energy content of the pack.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=parallel%20pack&amp;amp;all=1 evdl archives:parallel pack] ~60 matches&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=parallel%20batter&amp;amp;all=1 evdl archives:parallel batter]-y-ies ~25 matches&lt;br /&gt;
&lt;br /&gt;
==Hybrid==&lt;br /&gt;
The use of the term &amp;quot;hybrid&amp;quot; in relation to a battery pack means simply that the pack is a combination of two different types of energy storage devices. It does not refer specifically to a hybrid vehicle, although theis section discusses its use in a hybrid vehicle.&lt;br /&gt;
&lt;br /&gt;
A '''Hybrid''' battery pack is too advanced a setup to be simply called ''parallel''. It would likely be made up of two strings of roughly equivalent voltage, but may be entirely different chemistries or even use caps as one of the strings. There would usually be a DC-DC device between the pack or some other way to manage the flow of power from one string to the other.  Such a Hybrid Battery Pack is used to take advantage of the strong points and mask the weak aspects of the various strings that make up the whole. This is similar to reducing engine size and making up for it with electric motors, as is done with hybrid vehicles.  One might have a high capacity but low power string and a low capacity but high power string and combine them in a manner to utilize both of these strengths and eliminate the weaknesses.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Background Information'''&amp;lt;br&amp;gt;&lt;br /&gt;
In short, a new larger capacity ''(source)'' battery pack and ''[[Battery Chargers|charger]] device'' would float-charge the stock ''(target)'' battery pack at a voltage near the top of its normal operating range, taking care to consider regeneration headroom.  A contactor based setup might simply parallel a properly sized source pack with the target on a SOC based duty cycle, additionally a large resistor might be used to limit the current transfer when the source pack is fully  charged and the voltage differential is at its greatest.  Such dump charging is simple and effective but can also be risky if not properly configured.  A DC-DC converter or DC input charger with load following capabilities might also be used to continuously replace the energy removed by the motors while taking care to not overcharge the target battery pack.  It's important to keep the stock battery pack at a voltage which corresponds to a high, yet not full [[SOC]].  The charger would also need to stop discharging the source battery pack when it reaches a particular desired SOC.  Once the source pack is depleted the vehicle should revert to normal operation using only the original battery pack.  A properly configured Hybrid Battery Configuration will exploit the [[State Of Charge Drift]] portion of the vehicles battery management routines in order to accomplish [[State Of Charge Manipulation]].  The use of a [[Battery Tap Emulator]] should not be necessary with these implementations.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
These Searches may take some time to complete:&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=hybrid%20pack&amp;amp;all=1 evdl archives:'''hybrid pack'''] ~290 matches&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=hybrid%20batter&amp;amp;all=1 evdl archives:'''hybrid batter]-y-ies''' ~102 matches&lt;br /&gt;
** [[EVDL_Maillist:2003./6./317]], [[EVDL_Maillist:2003./6./370]] - Li Ion Series Resistance&lt;br /&gt;
** [[EVDL_Maillist:2003./6./896]], [[EVDL_Maillist:2003./6./1180]] - ThunderSky Li &amp;amp; PbA pack&lt;br /&gt;
** [[EVDL_Maillist:2003./6./1438]] - Using a PFC-50 in a hybrid pack arrangement&lt;br /&gt;
* Search [http://www.seattleeva.org/maillist/evdl/?search=dump%20charge&amp;amp;all=1 evdl archives:'''dump charge'''] ~250 matches&lt;br /&gt;
&lt;br /&gt;
==PHEV Applications==&lt;br /&gt;
&lt;br /&gt;
===Conversion topologies===&lt;br /&gt;
At the very least, to convert a non-plug-in HEV into a PHEV, you need a power cord and a battery charger. Beyond that, there are many topologies depending on the battery pack(s) used, and on the Battery Electronic Control Unit (ECU) used. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a tree of possible PHEV conversion topologies. It also gives examples of conversions  that use a given topology.&lt;br /&gt;
&lt;br /&gt;
* Stock pack and Battery ECU only&lt;br /&gt;
* One or more additional stock packs, in parallel with stock pack&lt;br /&gt;
** Using the stock Battery ECU&lt;br /&gt;
** Using a custom Battery ECU&lt;br /&gt;
* New pack only&lt;br /&gt;
** Using the stock Battery ECU (e.g.: [[Prius_PHEV|Original CalCars Method]])&lt;br /&gt;
** Using a custom Battery ECU (e.g.: [[Hybrids-Plus]])&lt;br /&gt;
* New pack in addition to stock pack (note 1) (e.g.: [[Hymotion]], but which topology?)&lt;br /&gt;
** Two packs connected in parallel (note 2) &lt;br /&gt;
*** Using the stock Battery ECU (e.g.: original [[PiPrius]]/[[PriusBlue]])&lt;br /&gt;
*** Using a custom Battery ECU&lt;br /&gt;
** Two packs connected through a DC-DC converter (note 3) &lt;br /&gt;
*** Using the stock Battery ECU (e.g.: future [[PiPrius]]/[[PriusBlue]])&lt;br /&gt;
*** Using a custom Battery ECU (e.g.: [[EDrive]]/[http://www.energycs.com EnergyCS])&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Called the &amp;quot;Hybrid pack&amp;quot; method elsewhere in this page&lt;br /&gt;
# Called the &amp;quot;Contactor&amp;quot; method by the people who use a contactor to selectively connect the two packs in parallel&lt;br /&gt;
# Called &amp;quot;PFC method&amp;quot; by the people making the PiPrius conversion, because it uses a product called the &amp;quot;PCF-30&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some of the advantages and disadvantages of the various topologies:&lt;br /&gt;
* The &amp;quot;Stock pack only&amp;quot; topologies are pretty pointless if the range achievable by the stock pack is only a couple of miles.&lt;br /&gt;
* The &amp;quot;New Pack Only&amp;quot; topologies do not need to deal with batteries of different chemistries. However, if the same Battery ECU is used, the ECU has to be fooled into operating with the new pack. If the new pack has better characteristics than the stock pack, removing the original pack results in a lighter vehicle for a given range.&lt;br /&gt;
* Using the stock ECU is cheaper and somewhat easier, but there may be hassles trying to fool it into working with a different pack. Using a custom Battery ECU avoids all the hassles required to fool the stock ECU, but you have the design effort and cost of a new ECU&lt;br /&gt;
* Topologies that use a new pack in addition to the stock pack need to deal with how the two pack are connected (in parallel or through a DC-DC converter). Also, if the new pack has better characteristics than the stock pack, keeping the original pack may be an inefficient use of space and weight.&lt;br /&gt;
* See also some useful documents prepared by Ron Gremban on Feb 17, 2006: ''New spreadsheet of projected battery performance in PHEV conversions'', [http://www.forsites.com/CalCars/calcars-phev-batteries18feb06-rdg.xls Excel version], [http://www.forsites.com/CalCars/calcars-phev-batteries18feb06-rdg.pdf pdf version]&lt;br /&gt;
&lt;br /&gt;
===Prius===&lt;br /&gt;
See also [[Prius PHEV#Hybrid-Pack Method]] for specific conversion examples using this method.&lt;br /&gt;
&lt;br /&gt;
See the stock [[Toyota Prius Battery Specs]] and [[Prius PHEV Battery Options#Hybrid-Pack Method]] pages.&lt;br /&gt;
&lt;br /&gt;
With regards to the Prius, the term ''parallel'' might be used to describe a pack that uses additional stock batteries which are always connected to the original stock battery.  Though such [[Prius EV Mode Button#Parallel Packs|projects exist]] (using both stock NiMH and PbA chemistries), most do not charge their parallel packs from an AC outlet.&lt;br /&gt;
&lt;br /&gt;
Ron's original [[PriusPlus History]] and the [[EDrive]] systems do not use a parallel nor hybrid type pack, rather these implementations replace the stock battery with a simple  string. Though they may be capable of switching back to use the stock string, the two packs are not used at the same time.  An advantage of this implementation is that there is no chance of damaging or degrading the stock battery pack which could be removed for weight and space savings or even sold to offset the conversion costs.  If the stock battery is removed, then its replacement must be as robust, in order to prevent failures. The risk can be mitigated by leaving the stock battery in place, so that it can be used should the need arise.&lt;br /&gt;
&lt;br /&gt;
The [[Hymotion]] system may ''(I'm speculating)'' be using a Hybrid Pack which is made-up of the stock NiMH string and an additional Li-ion string with some level of management between them.  Such a hybrid setup has also been suggested by a number of EV folks as they have discussed and even implemented such setups for use in pure EV's over the years.  Some benefits of such an implementation may include simplicity of installation because there is no need for a [[Battery Tap Emulator]]: the existing battery and its taps are used.   [[State Of Charge Manipulation]] may still be required using [[State Of Charge Drift]].  Drawbacks might include the need to keep the stock battery which might not be ideal for the tasks of a [[PHEV]] and there may be lighter batteries which could better utilize the space which the stock battery occupies.  Though there is a risk of damaging the stock battery, such an implementation should actually reduce the load and number of cycles to which the stock battery is subjected, thus further extending its service life.&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4004</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4004"/>
		<updated>2007-01-28T01:16:08Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* OBD-II Diagostic Trouble Codes (DTCs) */ fixed spelling error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Two pins. Shorted when the Service Plug is fully plugged-in&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay 1 (precharge resistor)&lt;br /&gt;
* System relay 2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay 3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4003</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=4003"/>
		<updated>2007-01-27T22:21:23Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Present generation */preliminary release information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, often called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 release in selected countries (as model year 2004), chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Two pins. Shorted when the Service Plug is fully plugged-in&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay 1 (precharge resistor)&lt;br /&gt;
* System relay 2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay 3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=User_talk:Perfectsky&amp;diff=3999</id>
		<title>User talk:Perfectsky</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=User_talk:Perfectsky&amp;diff=3999"/>
		<updated>2007-01-26T12:04:10Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;PerfectSky&amp;quot; (I don't know your real name, sorry):&lt;br /&gt;
&lt;br /&gt;
I am about to put additional data on a PHEV pack onto the CAN bus of multiple vehicles. I need to choose CAN addresses (identifiers). You seem to be &amp;quot;in the know&amp;quot;. Can you help me select appropriate addresses?  I was hoping to use 3 identifiers: &lt;br /&gt;
* one for pack info, &lt;br /&gt;
* one for PHEV system info, &lt;br /&gt;
* and one for individual cell block info. &lt;br /&gt;
I do know that SAE J1939-71 is a guide to this process, but I do not have it, and it is not available on line. I was hoping to nail addresses that would work in most if not all PHEVs, as opposed to having to select a set of addresses for each vehicle.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
[[User:DavideAndrea|DavideAndrea]] 08:59, 23 January 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
Hello, Davide, my name is Jack Rosebro. I don't know if I am in the know, but I will try to help:&lt;br /&gt;
&lt;br /&gt;
You need addresses:&lt;br /&gt;
&lt;br /&gt;
one for pack info,&lt;br /&gt;
one for PHEV system info,&lt;br /&gt;
and one for individual cell block info.&lt;br /&gt;
&lt;br /&gt;
Specifically what do you mean by &amp;quot;PHEV system info&amp;quot;? Is there a parallel, for example,in the stock Prius?&lt;br /&gt;
&lt;br /&gt;
I will try to get SAE J1939-71 today.&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=User_talk:Perfectsky&amp;diff=3998</id>
		<title>User talk:Perfectsky</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=User_talk:Perfectsky&amp;diff=3998"/>
		<updated>2007-01-26T12:03:45Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;PerfectSky&amp;quot; (I don't know your real name, sorry):&lt;br /&gt;
&lt;br /&gt;
I am about to put additional data on a PHEV pack onto the CAN bus of multiple vehicles. I need to choose CAN addresses (identifiers). You seem to be &amp;quot;in the know&amp;quot;. Can you help me select appropriate addresses?  I was hoping to use 3 identifiers: &lt;br /&gt;
* one for pack info, &lt;br /&gt;
* one for PHEV system info, &lt;br /&gt;
* and one for individual cell block info. &lt;br /&gt;
I do know that SAE J1939-71 is a guide to this process, but I do not have it, and it is not available on line. I was hoping to nail addresses that would work in most if not all PHEVs, as opposed to having to select a set of addresses for each vehicle.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
[[User:DavideAndrea|DavideAndrea]] 08:59, 23 January 2007 (CST)&lt;br /&gt;
&lt;br /&gt;
Hello, Davide, my name is Jack Rosebro. I don't know if I am in the know, but I will try to help:&lt;br /&gt;
&lt;br /&gt;
You need addresses:&lt;br /&gt;
&lt;br /&gt;
one for pack info,&lt;br /&gt;
one for PHEV system info,&lt;br /&gt;
and one for individual cell block info.&lt;br /&gt;
&lt;br /&gt;
Specifically what do you mean by PHEV system info? Is there a arallel, for example,in the stock Prius?&lt;br /&gt;
&lt;br /&gt;
I will try to get SAE J1939-71 today.&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=3990</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=3990"/>
		<updated>2007-01-25T18:21:35Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Reconnecting traction battery */clarifying safety procedures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, sometimes called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 worldwide release, chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). As the Battery Management System (BMS), this unit does the following:&lt;br /&gt;
* It calculates the battery's [[SOC]] by integrating the current (&amp;quot;Coulomb counting&amp;quot;).  This value is corrected for [[State Of Charge Drift]], self-discharge when the vehicle is not running, etc, by skewing the SOC upward when the open circuit battery voltage surpasses approx. 242V, and, presumably, by skewing it downward when the open circuit voltage is below an as-yet-unmeasured value.&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed).&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging.&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault.&lt;br /&gt;
* It broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (positive for discharge, negative for charge)&lt;br /&gt;
** Minimum &amp;amp; maximum temperature&lt;br /&gt;
** Maximum current it's able to provide (Discharge Current Limit, or DCL)&lt;br /&gt;
** Maximum current it's able to accept (Charge Current Limit, or CCL)&lt;br /&gt;
** State Of Charge (SOC)&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, ensure that the READY light is off and then remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you attempt to turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car (READY light OFF)&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Two pins. Shorted when the Service Plug is fully plugged-in&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay 1 (precharge resistor)&lt;br /&gt;
* System relay 2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay 3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagnostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Escape_PHEV_TechInfo&amp;diff=3955</id>
		<title>Escape PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Escape_PHEV_TechInfo&amp;diff=3955"/>
		<updated>2007-01-18T01:25:46Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* OBD-II Diagostic Trouble Codes (DTCs) */ Removing code data that doesn't apply to Fords&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Ford_Escape_Hybrid | Ford Escape]] useful when designing a [[Escape PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise noted, everything refers to a 2007 year model, belonging to [http://hybrids-plus.com/ Hybrids Plus].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Traction battery=&lt;br /&gt;
&lt;br /&gt;
==Specs==&lt;br /&gt;
* Cells: &lt;br /&gt;
** 250 Sanyo NiMH 'D' cells&lt;br /&gt;
** 300 V nominal @ 1.2V/cell (Ford says 330V)&lt;br /&gt;
** 5.5 Ah&lt;br /&gt;
* Electronics: &lt;br /&gt;
** controller&lt;br /&gt;
** DC-DC converter to charge traction battery from 12 V battery (&amp;quot;Jump Start&amp;quot;)&lt;br /&gt;
** Contactors and pre-charge relay / resistor&lt;br /&gt;
** Current sensor&lt;br /&gt;
** Blowers&lt;br /&gt;
* Connectors:&lt;br /&gt;
** 12 V power and control (40 circuits)&lt;br /&gt;
** HV (4 circuits)&lt;br /&gt;
** AC/DC (2 circuits, unused)&lt;br /&gt;
&lt;br /&gt;
==Removal==&lt;br /&gt;
&lt;br /&gt;
From the hatch opening:&lt;br /&gt;
* Remove the carpet in the hatch compartment floor, to reveal the battery&lt;br /&gt;
* Turn the orange safety plug from LOCK to UNLOCK and pull it out&lt;br /&gt;
* Remove the black plastic air coupling on the rear-left&lt;br /&gt;
* Remove the bolts on either side of the battery (3 bolts on each side)&lt;br /&gt;
* Lift the bottom of the rear-right passenger seat and move it forward&lt;br /&gt;
* List the strip of carpet to reveal the metal cover over the high voltage cables&lt;br /&gt;
* Remove the 2 (not 3) nuts holding the black metal cover&lt;br /&gt;
* Flip the seat forward to see the other end of the black metal cover&lt;br /&gt;
* Remove the 2 bolts holding the other end of the black metal cover to the battery&lt;br /&gt;
* Disconnect the battery:&lt;br /&gt;
** From the rear right seat, remove the orange HV connector on the right (flip the lever)&lt;br /&gt;
** From the rear left seat, remove the big black signal connector on the left (unbolts with a 10 mm socket wrench)&lt;br /&gt;
** From the rear left seat, remove the small connector next to the signal connector (snaps)&lt;br /&gt;
* Remove the battery&lt;br /&gt;
** Remove the 6 bolts, 3 on each side of the battery, bolting it to the floor (1/2&amp;quot; socket)&lt;br /&gt;
** Hook an engine hoist to the two round holes in the black metal on either side of the battery&lt;br /&gt;
** Hoist the battery out of the car&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:batterypack-out.jpg|Battery pack lifted out of vehicle&lt;br /&gt;
Image:trunk-sans-battery.jpg|Trunk after the battery was removed&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To open the battery:&lt;br /&gt;
* You need a #35 security Torx driver, and a #35 Torx driver&lt;br /&gt;
* Remove all the screws in the 2 top covers:&lt;br /&gt;
** Cover over the fans&lt;br /&gt;
** Cover over the batteries and electronics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:batterypack-open1.jpg|Battery pack opened, rear view&lt;br /&gt;
Image:batterypack-open2.jpg|Battery pack opened, front view&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Component locations==&lt;br /&gt;
[[Image:batterypack_locations.jpg|thumb|Component locations]]&lt;br /&gt;
&lt;br /&gt;
The battery includes (as seen when in the vehicle):&lt;br /&gt;
*Air blowers in the rear compartment &lt;br /&gt;
*NiMH cells in the center&lt;br /&gt;
**2 layers of cells&lt;br /&gt;
**each layer in a left and right group&lt;br /&gt;
**the groups in the top layer have 13 columns of 5 cells in series&lt;br /&gt;
**the groups in the bottom layer have 12 columns of 5 cells in series&lt;br /&gt;
**total: 2 * 13 * 5  + 2 * 12 * 5  = 250 cells&lt;br /&gt;
**nominal pack voltage: 1.2 V * 250 = 300 V&lt;br /&gt;
*controller on the right side&lt;br /&gt;
*contactors and HV connector on the right-front corner&lt;br /&gt;
*safety plug on the left-right corner&lt;br /&gt;
*the Converter on the left side&lt;br /&gt;
&lt;br /&gt;
==Block diagram==&lt;br /&gt;
[[Image:battery_block_diag.gif|thumb||right|Block diagram of battery]]&lt;br /&gt;
This block diagram shows the main components of the battery pack, and how they interface to the vehicle&lt;br /&gt;
&lt;br /&gt;
*The NiMH cells store energy&lt;br /&gt;
*The battery controller controls the battery pack&lt;br /&gt;
**It communicates with the vehicle through the CAN bus&lt;br /&gt;
**It monitors the air intake temperature, it controls the intake air flow and source, and it drives to DC blowers to blow air into the cells&lt;br /&gt;
**It monitors the cells' voltage, including in intermediate points of the pack (&amp;quot;taps&amp;quot;)&lt;br /&gt;
**...&lt;br /&gt;
*The DC-DC converter receives power from the 12 V battery and boosts it up to 300 V, to charge the traction battery when it's dead and the user presses the Jump Start button (by the driver's left foot)&lt;br /&gt;
*The Safety Disconnects opens the pack mid-voltage&lt;br /&gt;
*The HV Output section &lt;br /&gt;
** It has a connector with 2 high-current contacts to connect the battery voltage to the vehicle&lt;br /&gt;
** It has a pair of wires to determine if that connector is connected or not&lt;br /&gt;
** It has contactors (high power relays) to connect or isolate the pack voltage&lt;br /&gt;
*The blower compartment has 2 DC blowers to blow air into the cells&lt;br /&gt;
&lt;br /&gt;
==Wiring diagram==&lt;br /&gt;
[[Image:battery_wiring_diag.gif|thumb||right|Wiring diagram of battery.]]&lt;br /&gt;
This wiring diagram shows how the components of the battery pack are wired together.&lt;br /&gt;
&lt;br /&gt;
*High voltage wires are red.&lt;br /&gt;
*Connectors are marked with their color and the number of positions&lt;br /&gt;
*Sets of wires are shown together. The slash at one end indicates the number of wires&lt;br /&gt;
*The function of sets of wires is shown above the wire&lt;br /&gt;
*The wire colors are shown below the set of wires&lt;br /&gt;
*Shaded squares indicate that wires are bundled together&lt;br /&gt;
*The orientation of the components is shown as seen when looking from the hatch&lt;br /&gt;
&lt;br /&gt;
This reverse engineering drawing is not guaranteed to be accurate and is offered as-is. Please direct corrections to [[User:DavideAndrea|DavideAndrea]].&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
[[Image:batterypack-data-conn.jpg|thumb||right|AC/DC connector (left) &amp;amp; Control connector (right)]]&lt;br /&gt;
&lt;br /&gt;
The battery has 3 connectors, with a total of 34 wires:&lt;br /&gt;
* C4227A - 28 wires - control&lt;br /&gt;
* C4227B - 2 wires - low power HV to the AC/DC converter&lt;br /&gt;
* C4227C - 4 wires - traction HV, interlock signals&lt;br /&gt;
&lt;br /&gt;
===AC/DC converter connector: C4227B===&lt;br /&gt;
[[Image:acdc_connector_cable.gif]]&lt;br /&gt;
[[Image:acdc_connector_battery.gif]]&lt;br /&gt;
&lt;br /&gt;
Pin-out. Looking into cable (left) and looking into battery (right)&lt;br /&gt;
&lt;br /&gt;
The AC/DC converter connector has 2 circuits, with the following names and functions.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
| '''Group'''&lt;br /&gt;
| '''Ckt'''&lt;br /&gt;
| '''Pin(s)'''&lt;br /&gt;
| '''Ext. color'''&lt;br /&gt;
| '''Int. color'''&lt;br /&gt;
| '''Name'''&lt;br /&gt;
| '''Function'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| AC/DC converter in&lt;br /&gt;
| 3000&lt;br /&gt;
| 1&lt;br /&gt;
| Vio&lt;br /&gt;
| Red&lt;br /&gt;
| AC/DC in+&lt;br /&gt;
|rowspan=2| To connect a 115 Vac charger for the traction battery?&lt;br /&gt;
|rowspan=2| Ends in hood, by coolant tanks, unconnected and capped&lt;br /&gt;
|bgcolor=&amp;quot;red&amp;quot; | ??&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3001&lt;br /&gt;
| 1&lt;br /&gt;
| VioOrg&lt;br /&gt;
| Blk&lt;br /&gt;
| AC/DC in-&lt;br /&gt;
|bgcolor=&amp;quot;red&amp;quot; | ??&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This connector is on one end of a cable. The other end of the is cable capped, under the hood, on the right, in front of the 2 coolant tanks, fastened to its own harness. &lt;br /&gt;
&lt;br /&gt;
I don't know what is supposed to go in it: some option? I don't know if this is an input or an output. The name (A/C converter), the fact that inside the traction battery the wires are black and red, and the relatively small size of the wires in the cable outside the battery, suggest that it's for a high-voltage, low current, traction battery charger. Maybe Ford provides a box, with just a bridge rectifier, 115 Vac in and 180 Vdc out, to charge the traction battery from the wall. D'de&lt;br /&gt;
&lt;br /&gt;
===Control connector: C4227A===&lt;br /&gt;
[[Image:control_connector_cable.gif]]&lt;br /&gt;
[[Image:control_connector_battery.gif]]&lt;br /&gt;
&lt;br /&gt;
Pin-out. Looking into cable (left) and looking into battery (right)&lt;br /&gt;
&lt;br /&gt;
The big control connector has 24 circuits, with the following names and functions.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
| '''Group'''&lt;br /&gt;
| '''Ckt'''&lt;br /&gt;
| '''Pin(s)'''&lt;br /&gt;
| '''Ext. color'''&lt;br /&gt;
| '''Int. color'''&lt;br /&gt;
| '''Name'''&lt;br /&gt;
| '''Function'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=6| 12V pwr&lt;br /&gt;
| 57&lt;br /&gt;
| 35,36,37&lt;br /&gt;
| LtgrnBlk&lt;br /&gt;
| Blk&lt;br /&gt;
| Ground&lt;br /&gt;
| Power ground&lt;br /&gt;
| &lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 570&lt;br /&gt;
| 30,31&lt;br /&gt;
| BlkWht&lt;br /&gt;
| BlkWht&lt;br /&gt;
| Ground&lt;br /&gt;
| Signal ground&lt;br /&gt;
| &lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3800&lt;br /&gt;
| 4,5,6&lt;br /&gt;
| LtgrnBlk&lt;br /&gt;
| Red&lt;br /&gt;
| +12 V&lt;br /&gt;
| Power +12V&lt;br /&gt;
| Always on&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 10,11&lt;br /&gt;
| +12 V&lt;br /&gt;
| RedLtgrn&lt;br /&gt;
| RedBlu&lt;br /&gt;
| Low power +12V&lt;br /&gt;
| Always on&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3206&lt;br /&gt;
| 19&lt;br /&gt;
| LtgrnYel&lt;br /&gt;
| TanRed&lt;br /&gt;
| Voltage supplied in Start and Run&lt;br /&gt;
| Receives 12 V when the ignition switch is in either the On or Start positions (even if engine is not running)&lt;br /&gt;
| From the ignition switch. Overload protected&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3997&lt;br /&gt;
| 14&lt;br /&gt;
| Dkgrn&lt;br /&gt;
| Tan&lt;br /&gt;
| Power sustain relay out&lt;br /&gt;
| Receives 12 V when the ignition switch is in either the On or Start positions (even if engine is not running) and for 2 seconds after the ignition is turned off&lt;br /&gt;
| Fed by the Powertrain Control Module's Power Relay, located in the Battery Junction Box. The Powertrain Control Module is located under the hood, in the rear-center&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=8| Air intake&lt;br /&gt;
| 3703&lt;br /&gt;
| 21&lt;br /&gt;
| BrnWht&lt;br /&gt;
| BlkBrn&lt;br /&gt;
| Battery compartment thermistor signal&lt;br /&gt;
|rowspan=2| Senses air intake temperature&lt;br /&gt;
|rowspan=8| All are located inside the column at the rear-left corner of car, inside air intake ducts&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3704&lt;br /&gt;
| 25&lt;br /&gt;
| DkgrnWht&lt;br /&gt;
| WhtBlk&lt;br /&gt;
| Battery compartment thermistor return&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 698&lt;br /&gt;
| 34&lt;br /&gt;
| Red&lt;br /&gt;
| RedBlu&lt;br /&gt;
| Mode door actuator motor +&lt;br /&gt;
|rowspan=2| Moves a flap controlling air flow&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 699&lt;br /&gt;
| 26&lt;br /&gt;
| Org&lt;br /&gt;
| BlkYel&lt;br /&gt;
| Mode door actuator motor -&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1129&lt;br /&gt;
| 17&lt;br /&gt;
| BrnWht&lt;br /&gt;
| RedGRn&lt;br /&gt;
| Mode door actuator potentiometer +&lt;br /&gt;
|rowspan=3| Senses position of flap&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1130&lt;br /&gt;
| 20&lt;br /&gt;
| PnkLtgrn&lt;br /&gt;
| BluBlk&lt;br /&gt;
| Mode door actuator potentiometer wiper&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1128&lt;br /&gt;
| 24&lt;br /&gt;
| GryLtBlu&lt;br /&gt;
| BlkWht&lt;br /&gt;
| Mode door actuator potentiometer -&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 698&lt;br /&gt;
| 34&lt;br /&gt;
| Red&lt;br /&gt;
| RedBlu&lt;br /&gt;
| Zone Valve&lt;br /&gt;
| Solenoid selecting air source&lt;br /&gt;
|bgcolor=&amp;quot;gray&amp;quot; | n.a.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| CAN BUS&lt;br /&gt;
| 1908&lt;br /&gt;
| 29&lt;br /&gt;
| Wht&lt;br /&gt;
| YelRed&lt;br /&gt;
| High speed CAN bus +&lt;br /&gt;
|rowspan=2| Communicates with vehicle&lt;br /&gt;
|rowspan=2| See CAN section below for messages&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1909&lt;br /&gt;
| 28&lt;br /&gt;
| Blk&lt;br /&gt;
| YelWht&lt;br /&gt;
| High speed CAN bus -&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| Jump start switch&lt;br /&gt;
| 176&lt;br /&gt;
| 16&lt;br /&gt;
| PnkLtgrn&lt;br /&gt;
| BrnWht&lt;br /&gt;
| Jump start switch feed&lt;br /&gt;
| When grounded, lets 12 V battery jump charge-up the traction battery a bit, through DC-DC converter in battery pack, enough to start the car&lt;br /&gt;
|rowspan=2| The switch is located to the left of the driver's left ankle, behind a black plastic panel&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 179&lt;br /&gt;
| 12&lt;br /&gt;
| OrgRed&lt;br /&gt;
| GrnBlk&lt;br /&gt;
| Jump start switch illumination +&lt;br /&gt;
| When at 12 V, it lights-up the switch&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=4| Emergency control&lt;br /&gt;
| 3003&lt;br /&gt;
| 8&lt;br /&gt;
| VioWht&lt;br /&gt;
| Tan&lt;br /&gt;
| Battery power off signal&lt;br /&gt;
| 0-12 V square wave, 50% duty cycle, generated by battery. If all OK, 2 Hz. If problem, 5 Hz?&lt;br /&gt;
| The Power Train Control Module is located under the hood, in the rear-center&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 877&lt;br /&gt;
| 7,23&lt;br /&gt;
| Wht&lt;br /&gt;
| RedBlk&lt;br /&gt;
| Fuel pump feed / Inertia Sw input&lt;br /&gt;
| Normally receives 12 V when the ignition switch is in either the On or Start positions (even if engine is not running) and for 2 seconds after the ignition is turned off; no voltage when the ignition is off, or in case a crash opens an inertia switch&lt;br /&gt;
| The High Voltage Cutoff switch is located in the right-rear column of the car&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 212&lt;br /&gt;
| 27&lt;br /&gt;
| Dkblu&lt;br /&gt;
| BlkBlu&lt;br /&gt;
| Immediate shutdown 1&lt;br /&gt;
|rowspan=2| The Transaxle Control Module tells the battery to remove power to the vehicle?&lt;br /&gt;
|rowspan=2| The Transaxle Control Module is under the hood, in the center, to the left of the box labeled &amp;quot;HYBRID&amp;quot;&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 213&lt;br /&gt;
| 13&lt;br /&gt;
| DkbluYel&lt;br /&gt;
| BlkRed&lt;br /&gt;
| Immediate shutdown 2&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| Unused&lt;br /&gt;
|rowspan=2| n.a.&lt;br /&gt;
| 18&lt;br /&gt;
|rowspan=2| n.a.&lt;br /&gt;
| TanRed&lt;br /&gt;
|rowspan=2| ???&lt;br /&gt;
|rowspan=2| ???&lt;br /&gt;
|rowspan=2| Connected to controller, not used in vehicle&lt;br /&gt;
|bgcolor=&amp;quot;red&amp;quot; | ??&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 32&lt;br /&gt;
| YelBlk&lt;br /&gt;
|bgcolor=&amp;quot;red&amp;quot; | ??&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
* Green OK: function is understood and confirmed&lt;br /&gt;
* Red ??: function is not understood, or not yet confirmed&lt;br /&gt;
* Gray n.a.: PHEV conversion can work without this function&lt;br /&gt;
&lt;br /&gt;
===HV connector: C4227C===&lt;br /&gt;
[[Image:batterypack-power-conn.jpg|thumb||right|HV connector]]&lt;br /&gt;
[[Image:HV_connector_cable.gif]]&lt;br /&gt;
[[Image:HV_connector_battery.gif]]&lt;br /&gt;
&lt;br /&gt;
Pin-out. Looking into cable (left) and looking into battery (right)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The HV connector has 4 circuits, with the following names and functions.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
| '''Group'''&lt;br /&gt;
| '''Ckt'''&lt;br /&gt;
| '''Pin(s)'''&lt;br /&gt;
| '''Ext. color'''&lt;br /&gt;
| '''Int. color'''&lt;br /&gt;
| '''Name'''&lt;br /&gt;
| '''Function'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| HV&lt;br /&gt;
| 3180&lt;br /&gt;
| +&lt;br /&gt;
| Org&lt;br /&gt;
|rowspan=2| n.a.&lt;br /&gt;
| HV+&lt;br /&gt;
|rowspan=2| Battery power&lt;br /&gt;
|rowspan=2| To Transaxle Control Module&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3181&lt;br /&gt;
| -&lt;br /&gt;
| Org&lt;br /&gt;
| HV-&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| Interlock&lt;br /&gt;
| 3130&lt;br /&gt;
| 1&lt;br /&gt;
| Gry&lt;br /&gt;
| Blu&lt;br /&gt;
| Traction Battery Control Module Interlock +&lt;br /&gt;
|rowspan=2| Detects if HV connector is mated. The battery and the Transaxle Control Module both look at the voltage at these pins.&lt;br /&gt;
|rowspan=2| To Transaxle Control Module&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3181&lt;br /&gt;
| 2&lt;br /&gt;
| Red&lt;br /&gt;
| Wht&lt;br /&gt;
| Traction Battery Control Module Interlock -&lt;br /&gt;
|bgcolor=&amp;quot;green&amp;quot; | OK&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Escape_Interlock_ckt.gif]]&lt;br /&gt;
&lt;br /&gt;
The electrical circuit for the HV Interlock. The circuit goes from the battery, through the Transaxle Control Module, and back to the battery. If either wire is opened, shorted to +12 V or grounded, both the Battery and the Transaxle Control Module detect a fault.&lt;br /&gt;
&lt;br /&gt;
==Electronic Components==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:batterypack_controller.jpg|The controller&lt;br /&gt;
Image:batterypack_controller_open.jpg|The controller, opened. The low voltage board is at the bottom, the high voltage one at the top&lt;br /&gt;
Image:batterypack_converter.jpg|The Jump Start Converter&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Battery HVAC system==&lt;br /&gt;
[[Image:batterypack_airflow.jpg|thumb|Battery HVAC air flow&amp;lt;br&amp;gt;&amp;lt;font color=&amp;quot;violet&amp;quot;&amp;gt;exhaust&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;yellow&amp;quot;&amp;gt;forced air flow&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;cyan&amp;quot;&amp;gt;outside air intake&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;exhaust inside vehicle&amp;lt;/font&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Image:batterypack_hvac.jpg|thumb|Battery HVAC]]&lt;br /&gt;
&lt;br /&gt;
The HVAC system controls the temperature of the NiMH cells in the traction battery.&lt;br /&gt;
&lt;br /&gt;
Its components are located:&lt;br /&gt;
* in the rear-left column&lt;br /&gt;
* in the traction battery itself&lt;br /&gt;
&lt;br /&gt;
When used in a closed loop, air flows:&lt;br /&gt;
* from the empty spaces in the battery pack&lt;br /&gt;
* out of the rear-most grille in the rear-right corner of the battery pack&lt;br /&gt;
* into a duct in the rear-right column of the vehicle&lt;br /&gt;
* up the rear duct in that colums&lt;br /&gt;
* through the Mode Door that controls the air flow (unconfirmed)&lt;br /&gt;
* through the Zone Valve that selects the air source (unconfirmed)&lt;br /&gt;
* forward through a heat exchanger&lt;br /&gt;
* down the front duct&lt;br /&gt;
* out of the rear-right column&lt;br /&gt;
* into the front-most grille in the rear-right corner of the battery pack&lt;br /&gt;
* into the battery pack&lt;br /&gt;
* into 2 ducts, one for each blower&lt;br /&gt;
* into 2 blowers, one for each duct&lt;br /&gt;
* into each set of cells (left set for left blower, right for right)&lt;br /&gt;
* through the cells and into the empty spaces in the battery pack&lt;br /&gt;
* completing the cycle&lt;br /&gt;
&lt;br /&gt;
The heat exchanger is either chilled by the vehicle's air conditioning system, or heated by the vehicle's engine coolant&lt;br /&gt;
&lt;br /&gt;
When using outside air:&lt;br /&gt;
* air is taken from a vent in the rear-right window&lt;br /&gt;
* down a duct&lt;br /&gt;
* flows through an air filter&lt;br /&gt;
* through the Mode Door&lt;br /&gt;
* into the heat exchanger&lt;br /&gt;
* then following the same path as above&lt;br /&gt;
Now that extra air has been taken into the system, air has to be let out of it&lt;br /&gt;
* air from the pack flows into the rear duct&lt;br /&gt;
* the Zone Valve opens, letting out air from the rear duct into the open space in rear-right column &lt;br /&gt;
* from there, air flows into the rear storage area&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To monitor the temperature, thermistors are placed:&lt;br /&gt;
* 1 in the rear-right ducts&lt;br /&gt;
* 2 by the blowers, one for each blower&lt;br /&gt;
* 2 in the left block of cells, 2 in the right block (unconfirmed)&lt;br /&gt;
&lt;br /&gt;
To control the air flow and temperature:&lt;br /&gt;
* the blower's speed is variable&lt;br /&gt;
* the Mode Door's position is continuously variable from closed to fully open&lt;br /&gt;
* the Zone Valve selects the air source&lt;br /&gt;
&lt;br /&gt;
==CAN bus messages==&lt;br /&gt;
The battery communicates to the rest of the vehicle through the CAN bus.&lt;br /&gt;
The &lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
===CAN Tools===&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CAN -: black wire&lt;br /&gt;
** CAN +: white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
===CAN bus protocol===&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in on (Start or Run position of the ignition key), and for a few seconds after the vehicle is turned off.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
===CAN bus messages===&lt;br /&gt;
The CAN bus has only 24 messages.&lt;br /&gt;
&lt;br /&gt;
This screen capture was taken with the ignition on On, engine off, on Hybrids Plus' Escape.&lt;br /&gt;
&lt;br /&gt;
[[Image:AllCanMessages.gif | All the messages on the CAN bus]]&lt;br /&gt;
&lt;br /&gt;
[http://hybrids-plus.com/pmwiki/uploads/Ext/EscapeCanMessages.xls Spreadsheet with all messages]&lt;br /&gt;
&lt;br /&gt;
===Battery CAN messages===&lt;br /&gt;
&lt;br /&gt;
These are the messages generated by the battery.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parenthesis (#) refer to the notes just below the table. Names in parenthesis are hunches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|300h&lt;br /&gt;
|10&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|Voltage [[#3 | (3)]]&lt;br /&gt;
|Flags [[#4 | (4)]]&lt;br /&gt;
|00h&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|310h&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|constant [[#7 | (7)]]&lt;br /&gt;
|constant [[#8 | (8)]]&lt;br /&gt;
|constant [[#9 | (9)]]&lt;br /&gt;
|constant [[#10 | (10)]]&lt;br /&gt;
|Temperature [[#11 | (11)]]&lt;br /&gt;
|(Charge Limit) [[#12 | (12)]]&lt;br /&gt;
|(Discharge Limit) [[#13 | (13)]]&lt;br /&gt;
|colspan=1 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|320h&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|(DTCs?)[[#14 | (14)]]&lt;br /&gt;
|(DTCs?)[[#14 | (14)]]&lt;br /&gt;
|Flags [[#15 | (15)]]&lt;br /&gt;
|Flags  [[#16 | (16)]]&lt;br /&gt;
|SOC [[#17 | (17)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Battery current. Raw reading, relative to reading at 0 current (typically 0600h), positive when current is sourced out of the battery. 12 bits? Units: 25 mA. Range (if 12 bits &amp;amp; 25 mA): 100 A out to 35 A in. Examples (assuming that at 0 current the reading is 0600h):&lt;br /&gt;
* 0FC4h: 100 A out&lt;br /&gt;
* 0790h: 10 A out&lt;br /&gt;
* 0628h: 1 A out&lt;br /&gt;
* 0600h: 0 A&lt;br /&gt;
* 05D8h: 1 A in&lt;br /&gt;
* 0479h: 10 A in&lt;br /&gt;
* 0000h: 38 A in&lt;br /&gt;
&amp;lt;br&amp;gt;3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Battery voltage. Relative to 180 V. Units: V. Range seen: 312 to 366 V. Examples:&lt;br /&gt;
* 78h: 300 V&lt;br /&gt;
* 96h: 330 V&lt;br /&gt;
&amp;lt;br&amp;gt;4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Byte of flags. If the specified item is active, the bit is 1. Else, it is 0. 0 = unused or unknown bit.&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''bit'''&lt;br /&gt;
|'''7'''&lt;br /&gt;
|'''6'''&lt;br /&gt;
|'''5'''&lt;br /&gt;
|'''4'''&lt;br /&gt;
|'''3'''&lt;br /&gt;
|'''2'''&lt;br /&gt;
|'''1'''&lt;br /&gt;
|'''0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''function'''&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|Safety plug removed&lt;br /&gt;
|0&lt;br /&gt;
|Contactors on&lt;br /&gt;
|Precharge relay on&lt;br /&gt;
|0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Byte of flags. If the specified item is active, the bit is 1. Else, it is 0. 0 = unused or unknown bit.&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''bit'''&lt;br /&gt;
|'''7'''&lt;br /&gt;
|'''6'''&lt;br /&gt;
|'''5'''&lt;br /&gt;
|'''4'''&lt;br /&gt;
|'''3'''&lt;br /&gt;
|'''2'''&lt;br /&gt;
|'''1'''&lt;br /&gt;
|'''0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''function'''&lt;br /&gt;
|Safety plug removed&lt;br /&gt;
|HV connector unplugged&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; unknown. Always 8Ch	&lt;br /&gt;
&amp;lt;br&amp;gt;8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; unknown. Always 78h&lt;br /&gt;
&amp;lt;br&amp;gt;9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; unknown. Always 50h &lt;br /&gt;
&amp;lt;br&amp;gt;10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; unknown. Always 3Ch&lt;br /&gt;
&amp;lt;br&amp;gt;11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack temperature, relative to - 90C. Units: C. Insufficient data points to confirm this. Examples:&lt;br /&gt;
* 104 = 14 C&lt;br /&gt;
* 90 = 0 C&lt;br /&gt;
* 82 = -8 C&lt;br /&gt;
&amp;lt;br&amp;gt;12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Charge Current Limit or something related to temperature? When first turned on, this item starts at a value, then drifts down to another value and stops. Turn off, turn on, and the item restarts at the same value where it started before. The values are very similar to the Temperature values. Needs more study.&lt;br /&gt;
[[Image:escape_reported_vs_actual_soc.gif|thumb||right|Discharge Current Limit vs SOC]]&lt;br /&gt;
&amp;lt;br&amp;gt;13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Probably Discharge Current Limit. Units: A? Range seen: 75 to 155. Related to the actual State of Charge according to the graph on the right, and these approximate formulas:&amp;lt;br&amp;gt;&lt;br /&gt;
* SOC&amp;lt; 138: value = 1.57 * SOC- 70&lt;br /&gt;
* 138 &amp;lt; SOC&amp;lt; 157: value = 103 + 0.33 * SOC&lt;br /&gt;
* SOC&amp;gt; 157: value = 155&lt;br /&gt;
&amp;lt;br&amp;gt;14) &amp;lt;span id=&amp;quot;14&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; DTCs?&lt;br /&gt;
&amp;lt;br&amp;gt;15) &amp;lt;span id=&amp;quot;15&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Byte of flags. If the specified item is active, the bit is 1. Else, it is 0. 0 = unused or unknown bit.&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''bit'''&lt;br /&gt;
|'''7'''&lt;br /&gt;
|'''6'''&lt;br /&gt;
|'''5'''&lt;br /&gt;
|'''4'''&lt;br /&gt;
|'''3'''&lt;br /&gt;
|'''2'''&lt;br /&gt;
|'''1'''&lt;br /&gt;
|'''0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''function'''&lt;br /&gt;
|Safety plug removed&lt;br /&gt;
|HV connector unplugged&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;16) &amp;lt;span id=&amp;quot;16&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Byte of flags. If the specified item is active, the bit is 1. Else, it is 0. 0 = unused or unknown bit.&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''bit'''&lt;br /&gt;
|'''7'''&lt;br /&gt;
|'''6'''&lt;br /&gt;
|'''5'''&lt;br /&gt;
|'''4'''&lt;br /&gt;
|'''3'''&lt;br /&gt;
|'''2'''&lt;br /&gt;
|'''1'''&lt;br /&gt;
|'''0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''function'''&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|All OK: HV connector is plugged, Safety Plug is in&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
[[Image:escape_soc_plot.gif|thumb||right|SOC vs time, parked]]&lt;br /&gt;
&amp;lt;br&amp;gt;17) &amp;lt;span id=&amp;quot;16&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge. Units: mAh. Range seen: 93 to 207 mAh. When stopped, and charging, the engine stops when the SOC level reaches DEh (111 mAh) and starts when the SOC drops to BDh (189 mAh)&lt;br /&gt;
&lt;br /&gt;
===OBD-II Diagostic Trouble Codes (DTCs)===&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of ??&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Escape]]&lt;br /&gt;
[[Category:EscapePHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=3932</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=3932"/>
		<updated>2007-01-15T08:14:43Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* OBD-II Diagostic Trouble Codes (DTCs) */ clarifying DTC nomenclature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, sometimes called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 worldwide release, chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). This unit does the following:&lt;br /&gt;
* It calculates the battery's S.O.C. by integrating the current (&amp;quot;Coulomb counting&amp;quot;) and resetting it to 100 % when the battery voltage surpasses a certain level&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed)&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault&lt;br /&gt;
* Broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (charging or discharging)&lt;br /&gt;
** Two temperatures&lt;br /&gt;
** Maximum current it's able to provide (discharger)&lt;br /&gt;
** Maximum current it's able to accept (charge)&lt;br /&gt;
** State Of Charge&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Two pins. Shorted when the Service Plug is fully plugged-in&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay 1 (precharge resistor)&lt;br /&gt;
* System relay 2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay 3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything within the system defined by the first digit of the DTC.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
====HV Battery Diagostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
	<entry>
		<id>https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=3931</id>
		<title>Prius PHEV TechInfo</title>
		<link rel="alternate" type="text/html" href="https://www.eaa-phev.org/wiki/index.php?title=Prius_PHEV_TechInfo&amp;diff=3931"/>
		<updated>2007-01-15T08:08:49Z</updated>

		<summary type="html">&lt;p&gt;Perfectsky: /* Fault codes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Technical information on the [[Toyota Prius|Prius]] useful when designing a [[Prius PHEV]] conversion.&lt;br /&gt;
&lt;br /&gt;
==Original generation==&lt;br /&gt;
This is the original 4-door sedan:&lt;br /&gt;
*1997 Japan only release, chassis NHW10 (Gen 1)&lt;br /&gt;
*2000 worldwide release, chassis NHW11 (Sometimes also called Gen 1, sometimes Gen 2)&lt;br /&gt;
&lt;br /&gt;
==Present generation==&lt;br /&gt;
This is the 5-door hatchback, sometimes called Gen 2, sometimes called Gen 3:&lt;br /&gt;
*2003 worldwide release, chassis NHW20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Traction battery===&lt;br /&gt;
&lt;br /&gt;
====Functions====&lt;br /&gt;
&lt;br /&gt;
The traction battery includes a Battery ECU (Electronic Control Unit). This unit does the following:&lt;br /&gt;
* It calculates the battery's S.O.C. by integrating the current (&amp;quot;Coulomb counting&amp;quot;) and resetting it to 100 % when the battery voltage surpasses a certain level&lt;br /&gt;
* It reads the pack temperature using 3 thermistors, and the air intake temperature with a 4th thermistor&lt;br /&gt;
* It controls its cooling fan (variable speed)&lt;br /&gt;
* It calculates the battery dynamic resistance (delta voltage over delta current). This resistance increases with battery aging&lt;br /&gt;
* It protects the battery by limiting its current (even down to 0), if the SOC or temperature are at their limits, or the dynamic resistance is too high, or if it detects a fault&lt;br /&gt;
* Broadcasts to the rest of the vehicle, through the CAN bus, the following data:&lt;br /&gt;
** Voltage&lt;br /&gt;
** Current (charging or discharging)&lt;br /&gt;
** Two temperatures&lt;br /&gt;
** Maximum current it's able to provide (discharger)&lt;br /&gt;
** Maximum current it's able to accept (charge)&lt;br /&gt;
** State Of Charge&lt;br /&gt;
** Any fault codes (DTCs)&lt;br /&gt;
&lt;br /&gt;
====Battery voltage====&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_temperature.gif|thumb||right|Voltage vs State Of Charge at various temperatures]]&lt;br /&gt;
[[Image:Prius-Pack_Voltage_vs_Current.gif|thumb|right|Voltage vs State Of Charge at various discharge currents]]&lt;br /&gt;
&lt;br /&gt;
If you replace the stock battery, you need to know its voltage, because that's what the vehicle expects. If you add a pack to the stock battery, you need to know its voltage, in order to connect the two together, somehow.&lt;br /&gt;
&lt;br /&gt;
The nominal pack voltage is: 168 cells x 1.2 V = 201.6 V&lt;br /&gt;
&lt;br /&gt;
The pack voltage depends on SOC, temperature and current.&lt;br /&gt;
* The voltage depends on State of Charge and on temperature. It is affected by cold, but not much by heat; so, for temperatures abiove 20 C, use the 20 C curve.&lt;br /&gt;
* The voltage depends on State of Charge and on discharge current. The voltage is not affected by low currents; so, for current below 1.3 A, use the 1.3 A curve.&lt;br /&gt;
* The maximum charge voltage is 1.8 V / cell.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=4 | Therefore, roughly, the estimate pack voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||Max brake&lt;br /&gt;
||No current&lt;br /&gt;
||Max drive&lt;br /&gt;
|-&lt;br /&gt;
||&amp;gt;=20 C, 0% DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||237 V&lt;br /&gt;
||168 V&lt;br /&gt;
|-&lt;br /&gt;
||-10 C, 80 % DOD&lt;br /&gt;
||302 V&lt;br /&gt;
||160 V&lt;br /&gt;
||126 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;right&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| colspan=3 | So, the estimated overall voltage range is:&lt;br /&gt;
|-&lt;br /&gt;
||Min&lt;br /&gt;
||Nom&lt;br /&gt;
||Max&lt;br /&gt;
|-&lt;br /&gt;
||126 V&lt;br /&gt;
||202 V&lt;br /&gt;
||302 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
Though, [http://www.hybridinterfaces.ca/ Hybrid Interfaces] reports a range of 165 to 270V, while Toyota specifies a normal range of 150 to 300 V (in READY mode) (Ref: &amp;quot;\Repair Manual\04priusf\05\21bpm\cidlitac.pdf&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
See also [[Toyota Prius Battery Specs]]&lt;br /&gt;
&lt;br /&gt;
====AC components in battery voltage====&lt;br /&gt;
&lt;br /&gt;
When the system relays are off, the battery floats with respect to the car chassis.&lt;br /&gt;
&lt;br /&gt;
When the system relays are engaged, there is a common AC voltage between the battery terminals and the chassis. Its frequency is 5 KHz. When the engine is charging, its amplitude is 90 Vpp and its shape is a square wave. In EV drive, its amplitude is 100 Vpp and its shape is a combination of 2 square waves, each at 5 KHz, but not synchronized, so that one drifts with respect to the other one. The differential mode voltage is 200 Vdc (or course) plus noise spikes at the edges of the common mode wave, on the order of 10 Vpp.&lt;br /&gt;
&lt;br /&gt;
A PHEV conversion must deal with this significant common noise.&lt;br /&gt;
&lt;br /&gt;
====Reconnecting traction battery====&lt;br /&gt;
* While working on the High Voltage section, remove the orange Service Plug on left end of the battery pack&lt;br /&gt;
* If you turn on the car while the orange Service Plug is removed, or the Battery ECU is disconnected, the Prius will generate a fault code (DTC) and light-up the /!\ ''(Red Exclamation in a Triangle)'' symbol on the dashboard, and show a car with an Exclamation point in it on the Multi-Function Display ([[MFD]]).&lt;br /&gt;
* To end the fault display&lt;br /&gt;
** Turn off the car&lt;br /&gt;
** Reconnect whatever is disconnected&lt;br /&gt;
** Turn on the car&lt;br /&gt;
** Drive&lt;br /&gt;
** Turn off the car&lt;br /&gt;
* Now the DTC is still stored, but at least there is no fault display on the dashboard.&lt;br /&gt;
&lt;br /&gt;
====Resetting after reconnecting the 12 V battery====&lt;br /&gt;
After reconnecting the 12 V battery, you must calibrate the &amp;quot;Auto&amp;quot; function of the driver's window. If you don't do this, you can't open or close the window all the way with the Auto switch. &lt;br /&gt;
* Open window half-way&lt;br /&gt;
* Pull and hold window switch up until window is all the way up, and hold an additional 1 second or more&lt;br /&gt;
&lt;br /&gt;
====Cabling to traction battery====&lt;br /&gt;
[[Image:Prius-harness_to_traction_battery.gif|right|Harness to the battery]]&lt;br /&gt;
The harness to the traction battery has 3 tails, each with a connector&lt;br /&gt;
* To Battery ECU - power, communication, fan control&lt;br /&gt;
* To the orange Service Plug - to detect if the Service Plug is fully plugged-in&lt;br /&gt;
* To the System Relays - to drive the relays that connect the traction battery to the inverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Prius-Battery_ECU-Pin-out.gif|right|thumb|Pin-out of connector on Battery ECU]]&lt;br /&gt;
'''Battery ECU (electronic Control Unit)'''&amp;lt;br&amp;gt;&lt;br /&gt;
Pinout:&lt;br /&gt;
* POWER&lt;br /&gt;
** Gnd - to chassis&lt;br /&gt;
** AM - 12 V, always on, for memory retention&lt;br /&gt;
** IGCT - 12 V when the car is in the &amp;quot;READY&amp;quot; mode&lt;br /&gt;
** IG - 12 V when ignition is on&lt;br /&gt;
* COMMUNICATIONS&lt;br /&gt;
** CANH - CAN bus High&lt;br /&gt;
** CANL - CAN bus Low&lt;br /&gt;
* BLOWER&lt;br /&gt;
** VM - monitors fan voltage, 2 to 12 V&lt;br /&gt;
** SI - variable duty cycle (PWM) square wave to control fan speed&lt;br /&gt;
** FCTL1 - drives the relay which in turn powers the fan&lt;br /&gt;
&lt;br /&gt;
'''Service Plug sensor.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Two pins. Shorted when the Service Plug is fully plugged-in&lt;br /&gt;
&lt;br /&gt;
'''System Relays'''&amp;lt;br&amp;gt;&lt;br /&gt;
Four pins:&lt;br /&gt;
* Common&lt;br /&gt;
* System relay 1 (precharge resistor)&lt;br /&gt;
* System relay 2 (traction pack +, bypassing precharge resistor)&lt;br /&gt;
* System relay 3 (traction pack -)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CAN bus===&lt;br /&gt;
If the conversion will replace the stock Battery ECU, it must talk directly with the vehicle CAN bus.&lt;br /&gt;
&lt;br /&gt;
* [http://www.kvaser.com/can/protocol/index.htm Kvaser] has a simple explanation of the CAN bus.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/CAN_bus wikipedia article on the CAN bus]&lt;br /&gt;
&lt;br /&gt;
====CAN Tools====&lt;br /&gt;
* [[CAN-View]] - uses the vehicle's MFD (Multi Function Display). V1, V2, and V3 are only compatible with the 2004 and 2005 Prius.  A new V4 will be compatible with the 2006+ Prius and perhaps other hybrid models.&lt;br /&gt;
&lt;br /&gt;
* A generic adapter between the CAN-bus and a PC. It is convenient to use a USB port, though the serial or parallel or Ethernet port may be used as well. Examples of USB adapters:&lt;br /&gt;
** [http://www.peak-system.com/db/gb/pcanusb_gb.html Peak's PCAN-USB] also sold as the [http://www.c-a-n.com/canusb.html?source=goog&amp;amp;kw=can+usb&amp;amp;gclid=CJLw2ZGH-IUCFQmMCwodIHRbtw GridConnect's GC-CAN-USB]&lt;br /&gt;
*** Note: disconnecting this product's USB cable seems to create significant problems for Windows XP (immediate shut-down, or even the &amp;quot;blue screen of death&amp;quot;). You must use the system tray's &amp;quot;Remove hardware&amp;quot; icon first.&lt;br /&gt;
** [http://www.grifo.com/VARIE/Candip/uk_canUSB.htm Grifo's CANUSB]&lt;br /&gt;
** [http://www.systec-electronic.com/html/index.pl/en_product_usb_canmodul Systec's USB-CANmodul]&lt;br /&gt;
** [http://www.can232.com/ CAN232] is a CAN to RS232 device used by [http://www.vassfamily.net/ToyotaPrius/CAN/cindex.html Attila Vass] with his early [[Prius PHEV User Interfaces#My CAN Project|My CAN Project]].&lt;br /&gt;
** The '''CAN-View''' should not be confused with this [http://www.rmcan.com/index.php?id=61&amp;amp;L=1 CANview] product (notice no dash in the name), which is a CAN to RS232 device.&lt;br /&gt;
&lt;br /&gt;
* These adapters have a DE-9 DSUB connector, so you'll also need an adapter to the Prius' OBD connector. For example:&lt;br /&gt;
** [http://www.c-a-n.com/gc-can-cab-odb2.html GridConnect's CAN to OBD2 Cable]&lt;br /&gt;
* The Prius' OBD (On Board Diagnostics) connector is located under the dashboard, below and to the right of the steering wheel, facing down. A.k.a.: Data Link Connector 3 (DLC3)&lt;br /&gt;
*Alternatively, tap into the CAN bus directly. Use a short cable to the CAN adapter.&lt;br /&gt;
** CANH - black wire&lt;br /&gt;
** CANL - white wire&lt;br /&gt;
** GND - chassis&lt;br /&gt;
&lt;br /&gt;
====CAN bus protocol====&lt;br /&gt;
&lt;br /&gt;
* The CAN bus is active only when the vehicle is in READY mode, and for a few seconds after the end of the READY mode.&lt;br /&gt;
* baud rate: 500 kbits/s (if you use the wrong rate, the vehicle will complain and store a DTC fault until the DTC codes are cleared)&lt;br /&gt;
* Standard: CAN 2.0A (&amp;quot;standard CAN&amp;quot;, 11-bit identifier)&lt;br /&gt;
* Remote frames: not used &lt;br /&gt;
** this means all the data are volunteered and none are requested; that is, that every component on the vehicle broadcasts its data periodically; no component puts out requests for data&lt;br /&gt;
&lt;br /&gt;
====Battery ECU messages====&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts messages to the rest of the vehicle through the CAN bus.&lt;br /&gt;
&lt;br /&gt;
It appears that broadcasting those messages is all the Battery ECU is expected to do. It appears that this ECU only needs to talk, and doesn't need to listen. That is, it doesn't appear that it is expected to do anything about any messages that are placed on the bus by other devices. &lt;br /&gt;
&lt;br /&gt;
The battery ECU is able to protect itself by stating the maximum current it may accept or may provide. It may also protect itself by generating a Fault Code (DTC). In either case, the battery module is at the mercy of the rest of the vehicle to respect those requests and not draw or source too much current.&lt;br /&gt;
&lt;br /&gt;
(Thanks to [http://www.vassfamily.net/ Attila Vass] for pointing to the right [http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls codes]). Thanks to Jim Fell for coming up with the checksum algorithm first.&lt;br /&gt;
&lt;br /&gt;
The following data were seen in a 2006 Prius.&lt;br /&gt;
&lt;br /&gt;
The Battery ECU (Electronic Control Unit) broadcasts the following messages. In this table, numbers in parentesis (#) refer to the notes just below the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''ID (hex)'''&lt;br /&gt;
|'''Period&amp;lt;br&amp;gt;[ms] [[#1 | (1)]]'''&lt;br /&gt;
|'''No of&amp;lt;br&amp;gt;data&amp;lt;br&amp;gt;bytes'''&lt;br /&gt;
|'''byte 0'''&lt;br /&gt;
|'''byte 1'''&lt;br /&gt;
|'''byte 2'''&lt;br /&gt;
|'''byte 3'''&lt;br /&gt;
|'''byte 4'''&lt;br /&gt;
|'''byte 5'''&lt;br /&gt;
|'''byte 6'''&lt;br /&gt;
|'''byte 7'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|03Bh&lt;br /&gt;
|8&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 | Current [[#2 | (2)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3C9h&lt;br /&gt;
|100&lt;br /&gt;
|8&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|X [[#12 | (12)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CBh&lt;br /&gt;
|100&lt;br /&gt;
|7&lt;br /&gt;
|CDL [[#5 | (5)]]&lt;br /&gt;
|CCL [[#6 | (6)]]&lt;br /&gt;
|ΔSOC? [[#11 | (11)]]&lt;br /&gt;
|SOC [[#7 | (7)]]&lt;br /&gt;
|temp1 [[#8 | (8)]]&lt;br /&gt;
|temp2 [[#9 | (9)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
| bgcolor=&amp;quot;gray&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|3CDh&lt;br /&gt;
|100&lt;br /&gt;
|5&lt;br /&gt;
|colspan=2 |fault code [[#10 | (10)]]&lt;br /&gt;
|colspan=2 | Voltage [[#3 | (3)]]&lt;br /&gt;
|ChkSum[[#4 | (4)]]&lt;br /&gt;
|colspan=3 bgcolor=&amp;quot;gray&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|4D1h&lt;br /&gt;
|1060&lt;br /&gt;
|8&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
|X [[#13 | (13)]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*h = hex value; d = decimal value; b = binary value; &lt;br /&gt;
* A.V.: Attila Vaas ([http://www.vassfamily.net/ Attila Vass]) believes...; D'de: Davide ([[Hybrids-Plus]]) believes...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1) &amp;lt;span id=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; How often this message is repeated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) &amp;lt;span id=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack current: 12-bit, signed (&amp;gt;0 = discharge, &amp;lt;0 = charge) [0.1 A], -256 to 254 A. Examples:&lt;br /&gt;
* 0F80h = -128d = charging at 12.8 Amps&lt;br /&gt;
* 0000h = 0d= no pack current&lt;br /&gt;
* 0080h = 128d = discharging at 12.8 Amps&lt;br /&gt;
3) &amp;lt;span id=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Pack voltage: 16-bit, unsigned [V], 0 to 510 V. Note that 2 different messages have this data, though the 2 values can be off by 1 LSB. Examples:&lt;br /&gt;
* 00DCh = 220d = 220 Volts&lt;br /&gt;
* 0100h = 256d = 256 Volts&lt;br /&gt;
4) &amp;lt;span id=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; CheckSum: used to check for errors in the data. [[http://www.hybrids-plus.com/xls/PriusCAN_CheckSum.xls Details]] (xls) &lt;br /&gt;
Calculated as follows:&lt;br /&gt;
# Add the message ID (low byte plus high byte), the individual data bytes (other than the check-sum itself) and the number of data bytes&lt;br /&gt;
# Take the mod 256 of that (that is, drop the high byte)&lt;br /&gt;
5) &amp;lt;span id=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum discharging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CDL (Current Discharge Limit). From that and the pack voltage, the maximum dicharging power (WOUT) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 21 kW). The battery reduces this value at cold temperatures (at around 5 C it is down to around 60A) and low SOC. Example:&lt;br /&gt;
* 69h = 105d = 105 Amps -&amp;gt; 21 kW @ 200 V&lt;br /&gt;
6) &amp;lt;span id=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Maximum charging current that the pack can handle: 8-bit unsigned, [A]. A.k.a.: CCL (Current Charge Limit). From that and the pack voltage, the maximum charging power (WIN) is calculated and reported in the Diagnostics Tool (Typically &amp;lt;= 25 kW). The battery reduces this value at high SOC. Example:&lt;br /&gt;
* 7Ah = 122d = 122 Amps -&amp;gt; 24.4 kW @ 200 V&lt;br /&gt;
7) &amp;lt;span id=&amp;quot;7&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; State of Charge: 8-bit, unsigned [0.5%]. Note that if the SOC is kept constant while driving for 30 minutes, the Prius assumes that the Battery ECU is broken, and switches to engine only operation. Turning the car off and on restores normal operation. Examples:&lt;br /&gt;
* 4Fh = 79d = 39.5 % full (stopped, this is when the motor turns on to start charging the pack)&lt;br /&gt;
* 64h = 100d = 50 % full (stopped, this is when the motor turns off after charging the pack)&lt;br /&gt;
* B4h = 180d = 90 % full&lt;br /&gt;
8) &amp;lt;span id=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.:  Lowest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Temperature of the air intake. 8-bit signed, [˚C]. Example:&lt;br /&gt;
* 18h = 26d = 26 ˚C&lt;br /&gt;
9) &amp;lt;span id=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; A.V.: Highest temperature reading of any sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
D'de: Average temperature of the 3 sensors inside the battery. 8-bit signed, [˚C] Example:&lt;br /&gt;
* FEh = -2d = -2 ˚C&lt;br /&gt;
10) &amp;lt;span id=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Fault Code (DTC = Diagnostic Trouble Code): 16-bit. The 2 Most Significant bits are the type of code (see below). The other 14 bits are the code. See table below for Fault codes. Examples:&lt;br /&gt;
* 0560h = 0000 0101 0110 0000b = DTC P0560 = No voltage at the &amp;quot;AM&amp;quot; contact&lt;br /&gt;
* 3056h = 0011 0000 0101 0110b = DTC P3056 = Problem with the battery current sensor&lt;br /&gt;
* C100h = 1100 0001 0000 0000b = DTC U0100 = No Communication with the Engine Control Module&lt;br /&gt;
11) &amp;lt;span id=&amp;quot;11&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Delta in State of Charge: 8-bit, unsigned [0.5%]. Difference between SOC of most charged block and SOC of least charged block. This is just a guess. Examples:&lt;br /&gt;
* 00h = 0d = 0 % = all block are equally charged&lt;br /&gt;
* 0Ah = 10d = 5 % = the most charged bloc's SOC is 5 % higher than the least charged block&lt;br /&gt;
12) &amp;lt;span id=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown data. (A.V.: related to release date ?)&lt;br /&gt;
Typical values:&lt;br /&gt;
D'de&lt;br /&gt;
* 01 2A 25 02 99 03 1F&lt;br /&gt;
* 01 2B 25 02 99 03 1F&lt;br /&gt;
* 01 2C 25 02 99 03 1F&lt;br /&gt;
* 01 72 25 02 99 03 1F&lt;br /&gt;
* 01 87 21 02 99 03 1F&lt;br /&gt;
* 01 D1 25 02 99 03 1F&lt;br /&gt;
* 01 D2 25 02 99 03 1F&lt;br /&gt;
* 01 D4 27 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 21 02 99 03 1F&lt;br /&gt;
* 03 FF 05 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
* 03 FF 01 02 99 03 1F&lt;br /&gt;
* 03 FF 29 02 99 03 1F&lt;br /&gt;
* 03 FF 25 02 99 03 1F&lt;br /&gt;
A.V.:&lt;br /&gt;
* 03 FF 21 02 75 02 FA&lt;br /&gt;
13) &amp;lt;span id=&amp;quot;13&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Unknown, unchanging data. (A.V.: Batt -&amp;gt; HECU)&lt;br /&gt;
Typical values:&lt;br /&gt;
*11	00	01	02	00	00	00	00 (D'de)&lt;br /&gt;
*11	00	01	00	00	00	00	00 (A.V.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It appears that the battery pack also sends the following data, though it's unclear in which messages:&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|VMF FAN VOLTAGE&lt;br /&gt;
|Battery blower motor voltage&amp;lt;br&amp;gt;Min.: 0 V, Max.: 25.4 V&lt;br /&gt;
|Actuation condition of battery blower motor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|COOLING FAN SPD&lt;br /&gt;
|Battery blower motor drive mode&amp;lt;br&amp;gt;Min.: 0, Max.: 6&lt;br /&gt;
|Stopped: 0&amp;lt;br&amp;gt;Low to high speed actuation: 1 to 6&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|ECU CTRL MODE&lt;br /&gt;
|ECU control mode&amp;lt;br&amp;gt;Min.: 0, Max.: 4&lt;br /&gt;
|Operating condition of HV battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|SBLW RQST&lt;br /&gt;
|Battery blower motor stop control request&amp;lt;br&amp;gt;(standby blower)&lt;br /&gt;
|Presence of stop control request to battery&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|V1 to V14 BATT BLOCK&lt;br /&gt;
|Battery block voltage&amp;lt;br&amp;gt;Min.: –327.68 V, Max.: 327.67 V&lt;br /&gt;
|Voltage variance among battery blocks&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====OBD-II Diagostic Trouble Codes (DTCs)====&lt;br /&gt;
&lt;br /&gt;
The Battery ECU detects and reports many fault conditions.&lt;br /&gt;
*The Battery ECU places a Fault Code (DTC) in its message with an ID of 3CDh&lt;br /&gt;
*The Engine ECU receives such DTCs (from the Battery ECU and from other devices as well)&lt;br /&gt;
*The Engine ECU lights the Malfunction Indicator Lamp (MIL) (a.k.a. &amp;quot;Check Engine Lamp&amp;quot;) on the dashboard. (In some cases it does so immediately, in some cases after it receives the same DTC twice.)&lt;br /&gt;
&lt;br /&gt;
Fault codes begin with one of four letters, depending of the 2 Most Significant bits (MSb) of the hex code:&lt;br /&gt;
&lt;br /&gt;
*Ltr MSBs&lt;br /&gt;
*P   00   Powertrain: Most faults start with this letter&lt;br /&gt;
*C   01   Chassis: steering, brakes, other chassis systems. Faults in the transmission control ECU or electric power steering system&lt;br /&gt;
*B   10   Body: Smart entry and Immobilizer malfunction. The only DTCs are B1294 and B2799&lt;br /&gt;
*U   11   Network: Faults in the CAN network as well as any other networks (The Hybrid Control System cannot communicate with other components on the CAN bus0&lt;br /&gt;
&lt;br /&gt;
All OBD-II diagnostic codes have five digits. &lt;br /&gt;
&lt;br /&gt;
The first digit in an OBD-II DTC is always a letter, narrowing the fault to one of four different sections of the on-board diagnostic system: a P for powertrain, B for body, C for chassis, or U for network. At present, no other letters are used.&lt;br /&gt;
&lt;br /&gt;
The second digit will be a number; SAE-defined codes, known as generic codes, are identified by a 0 (as above), 2, or 3. A specific SAE-defined code will always mean the same thing from vehicle to vehicle; a P0300 code, for example, indicates a random misfire across multiple cylinders of the vehicle's ICE, regardless of vehicle. Manufacturer-specific codes, which are not defined by SAE, must use a 1 for the second digit. They can mean anything.&lt;br /&gt;
&lt;br /&gt;
One of the goals of OBD-II was to present a standardized diagnostic system. That’s where generic codes come in. At the same time, manufacturers need to have room in the system to create and display their own codes. They are free to do whatever they want with manufacturer-specific codes, but they must still equip each diagnostic system with the core group of generic codes.&lt;br /&gt;
&lt;br /&gt;
When a Prius sets a DTC, it also sets a proprietary three-digit diagnostic code that sometimes gives a bit more information. This is typically accessed with a factory scanner.&lt;br /&gt;
&lt;br /&gt;
The battery ECU may generate the following Fault Codes (DTCs = Diagnostic Trouble Codes).&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=0 cellpadding=3 border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Code (hex)'''&lt;br /&gt;
|'''Cause'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0560&lt;br /&gt;
|There's no voltage at the &amp;quot;AM&amp;quot; contact of the battery ECU (it should be 12 V at all times)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A1F&lt;br /&gt;
|Battery ECU is bad (many possible symptoms)&lt;br /&gt;
|(2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A7F&lt;br /&gt;
|One of the blocks in the battery pack has deteriorated: its dynamic resistance is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A80&lt;br /&gt;
|The difference in voltage between 2 of the blocks in the battery pack is too high&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A81&amp;lt;br&amp;gt;P0A82&amp;lt;br&amp;gt;P0A85&lt;br /&gt;
|The fan cooling the battery pack has problems (motor voltage or expected battery temperature)&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A95&lt;br /&gt;
|Battery pack's fuse is blown (the Service Plug is still plugged in)&lt;br /&gt;
|(3)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0A9B&lt;br /&gt;
|One of the temperature sensors in the battery pack is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P0AAC&lt;br /&gt;
|The temperature sensors in the air intake is opened or shorted&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P30xx&lt;br /&gt;
|Battery block xx - 10 is weak&lt;br /&gt;
|(2)(4)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3030&lt;br /&gt;
|One or more of the wires between the Battery ECU and the battery blocks is disconnected&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|P3056&lt;br /&gt;
|There's a problem with the battery current sensor&lt;br /&gt;
|(1)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode and drive normally&lt;br /&gt;
# Behavior: lets the vehicle go into the READY mode but limits driving to fail-safe mode&lt;br /&gt;
# Behavior: if the engine happened to be on at the time, the vehicle remains in the READY mode and  continues driving with just the engine; if the engine happened to be off at the time, without a battery it can't be started, so the vehicle turns off the READY mode and stops&lt;br /&gt;
# There are 14 blocks in the battery pack (1 through 14); the last 2 digits of the code are the equal to the number of the bad block plus 10; so, if block 1 is bad, the code is P3011, if block 12 is bad, the code is P3022&lt;br /&gt;
&lt;br /&gt;
===Causes for errors===&lt;br /&gt;
The Prius doesn't like the following:&lt;br /&gt;
* Telling the car that the SOC is a fixed value for 30 minutes straight&lt;br /&gt;
** A fault is generated, car stops using the battery and keeps on running on just the engine, until 12 V battery dies, then car stops. &lt;br /&gt;
** Just restart the car, and all will be fine.&lt;br /&gt;
* Telling the car that the battery voltage is much higher than it really is (say, the battery is 170 V, but you tell it it's 200 V)&lt;br /&gt;
** A fault is generated, car dies&lt;br /&gt;
** Clear the faults, tell it the right voltage, and all will be fine&lt;br /&gt;
* Telling the car that the battery is at 100 % SOC&lt;br /&gt;
** Engine races all the time&lt;br /&gt;
** Tell it at most 80 % SOC (though doing so at start-up causes the engine to run continuously, not just 10-20 seconds; instead, start by telling it that the SOC is 70 %, then go up to 80 %)&lt;br /&gt;
&lt;br /&gt;
===MFD (Multi Function Display)===&lt;br /&gt;
&lt;br /&gt;
====State Of Charge display====&lt;br /&gt;
In the Energy screen, the state of charge of the battery is shown with 8 bars. The following graph shows the relationship between the SOC reported by the battery ECU and the number of bars shown. There is a hysteresis of 2.5 % (usually), and filtering with a time constant of about 15 seconds (just on the display - the HEV ECU reacts immediately to changes in SOC).&lt;br /&gt;
:[[Image:StateOfChargeBars.gif]]&lt;br /&gt;
::''More SOC images available at [[Toyota Prius Battery Specs]].''&lt;br /&gt;
&lt;br /&gt;
==Limit to continuous EV operation==&lt;br /&gt;
The Prius relies on the engine running for distribution of lubricant oil on the gears of the CTV (Continuously Variable Transmission). As its stock EV-only operation is limited to at most a couple of miles, after which the engine must run, it ensures that lubrication happens on a regular basis.  Which leads to concerns that in a plug-in converted Prius, the larger battery allows longer EV-only operation, without lubrication.  Implying that therefore, a plug-in conversion must ensure that it causes the Prius to restart the engine every few miles, then return to EV operation.&lt;br /&gt;
&lt;br /&gt;
However upon further examination it should be noted that in EV-only mode all motive torque is provided by MG2 and thus not transmitted through the CVT or ''PSD (Power Split Device)'' which might more accurately be referred to as a [http://groups.yahoo.com/group/Prius_Technical_Stuff/message/15705 TSD (Torque Split Device)].  There was a related thread implying that lubrication, while not actively circulated without the ICE running, is still present yet not as critical during EV-only mode.  A number of converted PHEV Prius are operating in EV-only mode for extended distances of 10 to 30 or more miles without any adverse effects to the CVT, but we will be sure to update this section should that change in the future.&lt;br /&gt;
&lt;br /&gt;
{{Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[Category:PHEV]]&lt;br /&gt;
[[Category:Prius]]&lt;br /&gt;
[[Category:Prius PHEV]]&lt;br /&gt;
[[Category:Hybrids-Plus]]&lt;/div&gt;</summary>
		<author><name>Perfectsky</name></author>
		
	</entry>
</feed>