Prius papildomos informacijos stebėjimas per OBD2 ir PriusHSI

27 02 2016

Toyota Prius yra toks modernus ir elektroniškai pažengęs automobilis, kad gamintojai visai pamiršo į informacinį skydelį integruoti tokius parodymus kaip variklio temperatūra ir  apsisukimus. Projektuotojai tikriausiai nesitikėjo, kad tokie mechanikos parametrai reikalingai, kai visas valdymo funkcijas atlieka kompiuteris. Tačiau smalsūs vartotojai, tokie kaip aš, nori žinoti viska. Ypač atsiranda poreikis žinoti temperatūra užblokavus aušinimo groteles, variklio sūkius siekiant važiuoti ekonomiškai, o kur dar kitos papildomos galimybės.

Šiame įraše pateiksiu kelis būdus kaip pasinaudojant OBDII sąsaja stebėti šiuos parametrus ir pristatysiu pasigaminta PriusHSI prietaisą.

OBDII sąsajos įrankiai

Pradėsiu nuo sąlyginai pigiausio varianto – bluetooth OBDII adapterio ir sumanaus telefono:

s-l300

Išskirtinai Android telefonų savininkai gali džiaugtis Torque programa ir jai surinktais specialiais Prius Gen2 PID’ais. Tinkamai importavus juos galima susikurti neprasta virtualų skydeli telefono ekrane:

wpid-wp-1433662240219.jpeg  wpid-wp-1433662248565.jpeg

Kiek nepatogu yra tai, kad šis variantas reikalauja pasirengimo darbui, t.y. programos įjungimo, telefono pritvirtinimo, maitinimo pajungimo. Tai yra labai nepatogu, bet stebimų parametrų galybė ir galimybė juos loginti realiu laiku padaro šį variantą labai patraukliu. Priedo programa gali nuskaityti ir ištrinti klaidų kodus kas irgi yra gerai.

ScanGaugeII yra bene rimčiausias ir labiausiai paplitęs prietaisas OBDII duomenims stebėti:

download

Pastarasis yra patogiai montuojamas panelėje ir turi galimybę būti programuojamas priklausomai nuo automobilio. Prius Gen2 savininkai turi nemažai atrinktų PID’ų tad šis įrankis yra vienas populiariausių rinkoje. Deja bet įrenginio kaina pasikandžioja, bet investicija manau neprasta. Kaip ir Torque programa pastarasis moka susidoroti ir su klaidų kodais.

Dar egzistuoja projektas PriiDash, kuris naudoja USB OBDII laidą paremta ELM232 ir Windows PC kompiuteriu:

GaugesWindow640x427

Pati programa tikrai galinga. Rodoma praktiškai viskas ką galima iškapstyti iš automobilio, galima duomenis loginti, bet sistema sunkiai integruojama, nes reikia montuoti arba atskira LCD ekraną arba automobilyje laikyti nešiojama kompiuterį.

Šie, informacijos ant stiklo, OBDII įrenginiai gana patrauktus sprendimas, bet deja atvaizduojami tik jau suprogramuoti parametrai ir suderinamumas su Prius nėra garantuotas:

s-l1600

Na ir paskutinis mano rastas projektas – Arduino paremtas OBDII įrenginys su paprastu 16×2 ekranu:

hqdefault

Pastarasis turi nemenka potencialą, nes galima savaip perprogramuoti informacijos vaizdavimą, tačiau tam jau reikia AVR programavimo ir automobilio CAN protokolo žinių. Kuo dar mane sužavėjo šis projektas tai Prius HSI skalės integravimas, kurios pagalba galima mokytis važiuoti kuo taupiau.

Taigi šio įrašo esmė ir bus šio, PriusHSI įrenginio gamyba.

Prius Hybrid System Indicator (HSI)

Labai trumpai papasakosiu kuom jau ta Prius HSI skalė ypatinga. Ji atsirado tik Gen3 modelyje ir atrodo taip:

Prius-MID_EcoMeter-Power_SummerTank-01

Šis skalė pildosi priklausomai nuo to kaip vairuotojas greitėja, važiuoja ar lėtėja. Skalė susideda iš keturių pagrindinių dalių:

  • CHG sritis rodo kiek energijos yra regenruojama stabdant ar riedant;
  • Žalia sritis rodo, kad dar galima judėti vien elektra;
  • Balta sritis rodo, kad norint judėti reikia benzino variklio;
  • PWR sritis rodo, kad benzino variklis yra naudojamas neefektyviai stipriai;

