Prius variklio temperatūros sensoriaus apgavikas

30 11 2015

Kažkada aptariau penkis Prius apšilimo etapus. Visais atvejais, žiema variklio aušinimo sistemos temperatūra yra problemiškas dalykas. Ypač tai tampa aktualu šalyse, kur egzistuoja žemesnė temperatūra. Kad žiema Prius būtu kiek galima ekonomiškas, šalia tokių priemonių kaip radiatoriaus grotelių blokavimas atsiranda ir temperatūros sensoriaus apgavimas. Išskirtinai tiems Prius savininkams, kurie yra investavę į papildomus akumuliatorius ar Plug-In versiją, kad galėtu nuvažiuoti daugiau su elektra, tai yra ypač aktualu, nes kuo greičiau bus naudojamas akumuliatorius, tuo geriau.

Jau iš senesnio įrašo žinome, kad egzistuoja šie šilumos ciklai:

  • x-40 laipsniu – katalizatoriaus būtinas šildymas, kad jis veiktu efektyviai;
  • 40-73 laipsniu – duobė;
  • 73-x – tolygi hibrido sistemos darbo temperatūra;

Kaip supratote mums reikia atsikratyti duobės. Kadangi variklio aušinimo skysčio temperatūrą matuoja vienas analoginis sensorius, mes nesunkiai galime jį patobulinti, kad kuo anksčiau pradėtu rodyti aukštesnę nei 73 laipsnių šilumą. Pagrindinis klausimas žinoma kaip tai padaryti ir ar tai saugu.

Saugumas

Ar tikrai būtina kaitinti iki 73 laipsniu, kad galėtume važiuoti saugiai? Kalbant apie pirmaji pašildymą, iki 40 laipsniu, tai jis yra būtinas katalizatoriaus sušildymui. Jei to neatliksime – kompiuteris važiuojant mes klaidas ir galimas dalykas kad visa laiką naudos riebesni kuro mišinį (automobilis taip gamina karštesnius dūmus, kurie šildo katalizatorių).

O kam reikia šildyti varikli nuo 40 iki 73 laipsnių? Vėlgi tai susyje su tuo pačiu katalizatoriumi. Prie tų 73 variklio laipsnių katalizatorius įkaista iki savo darbines temperatūros (kuri yra ryškiai didesne nei tie 73 laipsniai) ir tuomet automobilis ekologiškai naikina išmetimo dujas. Ar tai reiškia kad prie 40 laipsnių automobilis mažiau žalias? Na taip..

Taigi tai nėra labai žalia, bet ar saugu? Dabar įsispauduokime, kad variklis yra įkaitęs iki 40 laipsniu, kiek mums reikia kad pasiekti liesesni kuro mišinį, bet kompiuteris jau galvoja, kad jis įkaito iki 73? Žinoma kompiuteris pritaikys kiek kitokią strategija variklio maitinime. Savo testuose pastebėjau, kad variklis tuo metu esant laisviems sūkiamas kiek nepataiko į taktą ir dirba mažumėle netolygiai, bet tai trunka gana trumpai, kol sistema pereina į pilnai hibridini rėžimą. Pats kuro mišinys apskaičiuojamas tiksliai, nes oro, ateinančio į kuro mišinį, temperatūra matuojama atskirai.

Temperatūros sensorius ir jo apgavimo būdai

Temperatūra matuojama su klasikiniu NTC termistoriumi, kuris maitinimas pačio kompiuterio. Variklio aušinimo skysčiui šylant termistoriaus varža kinta ir rezultate gražinama žemesnė įtampa:

rm-ecm-ckt

Žinoma temperatūros ir termistoriaus varža nėra tiesiškai priklausomas, bet mums to ir nereikia, nes mums svarbu žinoti tik kelis temperatūrų taškus.

Lengviausias būdas temperatūrai simuliuotu, būtų panaudojant fiksuoto dydžio 1-1,5k varžą. Ją pajungus lygiagrečiai originaliam sensoriui gautume tokią varžą lyg variklio temperatūra būtų ~80 laipsnių. Ar tai yra protingas sprendimas? Deja ne, nes jis nėra automatinis. Tektu laukti kol variklis sušils iki 40 laipsniu ir tik tada įjungti apgaviką. Taip pat problemu kelia ir derinimas – atitaikyti tinkamą varžą yra sudetinga, tad tenka jungti potenciometra.

circuit

Šalia to, reikia tikėtis, kad varžos parametrai nekis keičiantis lauko temperatūrai (žiema esant minusui ir vasara esant dideliam pliusui). Yra galimybė derinti varžą su diodu, kurio atjungimo įtampa yra ties mums norima, taip išsprendžiant tikslumo ir stabilumo klausimą, bet nėra sprendimo automatiniam įjungimui.

Kodėl paminėjau būtent 80 temperatūra? Todėl kad reikia rinktis kiek didesne nei ribine, 73, bet žemesne nei tokia, kada išsijungia ventiliatorius, t.y. 90 laipsniu. Simuliuojama 80 laipsniu temperatūra yra kaip tik per vidurį.

Grįštame prie automatinio įjungimo. Yra sprendimas panaudoti tranzistorius siekiant uždelsti papildomos varžos darbą porai minučių. Tokiu būdu uždelsimas leistu varikliui sušilti, bet mes neturėtume jokių žinių apie tikrą temperatūrą. O kas jei dabar stipri žiema ir nuo -20 laipsnių įšilti iki 40 reikia daugiau laiko? Vasara atvirkščiai – delsiame be reikalo, nors variklis jau sušilęs iki mums norimos tranzitinės temperatūros.

Viska išsprendžia mikroprocesoriaus naudojimas. Temperatūros įėjimas šiuo atveju yra elementarus ADC nuskaitymas, ir išėjimas – tam tikros fiksuotos ar kintamos varžos generavimas. Matuodami realią temperatūrą mes žinome kada jau galime pradėti simuliuoti. Tuo pačiu galime integruoti palaipsninį temperatūros kylimą, taip sušvelninant Prius kompiuterio reakciją į staigų pokyti. Papildomai stebima temperatūra leidžia atjungti simuliavimą kuomet variklis atšala iki ypač žemos, t.y. mažiau 40 laipsnių temperatūros. Būtent dėl šių priežastinių mikroprocesoriaus projekto aš ir ėmiausi.

Dar vienas dalykas ką galima paminėti – visais atvejais pajungimas vykdomas negadinant esamos elektronikos. Nereikia nei kirpti laidų, nei atjunginėti kažko iš esamos sistemos.

Mikrokontroleriu valdomas temperatūros imitatorius

Pirmiausiai noriu pasakyti, kad dviračio aš nežadu išradinėti. Jau egzistuoja tokiu kontroleriu. Vienas tokiu šis uždaras projektas. SD kortelės dydžio įrenginys būtent tai ir daro ko mums norisi, bet aš galvoju labiau apie savadarbį variantą. Mano nurodytame projekto aptarime yra nuoroda ir į Arduino paremta eksperimentą, kuriuo aš manau ir pasinaudosiu.

Imitatoriaus gaminimas

Primoje vietoje nusipirkęs DAC mikroschemą išbandžiau viską ant breadboardo. Vėliau Priuse teko pasijungti GND, +5V ir temperatūros signalo laidus iš vienos ir vienintelės E4 jungties:

rm-ecm-conn

connector

connector1

tapwire

Kad būtų patogiau laidą palikau ilgesnį:

DSC_0789

Dabar prijungiu savo breadboradą ir tikrinu rezultatus:

76054_DSC_0776

76055_DSC_0779

Ištestavau  ir kita dieną atlikau pirmą važiavimą, loginau duomenis ir štai jie:

76053_Clipboard01

Kaip matote pasiekus 40 laipsnių temperatūra pradedamas palaipsninis temperatūros kilimas ir visos likusios kelionės metu ji palaikoma ties 80 laipsnių. Kadangi viskas kaip ir gražiai veikia, nusprendžiau tolesniems aktyviems testams nebesinaudoti breadbordo ir visą reikiamą elektroniką perkėliau į savo PCB:

76063_DSC_0784

76064_DSC_0780

Dabar nebereiks bijoti atsijungusiu kontaktų, o debugui ir programos atnaujinimui palikau UART kanalą. Įrenginį jungiame į automobilį ir galime naudoti toliau:

DSC_0792

Gamindamas įrenginį naudojau originalią programą, pats tik gaminau PCB ir truputi pakoregavau temperatūros kalibravimą. Trumpai pakomentuosi ten veikimą:

  • Startavęs ir dirbamas įrenginys informuoja apie esamą temperatūra trimis LED lemputėmis: mėlyna – iki 40 laipsniu kuomet nevykdoma simuliacija, žalia – 40-80 laipsnių ir vykdoma simuliacija, raudona – 80 ir daugiau laipsnių kuomet nevykdoma simuliacija.
  • Pasiekus 43 laipsnius programa pradeda 80 laipsniu simuliavimą palaipsniui pasiekiant užsibrėžtą tikslą per 5 sekundes.
  • Vykdant simuliavimą programa kas 10 sekundžių atjungia jį ir pamatuoja realią temperatūra.
  • Pasiekus 80 laipsnių temperatūra programa nutraukia simuliacija leisdama kompiuteriui pačiam tvarkytis su aukšta temperatūra.
  • Nukritus iki 78 laipsnių programa pradeda simuliacija.
  • Nukritus iki 40 laipsnių programa nutraukia simuliacija leisdama kompiuteriui pradėti variklio priverstinį pašildymą.

