Need info on A123 pack from 2014 Spark EV - DIY Electric Car Forums
Go Back  

DIY Electric Car Forums > EV Conversions and Builds > All EV Conversions and Builds

Register Blogs FAQ Members List Social Groups Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Display Modes
  #1  
Old 02-23-2017, 07:54 PM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Need info on A123 pack from 2014 Spark EV

Has anyone ever messed with or hacked (or know where to get info on) the A123 battery used in the 2014 Chevy Spark EV (note: only the 2014).

What I'm specifically looking for is...
- information on the BMS attached to each module (1 at each end of the 4 modules in the pack)
- low voltage connector pin-out from the battery pack
- anything technical

Thanks
Jeff
Reply With Quote
Sponsored Links
Advertisement
 
  #2  
Old 02-24-2017, 10:57 AM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

For reference found some info related to similar A123 modules...

http://www.metricmind.com/qashqai/main.htm

BetterPlace cars used the A123 packs in Israel.
Reply With Quote
  #3  
Old 02-26-2017, 09:01 AM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

Shop Service Manuals for the 2014 Chevy Spark can be accessed for $29 for a year.

Repair Service Manuals

I can confirm that the wiring diagrams include wiring to the battery pack and even within the battery pack (contactors, current sensing, BMS modules, cell links). I would characterize it as a modules and interconnections level of information, for example the circuit design of the BMS is not listed. Between the interconnections and the detail on the DTC codes, it looks promising to figure out the control and information scheme for the battery pack.

Just based on this information (i.e. not tested on the battery yet), it looks like the battery pack is controlled based on signal wires from other modules(i.e. it does not attempt to interpret CAN messages and act accordingly). Where CAN/GMLAN lines do show up, I'm hoping they are pushing data on the pack/cell states and not being controlled by CAN.

So at this stage pretty hopeful about gaining control of the pack. More to come...
Reply With Quote
 
  #4  
Old 02-27-2017, 07:51 AM
zaxxon zaxxon is offline
Senior Member
 
Join Date: Jul 2009
Posts: 158
zaxxon is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

Based on some MIT students using same or similar A123 Modules in 2010 on a motorcycle project indicates the BMS commands and information is through a CAN interface.
Reply With Quote
  #5  
Old 02-28-2017, 11:46 AM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

Quote:
Originally Posted by zaxxon View Post
Based on some MIT students using same or similar A123 Modules in 2010 on a motorcycle project indicates the BMS commands and information is through a CAN interface.
Zaxxon - Thanks for the MIT lead. Did a search and found some good information on the MIT EVT projects, some of which used the A123 prismatic cells and the associated BMS modules.

Searching Github for MIT A123 BMS turned up some code written to interpret CAN messages from the BMS and also to hook an A123 module up to a Brusa NLG513 charger (BINGO! - the exact charger I have - which can be CAN driven for charge profiles). It will take some interpretation of the code for my purposes, but this is a huge leg up on interpreting the CAN from the BMS modules.

Jeff
Reply With Quote
  #6  
Old 03-18-2017, 10:23 AM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

I posted a new thread to the TesLorean thread to demonstrate some testing of the OEM contactors in the 2014 Chevy Spark EV A123 battery pack.

In summary there are two LV connectors for the pack.

X-358 is at the end of the next and provides ground and power for the contactors that connect the pack to the motors (power distribution) and to the charger (via a pre-charger circuit).

X-357 is at the left (car convention) of the pack. It contains some power lines, communication signalling, and GMLAN and CAN lines.

Jeff
Reply With Quote
  #7  
Old 03-19-2017, 08:43 PM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Need info on A123 pack from 2014 Spark EV

Using the data connector X357 to the 2014 Chevy Spark Pack A123 battery, I was able to extract the following CAN frames. Still lots of decoding to do, but it looks like there may be some commonality with the MIT work done on a single A123 module and associated sub-BMS.

(Note: Data started flowing as soon as pins 1(12v), 2(Gnd), 4(12v ignition) were connected. Once pins 3 and 14 (12v for data enable) were connected the data patterns changed - same frames just different contents).

Frames 0x0200, 0x0202, 0x0204, and 0x0206 looks promising as cell voltage data.

Jeff

