Wedos

úterý 13. listopadu 2012

IBD II jak to funguje a co s tím

Celé to začalo sháněním auta. Tehdy jsem se začal aktivně zajímat o to jak zjistit skutečný stav vozu. Bez toho aniž bych musel jet do servisu. Můj zájem šel tak daleko, že jsem začal zjišťovat jak v moderním autě komunikují jednotlivé díly mezi sebou. Vězte není to žádná magie jak tvrdí leckterý technik v autoservisu.

K-Line
K-Line je původní standardizovaný protokol. Jeho rychlost je z dnešního pohledu velice malá. 9600 kb/s. Technicky se jedná o sériovou komunikaci (tedy data se posílají jedním směrem). Pro takovou komunikaci vám stačí všeho všudy 2 dráty. Celá komunikace probíhá po dvou vrstvách. Fyzickou a linkovou.

CAN
Protokol CAN je modernější varianta. V první verzi nebyla ani rychlejší ani efektivnější. Za to měla všechny prvky moderních komunikačních protokolů tak jak je známe dnes a jak se používají například v TCP/IP a podobně. Díky nasazení modernějšího protokolu, který používá 4 komunikační vrstvy, lze spolehlivě zvyšovat rychlost. O komunikaci se stará fyzická, linková, transportní a aplikační vrstva. Komunikace stále vychází ze sériového modelu, ale drátů je již o něco víc. Díky tomu lze spolehlivě komunikovat vyšší rychlostí.
Součástí komunikačního rozhraní (konektoru) je často i starší verze komunikačního protokolu. K-Line. Je to v podstatě pozůstatek a důsledek požadavku na základní univerzálnost komunikace.

ELM 327
Základním požadavkem na komunikaci běžného počítače (nebo čehokoliv tomu podobnému) je převod sériově kódovaných informací na srozumitelný datový tok. Ideálně nějaký houf znaků a číslic, kterému jsme schopni dát nějaký význam.
O to se stará v dnešní době čip ELM 327, ten ovládá hned několik druhů kódování používaných při OBD komunikaci (1850 VPW a PWM, ISO14230-4, ISO9141-2, ISO15765-4CAN, J1939CAN). Je následovníkem čipů ELM 320, ELM 322 a ELM 323. Převádí OBD II kódy do ASCII.

Přes technické pojmy jsme se prokousali směrem k odpovědi na filozofickou otázku:"Co z toho?"
Na její odpovězení půjdu opět trochu oklikou.



Dnešní moderní autoservis se skládá především z něčeho čemu se říká diagnostika. Je to celkem normální věc, která stojí strašný ranec.
Ranec nestojí proto, že by sama o sobě byla drahá. Technicky je to průměrné PC s nadprůměrným SW.  Co z toho dělá drahou věc, je služba, kterou to poskytne.
Výrobci dnes auta testují a zkoušejí než jdou do výroby skutečně precizně. Většinou možných stavů, které se můžou projevit jako porucha něčeho (nejen vadný díl). Mají zmáknuté a hlavně mají zaznamenaná data s tím související.
Například ví jak vypadá průběh tlaku turba v případě, že jsou poškozené lopatky. Atd.
Spoustu z toho, už moderní auto dokáže samo o sobě diagnostikovat a zavčasu zařvat (aby se toho nepokazilo ještě víc).
Diagnostika v servisu je drahé proto, že obsahuje velice podrobnou databázi toho, co s autem je v případě, že senzor A a B dávají výsledek X a Y.
Nic jiného za magii tam není.
Upozorňuji, že je řeč o diagnostice. Zápis do jednotlivých řídicích jednotek je pak trošku něco jiného. Tam se výrobce aktivně brání, přidáním certifikátů pro potvrzení a povolení zápisu. To proto aby si nemohl motor přeprogramovat úplně každý.
Důvodů proč to takhle funguje je hned několik.

  • Lidé jsou přesvědčeni, že počítače jsou černá/bílá magie
  • Firmy potřebují vydělat na tom, že prodají licence na drahý SW
  • Automobilky slušně profitují z "autorizovaných" servisů
  • Lidé jsou přesvědčeni, že za to může počítač protože počítač je černá/bílá magie
Ano ten poslední a první bod jsou si dost podobné a jsou tam schválně. Skutečně je to o lidech.

Tahle definice nám náš malý diagnostický problém rozdělila na dvě čísti. Část hardwarovou. Tedy samotný fyzický převod z OBD II na ASCII. Protože žijeme v 21. století (i když to tak často nevypadá) je celkem snadné sehnat převodník. ČLR (Čínská lidově demokratická republika) nás zásobuje skutečně slušně. Jde to dokonce tak daleko, že převodník je bez drátů a používá moderní technologie jako je WIFI, Bluetooth a podobně. Takže problém s HW odpadl.

Druhým problémem je SW. Ten problém je o dost výraznější, hlavně proto, že na zádech SW je převod kódů a čísel do srozumitelných dat.
Na kvalitě takové aplikace pak je jaký výstup poskytne. Aplikace lze shrnout do svou skupin.
První jsou aplikace, které zobrazují online data jako rychlost kol, tlak paliva, teplota vzduchu sání, tlak turba atd.
Druhá skupina zobrazující data offline, tedy různé chybové kódy a podobné věci. U některých dovede i takovéto chyby z logu auta smazat.
Někdy se jedná o určité prolínání obou skupin, ale zatím jsem nenašel takovou, která by oboje zvládala perfektně.
Trošku stranou pak stojí aplikace, které dokáží rozklíčovat co, který kód znamená a tím pochopitelně zjistit kde je bolístka. Efektivita těchto aplikací je přímo úměrná rozsahu jejich databáze. Kde často bývají aplikace specializované na jednu značku vozu.
Obecně lze říci, že některé základní údaje jsou univerzální a zjistitelné u všech vozů. Naopak jiné údaje jsou velice specifické a souvisí se znalostí té či oné řídící jednotky. Daného výrobce vozidla.

Ze sériové linky lze tedy vyčíst značnou část (těžko odhadnou jestli všechny, ale bylo by to logické) údajů ze senzorů uvnitř auta. Včetně těch o kterých jste do této doby ani nevěděli.
Například u motoru, získáte vždycky údaj o otáčkách a jeho vytížení. Z jednotky ABS lze získat například informace o rychlosti kol (každé extra).
Z řídící jednotky lze číst i data jako rychlost, nebo teplota motoru. Těch informací je skutečně mnoho.
Při správné interpretaci tak lze často získat docela ucelený obrázek o tom co se děje pod kapotou. A to často i u vozů, které žádný takový výstup sami o sobě nemají.
Tedy klasicky auto, které Vám sotva ukazuje rychlost a otáčky. Vám záhy prozradí, že se rozjíždíte se zataženou ručkou. Máte vysokou teplotu kapaliny v chladiči a nebo nízký stav oleje. Případně kolísá tlak u turba.
Pokud máte kliku, a Vaše auto je skutečně ukecané (třeba jako moje Lancia Phedra 2.2 JTD) tak se těšte i na takové informace, jako je aktuální výkon motoru ve wattech, napětí při žhavení nebo stav filtru pevných částic.

Pokud vás to zajímá podrobně. Napsal jsem autorům komerčních aplikací, právě pro tyto účely a rád bych přinesl komplexnější test, toho co která dovede a co umí. Pochopitelně nějaký ten screenshot případně nějaké video z praxe.
zatím to vypadá, že v testu bude krom free aplikací i ty nejdražší komerční kousky!