Priklausomai nuo to, kaip stipriai spaudžiame gazo pedalą pildysis ši skalė ir matome kaip ekonomiškai mes važiuojame. Logiška, kad norėdami važiuoti elektra mes gazą spausime nestipriai ir stengsimės neperžengt žalios skalės, o siekdami negadinti kuro stengsimės nepasiekti PWR zonos. CHG zona šiuo atveju yra dviprasmiška, nes mes norime krauti akumuriatoriu tik riedėdami, o bet koks stabdymas turi būti apgalvotas ir esant galimybei išvengtas.

Tačiau yra dar kelios zonos, kurios daug svarbesnės:

prius-mid_hsi_ecometer_optimalaccelglideherewithpowerbarshowingwebpage

  • Geltona glide zona, kuomet spaudžiant gazą lengvai nenaudojamas joks variklis ir automobilis rieda nenaudojamas nei benzino, nei elektros energijos (tai prilygtu užgesinto automobilio riedėjimui laisva pavara);
  • Žalia accel zona, kurioje mes bėgėjamės optimaliai išnaudodami benzino variklio potencialą.

Šios dvi zonos turi būti žinomos pulse&glide technologijos naudotojams, kuomet bėgėjamės iki maksimalaus leistino greičio žalioje zonoje, ir pasiekę greitį sulėtėjame šiek tiek tilpdami geltonojo zonoje. Taip automobilis visuomet būna optimaliai išnaudojamas, o kuro sąnaudos būna mažiausios. Taip važiuoti galima aišku tik iki tam tikro greičio, kurį pasiekus ir norit jį išlaikyti tenka gazą paspausti stipriau ir/ar ilgiau, bet derėtu atsiminti, kad peržengti žalios zonos nevalia jei norite ekonomiškai važiuoti.

Keliaujant užmiesčio keliais didesniu greičiu verta atkreipti dėmesį į šią žalią zoną:

h_ssr

Palaikant stabilų greitį šioje zonoje naudojate benzino varikli efektyviausiai ir kuro sąnaudos bus mažiausios. Tokį efektyvų tašką turi kiekvienas automobilis ir labai dažnai jis pasireiškia važiuojant 90-100km/val greičiu.

Manau, kad šis grafikas yra privalomas turėti ir Prius Gen2 automobilyje. nes jis padeda treniruotis kaip reikia naudoti gazo pedalą atitinkamose situacijose.

PriusHSI įrenginys

Kad pasigamintumėte Arduino paremta OBD2 informacijos stebėjimo įrenginį galite paskaityti dvi vietas kur radau apie jį kalbant: http://priuschat.com/threads/hsi-for-gen-ii-with-arduino-and-can-bus-shield.92696/ ir http://www.cleanmpg.com/community/index.php?threads/38755/. Paskutini programos kodą rasite čia: https://github.com/avataranedotas/HSI-bar_Prius2G-Arduino/releases/tag/v2.0.1. Mano duotuose linkuose rasite visa reikiama informacija ir nemažai video medžiagos kaip ten kas veikia, bet čia dar papildomai sukonspektuosiu ko jums reikia ir ką gaunate.

Pradėkime nuo techninės įrangos:

  • Arduino UNO – nesvarbu ar tai originalus, ar nelabai, bet geriau kad tai būtų UNO vardan suderinamumo su vėliau minimo priedėlio;
  • SparkFun CAN-BUS Shield – Microchip MCP2515 CAN kontroleris su MCP2551 CAN transceiveriu ir integruota svirteliniu perjungėju;
  • SparkFun Serial Enabled 16×2 LCD;
  • OBD2 kabelis;

Liūdniausia viso šio reikalu dalis aišku būtu įrangos kaina, kuri svyruoja nuo 60 iki 85 doleriu, priklausomai nuo pasirinkto Arduino UNO varianto. Na bet sujungiate viska, užprogramuojate ir turite veikianti įrenginį.

Dabar pakalbėkime apie funkcijas. Projekto pradžioje buvo tik pirmas langas, kuriame rodomas Prius HSI grafikas, aukštos įtampos baterijos vartojama srovė, variklio aušinimo skysčio temperatūra ir variklio apsukos. Apie šias funkcijas geriausiai gali papasakoti pats projekto tverėjas šiame video:

Pats įrenginys pastoviai maitinamas nuo OBD2 jungties ir išjungus automobilį užmiega. Taip pat pastebėjote pasakojant apie automatini ekrano pritemdima – gera funkcija vairuojant nakti.

Vėliau projekte atsirado dar trys langai su gausybe kitų parametrų, kuriuos galime apskaičiuoti iš gaunamų ODB2 duomenų. Paskutiniame programos kode įgyvendinti šie langai:

l1Pagrindinis langas: kairėje baterijos srovė (neigiama kuomet baterija kraunama, teigiama kai naudojama), viduryje variklio aušinimo skysčio temperatūra ir baterijos įkrovimo lygis, kurie keičiasi kas dvi sekundes, dešinėje variklio apsukos ir rėžimo identifikatorius (E – elektra, R – vidaus degimo variklis, EV – priverstinis elektros rėžimas);

l2Kelionė 1 langas: kairėje momentinės kuro sąnaudos šimtui kilometru, viduryje nuvažiuotas kilometrų kiekis, o dešinėje vidutinės šios kelionės sąnaudos. Nuvažiuotas atstumas ir kuro sąnaudos yra skaičiuojamos kas 250ms iš ganumų greičio ir sąnaudų duomenų;

Kelionė 2 langas: kairėje momentinės kuro sąnaudos šimtui kilometru, viduryje nuvažiuotas kilometrų kiekis, o dešinėje vidutinės šios kelionės sąnaudos. Nuvažiuotas atstumas ir kuro sąnaudos yra skaičiuojamos kas 250ms iš ganumų greičio ir sąnaudų duomenų. Dėl mažos programos klaidos vidutinės sąnaudos antros kelionės lange nėra spausdinamos;

l3Kuro langas: kairėje prognozuojamas atstumas, kurį galite įveikti su likusiu kuru bake, viduryje kuro bako likutis procentais, o dešinėje naudojamo elektros rėžimo procentai. Prognozuojami liktiniai kilometrai apskaičiuojami iš kuro bako likučio, laikant, kad kuro bakas yra 42 litrų talpos, ir vidutinių kuro sąnaudų per paskutinius 10km. Elektros naudojimas procentais apskaičiuojamas sekant kiek kilometrų važiuota elektra ir kiek benzinu, neatsižvelgiant ar automobilis tuo metu juda ar ne.;

Visais atvejais naudojant vienu vieninteliu mygtuku perjungiami langai, o jį paspaudus ilgiau perkraunami atitinkamo lango skaitikliai.

Mano PriusHSI

Aš žinoma nebūčiau aš jei nepradėčiau taupyti ir iš to taupymo visko nepradėčiau gamintis nuo nulio.

Pasitikėjau autoriaus sėkme ir iškarto pradėjau gaminti PCB, kurioje bus Atmega328P,  MCP2515 CAN kontroleris, MCP2551 CAN transceiveris, jungtis 1602 LCD ekranui ir keli mygtukai:

DSC_2912

DSC_2911

Pasijungus automobilyje turiu tą patį ką ir autorius, tik už sąlyginai mažesnę kainą:

DSC_3066

Pirmas dalykas ką norėjau padaryti pataisęs kelias programavimo klaidas tai geriau pažinti įrenginio veikimą ilgiau juo pasinaudojus. Automobilyje tai daryti tikrai nepatogu su atvira PCB, tad pradėjau dėžutės gaminimą. Tam radau pirkti neprasto dydžio variantą:

P_20160116_141218

Nusipirkus ir išardžius radau pritrenkianti tvirtinimo sprendimą dėžutės centre, kurį vėliau pašalinau, nes toje vietoje bus LCD:

P_20160116_141235

Išpjovus skyle LCD ekranui ir turiu integruotą variantą:

P_20160116_153844

Truputis juodo lako ir baigta:

P_20160116_171532

Dar prisiminiau, kad darydamas PCB nepadariau LCD apšvietimo reguliavimo/išjungimo valdymo per PWM tranzistoriaus pagalba, tad dabar pats laikas šiam atnaujinimui:

P_20160116_162032

Kad pritvirtinti įrenginį prie panelės su galimybe jį nusiimti panaudosiu prabangią 3M velkro juosta, kuri kainuoja net 11Eur už metrą:

P_20160119_141305

P_20160119_141313

Štai galutinis variantas su mygtuku ir pritvirtinus prietaisą automobilyje:

P_20160121_130735

Funkcijos visos kaip originaliame įrenginyje:

Ir keli kadrai:

P_20160121_130746

P_20160121_130755

P_20160121_130803

Kuro sąnaudų skaičiavimas beja yra gana tikslus miesto vairavimui:

P_20160124_172630

P_20160124_172732

Deja, bet taip ir nepavyko patikrinti kuris rodo teisingą reikšmę, nes niekada nesugebėjau išlaikyti PriusHSI įrenginio neperkrovęs, o duomenis jis laiko tik RAM atmintyje. Kaip ten bebūtų, esu linkės manyti, kad teisus yra PriusHSI rodydamas didesnę reikšmę, nes sąnaudas visada gaudavau didesnes, nei rodydavo Prius LCD ekranas.