Veikimas

Turėdamas galimybę pasinaudoti Techstream programa ir Toyota OBD laidu, tolesnius stebėjimus atlikau logindamas keliones į darbą ir atgal. Kelionės deja buvo nelygioje vietoje, su viena nuokalne ir viena įkalnė kiekviename važiavime. Stebėjimo tikslas – pamatyti ar įrenginys duodą naudą, t.y. ar perėjimas į pilnai hibridinį rėžimą atliekamas anksčiau.

Pirmiausia pateiksiu grafikus kelionių, kur apgavikas nėra naudojamas:

off02

off01

off03

Pilnai hibridinis rėžimas būna tuomet, kai ISC mokymosi reikšmė pereina iš Incomplete į Complete. Būtent šis parametras yra pakeičiamas kuomet įvyksta stipresnis variklio pasipurtymas jam įšilus iki 73 laipsnių ir pastovėjus nevažiuojant 5-10 sekundžių.

Visi trys važiavimai, kaip matote pagal važiavimo greičio grafikus, yra panašūs. Kaip matome visais atvejais variklis nebuvo įšilęs daugiau 75 laipsnių, o iki pilno, 73 laipsniu įšilimo reikėjo vidutiniškai 500 sekundžių kelionės. Iškarto pasiekus šią temperatūra automobilis laukdavo ilgo sustojimo, ir tik vidutiniškai 600 sekundę pereidavo į hibridinį rėžimą. Tai, beja, sudaro net puse mano kasdieninės kelionės trukmės.

Grafikuose dar matome, kad variklis nėra atjungimas kol temperatūra nepasiekia 40 laipsnių būtinos temperatūros. 40-73 laipsnių tarpe variklis dirbo didesniais intervalais, nei jau pasiekus 73 laipsnius ir perėjus į hibridinį rėžimą.

Dabar rezultatai naudojant temperatūros imitatorių:

on01

on02

on03

on04

on05

Matome, kad temperatūra pradedama imituoti iškarto pasiekus 40 laipsniu ribą ir vidutiniškai tai užtrunka 200 sekundžių kelionės. Vėliau jau priklauso nuo sėkmės, nes nevisada prie pirmojo šviesoforu tekdavo sustoti ir pastovėti reikiamas 5-10 sekundes perėjimui. Suvidurkinus galima teigti kad iki pilnai hibridinio rėžimo reikdavo vidutiniškai 300 sekundžių, o tai perpus greičiau nei buvo be imitatoriaus. Dabar vos trečdalį kelionės praleidžiama šildyti variklį, o likusi kelionės dalis važiuojama pilnai hibrido rėžimu.

Ekonomine prasme didelių testų nedariau, bet dabar rytais nematau pirmų 5 minučių stulpelio pasiekusio 10l/km. Pirmosios 5 minutės dabar vidutiniškai naudoja 8-7,5l/km, kas žinoma prisideda prie bendrų sąnaudų gerinimo.  Ekonominė nauda būtų didžiausia tiems kas turi Plug-In Prius, nes jie imitatorius leistu didesnę dalį kelionės įveikti naudojant elektrą.

Apybendrinimas

Jau pusmeti naudoju šį apgaviką ir kol kas neturiu nusiskundimų. Tobulinti jį žinoma reikia, nes kaip matėte grafikuose, kartais temperatūra šokinėja. Ateityje planuoju atnaujinti jį sukurdamas SMD versiją su kiek stabilesniu išėjimo tranzistoriumi.

Simuliavimo metu vyksta dar vienas minusas – kol simuliavimas atjungtas ir programa matuoja realią temperatūra ECU pamato ir užiksuoja ją. Trūkumų tame kaip ir nesijaučia (apart trukdžių grafikuose), bet simuliacijos atjungimo išvengti būtų taip pat gerai.

Schemų ir programos neskelbiu, nes viska galite rasti pas autorių.


Veiksmai

Information

9 responses

2 12 2015
Zilva

labai dėkui tau už tokį išsamų ir argumentuotą aprašymą. Manau labai pritaikomas daiktas važinėjant trumpais atstumais, nes kiek aš dariau stebėjimus per OBD jungtį, tai temperatūra iki 40 pakyla labai greitai, tačiau vėliau varijuoja nuo 48 iki 78 c, reiškiasi didžiąja dalį kelionės į darbą ir atgal aš važinėju visiškoje “duobėje“.
Ar galima į tave kreiptis su nekukliu pasiūlymu-prašymu sumontuoti panašų dalykėlį ir man, skolingas nelikčiau 🙂

2 12 2015
mindogas

