Prius Gen2HSI kuro bako matavimas

5 12 2019

Prius Gen2HSI jau pagamintas, ką programinė įranga rodo jau žinome, o dabar nusprendžiau padaryti serija įrašų apie tai, kaip kai kurie laukai yra apskaičiuojami ir kokios gi jų naudos. Pirmiausiai pradėsiu nuo kuro bako likučio rodymo. Dažnas pagalvoja kam gi tas Gen2HSI reikalingas kai galima kiniška OBD2 Buetooth adapterį įstatyti ir su Android programą viska rodyti. Kuro bako likučio skaičiavimas ir likusio nuvažiuoti atstumo su juo apskaičiavimas būtent yra vienas tų privalumų ko Android programos neturi (Torque, Hybrid Asiistant).

Duomenų gavimas

Pradėkime nuo to, kad automobilis likutį litrais mums atsiunčia pasyviu paketu „0x5A4“, kur antras baitas yra būtent tas kiekis mililitrais. Tą kiekį mes tada galime pasiversti į litrus ir dar geriau pateikti jį ekrane procentais, bet prieš tai reikia įvertinti, kad tas likutis litrais jau su rezervo kiekiu. Kad parodymai negąsdintu žmogaus mes tą rezervą atimsime ir laikydami, kad pilnas bakas talpina 42 litrus, pasiverčiame į procentus ir gauname:

Matome, kad duodama reikšmė yra grynai iš bako daviklio nuskaityta reikšmė ir ji nė kiek neapdirbta.  Važiuojant į kalną ar stipriai gazuojant kuro lygis krenta, o riedant nuo kalno ar stipriai stabdant – kyla. Mes šiuos duomenis turime kažkaip susitvarkyti.

Duomenų apdirbimas

Pirmas dalykas ką mes galime padaryti tai bent jau skaičiuoti kelių buvusių reikšmių vidurkį:

Matome, kad 100 reikšmių vidurkis (tas, šviesiai mėlynas) stabiliausiai atrodo, bet taip skaičiuoti negerai, nes valdiklyje nėra tiek daug atminties. Mažesnio kiekio vidurkinti neverta, nes tai naudos duos nedaug, todėl nuspręsta vidurkinti 10 matavimų, bet ne iš eilės, o imant po reikšmę kas 1km. Taip gaunu tokį rezultatą, kur raudona linija yra 10km vidurkis kas 1km:

Bet problema čia atsiranda tada kai bandome sekti kuro bako papildymą, nes tada mes nunuliname kuro bako sąnaudų rodiklius. Kiekvieną naują RAW reikšmę mes lyginame su prieš tai buvusia ir jei skirtumas didelis į pliusą, laikome, kad tai yra kuro bako papildymas dideliu kiekiu. Užsibrėžę sekti, kad laukiame 30% bako papilnėjimo, tuo momentu, kai tai įvyksta, 10km masyvą mes nustatomą naujai atsiradusiai dildelei reikšmei:

 

Tame atsiranda bėdų, nes kaip matosi tos RAW reikšmės taip smarkiai šokinėja, kad kartais net ir pusės bako papildymas užskaitomas bevažiuojant. Šiuo atveju viskas buvo gerai, bet pavažinėjus šiek tiek pamatysime, kad ties puse bako tas lygio šokinėjimas dar stipresnis:

Raudoname grafike matome skirtumą tarp naujo nuskaitymo ir prieš tai buvusio. Net trijose vietose buvo peržiangiamas 30% papilnėjimo skirtumas ir tai aišku negerai. 100 reikšmių vidurkis čia gal ir būtų geriausias, bet kodėl gi nepadarius hibrido. Skirdamas papildomus 20 baitų saugau 20 paskutinių reikšmių, ir jų vidurkį lyginu su RAW reikšme siekdamas pagauti tą kuro bako papildymą. Rezultatai tokie:

Dabar geltonoje linijoje esantis skirtumas tarp 20 reikšmių vidurkio ir RAW daugiausiai pasiekė 20%. Gerai. Kadangi dabar turime 20 paskutinių reikšmių vidurki tai jį panaudosime ne tik kuro bako papilnėjimo sekimui, bet jo reikšmę vesime ir į 10  narių masyvą kas 1km, iš kurio apskaičiuosime kuro bako talpos vidurkį per paskutinius 10km:

Vaizdai ekrane

Dabar pereikime ką mes matome ekrane. Štai nuvažinėjau baką iki 9%, t.y. 3l (+2l rezerve):

Antra eilutė rodo, kad mums su esamos kelionės sąnaudomis liko nuvažiuoti 35km, su kuro bako sąnaudomis tie patys 35km, o su pastoviomis sąnaudomis – 55km. Jei neklystu tuo metu kelionės ir kuro bako sąnaudos buvo po 7l/100km, o pastovios 6.7l/100km. Įsipylus kuro pilną baką likučio parodymai pakylą kaip ir likę nuvažiuoti kilometrai:

Paskaičiavus skirtumą matome kad įpilta 38l. Čekis rodo 38.5l, ir apvalinant čia manau viskas gerai:

Sąnaudų langą nufotografavau pavažiavęs nuo kolonėlės ir čia jau sėkmingai rodomos naujai skaičiuojamos kuro bako sąnaudos antroje eilutėje:

Pavažinėjus ilgiau:

Matome, kad sąnaudos jau skiriasi ir šioje vietoje paaiškinsiu kam mums reikia tų nusinulinančių kuro bako sąnaudų čia, juk mes turime jas LCD ekrane:

Viskas tam, kad savo ekrane mes galėtume matyti likusį važiuotini kilometrų kiekį su bako likučiu tiek pagal dabartinės kelionės sąnaudas, tiek pagal pastovias, tiek pagal čia matomas kuro bako sąnaudas.

Apibendrinimas

Štai kaip sudėtingai reikia tą kuro likutį suvaldyti, kad rodytume ir stabilų jį, ir kad neapsimeluotume. Sekantis dalykas ką norėsiu parodyti tai kaip gi mes tas sąnaudas skaičiuojame.


Veiksmai

Informacija

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti /  Pakeisti )

Google photo

Jūs komentuojate naudodamiesi savo Google paskyra. Atsijungti /  Pakeisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti /  Pakeisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti /  Pakeisti )

Connecting to %s




%d bloggers like this: