Ford Mustang Mach-E Extended PIDs for Torque Project

OP
OP
Eric_C_Boston

Eric_C_Boston

Well-Known Member
First Name
Eric
Joined
Apr 16, 2021
Threads
51
Messages
553
Reaction score
737
Location
North Shore, MA, USA
Vehicles
2021 Ford Mustang Mach-E RWD ER
Occupation
Retired Software Engineer
Country flag
So the LV battery is only charged when the car is on? So rather than sit in the parking lot listening to music with the car off in accessory mode, we should leave the car on?
Yes. The HV battery is disconnected when the car is off, except when charging.
Sponsored

 

mkhuffman

Well-Known Member
First Name
Mike
Joined
Nov 19, 2020
Threads
24
Messages
6,175
Reaction score
8,155
Location
Virginia
Vehicles
2021 MME GT, Jeep GC-L, VW Jetta
Country flag
Yes. The HV battery is disconnected when the car is off, except when charging.
This is very, very helpful information. There is really no reason to turn off the car and leave it in "accessory" mode, when you can just leave it on and not stress the LVB. Thanks for sharing this!!!
 
OP
OP
Eric_C_Boston

Eric_C_Boston

Well-Known Member
First Name
Eric
Joined
Apr 16, 2021
Threads
51
Messages
553
Reaction score
737
Location
North Shore, MA, USA
Vehicles
2021 Ford Mustang Mach-E RWD ER
Occupation
Retired Software Engineer
Country flag
I found some mistakes in my initial list. I am working on fixing them.

I do not know if it is the 50 degree weather or the BECM module update I did a few weeks ago, but tonight I got an interesting charging curve. I used a 150 kW EA charger to DC fast charge from 24 to 80 percent (purple).

The interesting part is the power flow (green) from the charger to the battery does hit maximum at the beginning as before, but toward the middle of the charge session. The curve looks more normal towards the end.

The yellow line is the Maximum Power the charger can deliver (200 kW).

The red line is the Input Power Available from the charger.

The blue line is a newly found value. I assume this is the vehicle's power limit for charging. I may DC Fast charge Thursday when it will be near 70 degrees out to see if it is different.
Ford Mustang Mach-E Ford Mustang Mach-E Extended PIDs for Torque Project 1637033029693
 

Jiji

Well-Known Member
First Name
Rick
Joined
Jul 26, 2021
Threads
17
Messages
347
Reaction score
450
Location
Finger Lakes
Vehicles
2022 Mustang Mach-E GT 2023 Rivian R1S
Country flag
Hi all, with short days and long nights I usually pick a winter project to learn something new and this year it is extracting as much useful data as I can from my Mach-E.

I have been poking around the CAN bus and see that ForScan Lite shows me modules on HSCAN (pins 6 and 14), MSCAN (pins 3 and 11) but also modules on the HSCAN2, HSCAN3, HSCAN4, and FDCAN buses. I understand that Ford might expose another CAN bus on pins 1 and 8/9 and was wondering if anyone has seen documentation to this effect and if there is something I should be looking at.

I am using an OBDlink MX+ dongle which claims HSCAN/MSCAN support paired with a two channel CAN bus sniffer on pins 6/14 and 3/11 (via a splitter cable) and don't see any traffic when I have a ForScan dashboard set to a module on one of the other buses (for example, APIM to grab GPS lat/long data) so I am thinking I might be missing something.

Just getting started but hopefully I can contribute some PID data as I work through the startup glitches - thanks in advance for any assistance.
 

Jiji

Well-Known Member
First Name
Rick
Joined
Jul 26, 2021
Threads
17
Messages
347
Reaction score
450
Location
Finger Lakes
Vehicles
2022 Mustang Mach-E GT 2023 Rivian R1S
Country flag
Small update. I confirmed the MSCAN bus speed on pins 3 and 11 is 500000 (the same as the HSCAN bus on pins 6 and 14). Took a guess at pins 1 and 9 for the other HSCAN bus (labeled as HSCAN3 in ForScan) but appear to have struck out (either isn't there or isn't 500000/250000/125000) .

If anyone has access to a schematic/pinout for the OBDII connector in the Mach-E it will save me from trying to find the third CAN bus with a multimeter.
 


Jiji

Well-Known Member
First Name
Rick
Joined
Jul 26, 2021
Threads
17
Messages
347
Reaction score
450
Location
Finger Lakes
Vehicles
2022 Mustang Mach-E GT 2023 Rivian R1S
Country flag
Final update for here.

Got some wiring harness info and did more digging and there are just the HSCAN and MSCAN buses on the ODBII and both run at 500000 bits per second.

And there is nothing to sniff. If you hook up to either bus you see no traffic until you send a request to a module. The bus you use for data request depends on the module, some are on the HSCAN bus and others on the MSCAN bus

I lined up the modules and sensors I need to get my data so off to write some code, I'll start a new post once I have the logistics sorted out.

 

sockmeister