Apibendrinimas

Paskutinius žodžius skirsiu atsakymui į klausimą: ar padeda papildomi duomenys ir PriusHSI grafikas taupyti kurą? Taip, nors vien to ką dabar gaunu ne gana.  Dabar atnaujinu programinę įrangą šalindamas nereikalingus parametrus ir įtraukdamas naujus, tokius kaip kelionių vidutiniai greičiai ar variklio purkštukų darbo laikas. Pastarasis, beja, yra ypač naudingas užmiesčio keliuose norint maksimaliai išnaudoti vidaus degimo variklio efektyvumą. Apie šiuos pakeitimus kitame įrašę.


Veiksmai

Information

11 responses

27 02 2016
automateaqua

Sorry Mindaugai, bet matos kad biskuti esi savo Priuso maniakas:-D. Man masiniukas svarbu kad vaziuotu, negestu. Beje, visad idomu skaityt tavo straipsnius, taip ir toliau.

19 12 2016
Laimis

Šaunuolis Mindaugai 🙂 Rimtas Priusistas sakyčiau. Įdomu būtų sužinoti, kiek Prius vairuotojų LT yra elektronikos specialistai? Eilinius šoferius gali bauginti Prius hibrido stebuklas, o tokiems, kaip tu manau sukelia norą atrasti – neatrastą 🙂 :-).

19 12 2016
mindogas

Baugiausiai paprastiem zmonem yra detaliu kainos. Istikro, hibrodo sistemos elektronika brangoka, bet yra ir pigus sprendimai – srotai ir pan.

4 05 2017
Laimis

Sveiki,
Renukui bovot susimontavę dienos led šviesas. O kaip manot ar pasiteisintų Prius’ ui sumontuoti ledukus? Esu mates kelis Prius su led. Gal darėt analizę koks poveikis kuro sanaudoms su led šviestuvėliais?

5 05 2017
mindogas

Manau pasiteisintu ir net labiau nei standartiniame automobilyje. Ypač mieste, kuomet stovint kamštyje be reikalo yra eikvojama didžioji baterija. Geri LED žibintai valgo ~8-10W, kur trumposios su gabaritais ~150W susumavus. Plius, LED žibintai įsijungia automatiškai ir diena nepritemsta panelių apšvietimai, kas yra labai patogu. Pats į Prius LED nedėjau dėl laiko stokos. Vis neprisiruošiu to padaryti, o ir darbų aplinkui pilna visokių. Darbą perduoti meistrams kažkaip nenoriu 😀 Na bet visumoj tikrai norėčiau.

5 05 2017
Laimis

Ačiū už nuomonę.
LCD ekranėlio apšvietimas ypač problematiškas saulėtą dieną. Nežinau ar čia tik man, bet labai prastai matosi per galinio vaizdo kamerą jeigu važiuojant atbulomis. Gal dar galima kažkaip pagerinti situaciją su kontrastu.

5 05 2017
mindogas

Na tai reikia visada įsijungus šviesas skydelių apšvietimą pasiryškinti 😀 Aš pirmas dienas kai to nežinojau važinėjau nežinodamas kokiu greičiu važiuoju, nes baisiai saulėta data buvo ir skydelis buvo visai neįžiūrimas 😀

8 05 2017
Laimis

Reiks pasikoreguoti nes matomai “prireguliavom“ nes pas mane vienam per ryšku, kitam per blanku. Vakare kai kam trukdo “skydelio atspindys“ ant priekinio stiklo, tai buvo gal mažinamas ryškumas, o dabar kai saulės daugiau, kaip ir trūksta ryškymo.

10 09 2017
Blogo naujienos | Mindaugas Markauskas

[…] Prius ODB2 parametru stebėjimo įrenginys. Pastarasis jau du metus tarnauja ir vargo nemato. O automobilyje ir karšta ir šalta būna, […]

13 11 2019
Prius Gen2HSI gamyba | Mindaugas Markauskas

[…] aprašytas PriusHSI man tarnauja jau 4 metus, kol nesugalvojau kiek atnaujinti jį. Ne dėl to kad kas negerai, […]

17 11 2019
Prius Gen2HSI programa | Mindaugas Markauskas

[…] dabar metas programinei įrangai. Pati programa ir jos valdymas labai panašus kaip senasis šio įrenginio prototipas, bet atsiradus didesniam ekranui ir praktiškai dvigubai daugiau duomenų – reikia apie tai […]

Parašykite komentarą