1. Attachments are working again! Check out this thread for more details and to report any other bugs.

Decoding CAN messages 0x348 & 0x3C8 as described by pEEF

Discussion in 'Gen 2 Prius Technical Discussion' started by lopezjm2001, Jun 1, 2012.

  1. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    No, I don't like the DC-DC, too much hardware, not enough energy.

    That is sweet! But I'm targeting 8-10kwh, which means I'll need 40Ah, I'm thinking I'll split the 4-pack into two 40ah each. That means I now only need to add 43-40ah cells, where I would have needed ~60 before.

    Now onto the fun stuff, how do I build a battery management and PHEV filtering pass-through ECU?
     
  2. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    lopezjm2001 likes this.
  3. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
    You can buy the battery packs from Enginer Enginer | Prius Plugin PHEV Conversion Kit with Lithium-Ion | Hybrid for US900 each for LHS or RHS battery pack, 32 cells in each LHS or RHS battery pack works out to US28.15 for each cell. Then reconfigure the cells. Build your own battery box to fill

    I would use existing reconfigured battery pack boxes (16S2P) 51.2v x 4 and just add your own built battery box housing 6S2P 19.2v. All five battery boxes would connect in series via Anderson connectors. It would not look so bad.

    The RFE cells have a lower nominal voltage of 3.2v compared to 3.3v for the A123 cells so your fifth battery box should be 8S2P. This would give you an overall voltage of 230.2Vdc.

    I think that a lot of Enginer users would be very interested in doing your conversion and would like to see pictures. I would go as far as starting a new thread on the Enginer forum - How to turn your low performance Enginer kit into a real PHEV kit. I think that Jack would be spitting chips. May do this myself one day when my Converters are beyond repair.
     
  4. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    Nice thinking, a matched set is a good idea. Casing might be bulky and I need to insulate. But it is nice. I'll thinki about it. It's a good price.
     
  5. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    On the hardware side, what about two CAN modules, one making the decisions and controlling what engine messages flow on to the second proxy?

    PIC18F2682-I/SP - Microchip- PIC18F2682ISP- datasheet

    It has three 10-bit ADCs to measure the current, temperature and voltage. From this we can make a SoC decision and we can process other messages like throttle position. Are there any actual projects for this?
     
  6. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    I have an update, but this thread seems to be dying... I might re-post to a new thread.

    I've done a ton of research and the most complete, simple dual-CAN capable package is the duinomite-mega. $40! It's based on a powerful PIC32 controller with two CAN ports, one is ready to rock on the board, the second is driven with a simple CAN transceiver shield (needs a MCP2551, cap + resistor). The break-out CON4 P0 & P1 are the C2TX and C2RX respectively. It also happens to have a VGA driver and USB for keyboard; you can program right on the device!

    ?!? What could possibly go wrong !?!

    As for the logic... I re-read the old messages and I think I have it pretty well figured out. I'm ready to place my order and start the project. I've attached a high-level logical diagram for the design.
    [​IMG]
     
    lopezjm2001 likes this.
  7. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
    Once your program decides to start the ICE you need to simulate 0348 warm up request (if ICE temperature is <45degC) which was previously blocked. If you do start your project please start a new thread like jhd2550 who has his own thread for his project. A PHEV board with a VGA output would be handy so you could see the difference between the original 0348 message and the modified whilst driving. A touch screen would be good.

    A 800ah battery pack is a bit big. You can adjust your throttle limit according to AH remaining in your battery pack.
     
  8. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
  9. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    yeah, that part sucks, there's a gcc toolchain
     
  10. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
  11. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
    During my drive to work with the ICE enabled (data file attached) I have recorded 1609 spurts of canbus messages for 0348.

    Just looking at the flag bytes for 0348 (x1609 - total number of occurrances )

    04, 60......(x819) most common when ICE is running with acceleration
    04, 62........(x104) second most common when ICE is running without acceleration. (ICE idling request)
    04, 70........(x18) heavy acceleration or heavy foot on the gas pedal.
    0C, 60........(x41) Regenerative braking (ICE HV battery charge request)
    04, 21........(x36) transition to EV/Stealth mode just before 00,21 or/and 00,01
    00, 21........(x28) EV/Stealth just before 00,01 (no ICE request)
    00, 01........(x545) EV/Stealth mode (No ICE request)
    00, 42.........(x4) transition from EV/Stealth mode to ICE run
    04, 40.......(x8) transition from EV/Stealth mode to ICE run
    04, 42.......(x7) transition from EV/Stealth mode to ICE run

    I have found the following EV/stealth mode to ICE run transitions:

    00, 01 > 00, 42 > 04, 60
    00, 01 > 04, 42 > 04, 60
    00, 01 > 00, 42 > 0C, 60 > 04, 60
    00, 01 > 04, 40 > 04, 60
    00, 01 > 04, 60
    00, 01 > 0c, 60
    00, 01 > 04, 70

    I have found the following ICE run to EV/Stealth mode transitions:

    04, 60 > 04, 21 > 00, 21 > 00, 01
    04, 62 > 04, 21 > 00, 21 > 00, 01
    04, 60 > 04, 21 > 00, 01


    Using Hexworkshop program it was easy to colour map each individual 0348 flag and count function for each flag variation. By colour mapping it was easy to see the transitions. So far I have found Hexworkshop is the best program for this application. I have attached a zipped file of the Canbus serial data. Also attached is a file of the color mapping for the 0348 can bus flag variations. It automatically colour maps each flag type for 0348 when you load the file into Hexworkshop.
     

    Attached Files:

    jdh2550 likes this.
  12. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    That's great data! Not dinging that in any way, but I'm planning to directly pass all Hybrid ECU messages once I'm out of electricity, does it matter? ie, the H-ECU does the talking.
     
  13. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
    We won't really know until somebody actually does this project. It could be a race between you and JHD to find out for sure. Or you could ask pEEF via PM.
     
  14. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
    I have been observing the x03c8 Canbus message. The second data byte varies between 34(hex) and 28(hex). It correlates with the ICE temperature x0039. The value decreases as the ICE temperature rises.

    X03c8...x0039...DegC

    28.......44.......68degC
    29.......43.......67degC
    2a.......43.......67degC
    2b.......42......,66degC
    2c.......42.......66degC
    2d.......42.......66degC
    2e.......41.......65degC
    2f........41......65degC
    30.......41.......65degC
    31.......40.......64degC
    32.......40.......64degC
    33.......3F.......63degC
    34.......3F.......63degC

    After the initial ICE warm up stage I noticed that my ECT spoofer caused the value of 34 to jump directly to 28. Then I switched off my ECT spoofer and it did not got go back to 34 unless the ICE started. Once the ICE started it jumped from 28 to 34. It seems that a value of 28 allows stealth mode.

    Just looking at the 03c8 flag bytes (x1610 total)

    00, 28.......... (x832) Most common
    00, 34.......... (x408)
    04, 34.......... (x48)
    04, 28.......... (x7)
    06, 34.......... (x143)
    00, 29.......... (x46)
    00, 2A.......... (x65)
    00, 2B.......... (x14)
    00, 2C.......... (x13)
    00, 2d.......... (x12)
    00, 2e.......... (x8)
    00, 2f.......... (x4)
    00, 30......... (x3)
    00, 31......... (x0)
    00, 32......... (x3)
    00, 33......... (x4)
     
  15. Bruce Meacham

    Bruce Meacham 2005 Prius/Enginer 4kwh and BMW EV conversion

    Joined:
    Jun 17, 2012
    45
    8
    0
    Location:
    Kansas
    Vehicle:
    2005 Prius
    Model:
    N/A
    So are you saying if I spoof ICE at 28C, then I can get stealth without a proxy?
     
  16. lopezjm2001

    lopezjm2001 Senior Member

    Joined:
    Apr 14, 2009
    1,146
    407
    5
    Location:
    Sydney Australia
    Vehicle:
    Other Electric Vehicle
    Model:
    N/A
    The value of 28 hex (x03c8) is not the ICE temperature (x0039). It is inverted. It correlates to a ICE temperature of 68degC or higher.

    If you can spoof the ICE temperature to 68degC Or higher by using a ECT spoofer then you can get Stealth after the initial warmup. As usual you can fall out of Stealth for other reasons such as pressing too hard on the gas pedal. This is what a ECT spoofer does at this thread A Prius ECT Spoofer MCU Controlled | PriusChat
     
  17. jdh2550

    jdh2550 Co-Founder, Current Motor Company

    Joined:
    Nov 16, 2010
    317
    249
    0
    Location:
    Ann Arbor
    Vehicle:
    2005 Prius
    Model:
    N/A
    I've been on vacation in the UK - visiting the folks. I'm back now! :)

    Wow - that does seem like a great find. Tell me more about the tool chain...

    Spoken like a true tinkerer! (before they've passed through the valley of death) ;)

    Is "PHEV ECU" your ECU? And is "PHEV ECU" a replacement for the "Battery ECU"? I'm assuming yes to both of those.

    I don't think option 2 will work. You'll end up "doubling up" your messages to the ECU - it will receive both the Hybrid ECU and the PHEV ECU messages. I think you need to split the bus.

    Also, I'm not sure option 2 is "much" simpler than option 1. Your logic is essentially the same in both cases and passing traffic from one bus to another should be relatively straightforward (another one of those optimistic comments that will come back to haunt us! ;) ). The wiring is simpler though...

    Am I missing something? Do you have reason to believe that option 2 won't just confuse the Engine ECU with conflicting messages?

    BTW - this is a great post and a great summary. I'll stick with my dev board for now. But when I get it working I might redo it over with the board you suggest. That VGA output would be great for driving a secondary display - although I hope to look into hacking the existing MFD to display extra info (like BMS+ does). If I can't hack the MFD successfully then I might look at creating an MFD replacement. (That's another "tinkerer" issue I have - as well as simplifying the task at hand I get distracted by future ideas as well!)

    p.s. I plan on doing my conversion in two steps: (1) a "standard" PHEV conversion - just replacing the battery pack and not enabling high-speed (2) a "high speed" conversion. However, you already have step (1) installed, right?
     
  18. jdh2550

    jdh2550 Co-Founder, Current Motor Company

    Joined:
    Nov 16, 2010
    317
    249
    0
    Location:
    Ann Arbor
    Vehicle:
    2005 Prius
    Model:
    N/A
    That's 500kbps - 500 kilo bits per second. Not mega bits. However, I've no idea about MMBasic - is it compiled or interpreted? If interpreted then it's a question of the efficiency of the interpreter - not necessarily an issue but something to be aware of. Is there an MMBasic forum to post questions on?
     
  19. jdh2550

    jdh2550 Co-Founder, Current Motor Company

    Joined:
    Nov 16, 2010
    317
    249
    0
    Location:
    Ann Arbor
    Vehicle:
    2005 Prius
    Model:
    N/A
    Not a race but a collaboration - pushing two ideas forward at the same time.

    If you do PM and hear back from pEEf be sure to share! ;) (I've stopped bugging him now).
     
  20. jdh2550

    jdh2550 Co-Founder, Current Motor Company

    Joined:
    Nov 16, 2010
    317
    249
    0
    Location:
    Ann Arbor
    Vehicle:
    2005 Prius
    Model:
    N/A
    This is great! Thank you very much.

    I'll download Hexworkshop - a data visualization tool is definitely what I need and I might incorporate that idea into my own stuff. One of the things I did on vacation was work on graphing the CAN data that I've acquired.