Jump to content

Sparky
 Share

Recommended Posts

Although the CMax dash display provides lots of information in the left side, I always want more.  I had considered a “Scangauge 2” but being a frugal senior citizen, I went the $40 route.

 

My first purchase was a “ELM 327" Wi-Fi OBD2 ( OBDII ) adapter from Amazon, $15.  I chose Wi-Fi instead of Bluetooth because I had planned to use my Android phone and the Nook tablet has no Bluetooth.  The phone can not connect to the car’s hands free and a Bluetooth OBD2 adapter at the same time. 

 

Next I purchased “Torque Pro” from Google Play for $5.  I think this is not available for Apple iOS.

 

For a display I used an old B&N Nook Color 7” tablet my wife had abandoned in favor of an iPad.  I used “AndroidForNook” from Amazon for $20.  This allows dual-boot, Nook or Android.  Torque requires the Android operating system. 

 

The seven inch display allows me to setup 17 displays on the screen.

All 17 displays update at an acceptable rate (within seconds).

 

TorqueDisplay8-13.jpg

 

Most of the displays are included with Torque Pro.  The CMax specific PIDs/Sensors were found on this forum and others.  I am still working on the custom PIDs.  The “HV Amps” display in the top row has an error in the equation.  It shows the correct amps during discharge but shows bad info while charging or regen.  The “HV Amps” in the middle row seems to work better.  This equation shows a negative number during regen but requires more testing for accuracy. 

 

This photo was taken while parked with the Internal Combustion Engine (ICE) running.  “SoC” is state of charge of the lithium battery.  I am not sure about “Absolute Load” and “Load”.  Cat B1S1 is the temperature of the catalytic converter.  I will be using “Timing Adv”ance to compare the performance of Regular v. Premium gas.

Edited by Sparky
Link to comment
Share on other sites

Although the CMax dash display provides lots of information in the left side, I always want more.  I had considered a “Scangauge 2” but being a frugal senior citizen, I went the $40 route.

 

My first purchase was a “ELM 328” Wi-Fi OBD2 ( OBDII ) adapter from Amazon, $15.  I chose Wi-Fi instead of Bluetooth because I had planned to use my Android phone and the Nook tablet has no Bluetooth.  The phone can not connect to the car’s hands free and a Bluetooth OBD2 adapter at the same time. 

 

Next I purchased “Torque Pro” from Google Play for $5.  I think this is not available for Apple iOS.

 

For a display I used an old B&N Nook Color 7” tablet my wife had abandoned in favor of an iPad.  I used “AndroidForNook” from Amazon for $20.  This allows dual-boot, Nook or Android.  Torque requires the Android operating system. 

 

The seven inch display allows me to setup 17 displays on the screen.

All 17 displays update at an acceptable rate (within seconds).

 

TorqueDisplay8-13.jpg

 