Extracted Data
0x0200
Pre Data Enable
Bytes 0-5 = 0x00
On Data Enable
Byte 0 goes to 0x14
Byte 1 takes values 0x9A to 0x9E
Idea: Could be reporting data on cells - voltage variations
Byte 2 goes 0xF4
Byte 3 takes values 0x9A to 0x9E
Idea: Could be reporting data on cells - voltage variations
not the same values as Byte 1, so reporting different data
Byte 4 goes to 0xA4
Byte 5
Bits 6 & 7 always 1
Bits 3,4,5 seem to be indicators
Byte 6 counts from 0x18 to 0xF8 by 0x20 increments (bits 5,6,7 counter)
Byte 7 = 0x00
0x0202
Same type of byte data as 0x0200
0x0204
Same type of byte data as 0x0200
0x0206
Same type of byte data as 0x0200
0x0208
Bytes 6
Counts 0x18 to 0xF8, incr 0x20
Bytes 0--5
Cycles through a sequence of 8 frames
Cycle 1 has bytes 1,3,4,5 = 0x00 every time, byte 2 mostly 0x00, but occassionally 0x20
Bytes 0 = 0x00,0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14
Byte 1 = 0x00, 0x00, 0x9E, 0x9B, 0x9C , 0x9B, 0x09C, 0x09A
Byte 2 = (0x00 or 0x20), (0x00 or 0x20), 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0x80
Byte 3 = 0x00, 0x00, 0x9B, 0x9C, 0x9A , 0x9C, 0x9B, 0x00
Byte 4 = 0x00, 0x00, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x00
Byte 5 = 0x00, 0x00, 0xD8, 0xD0, 0xD8, 0xD0, 0xE0, 0x00
0x020C
Bytes 0,2,3,4,5 turned on once enable signal sent, and removed once enable removed
Byte 0 has data 0x02 while on
Byte 2 has data 0x07 while on
Bytes 3,4,5 have same data 0xA5 while on
0x0216
Byte 0,5,6,7 = always 0x00
Byte 1 = Goes 0x00, 0x0B then 0x6B on startup, stays at 0x6B at end goes to 0x0B then 0x00
Byte 2 = Starts 0x00, goes to 0x8A, stays 0x8A, until end then 0x00
Idea ; Byte 1 and 2 just On status indicatorss (no variability in the values)
Byte 3 = 0x00 until data enabled, then 0x00 or 0xFF (not a repeating pattern)
Byte 4 = 0x00 until data enabled, then values like 0x02, 0x04, 0x06, 0x08, and values like 0xFE, 0xFC, 0xF8 when Byte 3 = 0xFF, suggests it might be a signed integer (0xF... being small negatives)
Ideas: Byte 3 could be an over under indicator, and Byte 4 is a signed integer of the degree over under
0x0260
Bytes 0,1,2,3,4 Bits 0,1,2 are indicator of some type
Bytes 0,1,2,3,4, Bits 3-7 are a counter
Counts 02 to 3A (incr 8) , then 40 to F8 (incr 8)
0x0262
Bytes 0,1,2 all the same
Counts 02 to 3A (incr 8) , then 40 to F8 (incr 8)
0x0270
For all Bytes 0-7, bits 3-7 are acting as a counter
Bit 2 = always 0
Bits 0 & 1 are status bits (no obvious pattern)
0x0272
For all Bytes 0-7, bits 3-7 are acting as a counter
Bit 2 = always 0
Bits 0 & 1 are status bits (obvious cycling pattern)
0x0274
For all Bytes 0-7, bits 3-7 are acting as a counter
Bit 2 = always 0
Bits 0 & 1 are status bits (no obvious pattern)
0x0302
Pre Data Enable
Bytes 0-6 all 0x00
Byte 7 toggles between 0x00 and 0x20
On Data Enable
Byte 0 goes to 0x03 and stays
Byte 1 went to 0x7B, infrequently 0x7C
Byte 2 went ti 0x7B, stayed
Bytes 3,4,5,6 cycle between 0x00 and 0x7B
Byte 7 toggles between 0x20 and 0x1E
0x0460
Pre Data Enable
Byte 0 and 2 = 0x01
On Data Enable
Byte 0 and 2 = 0x09
Bytes 4,5,6,7 all 0x00 always
Bytes 1 and 3 bounce around 0xE2, 0xE3, 0xE5, 0xE6

