Project Realtime Navigation and Remote Recharging Monitoring :: ABRP

AbuG

Established Member
Joined
Jan 15, 2021
Messages
404
Reaction score
344
Points
124
Location
Birmingham, UK
I had my first long drive of 400miles. 2 Rapids and one overnight granny charge.

Used ABRP beta (need to sign up to beta - free) pretending to be MG5 as it's already setup for MG5. (How surprising.. yes you can download from the ABRP site if you have MG5 ).

For my ZS I had to change some of the parameter used in Torque Pro (as posted below) and for SOH I initially used a 14% degradation to account for the smaller battery. On the first leg of the trip it way overestimated usuage, it predicted to arrive with 25% SOC while really got about 45% (first 100 miles). I think it also calculates consumption and adusts too. The rest of the trip used a 12% degradation and it was pretty accurate at estimating the charge for destination and adjusts slightly while your driving depending on consumption and current live SoC.
I used the free version and manually input the weather conditions and road conditions. To my surprise it was pretty accurate. Except the recharge time. I was getting 40KW/H rates with double the charge times (but that can be adjusted for too in the future). That was despite warming the battery up by umpteen regenerations from 12C to 20C (SoC was 26%, which may have been the biggest factor. Ambient temp was 6C). Post Rapid charge battery temperature was 25C so might have to aim for that next time.

I also set up a remote recharge monitoring by us8ng the torque data uploaded to GDrive using tasker and monitoring from a second mobile at a slightly remoter location. But that's a little more complicated. ABRP can do this too but it's a premium service for data that we remotely send them.

The charging status wasn't working. But negative current and battery power can confirm its charging. Also SoC is raw so includes buffers.

Torque PIDs below for ZS derived from the MG5 one. (For MG5 use the ABRP website and it will direct you to the correct PID file)

Code:
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
Z_MG_SoC_RAW,SoC_R,0x22b701,INT16(A:B)/10,0,100,%,7000
Z_MG_SoH_RAW,SoH_R,0x22b061,(a*256+b)/100,0,100,%,781
!MG_SoH,SoH,,val{!MG_SoH}+((val{Z_MG_SoH_RAW}-val{!MG_SoH})*INT((val{Z_MG_SoH_RAW}/(val{Z_MG_SoH_RAW}+0.01))+0.1)),0,100,%,
Z_MG_BattAmp_RAW,BattA_R,0x22b043,(INT16(A:B)-40000)/40,-100,100,A,781
!MG_BattAmp,BattA,,val{!MG_BattAmp}+((val{Z_MG_BattAmp_RAW}-val{!MG_BattAmp})*INT((abs(val{Z_MG_BattAmp_RAW})/(abs(val{Z_MG_BattAmp_RAW})+0.01))+0.1)),-100,100,A,
Z_MG_BattVolt_RAW,BattV_R,0x22b042,(a*256+b)/4,350,480,V,781
!MG_BattVolt,BattV,,val{!MG_BattVolt}+((val{Z_MG_BattVolt_RAW}-val{!MG_BattVolt})*INT((val{Z_MG_BattVolt_RAW}/(val{Z_MG_BattVolt_RAW}+0.01))+0.1)),0,16384,V,
Z_MG_MaxCharge_RAW,MaxCharge_R,0x22b402,INT16(A:B)/10,0,160,kW,7000
!MG_MaxCharge,MaxCharge,,val{!MG_MaxCharge}+((val{Z_MG_MaxCharge_RAW}-val{!MG_MaxCharge})*INT((val{Z_MG_MaxCharge_RAW}/(val{Z_MG_MaxCharge_RAW}+0.01))+0.1)),0,200,kw,
!MG_BattTemp,BattT,0x22b056,(A/2)-40,0,50,c,781
!MG_BattPower,BattP,,val{!MG_BattAmp}*val{!MG_BattVolt}/1000,-200,200,kw,
Z_MG_Charging_RAW,CHG_R,0x22b048,BIT(A:1)*BIT(A:2),0,1,,
!MG_Charging,CHG,,VAL{Z_MG_Charging_RAW}+RDLY(2:[22B048])+RDLY(4:[22B048])+RDLY(8:[22B048])+RDLY(16:[22B048])+RDLY(32:[22B048])+RDLY(64:[22B048])+RDLY(128:[22B048]),0,1,,
 
Last edited:
ABRP will walk you through all the steps, just need to change the mg5.csv file that they provide with the contents of the above code instead if you have a ZS. And add the degradation level.

If you have MG5 then just follow their steps directly.

If want remote recharging monitoring than that is complicated and requires an automated app like tasker.
 
Last edited:
Hi, Looks very promising!
I've tried it on my (Dutch) MG as well.

I changed the mg5.csv file to the code listed above but I am not getting any data in torque pro. All the values just show "0".

Using Nix' PIDs from Github did work on my car, could you perhaps share the .csv file you used? Maybe I am doing something wrong :)

Setting up ABRP with torque pro pretending to be MG5 is quite straightforward. SoC displays 0% in torque and in ABRP, so the data logging with ABRP does work, it's just not pulling any data from the car.

Thanks!

Edit... Thanks for your help, no luck with the code below either.
Edit 2.0, file below works! now have SoC and all other data upload to abrp, 12% degradation seems about right for the ZS, but need a bit more testing
 