Most of the displays are included with Torque Pro.  The CMax specific PIDs/Sensors were found on this forum and others.  I am still working on the custom PIDs.  The “HV Amps” display in the top row has an error in the equation.  It shows the correct amps during discharge but shows bad info while charging or regen.  The “HV Amps” in the middle row seems to work better.  This equation shows a negative number during regen but requires more testing for accuracy.  (I may try adding:  (*-1).

 

This photo was taken while parked with the Internal Combustion Engine (ICE) running.  “SoC” is state of charge of the lithium battery.  I am not sure about “Absolute Load” and “Load”.  Cat B1S1 is the temperature of the catalytic converter.  I will be using “Timing Adv”ance to compare the performance of Regular v. Premium gas.

That's awesome, I have a bluetooth ODB sensor and Torque Pro already (used it on my exploder), but I have yet to get around to using it with the C-Max.

 

Can you make a quick list of the PIDs/Sensors you are using?  That would be convenient, as I think the ones on the forum are spread around (could be wrong).

Link to comment
Share on other sites

Can you make a quick list of the PIDs/Sensors you are using?

 

Here is what I have so far:

 

Description                              Display               PID           Min         Max       Scale     Unit       Equation

HV Battery state of charge      SoC                     224801        0.0          100.0     x1          %           ((((A*256)+B)*(1/5))/100)

HV Battery temperature            HV Temp            224800        0.0          150.0     x1          DegF     ((A*18)-580)/100

HV Battery current in Amps     HV Amps             22480b      -200           200       x1          Amps     ((((Signed(A)*256)+B)/5)/10)*-1

HV Battery Voltage                   HV Volts             22480d        0.0          400.0     x1          Volts       (((A*256)+B)/100)

Temperature inside car           Inside Temp        22dd04         0.0          160.0     x1          DegF     ((A*18)-400)/10

Edited by Sparky
Link to comment
Share on other sites

Actually the Nook Color has Bluetooth, just no antenna.  Within 3 feet or so it works fine.

 

I've been hacking the Nook for awhile now and I used Torque with my '98 Grand Cherokee.  Super tablet (when rooted) and Torque is great too.  Thanks for the info.  I'll follow you down this path and help when I can.

 

Thanks again for blazing the trail.

 

Cheers.

Link to comment
Share on other sites

  • 1 month later...

I'm thinking about trying "Engine Link". I should be able to buy a ELM 327 WIFI and use my IPad or IPhone.

 

http://www.outdoor-apps.com/enginelink.html

 

I don't suppose you ever tried it? I don't see any indication that it supports logging and exporting data, which is I believe the most important feature for such an app.

Link to comment
Share on other sites

Also, what is your general process for figuring out PIDs - is there something to start with?

 

Edit: I'm guessing you're using these ScanTool inputs: 

 

http://fordcmaxenergiforum.com/topic/1293-scangauge-x-gauges-programming-c-max-ffh/

 

With this conversion procedure: 

 

http://www.tundratalk.net/forums/off-topic-discussion/116111-guide-converting-scangauge-codes-torque-pro-pids.html

 

?

Edited by Noah Harbinger
Link to comment
Share on other sites

I don't suppose you ever tried it? I don't see any indication that it supports logging and exporting data, which is I believe the most important feature for such an app.

 

It saves a log of the raw transcript from communicating with the device, which you can access from iTunes > Device > Apps > File Sharing > EngineLink Documents >obddata.log. 

 

 

>010d

7EC 03 41 0D 00 
7E8 03 41 0D 00 
7EE 03 41 0D 00 
 
>0110
7E8 04 41 10 00 47 
 
>0134
7E8 06 41 34 86 DE 80 19 
 
>0134
7E8 06 41 34 86 E0 80 19 
 
>0143
7E8 04 41 43 00 00 
 
>0145
7E8 03 41 45 0E 
 
>014c
7E8 03 41 4C 18 
 
So I suppose if I want to do anything useful, I would have to parse that out. It does not include GPS data or time data, but one of the PIDs it follows is "time since startup" which at least would let you create a timeline of the values. I've seen some open-source tools that parse ELM communications, perhaps I can feed this to one of those. 
 
It has a rather long list of working built-in PIDs. I'll have to play with it more to see how many of them are useful. 
 
That is also where you can place a CSV of custom PIDs - it includes a couple, which can be used for examples. I'll try yours out tomorrow. 
Edited by Noah Harbinger
Link to comment
Share on other sites

  I had considered a “Scangauge 2” but being a frugal senior citizen, I went the $40 route.

 

 

As a recent purchaser of a Scan Gauge II, I'm picking nits here: It's only frugal since you all ready own a compatible tablet as that cost must be factor in too.  Then there's the issues of security of leaving a tablet in the car and mounting/securing it while driving.

 

Nevertheless, the Torque app is probably the most feature laden and highly rated app out there for monitoring high tech cars like the CMax.

Link to comment
Share on other sites

  • 3 weeks later...

Here is what I have so far:

 

Description Display PID Min Max Scale Unit Equation

HV Battery state of charge SoC 224801 0.0 100.0 x1 % ((((A*256)+B)*(1/5))/100)

HV Battery temperature HV Temp 224800 0.0 150.0 x1 DegF ((A*18)-580)/100

HV Battery current in Amps HV Amps 22480b -200 200 x1 Amps ((((Signed(A)*256)+B)/5)/10)*-1

HV Battery Voltage HV Volts 22480d 0.0 400.0 x1 Volts (((A*256)+B)/100)

Temperature inside car Inside Temp 22dd04 0.0 160.0 x1 DegF ((A*18)-400)/10

Thanks for sharing those codes! Have you discovered any others?

 

I'm a recent C-Max Energi owner, 10 days now.  A few comments on the fordcmaxenergi forum that pointed to this thread sparked my interest in OBD2 monitoring my Energi.

 

I purchased a ScanTool OBDLink MX bluetooth device and the TorquePro app for Android. 

 

Anyways, I think one of your formulas is incorrect as posted:

 

HV Battery temperature ... DegF     ((A*18)-580)/100

When I use that, the temps displayed for my HV Battery are like 7.5 degrees.  I assume the correct formula should be /10 at the end instead of /100, but I haven't tried modifying it.  (Your other temperature-specific formula divides by 10.)

 

Also, on your pictured display, there's a Volts(CM) read-out showing 14.3 volts.  I didn't see that one in TorguePro's preconfigured PIDs.  Do you recall which one you selected for it?  What's it actually measuring the voltage of? The 12v battery?

 

I'm usually really good at searching things out with Google or forum search tools, but I'm having a heck of a time finding much information re: our C-Max and OBD2, any pointers from anyone would be appreciated.

Link to comment
Share on other sites

Read my post #8 for where this info came from - reading between the lines, I googled for some of the PIDs from Sparky's posts and found where they were originally posted, and the guide for how to convert Scangauge pids to our various ELM readers. 

 

I wrote a script to automate the conversion from scangauge to AB formulas and applied it to the full list. 

 

 

ModeAndPID Name                           Min Max Unit    Formula                    Header
224801     Hv Battery State-of-Charge     0   300 %       (((A*256)+B)*(1/5))/100    0
22480D     Hv Battery Voltage             0   300 Volts   (((A*256)+B))/100          0
224800     Hv Battery Temp                0   300 F       (A*18-580)/10              0
224815     Maximum Discharge Power Limit  0   300 kW      (A*25)/10                  0
224816     Maximum Charge Power Limit     0   300 kW      (A*25)/10                  0
224841     Average Battery Module Voltage 0   300 Volts   (((A*256)+B)*(1/10))/10    0
22DD04     Inside Car Temp                0   300 F       (A*18-400)/10              0
224810     Battery Age                    0   300 months  (((A*256)+B)*(1/20))/10    0
221E1C     Transmission Temp              0   300 F       (((A*256)+B)*(9/8)+320)/10 0
22480B     Hv Current                     0   300 amps    (((A*256)+B)*(1/5))/10     0
224832     Motor Electronics Coolant Temp 0   300 F       (A*18+320)/10              0
22F41F     Engine run time                0   300 minutes (((A*256)+B)*(25/16))/10   0
22481E     Generator Inverter Temp        0   300 F       (((A*256)+B)*18+320)/10    0 
224824     Motor Inverter Temp            0   300 F       (((A*256)+B)*18+320)/10    0
 

 

I made a few adjustments, but not extensively, so accuracy is questionable. The min/max are placeholders, not really used (I just do digital readouts - I suppose if I was doing dial readouts they would matter. Put in values you like!) 

 

Over a 12 minute drive over fairly flat land, about 3 hours after a fairly rigorous drive home, I collected data, from which I make the following per-PID observations:

  • Hv Battery State Of Charge: Seems OK; had to adjust by a factor of 10 from the automated conversion formula
    Showed a range of 36% to 53%, which seems about right given how conservative the vehicle is about extensively discharging / charging
  • Hv Battery Voltage: Seems OK; also had to adjust by a factor of 10.
  • Hv Battery Temp: Didn't show much movement for me - from 78.8F to 82.4F, which is a little bit higher than the interior temperatures (which is to be expected). Based on the log my app collected of data sent over the CAN bus, the values expressed only varied by 2 (4C through 4E), so not a very precise thermostat. I'd bet it goes up more over some long charge/discharge cycles
  • Maximum Charge Power Limit: Did not return a value until after I turned the car off, at which time it showed a value of 0kW - perhaps this is relevant only to the Energi
  • Maximum Discharge Power Limit: Only ever showed one value, 350kW; I wonder if on an Energi, this will vary based on the "EV Now/EV Later" settings?
  • Average Battery Module Voltage: Seems OK, range of 35V to 38V, which seems accurate if a battery module contains 10 Lithium Ion batteries in series. Or it might need another factor of 10 divisor, like the battery voltage and state of charge?
  • Inside Car Temp: Gradually rose, which makes sense since I had the temperature a little higher but with the AC off. Seems close enough but I would be interested in comparing to an actual thermometer for accuracy
  • Battery age: Accurate to about when the car was manufactured.
  • Transmission Temp: This was odd - Each time data was returned, two temperatures were returned: One a realistic sounding number that ranged between 102F-115F, and one pegged at 59.9F (which was about the outside temperature at this time). 
  • Hv Current: Sent over the CAN bus as a signed integer where negative values are given in 2's complement representation (flip all the bits and add 1), and is apparently the only value sent this way. This means that it will display correctly when the battery is discharging (positive current), but incorrectly when negative. Unfortunately my app EngineLink uses GCMathParser to parse the PIDs, which does not support any bitwise operators, so I'm out of luck. Your math will vary. Consult your vendor for information about how to convert a 2s-complement signed integer. 

     

    If you are exporting the raw hexadecimal values and using Perl to convert it as I am, I convert it by packing the value as an unsigned integer and unpacking it as a signed integer, roughly along the lines of: unpack('s', pack('S', A*256+B))/50

  • Motor Electronics Coolant Temp: Not working. The app never received any responses for this PID

  • Engine Run Time: I'm not sure if it just took me longer than I realized to get connected, but it started off with an oddly high run time - but it seems to increase monotonically with the time I'd spent driving, so it seems somewhat reasonable. Maybe it's "time since you opened the door and activated the car's electronics"?

  • Generator Inverter Temp, Motor Inverter Temp: Both started out at 95F, which seems a bit high to me. But the Generator Inverter reached as high as 140F, and the Motor Inverter Temp 120F - and being nestled in over the engine, perhaps they stay warm from a few hours ago? So these numbers could be reasonable as well. 

I hope that is of interest! Also, there are a *ton* of PIDs from the standard banks of PIDs that work and may be interesting.

 

Notably, almost every measure of throttle position goes a flat line when the ICE is off - but Accelerator pedal positions D and E both picked up data in electric mode as well (D somewhat intermittently). 

 

 

0149,Accelerator pedal position D,0,100,%,A*100/255,0
014A,Accelerator pedal position E,0,100,%,A*100/255,0
Edited by Noah Harbinger
Link to comment
Share on other sites

 

ModeAndPID Name                           Min Max Unit    Formula                    Header

224801     Hv Battery State-of-Charge     0   300 %       (((A*256)+B)*(1/5))/100    0
...
Hv Battery State Of Charge: Seems OK; had to adjust by a factor of 10 from the automated conversion formula

Showed a range of 36% to 53%, which seems about right given how conservative the vehicle is about extensively discharging / charging

  • I hope that is of interest! Also, there are a *ton* of PIDs from the standard banks of PIDs that work and may be interesting.

 

 

 

Thank you very much for your efforts above.

 

The HV Battery State of Charge you have is what I've been using for my Energi, but it doesn't appear to be accurate after all.  What made me check it deeper is that at the end of my 18 mile commute using 100% EV Now, the "miles left" arrow would be at 0-1 mile or so (before I started driving in "L" gear), but the Torque app would show 20% battery left.  I initally thought that was some kind of reserve for hybrid mode, but I found a screen in the Energi that shows you your current battery charge as a percentage (it's in the Go Times screen).

 

On one morning over the18 mile commute, I made multiple comparisons of the car's own battery SoC % displayed vs. Torque's using the above formula.  Here's the comparison (left number is displayed on car, right number is the Torque app #):

 

95-92

80-80

75-77

69-72

59-65

45-54

38-50

30-43

18-34

15-33

10-29

05-25

02-22

00-21

 

 

As you can see, at the beginning of the trip the numbers were similar but as the car reached the 50% mark, they really started to diverge.  Not sure how the formula could be adjusted to match the numbers, but ideally both monitors should show about the same throughout the curve, and certainly Torque should reach 0% when the car does, unless this formula is measuring something different that my simple mind doesn't understand.

Link to comment
Share on other sites

Be careful what you use for comparison. To me, it looks like the torque app is giving you the true SOC, while the car is showing you available SOC.

 

The difference reflects the fact that the easy way to kill Li-ion is full discharge. At a true SOC of 20%, you want the load removed to preserve life - why not tell the user there's nothing left? Same at the high end; overcharging will increase capacity, but greatly accelerate the normal loss of capacity with age.

 

Think of the car display as "charge available" and the Torque SOC display as "true charge level" and the numbers make sense.

 

Have fun,

Frank

Link to comment
Share on other sites

Be careful what you use for comparison. To me, it looks like the torque app is giving you the true SOC, while the car is showing you available SOC.

 

The difference reflects the fact that the easy way to kill Li-ion is full discharge. At a true SOC of 20%, you want the load removed to preserve life - why not tell the user there's nothing left? Same at the high end; overcharging will increase capacity, but greatly accelerate the normal loss of capacity with age.

 

Think of the car display as "charge available" and the Torque SOC display as "true charge level" and the numbers make sense.

 

Have fun,

Frank

 

 

That's fair enough, and goes back to my original thoughts that the 20% was some sort of reserve; seems like a lot, though.

Link to comment
Share on other sites

That's fair enough, and goes back to my original thoughts that the 20% was some sort of reserve; seems like a lot, though.

 

It's necessary to maximize battery lifespan - the further one charges / discharges a battery, the faster it wears. With rechargeable batteries, auto manufacturers have found that by staying within a range of 30%-70%, the battery's useful lifespan is practically indefinite. 

 

By contrast, a battery under typical usage would expect to be for all practical purposes useless after a thousand charge cycles. Being on an energi, you probably don't experience it to the same degree, but on the regular hybrid, the battery might go through many charge cycles a day. If you were doing full charge/discharge cycles, well of course there would be fewer cycles, but even a few a day would kill the battery in a year.

 

I'm actually surprised it lets your battery charge and discharge as far as it does. Maybe it allows that because the larger battery allows it to experience far fewer deep discharges. 

 

Of course, as I understand it, the batteries used in a hybrid do have some other fairly significant construction differences that might also contribute to longevity. For example, you could never charge a standard lithium ion battery at 25C (from empty to a full charge in 1/25th of an hour), yet my logging shows my battery pack experiences that fairly frequently, though usually for fairly short periods. 

Link to comment
Share on other sites

  • 1 month later...

Actually the Nook Color has Bluetooth, just no antenna.  Within 3 feet or so it works fine.

 

I've been hacking the Nook for awhile now and I used Torque with my '98 Grand Cherokee.  Super tablet (when rooted) and Torque is great too.  Thanks for the info.  I'll follow you down this path and help when I can.

 

Thanks again for blazing the trail.

 

Cheers.

 

 I want to get an OBD adapter and I am open for recommendations.  I just got a Nook HD+.   I am concerned about your understanding about the "within 3 feet."  This signal will have to go through the dashboard too.  Though like bluetooth with respects to its low power.   WIfi route or Bluetooth and any specific ideas bases on your experience ?   Thanks.

 

Very appreciative of all the legwork with the codes.

Edited by obob
Link to comment
Share on other sites

obob

 

Check amazon for a Dual-Boot micro SD.

They’re not as intimidating (or dangerous) as ROOTing your new nook.

Plus you get an SD for your nook.

 

Here’s one.

http://www.amazon.com/AndroidForNook-AFN-Products-LLC-Dual-Boot/dp/B00AT72SX6/ref=pd_cp_pc_0

 

IF you order, be careful what you order, HD+ NOT color, etc.

 

They offer bootable sd’c I don’t think these are dual-boot.

 

Wab

Link to comment
Share on other sites

 I want to get an OBD adapter and I am open for recommendations.  I just got a Nook HD+.   I am concerned about your understanding about the "within 3 feet."  This signal will have to go through the dashboard too.  Though like bluetooth with respects to its low power.   WIfi route or Bluetooth and any specific ideas bases on your experience ?   Thanks.

 

Very appreciative of all the legwork with the codes.

 

The Nook HD+ officially supports bluetooth so my "within 3 feet" caveat does not apply.  

 

As to OBD adapters, they seem to be pretty generic.  I don't recall which bluetooth adapter I bought, but it was about $12 from Amazon.  I've not tried a WiFi OBD scanner so I can't comment as to their usability, but if I had to pick, I'd stick with bluetooth.

 

wab's comments about buying an Android-enabled microSD card are right-on if you are squeemish about making your own.  In my case, with the Nook Color, making the android card required a bit of reading in various android forums and some computer skills learned over the years.  The result is my Nook Color can easily be booted either as a standard Barnes&Noble reader or as a full-fledged android tablet.

 

Hope this helps.

Link to comment
Share on other sites

wab and Bill-N,

 

Thanks again.

 

I'm going to order a bluetooth OBD adapter.

 

I am also considering getting a OBD extension cable to make it easy to unplug so I just in case the adapter drains the battery.

 

I am not clear on why to root it with standard Android though I got a little taste. I tried to use my bluetooth phone headset on the Nook to test the distance and it didn't work. After some Googling I read that for now the Nook doesn't work with a headset that has a microphone and some bluetooth keyboards, so it seems like the bluetooth driver development is not as good as the full blown android. I actually bought this tablet to leave in the car for when I am out and need to use the internet. If I can't get Torque to work, I might use that $30 for the rooted microsd toward a Google tablet and then have two tablets.

 

The Nook HD+ was better than I expected. It was suppose to be refurbed but looks new. And the screen is so good I just stare at it sometimes.

 

My concern with a flash card is that it will wear out, for flash only gets so many writes. On the other hand, the HD+'s screen is so good for the money, it might be better to just use that.  By the way, my Nook HD+ comes with google play - older ones did not.

 

I am pretty stoked on getting this running.

Edited by obob
Link to comment
Share on other sites

I am not clear on why to root it with standard Android ...

 

Because as designed, the Nook Color is a reader only.  By rooting it, it can become an honest-to-goodness android tablet capable of running apps, accessing to the Google Play store, etc.  But we're getting a bit off topic.

 

Cheers.

Link to comment
Share on other sites

I also have a BlueTooth OBDii connector and it is happily transmitting the NRG info to my Samsung G3 running Torque Lite - the free version for a few days while I decide whether to buy up to Torque Pro.  The built-in OBD gages work fine but I am having trouble entering the custom OBD formulas in the postings above.   I get an error message like -372/100 is not a valid integer.  It appears to not 'see' the A* part of the equation.  Anybody else get this error, or is this an artifact of my using the Torque Lite app instead of the Torque Pro??

Link to comment
Share on other sites

The Quick: was able to pair but the Torque app indicated that it never could make the connection - the message would oscillate from "connecting" to "no connection." Not sure if it is the adapter or the Nook HD+.  Also realized that the Nook HD+ does not have GPS.  Torque says it can do more if it does.  If I got it to work I was thinking about velcroing the tablet between the door and the dash so it doesn't block anything important and still is easy to see - though opening the door means moving the table first.

 

I have a Nook HD+ and a bluetootth OBD adapter.

 

This is the one I got http://www.amazon.com/Vgate-ELM327-Bluetooth-Scanner-ANDROID/dp/B00AAOOQJC/ref=cm_cr_pr_product_top but I actually purchased it from ebay.

 

I was able to pair it to my thinkpad computer with the code 1234.  The tablet seemed to pair without asking for a code which is kind of a red or yellow flag to me.

 

After awhile I choose to get a refund.  I wasn't sure how long I had to get the refund.

 

I might try another app.

I might get another tablet with GPS and camera.

I might just forget it.

 

I do know that the Nook ND+ doesn't pair with bluetooth headsets with a microphone which kind of implies not the best bluetooth coverage.  This experience confirms some of the thoughts of others on this thread about using the CyanogenMod.  

Edited by obob
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...