Third Generation Highlander Hybrid PIDs?

Discussion in 'OBDII Android App' started by devprius, Mar 31, 2016.

  1. devprius

    devprius /dev/geek

    Joined:
    Jan 2, 2006
    979
    290
    0
    Location:
    San Francisco Bay Area, CA
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    Has anyone tried to come up with a list of PIDs for the Third Generation Highlander Hybrid? I tried using the RX400H PIDs that were posted in the RX400H thread, but no data was returned. I tried modifying those PIDs but didn't have much luck. The Gen3 Prius and Plug-in PIDs appear to work, at least as far as reading SOC, and MG1 & MG2 RPMs, & Battery Current. But total Battery Voltage gives me a value that is 5 times what it should be. I don't need the individual block values, but it would be useful to get. I'd also like to get values for the rear MG unit (MGR or MG3).

    I'm currently using the EngineLink app on an iPad. The Torque PIDs are easily converted to EngineLink by rearranging the spreadsheet columns.

    Update: using the Gen3 PIDs as a base, and a little bit of guessing, I was able to get MGR (rear MG unit) readings that appear to be sane. So now I can get RPM, how much torque it is producing, temperature, etc. All the same stuff you can get for MG1/2. I incremented the TXD values of MG2 by 1 (2168 became 2169, 2163 became 2164, etc). Battery voltage is still fubar, though.
     
  2. vincent1449p

    vincent1449p Active Member

    Joined:
    May 24, 2004
    894
    331
    0
    Location:
    Singapore
    Vehicle:
    2012 Prius c
    Highlander has more battery blocks than Gen3.

    From the spec., it has 288V vs 201.6V. 288/7.2/2=20 Blocks vs 14 Blocks. So you can just insert in 6 more Blocks and you should get your answer.

    Vincent
     
  3. devprius

    devprius /dev/geek

    Joined:
    Jan 2, 2006
    979
    290
    0
    Location:
    San Francisco Bay Area, CA
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    Each module is 9.6v, and each block is composed of 2 modules. So a total of 15 blocks. The Gen3 battery PIDs do give me what appear to semi-valid figures for the individual blocks (~21 volts), but the total pack voltage is still 5 times what it should be. I don't know if it's a scaling or math issue. I would like to avoid having to sum up the individual blocks as that means a lot of requests sent to the CAN bus.

    I will post a spreadsheet later showing the Highlander-specific PIDs that are needed. Otherwise, the Gen3 PIDs all seem to work as far as I can tell.
     
  4. vincent1449p

    vincent1449p Active Member

    Joined:
    May 24, 2004
    894
    331
    0
    Location:
    Singapore
    Vehicle:
    2012 Prius c
    I stand corrected, thanks for pointing that out.:)

    A few things you can try:
    1. Download Repair Manual from TIS, the correct math usually can be derived from the min. & max. value.
    2. Sum up all the voltage blocks and compare against it, if it is moving proportionately with each other, then most likely it can be scaled with a constant value.
    3. Compare it against VL-Voltage before Boosting, PID 74, it should be roughly the same.
    That is not true. All the voltage blocks and VB are in the same PID 81. Only 1 request is sent and the whole message will be received. It doesn't matter if you want to read 1 block or 15 blocks, the time taken is the same. What you can do is to create a user-defined PID, e.g. (AG*256+AH)/(((A+C+E+...+AC)*256+(B+D+F+...+AD))*79.99/65535).
     
    #4 vincent1449p, Apr 5, 2016
    Last edited: Apr 5, 2016
  5. devprius

    devprius /dev/geek

    Joined:
    Jan 2, 2006
    979
    290
    0
    Location:
    San Francisco Bay Area, CA
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    Okay, after trying a couple of things, I think I'm now getting a reasonable value for the battery pack. The formula I used was:

    (AG * 256 + AH) / 10 which was giving me a voltage of ~310 volts this morning while my wife drove me to the train.

    I basically incremented the values for VB from the GenIII, which was (AE * 256 + AF) / 10

    Now, what's interesting is that the total pack voltage will swing anywhere from 270 volts up to 350 volts, even though the nominal voltage is supposed to be 288 volts. I assume this is related to SOC and whether the system is charging or discharging from the batter pack. So far I've seen individual block voltages between 20 and 22.5 volts. I know that in the PiP, I'll see the battery pack swing between 183 and 229 volts, depending upon SOC & charge/discharge rate, despite that pack having a nominal voltage of 207 volts.

    Next week I'll post a spreadsheet showing the Highlander specific PIDs I'm using.
     
  6. devprius

    devprius /dev/geek

    Joined:
    Jan 2, 2006
    979
    290
    0
    Location:
    San Francisco Bay Area, CA
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    Here's the spreadsheet I promised a long time ago. It's in the format that EngineLink wants, but by rearranging the columns, it can be used in the Torque app for Android.
     

    Attached Files: