No READY. P1A15 error. Condenser charge timeout.

Mitsubishi i-MiEV Forum

Help Support Mitsubishi i-MiEV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
The loom plugs and sockets arrived today and I'm going with them fixed to the main board.


A7XSjNH.jpg
 
I've got 1 of my original boards left. I'll order some more if that one goes. I've tweaked the design a bit, any suggestions? The mounting holes are 0.125 inch or just over 3mm and will fit common adhesive stand-offs. The end tabs can be snapped off at the V-cuts if you don't need them.

If I was mounting/installing another one I think I would use fly leads as well but probably solder both ends. Then I would put some velcro on top of the AD202 and stick it to the inside of the lower cover, pcb up.

LVzKZRZ.jpg

nRKMWv8.jpg

fSmJ6Px.jpg
 
@Greg, the board layout looks great with the option for the breakaway tabs. i don't have my ordered parts yet to get some idea of how much room is available. i'm curious about what you think for mounting the SIP package?

@Justin, i like the connectors that you have installed on the main board, that should do a good job and allow for cover removal if ever necessary (hopefully never). i would be somewhat worried about single header pins and sockets sliding loose.

One of the overall factors to consider is that the HV and LV are connected to the pack and must be kept isolated from chassis as much as possible to not fail the pack leakage test.
 
Hi kenny

They are positive connectors just like the ones already used on the board, they take a little bit of prising back off!

I had bonded the bottom of my board first with some car bonding sealant and allowed it to cure, then bonded it with the same sealant.

I’m not a fan of putting anything like double sided or Velcro because I think inevitably with the heat the glue will come away.
 
...i'm curious about what you think for mounting the SIP package?
The SIP package would allow a pcb that used all the original mounting points. It is however longer and may need an extra insulation layer between it and the main pcb, or higher standoffs. I was considering doing a design for the SIP, however the parts library I used only had the DIP version, so that would involve creating a part which is doable but I've just had some other things come up that need my time so I won't be doing a SIP version at the moment. :(

I’m not a fan of putting anything like double sided or Velcro because I think inevitably with the heat the glue will come away.
My wife says I have an unhealthy Velcro obsession!! :lol: :lol: :lol:
 
Hi all,

Its been interesting following this and Greg has sent me one of his circuit boards to try. What I don't understand though is what the actual issue is - the voltage measurement is low but as far as I can see the hybrid board doesnt actually measure the voltage, it is just an isolator that passes the voltage along the circuit to be measured later.

The hybrid board seems to be there for HV isolation, hence the cutout in the board, but replacing it seems to fix the issue. But where actually is the issue? I can see different people have had different components replaced and its pretty obvious to see where the potential divider is but that doesnt seem to be the actual cause of the issue.

Can someone test the components on the hybrid board to work out what has actually caused the lower voltage reading?

Cheers.
 
What I don't understand though is what the actual issue is - the voltage measurement is low but as far as I can see the hybrid board doesnt actually measure the voltage, it is just an isolator that passes the voltage along the circuit to be measured later.

Hi Gary,

The hybrid board should read the voltage across pins 1 & 2 (HV and VL) and output the same voltage across pins 3 & 4 while maintaining isolation between the pack voltage and the 12 volt system. The main pcb will have a ADC that measures this voltage and then convert that voltage to the actual voltage seen at the MCU (also referred to as the condenser voltage) The issue seems to be that the ISA215N can go out of calibration or in my case, fail all together, so that the voltage it outputs doesn't match it's input voltage. It seems that the MCU voltage/condenser voltage needs to be within around 12 volts of pack voltage reported by the BMS or a fault will be reported and the car will shut down.

The AD202KN is an isolation amplifier that we are using in unity gain mode to mimic the ISA215N. It seems to have a slight voltage offset that means the MCU reports around 6 volts less than actual battery voltage. Today I took a reading at 28% SOC and had an 8 volt difference 334v - 326v but it was back to the 'normal' 6v difference at 74% SOC, 352v - 346v. So far this voltage difference hasn't caused any problems, but that's only 2 vehicles so far (I've now done 285 miles on mine, since the repair).

This repair isn't a magic bullet, many other possible problems have to be ruled out first. Read through all of this thread and other related threads if you have a P1A15 error. A quick check list would be;
  • 12 volt battery condition and connections
    Full diagnostic scan, fix any other errors first, particularly CAN bus errors
    Try AC charging the car and then scan again and fix any of those errors
    Disconnect Heater and AC compressor
    Measure voltage at MCU (condenser voltage) with min/max DVOM
 
Nicely put Greg!

From my experience with Kenny educating me, there are many variables in the MCU before you even get to the Hybrid board. While it seems very probable in half the cases that the hybrid board is faulty or in fact will become faulty in the end, a firm diagnosis needs to be made before replacing something.


To add to your post Gary, I spent over 12 hours testing and replacing components with the guidance of kenny and still had a faulty board, the only items left were the transformers. So in my mind these may have been faulty on my hybrid but I could not find any availability for replacement.

That’s where I came to a stop then hey-presto a few days later Greg arrives here with an answer!!!!!
 
Quick update...

My board arrived from Greg and my spare AD202 from china, a few pictures of it pieced together.

Just waiting for some components to try and adjust the missing 6v before testing it.

I am then going to seal the soldered wires to stop any vibration and then fit it to the base plate.

As this is my spare unit I have got a M24C64 in a dip package and a socket to place on the main board so that it is easy to remove from the board and program the immobiliser system and match to the vehicle. If anyone has a new MCU or virgin dump for this chip I would appreciate it or unless you know exactly what to change in the dump that I have?

MOyTnfP.jpg


GIgQ13o.jpg


gxMkHOM.jpg
 
Great stuff Justin. Mine has now done 500 miles since being repaired. The only issue has been the gear linkage at the rear being a bit stiff, but after several lubrications and usage it's now moving freely.
 
Hello.

After a very long struggle, I managed to make a working ISA215-HYB module. The module that checks the voltage level on the high-voltage line was designed entirely on analog elements. In order for the module to work properly, it must be calibrated in the inverter. If there is anyone interested in such a module, please contact me.

Regards.

PDqvZ6p.jpg


NYEtXpm.jpg
 
12v battery is fine 13.69v. Not so cold. Something around 30F. I tried to remove error and look what is wrong, but some how error stayed active. I tried disconnect 12v battery for 10min - didn't help. I tried to disconnect it for around 1 hour - it helped, I removed error, but I didn't find what was wrong. I checked voltage difference between condenser and and battery - 4v. May be it is time to repair old MCU and keep it close... I so tired to solve this car problems. Almost every month it is something happened.
 
Hello guys

I've started reading this thread from the beginning at 9pm and ended at 3.20am. I have a sick day now. :D
I have a c-zero saying 336 / 348 volts difference but my case is not very explored yet. The key factors are:

- Curiosity killed the kitten: I have been experimenting with adding a ceramic air heater instead of AC for cold times and actually has been using it for 3 months with no problems with a small correction - always switch it off before starting otherwise (sure thing!) you'll get the P1A15. Did not automated the process to avoid that automatically so had to reset the error few times.

- Aging battery made my day: my DS150 scanner started yelling at me. I've never realized it has a beeper inside before. Anyways, it was due to weak AUX bat - the scanner was unhappy with a low voltage at OBD connector. I've measured it with a voltmeter and found that while it's 11.9V with no load, its quickly draws to less then 10 when a 55W h1 lamp attached. Anyways, connecting it to a running ICE did not changed the situation - its possible to clear out the codes until key turned to start position.

- I was playing with a hand-made CAN bridge near BMU (external bus). Helping someone to cheat the system for an upgraded battery capacity.

- s*** hits the fan: a coincidence of the above

More information I was able to briefly collect
- The resistance between HV terminals (I have those right in my gloves compartment now due to attaching ceramic heater thus easy to quickly measure) is approx 800 Ohms. Not a short-circuit or a way to drain so don't want to get dirty and partially pull down the plastic to unplug AC and heater connectors as well as DC-DC. I doubt it could discharge that monster cap but could anyone perform the same measurement on a working car please?

- At least ground and precharge connectors are engaged properly - the voltage is only 12V less then the bat voltage

My questions for now are:
- Could someone measure the resistance on a completely shut off non-broken vehicle AC HV terminals?
- Is it safe to activate the main contactor by applying a +12V to C111 / 107 without disconnecting it from BMU or that could damage the contactor activating circuit inside BMU (never disassembled that so not sure how its implemented)
- Since I have a working CAN bridge, I wanna try to cheat BMU into thinking that precharge succeeded (by making it more tolerant like 24V). Need a packet / bytes that hold the cap voltage - can't find on this forum but I believe the OBDZero author knows that as well as someone from the hobdrive crew. Would be great to have this shared.

PS I'm impressed guys by your tenacity to complete really.
 
Where did you tap off the HV?

There is a 58k bleeder resistor in the MCU in parallel with the big black capacitor, and a 470k in parallel with those along with some additional capacitance in the OBC and DCC, see MCU picture here
http://myimiev.com/forum/viewtopic.php?f=23&t=3897&p=34754&hilit=mcu+bleed+resistor#p34754

If you are reading 800 Ohms then something may be damaged or shorted, but usually my meter gets distorted by trying to read resistance across the capacitor. So not really sure what that reading could mean..?

Not really a good idea to bypass the system to engage pack contactors unless you are very skilled and know what you are doing. All bets are off.

Precharge success; the voltage is measured in the bottom plenum of the MCU, thru the hybrid isolation amp board, then it splits into an op amp buffer and a voltage comparator with hysteresis and then those two outputs feed into the microcontroller chip on pins 34 and 42. It may be that the micro makes the decision or just reads the voltage, but it reports back to the EV-ECU which controls and drives the contactors.

The P1A15 issue is usually a measurement error due to degraded hybrid board; but if you are actually measuring with voltmeter a 12V difference between the pack HV and the MCU capacitor HV, then you have other problems. Folks with bad hybrid have measured with voltmeter at MCU terminals and got the same reading as the CAN pack HV value. Justin replaced a voltage divider resistor in the downstream leg before the buffer and comparator to raise the voltage to the micro. There are test pins on the board edge, that i have labelled as B-4 and B-6 for these signals.
 
Where did you tap off the HV?
I've bought my czero with a condom on the AC connector (literally) - when I've tried to check the resistance of the compressor so the compressor is damaged and the car arrived from Norway where's its too cold to worry about AC. 140kkm and still 31.9Ah...

If you are reading 800 Ohms
I'm trying to read the resistance of the HV with a fully discharged capacitor to check for a real short-circuit. Sure thing its a dumb way because tester charges the big capacitor a bit and its a moon phase measurement, not resistance :)

Not really a good idea to bypass the system to engage pack contactors
I'm sure what I'm doing - its a hobby toy for me, not something that I'm afraid to screw up. So if it would burn iteslf my only concern would be to make firefighters believe its an accident due to ageing, not my experiments.
I don't want to pull out the inverter yet - too much hassle while its -10 outside today. :)
My real concern is if I will have to fix the BMU after applying +12V to the contact #107 in non-ready mode.

I saw a votage diagram grabbed with a Delphi tester on this thread - will try to grab mine to compare. There are few devices on the bus that can ask BMU to keep HV active according to the flags I see in the scanner software live data.
But I'm too lazy to analyse CAN dump to figure out which bits/bytes of which IDs actually contain the precharge voltage and where're those flags... if anyone knows and could share - that would be awesome.
Otherwise, the analog part repair is pretty straightforward - capacitors replacement in the voltage divider circuit and couple MOhms patch in parallel with the n*100k shoulder. Thats pretty clear thanks to all the effort people here put into investigating.

But I believe I can engage the contactors and scream READY into the CAN so the inverter would allow me to drive.

but if you are actually measuring with voltmeter a 12V difference between the pack HV and the MCU capacitor HV
no direct measurement performed to both circuits, used a scanner to see the bat voltage. And both multimeter and scanner to see the cap voltage. So BMU is not measuring anyting like that - it summs all the cells voltages instead while inverter actually tries to measure the voltage with the hybrid board.

If you're not yet bored of me I'll keep you posted guys.
 
You asked if the author of OBDZero knows the bytes that hold the cap voltage. I'm the authors but I'm not sure what the cap voltage is. Here are 6 bytes that might help

Charger DC voltage PID 389 byte 1 (of bytes 1 to 8) volts = 2*(byte1 + 0.5)
Charger DC current PID 389 byte 3 amps = byte3 / 10
Charger AC mains voltage PID 389 byte 2 volts = byte2
Charger AC mains current PID 389 byte 7 amps = byte7 / 10
There are 2 charger temperatures PID 389 bytes 4 and 5 temp C = byte - 50

Hope this helps
 
CZeroOwner said:
Hope this helps
Thank you sir, the more we know of the CAN messages - the more we can fake / patch.
Which model year your vehicle is?
I've also raised this on the AEVA and there's some other info:
Code:
374 (D1 -10)/2 = SoC
374 D7/2 = C
373: (((D3 * 256) + D4) - 32768) * -0.01 = Pack Amps Out (#)
373: ((D5 * 256) + D6) * 0.1 = Pack Volts (#)
It seems either the model year makes that difference or there are many sources for the same data from different ECUs.
PS my draft (working) bridge is here (wiring, sketch): https://github.com/dkotin/can_2515/tree/master/b
 
Here is a complete list of the raw data used in OBDZero. You can also find this list in the OBDZero user manual. Download it from odbzero.dk The list is in the manual's Annex 2. Note that in this case the bytes are numbered from 0 to 7 not 1 to 8. Bits are number by their positional value i.e. 1, 2, 4, 8, 16, 32, 64, 128.

Parameter Units Description Source Conversion
AC on/off Airconditioning PID 3A4 byte(0) bit 128
ACAmps amps Airconditioning amps PID 384 (byte(0) * 256 + byte(1))/1000
AirRec on/off Air recirculation PID 3A4 byte(0) bit 64
BatACalOut amps Amps out of the battery calibrated -(BatteryA + 0.66)
BatCapAh amp-hours Battery 100% capacity PID 374 byte(6)/2
BatteryA amps Amps in to the battery (both + & -) PID 373 (byte(2)*256 + byte(3) -32768)/100
BatteryTmax oC Maximum cell temperature PID 374 byte(4) – 50
BatteryTmin oC Minimum cell temperature PID 374 byte(5) – 50
BatteryV volts Battery volts PID 373 (byte(4)*256 + byte(5))/10
Brake unknown Brake pressure PID 208 byte(3)
BrakeOn/Off on/off Brake PID 231 byte(4)
Charge12Amps amps 12volt battery charger amps in PID 384 byte(3)/10
ChargeADC amps Charging unit amps to battery PID 389 byte(2)/10
ChargeTemp1 oC Charging unit temperature 1 PID 389 byte(3) – 50
ChargeTemp2 oC Charging unit temperature 2 PID 389 byte(4) – 50
ChargeVAC volts Charging unit volts from mains PID 389 byte(1)
ChargeVDC volts Charging unit volts to battery PID 389 2*byte(0) + 1
ChargeAAC amps Charging unit amps from mains PID 389 byte(6)/10
FanDirect number Air direction control position PID 3A4 byte(1) low nibble
FanMax on/off Max fan PID 3A4 byte(0) bit 32
FanSpeed number Fan speed PID 3A4 byte(1) high nibble
Gear number 3 = P/N, 1 = Reverse, 4 = Drive PID 236 see note 2
Heat/Cool number Temperature control position PID 3A4 byte(0) low nibble
HeaterA amps Heater amps PID 384 byte(4)/10
KeyOn/Off on/off Key on (either ready or not ready) PID 412 byte(0) = 254
LDrive on/off Headlights PID 424 byte(1) bit 32
LFrontFog on/off Front fog lights PID 424 byte(0) bit 8
LHigh on/off Highbeams PID 424 byte(1) bit 4
LPark on/off Parking lights PID 424 byte(1) bit 64
LRearFog on/off Rear fog lights PID 424 byte(0) bit 16

Parameter Units Description Source Conversion
MotorA amps Motor current PID 696 (byte(2)*256 + byte(3) - 500)/20
MotorRPM rpm Motor rpm PID 298 byte(6)*256 + byte(7) – 10000
MotorTemp0 oC Motor temperature 0 PID 298 byte(0) – 50
MotorTemp1 oC Motor temperature 1 PID 298 byte(1) – 50
MotorTemp2 oC Motor temperature 2 PID 298 byte(2) – 50
MotorTemp3 oC Motor temperature 3 PID 298 byte(3) – 50
Odometer km Total km driven PID 412 byte(2)*256*256 + byte(3)*256 + byte(4)
QuickCharge% % Chademo percent PID 697 byte(1)
QuickChargeA amps Chademo current PID 697 byte(2)
QuickChargeOn/Off on/off Chademo connected PID 697 byte(0)
RearDefrost on/off Rear window defrost PID 424 byte(6) bit 8
RegenA amps Regeneration amps (negative) PID 696 (byte(6)*256 + byte(7) - 10000)/5
RestRange km Car's estimate of remaining km PID 346 byte(7)
SoC1 % State of Charge 1 PID 374 (byte(0) - 10)/2
SoC2 % State of Charge 2 PID 374 (byte(1) - 10)/2
Speed km/h Indicated speed PID 215 (byte(0)*256 + byte(1))/128
Steering degrees Steering wheel position PID 236 (byte(0)*256 + byte(1) -4096)/2
WindWiper on/off Windshield wipers PID 424 byte(1) bit 8

Note 1
Each PID contains 1 to 8 bytes. The first byte is numbered 0 and the last byte is numbered 7. When on/off
information is code it is usually coded in the bits of a byte, a bit equal to 1 means on. The bits are
numbered in the table above by positional value in the byte. Of the 8 bits in a byte bit 128 is the most
significant and bit 1 the least significant. The low nibble in a byte is the number represented by the 4 least
significant bits and the high nibble is the number represented by the 4 most significant bits.
Note 2
The gear position is a bit complicated. The information is contained in PID 285. If byte(6) equals 12 then the
position is either Park or Neutral with no indication of which. If byte(6) equals 14 and byte(7) equals 16
then the position is Drive. If byte(6) equals 14 and byte(7) doesn’t equal 16 then the position is Reverse.
There is probably another PID where the gear position is more explicit, but I haven’t found it yet. Another
thing, the iMiev has two more gear positions than the CZero and the iOn. Both these positions are shown
as Drive in OBDZero.
Note 3
The coding of the individual cell information is found in PIDs 6E1-6E4. Byte(0) is the module number. A
more detailed explanation will have to wait for a later manual.
Note 4
The BatteryA, the current to the battery can be both positive and negative. The sign is in relation to the
battery so charging is positive and discharging is negative. However most of the computations in OBDZero
are from the perpective of the motor and auxiliary functions. So for BatACalOut, the calibrated current,
discharge is positive and charging is negative. MotorA, motor current is always positive and RegenA, the
regenaration current is always negative. HeaterA, heater current and ACAmps, airconditioning current are
both positive. However this convention doesn’t apply to ChargeADC, charging unit current to the battery
and QuickChargeA, Chademo current to the battery both of which are positive.
 
Back
Top