Well-Known Member
Joined
Sep 24, 2020
Threads
6
Messages
1,882
Reaction score
2,996
Location
Pennsylvania
Vehicles
2021 Mustang Mach-E4x
Occupation
SW Engineer
Country flag
So the LV battery is only charged when the car is on? So rather than sit in the parking lot listening to music with the car off in accessory mode, we should leave the car on?
Not entirely true. The LV battery is charged:
1. When the car is running
2. While parked -- Periodically, as it dips in voltage, the DC-DC converter will "wake up" and top off the 12v battery. Earlier this year several owners noticed the app would notify them when this was happening sometimes.
 

mkhuffman

Well-Known Member
First Name
Mike
Joined
Nov 19, 2020
Threads
24
Messages
6,175
Reaction score
8,155
Location
Virginia
Vehicles
2021 MME GT, Jeep GC-L, VW Jetta
Country flag
Not entirely true. The LV battery is charged:
1. When the car is running
2. While parked -- Periodically, as it dips in voltage, the DC-DC converter will "wake up" and top off the 12v battery. Earlier this year several owners noticed the app would notify them when this was happening sometimes.
That makes sense, but when parked and waiting for something (or someone) I will leave the car on and put less stress on the LVB.
 
OP
OP
Eric_C_Boston

Eric_C_Boston

Well-Known Member
First Name
Eric
Joined
Apr 16, 2021
Threads
51
Messages
553
Reaction score
737
Location
North Shore, MA, USA
Vehicles
2021 Ford Mustang Mach-E RWD ER
Occupation
Retired Software Engineer
Country flag
Final update for here.

Got some wiring harness info and did more digging and there are just the HSCAN and MSCAN buses on the ODBII and both run at 500000 bits per second.

And there is nothing to sniff. If you hook up to either bus you see no traffic until you send a request to a module. The bus you use for data request depends on the module, some are on the HSCAN bus and others on the MSCAN bus

I lined up the modules and sensors I need to get my data so off to write some code, I'll start a new post once I have the logistics sorted out.

The two CAN buses on the OBD2 connector only go to the gateway module (GWM or ECG). Pins 6(+) and 14(-) are Diag1 CAN. Pins 3(+) amd 11(-) are Diag2 CAN. In my older Ford cars these were connected to two of the actual CAN buses and did not have as many CAN buses. The Mach-E has 7 CAN Buses (HS1 though HS4, MS, FD, and Powertrain) plus dedicated Ethernet point-to-point links.

The gateway module routes the communications from the OBD2 connector to the proper bus for the module. It also allows modules on the different buses to communicate.
 

Jiji

Well-Known Member
First Name
Rick
Joined
Jul 26, 2021
Threads
17
Messages
347
Reaction score
450
Location
Finger Lakes
Vehicles
2022 Mustang Mach-E GT 2023 Rivian R1S
Country flag
Another piece I am working on is figuring out the PIDs needed by A Better Route Planner, so Toque can be used to improve ABRP's functionality.
I have most of the ABRP data sorted out, as defined here:

https://documenter.getpostman.com/view/7396339/SWTK5a8w?version=latest

My winter project wants to log trips and charging sessions and I previously reported the SOC to ABRP by extracting it from the FordPass server data but the rest requires access to the car data. Still needs a little more work, need to understand what time the car reports (certainly not seconds since 1/1/1970 but I know UTC time if the car does not). And the GPS data is all encoded together so I need to figure out the lat/long fields (I can see the heading and altitude but Ford using IEEE 754 floating point for the lat/long data would be too easy).

What I have so far for ABRP data:

High priority parameters