================
MIT extract from code for what to expect from 0x2 frame (0x0200).
(Need to understand code better to get the correct bits to inspect. There should only be 64 bits in an 8 data byte CAN frame, so there shouldn't be a 13 bit voltage starting at bit 59?)

ID 0x2
200 format message
Cell Overvoltage detected - bit flag
at 2, 1 bit
Cell Undervoltage detected - bit flag
at 3, 1 bit
Msg response ID
at 4, 4 bits
Temperature
at 8, 8 bits (add Therm Offset = -40
Temperature Channel
at 24, 3 bits
Minimum Cell Voltage
at 27, 13 bits, *0.0005 +1
Number of Active Balance Circuits
at 40, 3 bits
Maximum Cell Voltage
at 43, 13 bits, *0.0005 +1
Voltage Mismatch Detected
at 58, 1 bit
Average Cell Voltage
at 59, 13 bits, *0.0005 +1
Attached Files
File Type: zip A123 CAN Battery Run.zip (122.5 KB, 6 views)
Reply With Quote
  #8  
Old 03-24-2017, 06:23 PM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Need info on A123 pack from 2014 Spark EV

I'm pretty sure I've located the CANbus frames for voltage in the CAN data from the A123 2014 Chevy Spark EV battery pack.

Frames 0x0200, 0x0202, 0x0204, and 0x0206 contains 3 cell voltage readings per frame, frames are numbered 0 to 7, so this accounts for (8*4*3) = 96 cells. Frame 0x0208 contains another 3 voltages, but only in frames numbered 0-4, and one voltage in frame 5. In total this provides 112 voltages, one for each cell in the pack.

Voltages look consistent with the 13 bits data found in the MIT study (looking at the subBMS modules). V= (13 bits * 0.0005) + 1.

Voltage 1 is formed from bits (4,3,2,10,15,14,13,12,11,10,9,8)
Voltage 2 is formed from bits (20,19,18,17,16,31,30,29,28,27,26,25,24)
Voltage 3 is formed from bits (39,38,37,36,35,34,33,32,47,46,45,44,43)

The frame number is found in bits (55,54,53)

I haven't ascertained the purpose of the other bits (there isn't sufficient variance in the data to establish their meaning).

I haven't yet physically validated the individual voltage readings with the cells in the pack. Doing so will allow me to validate the 0.0005 number suggested in MIT's study. The current calculations suggest 3.6v/cell, however the module readings (28 cells of triplets) suggest cell voltages should be 3.3v/cell.

Jeff
Reply With Quote
  #9  
Old 03-25-2017, 12:51 PM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

Anyone every see a PWM signal to a Pre-charger circuit? The A123 battery pack lists the control for the pre-charger as a PWM. I got it to work as a 12v constant signal (i.e. 100% PWM) but I'm curious if rating up 0-100% PWM might be a better options, but I'm not sure what advantage PWM would bring to a pre-charger circuit.

Any ideas?

Thanks
Jeff
Reply With Quote
  #10  
Old 03-25-2017, 09:51 PM
DrJeff DrJeff is offline
Member
 
Join Date: Apr 2015
Location: Katy, Texas (Houston)
Posts: 55
DrJeff is on a distinguished road
Default Re: Need info on A123 pack from 2014 Spark EV

More CAN frame information candidates...

0x0460 : Min and Max voltages in the pack
Min bits (3,2,1,0,15,14,13,12,11,10,9,8) 12 bits
Max bits (19,18,17,16,31,30,29,28,27,26,25,24) 12 bits
Voltage = (12 bits * 0.0005) + 2

0x0302 : (Possible) Temperature readings
(of the bytes 0-7)
bytes 1-6 could be 8 bit temperature values
Note: MIT study reported an offset of -40, so a value of 125 (dec) would be equivalent to a temperature of 85 degrees.

0x0260, 0x0262, 0x0270, 0x0272, 0x0274 : Possible status bits
5 most significant bits of (populated) bytes are a 0-31 counter
3 least-significant bits of (populated) bytes are status bits
as yet - no idea what status these are reporting, but could be... over or under voltage, voltage mismatch, active balancing...

Jeff
Reply With Quote
Reply

Share or Bookmark this

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

 
Support DIY Electric Car
Sponsors

All times are GMT -6. The time now is 02:29 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Ad Management by RedTyger