Velgi ziema kitas reikalas – sildant stipriai salona variklis birbs tol kol pasieks tiksla. Esant minusinei temperaturai pastebiu kad vis veliau persijungiama i pilnai hibridini rezima. Na bet taip tik ryte, nes veliau automobilis buna kiek siltesnis nuo paskutinio vaziavimo ar saules.
Del irangos tai tu privaciai man parasyk, gal ka ir butu galima suorganizuoti bendromis pastangomis 🙂

6 01 2016
Zilva

Kaip ir tikėtasi tavoji įranga dirba puikiai, viskas kaip aprašyta. Prie šiandieninių šalčių ir trumpų distancijų, su kalneliais, bei pašildymo ryte, nes auto stovi laukia, – 6,5 l max sąnaudos, manau tai puikus rezultatas.
Trukumas, kad klimato kontrolė nelabai supranta kaip jei elgtis, tai pučia smarkiai tai išsijungia. O viskas labai paprasta, – variklis įkaista iki 40 laipsniu, klima pasileidžia vos ne pilna galia šildymui, sustoji prie sankryžos palūkėti, kompas mato, kad variklis karštas ir dusina toliau, tuomet variklis atsala žemiau 40 laipsnių ir užsiveda variklis, bei išsijungia (ženkliai sumažėja) šilto oro padavimas į saloną.
Pabrėšiu, kad tai vienintelis trūkumas kuris šiek tiek trikdo žiemą.
P.S. Nors mano Priuso apatinės grotelės ir dengtos, bet prie -20 laipsnių ir trumpų atstumų tai jau nepadeda.

26 09 2016
Saulius

Labai įdomus straipsnis, būtinai juo pasinaudosiu, smalsu sužinoti, kaip sekasi “apgaudinėti“ temperatūrą vasaros metu, kokie ilgesnės eksploatacijos pasiekimai?

26 09 2016
mindogas

Tiesa pasakius, vasara praleidau atjungęs apgaviką, nes man būdavo neparanku reikiam temperatūra pasiekti per anksti. Vasara pirma su apgavimu pasiekiant reikiama temperatūra laukiama kol sustosiu, o aš turiu važiuoti nuo kalno tada. Blogai tai, kad nuo kalno riedant motoras visa laiką dirba ir laukia to sustojimo. Kuomet apgavimas išjungtas nuokalnės metu variklis jau įkaitęs iki 55-70 laipsniu ir tuomet variklis dar gali atsijungti, kad ir negražiai. Taigi vien dėl to man naudingiau vasara buvo važiuot be apgaules. Dabar, kai šalčiau, manau metas vėl grįžti prie jo.

27 11 2016
jarik

Antra karta perskaiciau straipsni, ir antra karta kyla vienas klausimas – o kodel japonu inzinieriai padare ta vadinama “duobe“? Gal yra svariu priezasciu, kodel jie dar stipriau nepagerino ekonomijos?

29 11 2016
mindogas

Viskas cia sueina i ekologija. Esant pilnai ikaitusiai sistemai kuras deginamas pilnai, ir manau tai ir buvo pagrindinis šios sprendimo tikslas. Tarp 40 ir 73 laipsniu benzinas naudojamas labiau nei elektra viena tam kad butu pasiekta “optimali“ riba. Pasiekus tuo norimus 74 laipsnius vykta dar vienas veikmas – mano minėtas pasipurtymas, arba amerikonu pramintas “idle dance“. Stebėdamas diagnostikos programą esu pamates, kad vieno tokio pasipurtimo metu pakito pastovus kintamasis “ISC Learning Value“. Pastarasis kaip suprantu kažkuom susyjęs su laisva eiga ar riba kuomet benzino variklis atjungimas, bet realios paskirties taip ir nesu radęs internete. Esu radęs tik užuomenų iš Lexus forumo, kur žmonės šį parametrą išmoko užfiksuoti dirbtinai, siekdami mažesnių kuro sąnaudų. Rezumuojant galiu tik pasijuokti, kad “duobė“ yra Toyota spendimas ekologijos rodikliams pasiekti, o štai vienas vokiečių gamntojas ėmėsi suktesnių sprendimų.

28 10 2017
justas

sveikas, ziuriu daug esi isbandes visko, as pastebejau kad pas mane 15min vaziavimo mieste, prie 6-10C isyla ausinimo skystis tik 50-60C , uzmiestyje kazkada ziurejau tai 73-75C ar tai normalu, ar ir pas tave be apgaviko taip budavo?

28 10 2017
mindogas

Sveiki, normalu jei priusas europinis ir be papildomo sildytuvo. Nors realiai ir amerikonas rytais taip darytu, nes karsto antifryzo po nakties nebebutu.

Parašykite komentarą

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s




%d bloggers like this: