Setting up Torque to show BMS data

Kia Soul EV Forum

Help Support Kia Soul EV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
add a formula to have the EXACT kwh remaining in the battery based on the BMS indicator (max 95% - min ...) and the SOH (110% of the 27kWh value minus average deterioration).

Code:
004_CALC Instant Remaining kWh,MAX kWh,2101,val{004_CALC SOH Battery in kWh}*val{000_State of Charge BMS}/100,0,30,kWh,7E2

SoC BMS value don't change VS. SoC on the dashboard display.

exHU98.png


It's good to compare same travel with various weather (temperature & rain).

in test for now ...
 
CSV v6 :

- only Extra-Gauges have changed.
- add average DET (deterioration),
- add SOH ( http://www.mykiasoulev.com/forum/viewtopic.php?f=6&t=677#p5401 ),
- add Instant Remaining kWh (like the liters/gallons in the tank).

Kia_Soul_EV_Battery_Cell_data.csv - Kia_Soul_EV_BMS_data.csv - Kia_Soul_EV_Extra_data_v2.csv

Kia_Soul_EV_Extra_gauges.csv - Kia_Soul_EV_OBC2015_data.csv - Kia_Soul_EV_OBC2016_data.csv

Kia_Soul_EV_TPMS_data.csv - Kia_Soul_EV_VMCU_data.csv - END.


Mirror (all in a ZIP) = http://www.4shared.com/zip/tAMhpOxqce/Kia_Soul_EV_2014-2016_Torque_C.html





DASH all v50 :

http://up.sur-la-toile.com/i1ikZ

Mirror = http://www.4shared.com/zip/zmueUdhice/all_v50.html


- add SOH and others gauges to understand when BONUS is available on the 27 kWh battery
- add kWh meter (based on BMS and SOH) : can predict a consumption on a travel and only charge (with Chademo) the numbers of kWh needed for this travel.

R0Cthi.png
 
Change in the Chademo Charge panel to introduce the Time before ending charge (not ready yet, but it's the goal of this panel : wait the minimum time at the charge station).

pr6E2o.gif


JcuouS.png
 
Equations possibilities on Torque Pro : https://torque-bhp.com/wiki/Equations

TAVG, RAVG and AVG is what i wait to linearise the REMAINING km and minutes for a more stable prediction (in 10 seconds for example).

Perfect, i try this soonly !
 
Some users in Korea have started using our Torque Pro codes on the Kia Ray EV.
Many of the codes are the same. Although not min and max deterioration.

photo_2016-11-22_23-0pnjq9.jpg


photo_2016-11-22_23-0sokpv.jpg
 
ayokyun said:
Soul PID is also applicable for Ioniq EV, though some PIDs are not available.

Thanks for the info. Do you have any screenshots of the working PIDs on an Ioniq EV.
 
I have been working with ayokun and the EV user group in Daejon to test the Torque Pro codes for the Ioniq EV.
Surprisingly almost all the BMS codes work. Despite the fact that Soul EV has a battery and BMS by SK Innovation, whereas the Ioniq EV has a battery and BMS by LG Chem. For further details see the thread on the Ioniq forum - Setting up Torque to show BMS data on the Ioniq EV

The first simple test of this - Ioniq EV driven fast to deplete the battery down to 1%.
60km = 150~160km/h , 40km = slowly... I guess around 20~30km/h

20161130_190249keu7g.jpg


Then charged overnight back up to 100% SOC.

Energy Counters at SOC 1%
screenshot_2016-11-30fouyw.png


Energy Counters at SOC 100%
screenshot_2016-12-01j3uss.png


=> usable pack capacity = 2982 - 2954 = 28kWh
 
Elmil has decoded some new info from the OBC.
Hence I have updated the codes for Torque.
I have a 2015 car that has an original OBC, these codes have been tested on my car.
Someone else will need to test the 2016 codes.
And I'd be really interested to hear from anyone with a MY2017, how does the new OBC respond?

Code:
, On Board Charger OBC data for Kia Soul EV using Torque Pro
, available when the J1772 Cord is connected
, Version1: this is for 2014 and 2015 Soul EVs
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
002_Normal Charge Port,SlowCharger,2101,{j:5},0,1,,7E4
002_Rapid Charge Port,FastCharger,2101,{j:6},0,1,,7E4
002_OBC_Charging_Current,ChargeAmps,2102,((m<8)+n)/10,0,400,A,794
002_OBC_Charging_Voltage,ChargeVolts,2102,((g<8)+h)/10,0,400,V,794
002_OBC_OutputVolts,OutputVolts,2102,((k<8)+l)/10,0,400,V,794
002_OBC_Unknown1,Unknown1,2102,i,0,256,?,794
002_OBC_Unknown2,Unknown2,2102,j,0,256,?,794
002_OBC_Pilot_Duty_Cycle,Pilot_Duty,2102,r/3,0,86,%,794
002_OBC Temp 1,OBC Temp 1,2102,s,0,255,C,794
002_OBC Temp 2,OBC Temp 2,2102,t,0,255,C,794
002_OBC Temp 3,OBC Temp 3,2102,u,0,255,C,794
002_OBC_Charging_Power,ChargePower,2102,(val{002_OBC_Charging_Current}*val{002_OBC_Charging_Voltage})/1000,0,400,kW,794
002_OBC_Efficiency,OBC_Efficiency,2102,ABS(val{000_Battery Power}/val{002_OBC_Charging_Power})*100,0,100,%,794
002_OBC_Amps_Limit,Amps_Limit,2102,val{002_OBC_Pilot_Duty_Cycle}*0.6,0,52,A,794

Code:
, On Board charger OBC data for Kia Soul EV using Torque Pro v2
, available when the J1772 Cord is connected
, Version2: this is for 2016 Soul EVs
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
002_Normal Charge Port,Slowcharger,2101,{j:5},0,1,,7E4
002_Rapid Charge Port,Fastcharger,2101,{j:6},0,1,,7E4
002_OBC_Charging_Voltage,ChargeVolts,2102,((g<8)+h)/10,0,400,V,794
002_OBC_OutputVolts,OutputVolts,2102,((m<8)+n)/10,0,400,V,794
002_OBC_Charging_Current,ChargeAmps,2102,((o<8)+p)/10,0,400,A,794
002_OBC_Unknown1,Unknown1,2102,(i<8)+j,0,65536,?,794
002_OBC_Unknown2,Unknown2,2102,(k<8)+l,0,65536,?,794
002_OBC_Pilot_Duty_Cycle,Pilot_Duty,2102,r/3,0,86,%,794
002_OBC Temp 1,OBC Temp 1,2102,s,0,255,C,794
002_OBC Temp 2,OBC Temp 2,2102,t,0,255,C,794
002_OBC Temp 3,OBC Temp 3,2102,u,0,255,C,794
002_OBC_Charging_Power,ChargePower,2102,(val{002_OBC_Charging_Current}*val{002_OBC_Charging_Voltage})/1000,0,400,kW,794
002_OBC_Efficiency,OBC_Efficiency,2102,ABS(val{000_Battery Power}/val{002_OBC_Charging_Power})*100,0,100,%,794
002_OBC_Amps_Limit,Amps_Limit,2102,val{002_OBC_Pilot_Duty_Cycle}*0.6,0,52,A,794

Edit: Unit for Pilot_Duty_Cycle has been corrected from A to %. And copy paste errors 7E2 replaced with 794 as per Elmil's comment below.
 
Test in progress (for OBC2016_v2)
Introduce the average formula on 10s - 30s - 60s for the remaining km and remaining min (before SOC displayed 5% of battery).

Extra_gauges_v2.csv
Code:
004_CALC Average on 10s Remaining Kilometers,AVR 10s MAX Km,2101,AVG(5:val{004_CALC Instant Remaining Kilometers}),0,256,km,7E2
004_CALC Average on 10s Remaining Minutes,AVR 10s MAX Min,2101,AVG(5:val{004_CALC Instant Remaining Minutes}),0,240,min,7E2

004_CALC Average on 30s Remaining Kilometers,AVR 30s MAX Km,2101,AVG(15:val{004_CALC Instant Remaining Kilometers}),0,256,km,7E2
004_CALC Average on 30s Remaining Minutes,AVR 30s MAX Min,2101,AVG(15:val{004_CALC Instant Remaining Minutes}),0,240,min,7E2

004_CALC Average on 60s Remaining Kilometers,AVR 60s MAX Km,2101,AVG(30:val{004_CALC Instant Remaining Kilometers}),0,256,km,7E2
004_CALC Average on 60s Remaining Minutes,AVR 60s MAX Min,2101,AVG(30:val{004_CALC Instant Remaining Minutes}),0,240,min,7E2

OBD2 reader only read 1 measure every ~2 seconds (that's why the 5 for 10s, 15 for 30s and 30 for 60s average result).
 
JejuSoul said:
Elmil has decoded some new info from the OBC.
Hence I have updated the codes for Torque.

Extra_Data_v2.csv contain already the OBC efficienty (formula).
What would you to do ?

Keep the extra_data or keep the OBC new line efficienty ... ?

It's for organize the CSV package (v7).
For now, i have deleted the line on Extra_Data-v2.csv and rename it to Extra_Data_v3.csv
 
SoulEV2016 said:
Extra_Data_v2.csv contain already the OBC efficiency (formula).
What would you to do ?
SoulEV2016: Continue to update your files in the way you are currently doing. My files will continue to be added to the first page of this thread for historical continuity. But that is not how I expect most users to grab them. Your zip files are much more convenient.
I am currently working with ayokyun to create a Torque plugin that will automatically download and update the files.
The files will be stored on github here - https://github.com/ayokyun/OBD-PID-for-HMC-EV/tree/master/Soul%20EV
These files are from your zip files.
 
Result for the OBC2016_v2 :
- OBC Temp 1-2-3 don't work on 2016 (specialy the OBC 3 on road, check the next GIF)
- Unknow PID don't really react (but are OFF without the charger plugged)
- Pilot DUTY is in Volt divide per 10 ( https://github.com/kortas87/simple-evse/wiki/HowToSetDifferentCurrentLimit ).

0,8v in 12v PWM Pilot signal = 1,1kW
1,6v in 12v PWM Pilot signal = 2,2kW
Like this.

XtHb64.gif




Result for the test with AVG formula ... not working good with negative regeneration.
Need an ABS filter on value (to remove negative number), i think ...

oxic4R.gif
 
Copy-Paste bug in the OBC files?

002_OBC_Pilot_Duty_Cycle,Pilot_Duty,2102,r/3,0,86,A %,794
002_OBC Temp 1,OBC Temp 1,2102,s,0,255,C,7E2 794
002_OBC Temp 2,OBC Temp 2,2102,t,0,255,C,7E2 794
002_OBC Temp 3,OBC Temp 3,2102,u,0,255,C,7E2 794

The Pilot duty cycle unit is percent (%, i.e no unit). 1% corresponds to 0.6A.
For example, if the Pilot duty cycle is 50%, the Amp limit is 50 x 0.6A = 30A.
So the 002_OBC_Amps_Limit line looks correct.

Also, I consider the unknown values to be 16 bits even in OBC v1 (i.e only 1 unknown there, 16 bits), hence the unknown2 has been inserted before the unknown 1 for OBC v2.

One sidenote is that the OBC is actually alive and presenting data not only when charging, but also during driving. The voltages and amps are all zero, but the temperatures are still there and might give some added value in some cases.
 
Back
Top