SensorUnitDescriptionModuleAddressFormula
utcsCurrent UTC timestamp (epoch) in seconds
soc%State of Charge of the vehicle (what's displayed on the dashboard of the vehicle is preferred)BECM4845UINT(A) * 0.5
powerkWInstantaneous power output/input to the vehicle. Power output is positive, power input is negative (charging)BECM480B/480DCalculated (P = V * A)
speedkm/hVehicle speedBECMF40D
TBD
lat°Current vehicle latitudeAPIM8012TBD
lon°Current vehicle longitudeAPIM8012TBD
is_chargingbool or 1/0Determines vehicle state. 0 is not charging, 1 is chargingBECM484DLOOKUP(A) 0='Idle’, 1='Wait’, 2='Rdy’, 3='Chg’, 4='Done’, 5='FAULT'
is_dcfcbool or 1/0If is_charging, indicate if this is DC fast chargingBECM4851LOOKUP(A) 0='None’, 4='Nrdy’, 5='Init’, 6='AC’, 8='DC’, 11='FAULT’, 12='NRLck'
is_parkedbool or 1/0If the vehicle gear is in P (or the driver has left the car)IPC6310LOOKUP(A) 0=‘P’, 1=‘R’, 2=’N’, 3=‘D’. 4='L'




Low priority parameters


SensorUnitDescriptionModuleAddressFormula
capacitykWhEstimated usable battery capacity (can be given together with soh, but usually not)BECM4848UINT(A:B) * 0.002
kwh_chargedkWhMeasured energy input while charging. Typically a cumulative total, but also supports individual sessions.
soh%State of Health of the battery. 100 = no degradation
heading°Current heading of the vehicle. This will take priority over phone heading, so don't include if not accurate.APIM8012TBD
elevationmVehicle's current elevation. If not given, will be looked up from location (but may miss 3D structures)APIM8012TBD
ext_temp°COutside temperature measured by the vehicleSOBDMDD05UINT(A) - 40
batt_temp°CBattery temperatureBECM4800UINT(A) - 50
voltageVBattery pack voltageBECM480DUINT(A:B) * 0.01
odometerACurrent odometer reading in km.IPC404CUINT(A:B:C) * 0.1
est_battery_rangekmEstimated remaining range of the vehicle (according to the vehicle)
 
OP
OP
Eric_C_Boston

Eric_C_Boston

Well-Known Member
First Name
Eric
Joined
Apr 16, 2021
Threads
51
Messages
553
Reaction score
737
Location
North Shore, MA, USA
Vehicles
2021 Ford Mustang Mach-E RWD ER
Occupation
Retired Software Engineer
Country flag
Still a work in progress. I found the HV Battery Current from the BECM, so the PIDs were changed to use it. There are some more LV Battery PIDs as well as Coolant Heater power and the HV battery thermal mode. I recently found the PID that indicates how temperature is affecting Battery Charger Output.

I may split some of these off to a charging or diagnostic file since they are more the nuts and bolts of charger <-> car communications.

PS: Although it is nice to have a digital display showing what the maximum power is available from the charger. BTW you need to use the digital display type to display the lookup results.
 

Attachments

Jiji

Well-Known Member
First Name
Rick
Joined
Jul 26, 2021
Threads
17
Messages
347
Reaction score
450
Location
Finger Lakes
Vehicles
2022 Mustang Mach-E GT 2023 Rivian R1S
Country flag
Update on the GPS PIDs, the good news is I figured out the encoding, the bad news is they are basically useless as the lat/long is degraded. I guess Ford doesn't want anyone tracking the car via the OBDII connector.

Guess I have to look elsewhere for better data.

APIM7D0CAN1Accessory Protocol Interface Module

GPSGps8012
cansend can1 7D0#0322801200000000
7D0 [8] 03 22 80 12 00 00 00 00
7D8 [8] 10 12 62 80 12 01 0F 00
cansend can1 7D0#3000000000000000
7D0 [8] 30 00 00 00 00 00 00 00
7D8 [8] 21 00 0A 11 FF FF EE 16
7D8 [8] 22 04 00 0E 01 43 00 00

Lat/long are 32-bit signed integers divided by 60
GPS speed (mps) is multiplied by 3.6 to get kph

10 12 Extended length field (0x12/18 bytes)
62 80 12 Command response (3 bytes)

GPS data (15 bytes)
01 0F 00 00 0A 11 FF FF EE 16 04 00 0E 01 43
===== =========== =========== == ===== =====
Altitude Latitude Longitude Fix Speed Heading

In this sample you have:
GPS altitude: 0x010F 271 m
GPS heading: 0x0143 323°
GPS latitude: 0x00000A11 2577 / 60 42.9500°
GPS longitude: 0xFFFFEE16 -4586 / 60 -76.4333°
GPS speed: 0x000E 14 * 3.6 50.4 kph
GPS fix: 04 3D fix
 
Last edited:
OP
OP
Eric_C_Boston

Eric_C_Boston

Well-Known Member
First Name
Eric
Joined
Apr 16, 2021
Threads
51
Messages
553
Reaction score
737
Location
North Shore, MA, USA
Vehicles
2021 Ford Mustang Mach-E RWD ER
Occupation
Retired Software Engineer
Country flag
The raw GPS Speed is in meters per second.

It is possible to read GPS values with Torque Pro if you have an adapter that supports Ford MSCAN. I have the OBDLink MX adapter, so I can switch the adapter over to the MSCAN and back on each value.

Start Diagnostic:
STP53 \n STPBR500000​

Stop Diagnostic:
STP33​
 
Last edited:

louibluey

Well-Known Member
First Name
Joe
Joined
Dec 21, 2020
Threads
60
Messages
888
Reaction score
1,097
Location
NY
Vehicles
FE "Louibluey" GB
Occupation
retired
Country flag
Yes. The HV battery is disconnected when the car is off, except when charging.
Eric, Thank you for your PID spreadsheet. I wonder if the conversions are the same at the underlying LIN bus messages for the various devices? For example, I am curious about the BMS on LIN bus #4, the LIN slave device on the 12V LVB negative battery terminal which sends out (on request by the master in the body control module), LVB voltage, current, and temperature.

On LVB charging, in accessory mode, the DC/DC converter comes on at least once at the beginning to top off the LVB: accessory mode

Also, when MME is off and unplugged, the DC/DC converter does come on to maintain the LVB (observed at least twice with a simulated 5A load): MME off unplugged
Sponsored

 
 




Top