Last edited:
Try file below, for ZS (not mg5)
Edit
It's not attaching will upload somewhere
Edit..
Taking to long on mobile ..will do in evening after work. Try code below again in meantime. Prev I deleted SOH.

Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
Z_MG_SoC_RAW,SoC_R,0x22b701,INT16(A:B)/10,0,100,%,7000
!MG_SoC,SoC,,val{!MG_SoC}+((val{Z_MG_SoC_RAW}-val{!MG_SoC})*INT((val{Z_MG_SoC_RAW}/(val{Z_MG_SoC_RAW}+0.01))+0.1)),0,100,%,
Z_MG_SoH_RAW,SoH_R,0x22b061,(a*256+b)/100,0,100,%,781
!MG_SoH,SoH,,val{!MG_SoH}+((val{Z_MG_SoH_RAW}-val{!MG_SoH})*INT((val{Z_MG_SoH_RAW}/(val{Z_MG_SoH_RAW}+0.01))+0.1)),0,100,%,
Z_MG_BattAmp_RAW,BattA_R,0x22b043,(INT16(A:B)-40000)/40,-100,100,A,781
!MG_BattAmp,BattA,,val{!MG_BattAmp}+((val{Z_MG_BattAmp_RAW}-val{!MG_BattAmp})*INT((abs(val{Z_MG_BattAmp_RAW})/(abs(val{Z_MG_BattAmp_RAW})+0.01))+0.1)),-100,100,A,
Z_MG_BattVolt_RAW,BattV_R,0x22b042,(a*256+b)/4,350,480,V,781
!MG_BattVolt,BattV,,val{!MG_BattVolt}+((val{Z_MG_BattVolt_RAW}-val{!MG_BattVolt})*INT((val{Z_MG_BattVolt_RAW}/(val{Z_MG_BattVolt_RAW}+0.01))+0.1)),0,16384,V,
Z_MG_MaxCharge_RAW,MaxCharge_R,0x22b402,INT16(A:B)/10,0,160,kW,7000
!MG_MaxCharge,MaxCharge,,val{!MG_MaxCharge}+((val{Z_MG_MaxCharge_RAW}-val{!MG_MaxCharge})*INT((val{Z_MG_MaxCharge_RAW}/(val{Z_MG_MaxCharge_RAW}+0.01))+0.1)),0,200,kw,
!MG_BattTemp,BattT,0x22b056,(A/2)-40,0,50,c,781
!MG_BattPower,BattP,,val{!MG_BattAmp}*val{!MG_BattVolt}/1000,-200,200,kw,
Z_MG_Charging_RAW,CHG_R,0x22b048,BIT(A:1)*BIT(A:2),0,1,,
!MG_Charging,CHG,,VAL{Z_MG_Charging_RAW}+RDLY(2:[22B048])+RDLY(4:[22B048])+RDLY(8:[22B048])+RDLY(16:[22B048])+RDLY(32:[22B048])+RDLY(64:[22B048])+RDLY(128:[22B048]),0,1,,

Hi, Looks very promising!
I've tried it on my (Dutch) MG as well.

I changed the mg5.csv file to the code listed above but I am not getting any data in torque pro. All the values just show "0".

Using Nix' PIDs from Github did work on my car, could you perhaps share the .csv file you used? Maybe I am doing something wrong :)

Setting up ABRP with torque pro pretending to be MG5 is quite straightforward. SoC displays 0% in torque and in ABRP, so the data logging with ABRP does work, it's just not pulling any data from the car.

Thanks!
 
Last edited:
I have tested the PID's included in the "ZS-pretend-MG5.csv" using my ZS EV and it looks like there are a number of them that I believe are incorrect. In the screenshot below the first set of PID's which are updated in red work in TorquePro and I am seeing the correct results. If for example I use the PID for SoC% in row 18 it displays zero. If I use the one in Row 2 I see the correct value.

When I selected the MG5 in ABRP and then selected the link to TP, the following PID's are listed as the ones to be used for logging:

!MG_SoC
!MG_SoH
!MG_BattAmp
!MG_BattVolt
!MG_MaxCharge
!MG_BattTemp
!MG_BattPower
!MG_Charging
GPS Altitude
GPS Bearing
GPS Latitude
GPS Longitude
Speed (GPS)

Apart from the GPS and Speed PID's the MG PID's in the CSV file are all calculated values based on the "RAW" PID values and when I add them into my Dashboard in TP I am seeing some weird values. As an example when I add the !MG_SOC PID to TP it displays a number that just keeps increasing. However, the SoC Raw value shows the correct SoC% or at least a value that is using the total kWh for the pack.

I have set up TP with the server setting and email as well as selecting which PID's to log. However, there is no live update of any data, for example SoC% in ABRP

Have you been able to see live SoC% in ABRP or for that matter any data for the other 7 "!MG.." PID's?

I tried modifying the "!MG_SoC" PID to be the same as the "SOC_RAW" PID but, there was still no update in ABRP. There is a link in ABRP to download the MG5 PID's but the link doesn't work.

If you have had any luck with seeing values in ABRP would be great to hear how you have set up your PID's



ABRP TorquePro PIDs.JPG
 
I'm happy to say that this should work out of the box now using my ZS EV PID list from:


The relevant thread on the ABRP forum is:

 
Are you sure about this as you have to have Premium to use Apple Car Play, but Android Auto, isn't on the list of Premium features.
 
Are you sure about this as you have to have Premium to use Apple Car Play, but Android Auto, isn't on the list of Premium features.
it's no longer working for me, tells me I need to upgrade to premium. android auto user. version 4.0.50 (520) it says so in the app [on your phone] when tap on the version number " EV navigation in your car screen - a Premium feature"
 
Support us by becoming a Premium Member

Latest MG EVs video

New EVs from MG: MG S9 & MG9 plus hot topics from the forums
Subscribe to our YouTube channel
Back
Top Bottom