Upload
nguyenanh
View
235
Download
9
Embed Size (px)
Citation preview
Matjaž Cehner
Prikaz podatkov o delovanju avtomobila
z uporabo vmesnika OBD-II
Diplomsko delo
Maribor, september 2012
Diplomsko delo univerzitetnega strokovnega študijskega programa
Prikaz podatkov o delovanju avtomobila
z uporabo vmesnika OBD-II
Študent: Matjaž Cehner
Študijski program: UN ŠP - Računalništvo in informacijske tehnologije
Mentor: doc. dr. Boris Cigale
Lektor: mag. Zoran Pevec prof. slov.
Maribor, september 2012
I
II
ZAHVALA
Zahvaljujem se mentorju dr. Borisu Cigaletu
za pomoč in vodenje pri izdelavi
diplomskega dela.
Prav tako se zahvaljujem staršem, ki so mi
omogočili študij.
III
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
Ključne besede: OBD, ELM 327, diagnostika avtomobila, ECU, nadzorna enota motorja,
branje napak.
UDK: 629.3:004.94(043.2)
POVZETEK
V diplomskem delu smo predstavili avtomobilski diagnostični sistem OBD-II in zgodovino
uporabe standarda OBD v avtomobilski industriji. V nadaljevanju je podrobno opisana naša
programska oprema za diagnostiko, spremljanje različnih senzorjev v motornem sklopu ter
branje in brisanje napak.
Program smo implementirali v programskem jeziku C#, s pomočjo razvojnega okolja
Microsoft Visual Studio 2010. Za komunikacijo z vozilom smo uporabili vmesnik ELM 327,
priključen na računalnik preko bluetootha ali USB serijskega vmesnika. Naša programska
oprema je prilagojena vozilom znamke Opel/Vauxhall in Alfa Romeo, vendar bi morala
delovati na večini v Evropi prodajanih vozil, mlajših od letnika 2001.
IV
Displaying standard vehicle parameters using OBD-II interface
Key words: OBD, ELM 327, automotive diagnostic, ECU, engine control unit, reading fault
codes.
UDK: 629.3:004.94(043.2)
Abstract
The diploma thesis deals with the automotive diagnostic system OBD-II and the history of use
of the OBD standard in the automotive industry. The thesis thoroughly describes the
diagnostic software, the monitoring of various sensors in the engine compartment, the
reading and deleting of fault codes.
The program has been implemented in the programming language C#, with help of the
development environment Microsoft Visual Studio 2010. To communicate with the vehicle we
have used the interface ELM 327, which has been connected to the computer with the
Bluetooth or the USB serial interface. Our software is adapted to Opel/Vauxhall and Alfa
Romeo automobiles, but could be used for most automobiles sold in Europe that have been
manufactured after 2001.
V
Kazalo
1 Uvod .................................................................................................................................... 1
2 Zgodovina ........................................................................................................................... 2
2.1 ALDL ............................................................................................................................... 2
2.2 OBD-I ............................................................................................................................... 2
2.3 OBD-II ............................................................................................................................. 2
3 Vmesnik OBD-II ................................................................................................................. 3
3.1 Priključek OBD-II ............................................................................................................ 3
3.2 Protokoli OBD-II .............................................................................................................. 5
3.3 Diagnostični podatki ........................................................................................................ 6
3.4 Branje in brisanje napak ................................................................................................... 9
3.5 Diagnostični sistemi ....................................................................................................... 11
3.6 ELM 327 ........................................................................................................................ 15
4 Implementacija aplikacije ................................................................................................. 16
4.1 Delovanje aplikacije ....................................................................................................... 17
4.2 Uporaba aplikacije .......................................................................................................... 24
4.3 Testiranje aplikacije ....................................................................................................... 30
5 Zaključek ........................................................................................................................... 33
6 Viri .................................................................................................................................... 34
7 Priloge ............................................................................................................................... 36
7.1 O študentu ...................................................................................................................... 36
VI
Kazalo slik
Slika 3.1: Priključek OBD-II na vozilu Opel Corsa C ............................................................... 3
Slika 3.2: OBD-II priključek ...................................................................................................... 4
Slika 3.3: Ročni OBD-II skener ............................................................................................... 11
Slika 3.4: Računalnik z nameščeno diagnostično opremo ....................................................... 12
Slika 3.5: OBD-II zapisovalnik podatkov ................................................................................ 13
Slika 3.6: Vozniški pripomoček ............................................................................................... 14
Slika 3.7: ELM 327 vezje ......................................................................................................... 15
Slika 4.1: Uporabljen OBD-II kabel ........................................................................................ 16
Slika 4.2: Upravitelj naprav ..................................................................................................... 17
Slika 4.3: Zavihek, v katerem se povezujemo z vozilom ......................................................... 19
Slika 4.4: Algoritem pošiljanja ukazov .................................................................................... 20
Slika 4.5: Graf izrisan z uporabo Chart knjižnice .................................................................... 21
Slika 4.6: E-R diagram uporabljene baze ................................................................................. 22
Slika 4.7: Okno, ki nam izpiše podrobnosti o napaki ............................................................... 23
Slika 4.8: Zavihek, v katerem so povezujemo z vozilom ......................................................... 24
Slika 4.9: Zavihek, ki vsebuje ukazno okno ............................................................................. 25
Slika 4.10: Zavihek, v katerem izrisujemo grafe...................................................................... 26
Slika 4.11: Zavihek, v katerem beremo napake. Napak ni bilo najdenih ................................. 27
Slika 4.12: Zavihek, v katerem beremo napake. Najdene so tri napake................................... 27
Slika 4.13: Potrditev brisanja napak ......................................................................................... 28
Slika 4.14: Obvestilo o uspešnem brisanju napak .................................................................... 28
Slika 4.15: Zavihek, v katerem so prikazani podprti ukazi. Izpis je od vozila Opel Corsa C .. 29
Slika 4.16: Odklopljen senzor za pretok zraka in senzor odmične gredi ................................. 31
VII
Kazalo tabel
Tabela 3.1: Opis in formule za izračun parametrov ................................................................... 7
Tabela 3.2: Preračun bitno zakodiranih podatkov ...................................................................... 8
Tabela 3.3: Pomen napak ......................................................................................................... 10
VIII
Uporabljene kratice
ECU (Engine control unit) Nadzorna enota motorja
PID (Parameter ID) Identifikacijska številka parametra
OBD-II (On-board diagnostics) Sistem za diagnostiko in spremljanje
delovanja vozila
USB (Universal serial bus) Univerzalno serijsko vodilo
BLUETOOTH Standard za brezžično izmenjavo podatkov
na kratke razdalje
ABS Sistem proti blokiranju koles
ESP Sistem proti zdrsavanju avtomobila
ASR Sistem proti zdrsavanju pogonskih koles
SAE (The Society of Automotive Engineers) Združenje avtomobilskih inženirjev
ADLD(Assembly Line Diagnostic Link) Sistem za diagnostiko na delovnem traku
EOBD Evropski sistem za diagnostiko vozil
JOBD Japonski sistem za diagnostiko vozil
ADR Avstralski sistem za diagnostiko vozil
CRC (cyclic redundancy check) Ciklično preverjanje pravilnosti
VIN (Vehicle Identification Number) Identifikacijska številka vozila
CARB (California Air Resources Board) Kalifornijski odbor za ozračje
RS232 Računalniški serijski vmesnik
COM PORT Komunikacijska vrata
MAR Pozicija ključa v avtomobilu
FIFO (First in first out) Načelo, kdor prej pride prej melje
XML (Extensible Markup Language) Označevalni jezik
HTML (HyperText Markup Language) Hipertekstovni označevalni jezik
E-R diagram Entitetno relacijski diagram
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
1
1 Uvod
Dandanes praktično vse novejše naprave krmilijo mikroračunalniki. V avtomobilski industriji
si v današnjem času sploh ne moremo več predstavljati delovanja avtomobila brez podpore
računalniških sistemov. V prvi vrsti je, zaradi razvoja tehnologije, težnje k boljšim
izkoristkom energije in varovanju okolja, delovanje motornega sklopa avtomobila postalo
tako precizno, da ga enostavno ni mogoče več krmiliti samo s pomočjo mehanskih sistemov.
Zato je na pomoč morala vskočiti elektronika. Danes pa se to le še stopnjuje. Računalniki
krmilijo vse: od motornega sklopa, varnostnih sistemov (ABS, ASR, ESP, zračne blazine …),
sistemov za pomoč vozniku ( navigacija, parkirni senzorji, brisalci, luči, tempomat …) pa do
avtoradiev, ki so postali že pravi multimedijski sistemi, kakršne imamo v dnevnih sobah.
Leta 1988 je SAE predlagala standardizacijo priključka in signalov za diagnozo napak, ki se
pojavljajo v vozilih. Standard se je poimenoval OBD (On-Board Diagnostic), različica ki jo
uporabljajo današnja vozila pa OBD-II. OBD-II nam omogoča, da se s pomočjo
standardiziranega priključka s prenosno napravo (računalnik, telefon, namenski tester …)
povežemo z ECU.
V tej diplomski nalogi bomo na kratko prestavili zgodovino OBD sistemov od začetka
njihovega razvoja leta 1969 naprej. Nato bomo opisali vezje ELM 327, ki nam služi kot
vmesnik med testerjem (npr. računalnik) in OBD napravo v avtomobilu. Na koncu sledi
prestavitev aplikacije, ki smo jo razvili. Aplikacija nam omogoča diagnostiko avtomobila,
spremljanje podprtih senzorjev s pomočjo grafov, ter branje in brisanje napak, ki jih je
zaznala ECU enota.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
2
2 Zgodovina
2.1 ALDL
Diagnostične sisteme je v avtomobilizem prvi uvedel General Motors leta 1980. Protokol se je
imenoval ALDL in je bil namenjen testiranju motornega sklopa avtomobila v času izdelave
vozila. Kljub temu da sistem ni bil mišljen za uporabo izven tovarne, je bilo možno dve nožici
na priključku povezati in lučka za motor je utripnila v skladu s kodo napake. [1]
ADDL velja za predhodnika OBD standarda. V desetih letih uporabe se je zvrstilo nekaj
različnih verzij protokola, ampak v glavnem je šlo le za manjše spremembe priključka in za
zviševanja hitrosti prenosa.
2.2 OBD-I
Leta 1991 je Kalifornija sprejela zakon, da morajo imeti vsa novo prodana vozila osnovne
diagnostične možnosti predvsem za test emisij. Mišljeno je bilo, da bi se emisije letno
pregledovale, in tistih vozil, ki bi presegla zakonsko omejeno vrednost, ne bi mogli
registrirati. Posledično bi kupci kupovali novejše avtomobile z manjšim izpustom škodljivih
delcev. OBD-I je bil relativno neuspešen, predvsem zaradi nestandardiziranih priključkov in
signalov, kar je pomenilo velike težave pri letnih diagnostičnih pregledih. [1]
2.3 OBD-II
OBD-II je bil razvit leta 1994 predvsem zaradi težav z nestandardnim OBD-I. Pri načrtovanju
vmesnika so v veliki meri upoštevali predloge SAE, ki je že leta 1988 predlagala
standardizacijo priključkov in diagnostičnih signalov. OBD-II je od leta 1996 obvezen za vsa
novo prodana vozila v Združenih državah Amerike. V Evropski uniji je evropska različica
OBD-II standarda imenovana EOBD obvezna za novo prodana bencinska vozila od leta 2001,
od leta 2004 pa tudi za dizelska. [1]
OBD-II standard natančno določa priključek, električne signale podprtih protokolov, zgradbo
sporočil, kode za nadzor senzorjev in enačbe, ki nam pomagajo iz podatkov izluščiti
razumljive rezultate. Ena izmed nožic na priključku služi napajanju testerja, zato le-ta ne
potrebuje lastnega vira energije. [1]
Poznamo še evropski EOBD (European OBD), japonski JOBD (Japanes OBD) in avstralski
ADR (Australian Design Rule), ki pa so v bistvu le regijske različice OBD-II vmesnika.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
3
3 Vmesnik OBD-II
Čeprav je vgradnjo OBD sistemov v vozila vzpodbudila želja po omejitvi izpustov emisij in
čistejšem okolju, jih danes uporabljamo predvsem za odkrivanje napak na avtomobilih. Zaradi
standardiziranega vmesnika, lahko strokovnjaki z eno napravo (ročnim skenerjem ali
računalnikom z namensko programsko opremo) preberejo napake na praktično vsakem
novejšem avtomobilu.
Uporabljajo ga tudi avtomobilski navdušenci, za spremljanje in shranjevanje podatkov o
delovanju motorja, ki jih prikazovalniki na armaturni plošči ne zajemajo. Z analizo shranjenih
podatkov je nato mogoče celo spremeniti parametre, ki vplivajo na delovanje motorja in
doseči boljše izkoristke, večjo moč, manjšo porabo.
3.1 Priključek OBD-II
OBD-II priključek na vozilu je ženska 12-pinska (dve vrsti po osem pinov) J1962 vtičnica. Za
razliko od ODB-I vtičnice, ki je bila pogosto pod pokrovom motorja, se mora nahajati 0,61m
(2 čevlja) od volanskega obroča – torej v potniškem prostoru. V enem izmed naših testnih
vozil Opel Corsi C, se vtičnica nahaja med radiem in pepelnikom. [1]
Slika 3.1: Priključek OBD-II na vozilu Opel Corsa C
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
4
Standard SAE J1962 narekuje naslednjo zaporedje nožic na priključku:
Slika 3.2: OBD-II priključek
1 Neuporabljena oz. po presoji proizvajalca (GM: J2411 GMLAN/SWC).
2 Napajanje za SAE-J1850 PWM in SAE-1850 VPM.
3 Neuporabljena oz. po presoji proizvajalca (Chrysler CCD + vodilo).
4 Ozemljitev šasije.
5 Ozemljitev signala.
6 CAN high (ISO 15765-4 in SAE-J2284).
7 ISO 9141-2 in ISO 14230-4 K linija.
8 Neuporabljena oz. po presoji proizvajalca.
9 Neuporabljena oz. po presoji proizvajalca.
10 Negativna linija za SAE-J1850 PWM.
11 Neuporabljena oz. po presoji proizvajalca (Chrysler CCD - vodilo).
12 Neuporabljena oz. po presoji proizvajalca.
13 Neuporabljena oz. po presoji proizvajalca.
14 CAN low (ISO 15765-4 in SAE-J2284).
15 L linija ISO 9141-2 in ISO 14230-4.
16 Napajanje testerja iz akumulatorja.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
5
3.2 Protokoli OBD-II
OBD-II vmesnik podpira pet protokolov. Večina vozil podpira le enega od njih, vsem
protokolom pa je skupno, da uporabljajo četrto (ozemljitev) in šestnajsto nožico (napajanje).
SAE J1850 PWM uporablja Ford Motor Company – hitrost 41,6 kB/sec.
o Nožica 2: vodilo +
o Nožica 10: vodilo –
o Napetost 5 V
o Velikost sporočila vključno z CRC omejena na 12 zlogov
SAE J1850 VPM uporablja GM – hitrost 10,4 ali 41,6 kB/sec.
o Nožica 2: vodilo +
o Napetost 7 V
o Velikost sporočila vključno z CRC omejena na 12 zlogov
ISO 9141-2 uporabljajo Chrysler, Evropska in Azijska vozila, asinhron serijski prenos
podatkov s hitrostjo 10,4 kBaud. Podoben prenos podatkov kot pri RS-232.
o Nožica 7: K-linija
o Nožica 15: L-linija
o K-linija možnost prehoda v mirovanje
o Maksimalna napetost signala Vbatt
o Velikost sporočila vključno z CRC omejena na 12 zlogov
ISO 14230 KWP2000 Keyword Protocol 2000
o Nožica 7: K-linija
o Nožica 15: L-linija
o Fizičen nivo enak kot pri ISO 9141-2
o Hitrost prenosa od 1,2 do 10,4 kBaud
o Velikost sporočila do 255 zlogov
ISO 15765 CAN je razvil Bosch in se za razliko od ostalih uporablja tudi izven
avtomobilske industrije. Vsa vozila prodana po letu 2008 v Združenih državah
Amerike morajo podpirati CAN protokol.
o Nožica 6: CAN high
o Nožica 14: CAN low
o Vodilni protokol med novimi avtomobili
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
6
3.3 Diagnostični podatki
OBD vmesnik nam omogoča dostop do podatkov z ECU enote. Podatke pridobivamo po
sistemu zahteva-odgovor. ECU enoti pošljemo ukaz, ki je sestavljen iz načina delovanja in
PID-a, enota pa nam vrne odgovor na našo zahtevo. PID kode oziroma identifikacijske
številke parametra in načini delovanja, so šestnajstiška števila definirana v standardu SAE
J1979. Proizvajalcem ni potrebno implementirati vseh PID kod, prav tako pa lahko uporabijo
svoje kode, ki niso definirane v standardu. Izjema je le ukaz način delovanja 01 PID 00, ki
nam vrača rezultat dolg 4 zloge, iz katerega lahko izračunamo katere PID kode so podprte.
Kljub temu da proizvajalci niso obvezani k uporabi od SEA predpisanih PID kod, večina
podpira osnovne ukaze, s katerimi lahko preverimo delovanje motorja in preberemo ter
pobrišemo napake.
Standard SAE J1979 podpira deset načinov delovanja:
mod $01 – prikaz trenutnih podatkov in izračun podprtih PID kod,
mod $02 – prikaz zmrznjenih podatkovnih oken,
mod $03 – prikaz potrjenih napak v povezavi z emisijami. Prikaže nam štiri
mestno številko napake, s pomočjo katere lahko nato v raznih bazah napak
poiščemo kateri senzor javlja napako,
mod $04 – služi za izbris potrjenih in trenutnih napak,
mod $05 – prikaz podatkov senzorja za kisik,
mod $06 – sproži neprekinjeno ali časovno omejeno samodiagnozo sistemov
vozila. Za časovno omejeno testiranje so po navadi potrebni dodatni parametri,
mod $07 – prikaz napak, ki so se pojavile med trenutno ali zadnjo vožnjo. Ta
način uporabljajo mehaniki, da ugotovijo ali je bilo popravilo uspešno,
mod $08 – omogoči da zunanja testna naprava nadzira delovanje sistemov ali
komponent vozila,
mod $09 – prikaz informacij o vozilu (VIN številka, verzija programske
opreme na ECU enoti …),
mod $0A – prikaz stalnih diagnostičnih napak povezanih z emisijami, ki se
morajo po navodilih Kalifornijskega komiteja za ozračje (CARB) shraniti kot
stalne kode napak, katerih pojavitve so neodstranljivo zapisane v pomnilnik.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
7
Običajen postopek, s katerim preberemo podatek z določenega senzorja, (če smo z vozilom
uspešno povezani) je sledeč:
pošljemo npr. ukaz za temperaturo hladilne tekočine: način delovanja 01 PID 05
> 01 05,
vozilo nam vrne rezultat npr.
< 41 05 7B
Prva dva zloga (41 05) nam povesta, da gre za odgovor na zahtevo način 01 PID 05,
zadnji pa rezultat: $7B,
ko preverimo formulo za izračun temperature hladilne tekočine vidimo, da moramo
rezultat pretvoriti v desetiško obliko in odšteti 40. Temperatura hladile tekočine je
$7B-40 = 123-40 = 80 oC.
Tabela 3.1: Opis in formule za izračun parametrov
Način PID Minimalna
vrednost
Maksimalna
vrednost
Enota Formula
za izračun
Opis
01 04 0 100 % A*100/255 Preračunana
obremenitev motorja
01 05 -40 215 oC A-40 Temperatura hladile
tekočine
01 0A 0 765 kPa A*3 Pritisk goriva
01 0B 0 225 kPa A Pritisk zraka na
sesalnem kolektorju
01 0C 0 16.383,75 obr
/min ((A*256)+B)/4 Obrati motorja
01 0D 0 366 km
/h A Hitrost vozila
01 0F -40 215 oC A-40 Temperatura zajetega
zraka
01 11 0 100 % A*100/255 Pozicija stopalke za
plin
01 1F 0 65.535 sek. (A*256)+B Čas od zagona
motorja
01 21 0 65.535 km (A*256)+B Razdalja prevožena z
prižgano MIL lučko
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
8
Rezultati nekaterih poizvedb, pa se ne računajo po formulah, temveč so bitno zakodirani.
Takšna poizvedba je na primer ukaz za preverjanje podprtih PID kod (način 01 PID 00). Ta
ukaz nam vrne npr: $BE 1F A8 13, iz česar lahko izračunamo podprtost naslednjih
dvaintridesetih PID kod po sledečem postopku:
šestnajstiški rezultat pretvorimo v dvojiški sistem,
zaporedno število števke v dvojiškem zapisu nam predstavlja PID kodo, če je števka 1
je koda podrta, v nasprotnem primeru ne.
Tabela 3.2: Preračun bitno zakodiranih podatkov
Iz tabele 3.2 razberemo, da na primer PID 1B (desetiško 27) ni podprt, PID 1D (desetiško 28)
pa je.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
9
3.4 Branje in brisanje napak
Postopek za branje in brisanje napak je pri vseh vozilih, ki podpirajo OBD standard sledeč:
pošljemo ukaz za število shranjenih napak: način 01 PID 01
>01 01;
Tipičen odgovor je npr:
< 41 01 81 07 65 04
Prva dva zloga (41 01) nam povesta, da gre za odgovor na zahtevo (01 01), tretji zlog
pa nam pove število napak. Napak seveda ni 81. 81 je šestnajstiški zapis, zato ga
pretvorimo v desetiško – 129, formula za izračun napak pa pravi, da moramo od tega
podatka še odšteti 128. Dobimo rezultat – v ECU enoti je shranjena ena napaka. Ta
ukaz opravlja še eno nalogo – če je rezultat večji od nič, mora na armaturni plošči
goreti MIL lučka. Zadnji trije zlogi pa so enolična številka napake;
če na prejšnji ukaz dobimo pozitiven odgovor, pošljemo ukaz za podrobnosti o napaki:
način 03
>03;
Tipičen odgovor je npr:
< 43 01 33 00 00 00 00
Prvi zlog nam pove, da gre za odgovor na zahtevo 03. Sledeči zlogi se berejo v paru
(0133,0000,0000). Napaka je seveda samo ena, vendar SAE standard na zahtevo 03
narekuje odgovor dolg osem zlogov, zato so dodane ničle. Rezultat je torej 0133.
Vendar to še ni koda napake. Da bi izvedeli kodo napake moramo prvo šestnajstiško
vrednost v rezultatu zamenjati z neko drugo vrednostjo (glej tabelo 3.3). V našem
primeru 0 z P0. Koda napake je torej P0133 (počasen odziv senzorja za kisik);
ko poznamo napako ponavadi sledi popravilo avtomobila;
nato sledi ukaz za izbris napak: način 04
>04
Ukaz se izvrši takoj po potrditvi, stori pa sledeče:
o izbriše število napak,
o izbriše vse shranjene napake,
o izbriše vse zmrznjene diagnostične podatke,
o izbriše vse z napakami povezane podatke,
o izbriše vse shranjene podatke senzorja za kisik,
o NE IZBRIŠE pa napak načina 0A (napake v povezavi z emisijami);
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
10
odgovor po brisanju je:
<44;
po brisanju je potrebno odvzeti kontakt in motor ponovno zagnati. Če je bilo popravilo
uspešno mora biti MIL lučka ugasnjena, odgovor na ponovno zahtevo za število napak
pa mora biti 41 01 80 00 00 00 – nič napak.
Tabela 3.3: Pomen napak
Prvo šestnajstiško
število
Zamenjava Pomen
0 P0 Napake pogonskega sklopa (definira SEA)
1 P1 Napake pogonskega sklopa (definira proizvajalec)
2 P2 Napake pogonskega sklopa (definira SEA)
3 P3 Napake pogonskega sklopa (še nedefinirano)
4 C0 Napake šasije (definira SEA)
5 C1 Napake šasije (definira proizvajalec)
6 C2 Napake šasije (definira proizvajalec)
7 C3 Napake šasije (še nedefinirano)
8 B0 Napake perifernih naprav (definira SEA)
9 B1 Napake perifernih naprav (definira proizvajalec)
A B2 Napake perifernih naprav (definira proizvajalec)
B B3 Napake perifernih naprav (še nedefinirano)
C U0 Omrežne napake (definira SEA)
D U1 Omrežne napake (definira proizvajalec)
E U2 Omrežne napake (definira proizvajalec)
F U3 Omrežne napake (še nedefinirano)
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
11
3.5 Diagnostični sistemi
Poznamo več vrst diagnostičnih sistemov ki jih lahko uporabimo na z OBD podprtih vozilih.
Razlikujejo se predvsem po namembnosti in pa seveda ceni, ki variira od nekaj deset evrov pa
do nekaj tisoč evrov. V grobem pa jih delimo na:
ročni diagnostični sistemi :
to so enostavne naprave, ki jih lahko priključimo na vozilo in preberemo ter
izbrišemo napake. Obstajajo tudi boljše oziroma profesionalne različice, s
katerimi lahko izvajamo naprednejšo diagnostiko in dostopamo tudi do
kontrolnih enot ABS-a in zračnih blazin; [1]
Slika 3.3: Ročni OBD-II skener
mobilne naprave z naloženo namensko programsko opremo:
v zadnjem času so se s pojavo tablic in mobilnih telefonov, ki uporabljajo
operacijski sistem Android, pojavile tudi aplikacije in bluetooth OBD-II
vmesniki, s pomočjo katerih se da prikazovati osnovne parametre vozila; [1]
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
12
računalniki z naloženo namensko programsko opremo:
to so računalniki (večino prenosni) z nameščeno namensko programsko
opremo in OBD-II priključkom z USB, RS232 ali bluetooth povezavo. Ti
vmesniki po navadi vsebujejo ELM 327 ali STN1110 vezja. Njihova
uporabnost je odvisna od programske opreme – nekateri programi znajo le
prebrati osnovne parametre, drugi (navadno precej dragi) imajo popoln dostop
do vseh kontrolnih enot. Velika prednost teh sistemov je računalnik. Disk nam
omogoča, da naložimo različne programe in povečamo funkcionalnost
diagnostičnega sistema. Na voljo imamo tudi več pomnilniškega prostora za
hranjene raznih logov in izpisov. Prav tako imajo računalniki večje zaslone in
višje ločljivosti, kar nam pride prav pri razbiranju podatkov iz grafov. [1]
Izdelava takšne programske opreme je tudi cilj tega diplomskega dela;
Slika 3.4: Računalnik z nameščeno diagnostično opremo
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
13
zapisovalniki podatkov:
to so manjše napravice, ki beležijo delovanje vozila, kot nekakšna črna
skrinjica. Podatki, ki jih naprava beleži, so v pomoč pri servisih, prometnih
nesrečah ali mehaničnih težavah. Nekatere Ameriške zavarovalnice celo nudijo
nižje premije, če je v vozilu vgrajena takšna naprava in če je iz podatkov
razvidno, da voznik ustreza njihovim pogojem. [1]
Slika 3.5: OBD-II zapisovalnik podatkov
naprave za testiranje emisij
v nekaterih Ameriških državah in na Nizozemskem ne prakticirajo več
testiranje izpušnih plinov na izpuhu avtomobila, ampak to počnejo napravice
stalno priključene na avtomobilov OBD vmesnik. Na tehničnem pregledu
preberejo shranjene napake in preverijo če vozilo dosega za modelno leto
predpisane standarde. [1] Pri nas zaenkrat to počnejo še s posebnimi
napravami, ki jih vstavijo v izpušno cev avtomobila, in pri delujočem motorju
preverijo izpušne pline (emisije);
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
14
vozniški pripomočki
nekateri vozniki niso zadovoljni le s podatki, ki so prikazani na armaturni
plošči, zato so se pojavile naprave podobne novejšim mobilnim telefonom, ki
prikazujejo dodatne informacije. Na primer: pritisk turbine, napetost
akumulatorja, temperatura olja in vode. Ti pripomočki večinoma vsebujejo
prikazovalnik in bluetooth OBD-II vmesnik. [1]
Slika 3.6: Vozniški pripomoček
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
15
3.6 ELM 327
ELM 327 je vezje, ki ga najdemo v OBD-II vmesnikih in skrbi za komunikacijo med ECU
enoto in računalnikom. Računalniki namreč ne prepoznajo nobenega od OBD protokolov,
zato jih ELM vezje prevaja v RS232 protokol. Vezje je zgrajeno na osnovi mikrokontrolerja
PIC18F2480 podjetja Microchip Tehnology. Omogoča hitrost prenosa do 500 kb/s, ima malo
porabo energije in možnost prehoda v stanje mirovanja. Ob priklopu na vozilo ELM 327
samodejno zazna protokol, ki ga uporablja ECU enota.
ELM 327 verzijo 1.0 je razvilo podjetje ELM Electronics, vendar niso poskrbeli za zaščito
patenta, zato se je kmalu pojavilo veliko poceni kopij. Danes sta na voljo le verziji v1.4b in
v1.3a, drugo so kopije, pri katerih lahko pride do težav v delovanju.
Slika 3.7: ELM 327 vezje
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
16
4 Implementacija aplikacije
Cilj diplomske naloge je bila implementacija programske opreme za prikaz standardnih
parametrov vozila, in branje ter brisanje napak shranjenih v ECU enoti. Aplikacijo smo spisali
v programskem jeziku C# v programskem okolju Microsoft Visual Studio 2010 in uporablja
Framework 4.0 gradnike. Program deluje v vseh Windows okoljih, vendar je možno, da nas
starejše verzije (Windows XP\2000\ME) opozorijo, da je pred zagonom programa namestiti
novejšo verzijo Microsoft Framework-a. Na napravi, na kateri teče naša aplikacija, je
priporočljivo imeti tudi internetno povezavo, ki jo aplikacija uporablja za prikaz podrobnosti
o zaznanih napakah.
Za povezovanje z vozilom smo na tujem trgu naročili nizkocenovno ELM327 OBD-II
napravo, ki podpira vse OBD protokole. Na računalnik jo priključimo z USB kablom, za
komunikacijo pa poskrbi protokol RS232.
Aplikacija deluje tudi z bluetooth ELM327 OBD-II verzijo naprave, vendar je pred zagonom
programa potrebno poskrbeti za komunikacijo med računalnikom in napravo. V večini
primerov računalnik zazna napravo kot zunanjo bluetooth napravo, vendar komunikacija ne
deluje dokler ne vnesemo paritvene kode, ki prepreči, da bi se še kakšen drug računalnik
povezal na našo napravo. Paritveno kodo najdemo v večini primerov napisano na napravi ali v
dokumentaciji. Prav tako je možno, da bo potrebno naložiti kakšne gonilnike. Ponavadi se
navodila za nastavitev naprave najdejo v dokumentaciji ali na priloženem ploščku.
Slika 4.1: Uporabljen OBD-II kabel
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
17
4.1 Delovanje aplikacije
Priključeno EML327 napravo računalnik zazna kot zunanjo napravo priklopljeno na COM
vrata. Na katera vrata je povezana, lahko vidimo v Upravitelju naprav.
Slika 4.2: Upravitelj naprav
Naša aplikacija ob zagonu ustvari serijski vmesnik in preveri vsa vrata, ter nam za
povezovanje z napravo ponudi le tista, ki so odprta. Ob kliku na gumb »Poveži« program
najprej odpre COM vrata, preveri ali se ELM327 naprava odziva, nato preveri še ali se odziva
tudi vozilo.
Napravo preverimo z ukazom:
>AT Z
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
18
Ta ukaz povzroči popoln reset čipa v napravi ELM 327 (kakor da bi ga izklopili in ponovno
vklopili), led lučke na napravi pa utripnejo. Ukaz je precej podoben ukazu AT WS, vendar
slednji ne povzroči utripa led lučk. Reset zbriše vse nastavitve na napravi, in jo postavi v
stanje pripravljenosti, kjer čaka na naš naslednji ukaz, še prej pa nam vrne njeno ime in
verzijo:
<ELM327 v1.5
V naslednjem koraku pa aplikacija preveri ali se lahko povezujemo na vozilo. To storimo z
enostavnim ukazom, ki vrne obrate motorja. Ta ukaz smo uporabili, ker je zajet v SAE
standardu in ga morajo poznati vsa vozila, ki podpirajo OBD-II.
>01 0C
Če je povezava z avtomobilom vzpostavljena, bomo v odgovor dobili neko šestnajstiško
vrednost, ki nam po preračunu vrne informacijo o obratih (lahko tudi 0, če je vozilo
ugasnjeno). Če povezava ni vzpostavljena, dobimo odgovor:
<SEARCHING …
<UNABLE TO CONNECT
Če vozilo ni pripravljeno, je dobro preveriti, če smo dobro priključili ELM327 napravo, ter če
imamo ključ vozila v MAR poziciji. Če je povezava z vozilom vzpostavljena, sprožimo še
ukaz, ki nam vrne ime protokola, ki je trenutno aktiven. Ukaz:
>AT DP
Pri povezavi z enim izmed naših testnih vozil je bil odgovor:
<AUTO, ISO 14230-4(KWP FAST)
Zgornji odgovor nam pove uporabljen protokol, beseda »AUTO« na začetku pa, da je
naprava ta protokol določila avtomatsko in da ga nismo nastavili mi.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
19
Stanje povezave nam aplikacija nazorno pokaže, prav tako se nam izpiše uporabljen protokol.
Slika 4.3: Zavihek, v katerem se povezujemo z vozilom
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
20
Ko imamo povezavo z vozilom vzpostavljeno, je aplikacija pripravljena za komunikacijo z
njim. Za pošiljanje ukazov napravi smo uporabili časovnik in vrsto. Ukazi, ki jih pošlje
uporabnik, se shranjujejo v vrsto, časovnik pa jih v 100-milisekundnih intervalih pobira iz nje
po principu FIFO (first in first out). Preden pa je ukaz prebran iz vrste in poslan napravi,
preverimo, če je naprava že poslala odgovor na prejšnji ukaz, v nasprotnem primeru
počakamo 100 milisekund in ponovno preverjamo odgovor. Ukazov torej ne pošiljamo v
časovnih intervalih, ampak takoj ko je naprava pripravljena na nov ukaz – realno približno
dva ukaza na sekundo. Časovnik teče v svoji niti, ločeni od glavne niti aplikacije, zato ne
prihaja do zamrzovanja programa v času čakanja na odgovor. Časovnik se požene ob prvem
poslanem ukazu. Algoritem bo lažje razumljiv ob ogledu spodnje slike.
Slika 4.4: Algoritem pošiljanja ukazov
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
21
Komunikacijo med ELM327 in računalnikom lahko spremljamo na desni strani aplikacije,
kjer je gradnik, ki izpisuje vse poslane ukaze in prejete odgovore. Gradnik je bil na začetku
razvoja aplikacije mišljen kot pomoč pri razvijanju, vendar smo ugotovili, da je precej
uporaben tudi za strokovno bolj podkovane uporabnike, zato ga nismo odstranili.
Za prikaz različnih funkcij naša aplikacije smo se odločili uporabiti zavihke (Tab Control).
Ker aplikacija izpisuje večje količine podatkov in grafe, bi v ob uporabi le ene prikazne
površine postala zelo nepregledna. V začetku razvoja aplikacije smo sicer imeli namen ob
pritisku na za to namenjene gumbe odpirati nova okna (Form) zasidrana v osnovno okno,
vendar smo imeli velike težave s prenašanjem argumentov med različnimi okni. Še največ
težav smo imeli s serijskimi vrati (Serial Port), ki smo jih morali ob vsakem prehodu na drugo
okno zapirati in ponovno odpirati. Pri tem smo izgubili povezavo z vozilom. Pri uporabi
zavihkov teh težav ni bilo, saj so serijska vrata deklarirana kot globalna komponenta, vidna v
vseh zavihkih.
V zavihku »Diagnostika« lahko v živo spremljamo več podatkov o trenutnem delovanju
vozila (različne temperature, obrate, pritiske …). Te podatke smo se odločili prikazati v obliki
grafov, ki smo jih izrisali s pomočjo knjižnice Chart. To je tudi razlog, da naša aplikacija
uporablja Microsoft Windows Framework 4.0, saj je bila knjižnica Chart prvič vključena v to
verzijo. Za to knjižnico smo se odločili, ker zelo poenostavi delo z grafi. Gradnik enostavno
dodamo v program, nastavimo obliko grafa (stolpci, torta, črtni graf..) in še nekaj podrobnosti,
nato samo še dodajamo točke, abscisna in ordinatna os pa se avtomatsko prilagajata našim
podatkom.
Slika 4.5: Graf izrisan z uporabo Chart knjižnice
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
22
V zavihku »Napake« imamo možnost prebrati in izbrisati trenutne napake v ECU enoti.
Napake se nam izpisujejo v tabeli (List View). Ker pa nam ECU enota vrača kode napak (npr.
P0133) in ne imena napake (npr. počasen odziv senzorja za kisik), ta izpis povprečnemu
uporabniku ne pove ničesar. Zato smo se odločili kode napak in njihove opise hraniti v
nekakšni podatkovni strukturi. Prvotno smo imeli namen uporabiti XML dokument, vendar se
je kasneje uporaba podatkovne baze izkazala za enostavnejšo. Podatkovna baza je povsem
enostavna, sestavljena iz dveh nepovezanih tabel. V eni hranimo informacije o različnih
ukazih, v drugi pa o napakah.
Slika 4.6: E-R diagram uporabljene baze
Tabel seveda nismo polnili ročno, saj je v tabeli Napake več kot 2.100 vnosov. Zato smo
napisali funkciji, ki se povežeta na določeno spletno stran, odprli podatkovni tok in prebrali
HTML zapis strani. Iz tega zapisa smo nato izluščili za nas zanimive podatke in jih zapisali v
podatkovno bazo. Definicije kod napak (Fault codes) smo dobili na strani
www.myscantool.com, ukaze pa na wikipediji. Funkciji uporabljeni za polnjenje tabel lahko
najdete v izvorni kodi, saj smo jih pustili implementirane, ampak jih nikoli ne kličemo.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
23
Seveda pa povprečen uporabnik naše aplikacije tudi iz imena napake ne bo vedel, kaj ta
napaka pomeni, kje se okvarjen del nahaja in kako napako popraviti. Zato smo v tabelo, ki
prikazuje napake dodali povezavo »Podrobnosti«. Ob kliku na to povezavo se odpre novo
okno, v katerega je vgrajen enostaven spletni brskalnik, ki nam odpre spletno stran s
podrobnim opisom napake. Uporabili smo spletno stran www.obd-codes.com. Ta prikaz
seveda deluje le če, da imamo na računalniku vzpostavljeno povezavo z internetom.
Slika 4.7: Okno, ki nam izpiše podrobnosti o napaki
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
24
4.2 Uporaba aplikacije
Aplikacija je narejena tako, da bi bila čim bolj prijazna uporabniku. Zato so uporabljeni
zavihki, ki nam aplikacijo razdeljijo v pet segmentov: Nastavitve, Konzola, Diagnostika,
Napake in Podprti ukazi. Med zavihki se lahko pomikamo s klikanjem na njih ali na gumbe v
obliki sličic, ki nam nazorno prikazujejo funkcijo zavihka.
V prvem zavihku imenovanem »Nastavitve« se lahko povežemo z vozilom. Na voljo imamo
dve izbirni okni (Combo Box), kjer lahko izberemo vrata (port), na katera je vmesnik
priključen in hitrost povezave (baund rate). Hitrost povezave je odvisna od ELM327 modela,
v večini primerov pa je 38400 bit/s, kar je tudi privzeta nastavitev. Ob kliku na gumb
»Poveži«, se aplikacija poskusi povezati z vozilom, stanje povezave pa nam nazorno prikaže z
velikimi zelenimi kljukicami ali rdečimi križci. Če se povezava ne vzpostavi, imamo na voljo
gumb »Prekini«, ki prekine povezovanje, da lahko preverimo zakaj prihaja do težav. V tem
zavihku je prikazan tudi protokol po katerem poteka komunikacija.
Slika 4.8: Zavihek, v katerem so povezujemo z vozilom
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
25
V naslednjem zavihku poimenovanem »Konzola«, imamo možnost vpisovanja ukazov.
Zavihek je namenjen naprednejšim uporabnikom, saj omogoča izvajanje ukazov, ki niso
implementirani v grafičnem vmesniku aplikacije. Zavihek vsebuje okno za izpis (Rich text
box), ukazno vrstico (Text box) in dva gumba. Z eni pošljemo ukaz, z drugim pa si lahko
počistimo prikazno okno. Če smo z kurzorjem postavljeni v ukazni vrstici, je možno ukaz
poslati tudi s tipko enter.
Slika 4.9: Zavihek, ki vsebuje ukazno okno
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
26
V zavihku »Diagnostika« lahko v živo spremljamo grafe delovanja motorja. Naenkrat se
prikazuje le en graf. Kateri graf bo prikazan, lahko določimo s pomočjo izbirnega okna. Na
voljo imamo še dva gumba, z enim poženemo izrisovanje grafa, z drugim pa ga ustavimo.
Graf prikazuje podatek v odvisnosti od časa. Če izberemo drugo vrsto prikaza, se čas
avtomatsko postavi na nič. Podatki se osvežuejo približno dvakrat na sekundo. Na dnu
zavihka se izpisuje tudi trenutna vrednost, ki jo vrača vozilo. Če se izpiše »Ni podatka«,
vozilo za to povpraševanje ne vrača informacij. To pomeni, da vozilo bodisi nima senzorja, ki
ga naslavljamo, ali pa da je okvarjen. Primer takšnega izpisa dobimo, tudi če izberemo prikaz
pritiska turbine, na avtomobilu ki turbine sploh nima.
Slika 4.10: Zavihek, v katerem izrisujemo grafe
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
27
Zavihek »Napake« nam ob pritisku na gumb »Preberi napake« izpiše število napak. Če ni
zaznanih napak, se izpiše število nič, izpis pa se obarva zeleno.
Slika 4.11: Zavihek, v katerem beremo napake. Napak ni bilo najdenih
Če aplikacija zazna napake, se izpis obarva rdeče, v razpredelnici pa se nam izpišejo opisi
napak. Prav tako se nam ob vsaki zaznani napaki prikaže povezava podrobnosti.
Slika 4.12: Zavihek, v katerem beremo napake. Najdene so tri napake
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
28
Če kliknemo na povezavo, se nam odpre novo okno s podrobnim opisom napake. Primer tega
okna lahko vidite na sliki 4.7.
Druga funkcija tega zavihka pa je brisanje napak. Brisanje prožimo s klikom na gumb »Izbris
napak«. Ob kliku se nam pojavi okno, v katerem moramo brisanje potrditi.
Slika 4.13: Potrditev brisanja napak
Brisanje ne traja dolgo, učinek je ponavadi takojšen. Pojavi se nam spodnje okno.
Slika 4.14: Obvestilo o uspešnem brisanju napak
Po brisanju napak je potrebno vozilu odvzeti kontakt in ključ ponovno postaviti v MAR
pozicijo, dobro pa je opraviti tudi testno vožjo in se prepričati, da se MIL lučka ne prižge
ponovno.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
29
Zadnji zavihek »Podprti ukazi« je informativne narave. Ob kliku na gumb »Preveri« se nam
izpišejo ukazi, njihovi opisi in informacija, ali vozilo ukaz podpira.
Slika 4.15: Zavihek, v katerem so prikazani podprti ukazi. Izpis je od vozila Opel Corsa C
Aplikacijo lahko kadar koli zapremo na križcu v desnem zgornjem robu. Povezave pred
zapiranjem ni potrebno prekinjati, saj aplikacija zato poskrbi sama.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
30
4.3 Testiranje aplikacije
Med testiranjem se je naša aplikacija izkazala za zelo robustno, saj smo vse kritične odseke
programa obdali s try-catch stavki, v katerih lovimo napake. Če do napake pride, kar se zgodi
malokdaj in še to v večini primerov zaradi uporabniške napake (izključitev kabla, odvzem
kontakta), nas aplikacija obvesti o napaki in v nekaterih primerih prekine povezavo, aplikacija
pa se ne zruši. Po odpravi napake se lahko zopet povežemo z vozilom in nadaljujemo z
delom.
Delovanje aplikacije smo preizkusili na več različnih vozilih. Naše prvo testno vozilo je bila
Opel Corsa C, letnik 2005. Najprej smo preizkusili izrisovanje grafov pri ugasnjenem vozilu.
Kljub nedelujočem agregatu smo ugotovili, da praktično vsi senzorji v motornem sklopu
avtomobila delujejo in vračajo podatke. Senzorji obratov in hitrosti so vračali stanje 0,
senzorji različnih temperatur pa stanje primerljivo temperaturi okolice, saj je bilo vozilo že
par ur v mirovanju. Nato smo avtomobil prižgali in se odpeljali na testno vožnjo. Vsi grafi so
vračali realna stanja primerljiva z odčitki na armaturni plošči vozila, le da so bili bolj
natančni. Hitrost vozila na primer naša aplikacija vrača približno pet kilometrov na uro
manjšo kot pa števec vozila. Po primerjanju s hitrostjo ki jo je vračala GPS naprava, smo
prišli do zaključka, da tester vrača natančnejšo vrednost. V nekaterih virih smo nato zasledili,
da števec prikazuje hitrost z nekaj kilometri na uro tolerance zaradi različnih dimenzij
pnevmatik.
Nato je bilo na vrsti testiranje branja in brisanja napak. Ker je naše testno vozilo bilo v
brezhibnem stanju, smo po pogovoru z mehanikom odklopili senzor odmične gredi in senzor
pretoka zraka.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
31
Slika 4.16: Odklopljen senzor za pretok zraka in senzor odmične gredi
Na armaturni plošči se je takoj po vžigu prižgala MIL lučka (lučka za motor). Vozilo je bilo
še delujoče, vendar so močno nihali obrati motorja (od 500 do 1200 obr/min). Ko smo se na
vozilo povezali z našo aplikacijo, smo zaznali tri napake: senzor temperature zajetega zraka,
senzor količine zajetega zraka in senzor odmične gredi. Izpis lahko vidite na sliki 4.12.
Nato smo vozilo ugasnili in senzorje ponovno priključili. Kljub temu, da sta senzorja ponovno
delovala, MIL lučka na armaturni plošči ni ugasnila, saj je bila napaka še shranjena v ECU
enoti. Vozilo smo ponovno ugasnili in se nanj priključili z našo aplikacijo ter sprožili brisanje
napak. Napake so bile uspešno izbrisane, saj se po vžigu vozila, in testni vožnji, lučka ni
ponovno prižgala, prav tako pa so obrati motorja niso več nihali. Tudi aplikacija ob ponovno
sproženem branju napak ni vrnila nobene napake.
Naslednje testno vozilo je bila Opel Vectra B 2.0 diesel, letnik 2001. Vozilo je bilo izdelano
dve leti preden je v veljavo stopil zakon, ki predpisuje uporabo OBD-II standarda. Kljub temu
ima avtomobil OBD priključek, vendar podpira zelo malo ukazov, tisti ki pa so delovali, so
vračali pravilne rezultate.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
32
Aplikacijo smo testirali še na Alfi Romeo 156 2.4 JTD, letnik 2005 in Opel Insignii 2.0 CDTI
letnik 2011. Obe vozili sta podpirali veliko več ukazov kot prejšnji, aplikacija pa je delovala
brez napak. Pojavila se nam je tudi priložnost testiranja brisanja napake na dejansko
pokvarjenem vozilu. Renault Megane 1.5 DCI, letnik 2005, je javljal napako na tretji šobi za
vbrizg goriva. Napako smo uspešno izbrisali, vendar ker napake fizično nismo odpravili, se je
po približno dvesto prevoženih kilometrih ponovno pojavila.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
33
5 Zaključek
V novejših avtomobilih vse sisteme krmilijo računalniki, in če pride do okvare katerega od
delov avtomobila ali senzorjev, računalnik to zazna in napako shrani v pomnilnik. V takšnih
sistemih ni več dovolj okvarjen del preprosto zamenjati ali popraviti in pričakovati da bo avto
deloval. Danes je v avtomobilskih servisih ustaljen postopek sledeč: priklop vozila na tester,
diagnoza napake, zamenjava okvarjenega dela in izbris napake. Marsikateri lastnik
avtomobila z malo znanja mehanike, bi si lahko kakšne manjše okvare (npr. okvare lahko
dostopnih senzorjev) popravil sam, doma. Vendar večina nima na voljo testerja, s katerim bi
lahko nato napako še izbrisala. Nekateri v šali pravijo celo, da lučke na armaturni plošči
gorijo le zato, da servisom plačujemo, da nam jih ugašujejo. Ampak dandanes je na tržišču
prava poplava poceni OBD-II vmesnikov, ki v kombinaciji z našo programsko opremo
takšnim domačim mojstrom omogoča neko osnovno možnost za diagnostiko in brisanje
napak. Seveda bi se našo aplikacijo dalo še nadgraditi, omogočiti več naprednih možnosti in
povezovanje na več nadzornih enot ter celo proženje samodiagnostike vozila. To v
prihodnosti tudi nameravamo.
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
34
6 Viri
[1] Wikipedia: On-board diagnostics: http://en.wikipedia.org/wiki/On-board_diagnostics
(1. 9. 2012)
[2] Wikipedia: Engine control unit: http://en.wikipedia.org/wiki/Engine_control_unit
(1. 9. 2012)
[3] Wikipedia: OBD-II PIDs: http://en.wikipedia.org/wiki/Table_of_OBD-II_Codes
(1. 9. 2012)
[4] KBM System Ltd: OBD-II Fault Code Reading with ODBKey:
http://kbmsystems.net/files/Engine%20ECU%20Fault%20Code%20Reading%20with
%20OBDKey.pdf (1. 9. 2012)
[5] OBD II Codes Database: http://www.obd-2-codes.com/ (1. 9. 2012)
[6] Auterra: About CAN: http://www.auterraweb.com/aboutcan.html (1. 9. 2012)
[7] ELM Electronics: ELM327 OBD to RS232 Interpreter:
http://www.elmelectronics.com/DSheets/ELM327DS.pdf (1. 9. 2012)
[8] My Scan Tool: http://www.myscantool.com/ (1. 9. 2012)
[9] Wikipedia: RS-232: http://en.wikipedia.org/wiki/RS232 (1. 9. 2012)
[10] Wikipedia: Bluetooth: http://en.wikipedia.org/wiki/Bluetooth (1 .9. 2012)
[11] B&B Electronics: The OBDII Home Page: http://www.obdii.com/ (1. 9. 2012)
[12] Microsoft Developer Network: Chart Controls:
http://msdn.microsoft.com/en-us/library/dd456632.aspx (1. 9. 2012)
[13] Funda.net: Using Chart Control in Visual Studio 2010 (Web and Windows Explained):
http://www.dotnetfunda.com/articles/article1344-using-chart-control-in-visual-studio-
2010-web-and-windows-explained.aspx (1. 9. 2012)
[14] Microsoft Developer Network: Threading Tutorial:
http://msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx (1. 9. 2012)
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
35
[15] Microsoft Developer Network: Timer Class:
http://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.71).aspx
(1. 9. 2012)
[16] Wikipedia: Malfunction indicator lamp:
http://en.wikipedia.org/wiki/Malfunction_indicator_lamp (1. 9. 2012)
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
36
7 Priloge
7.1 O študentu
Naslov študenta:
Matjaž Cehner
Vizore 1/c
3203 Nova Cerkev
e-mail: [email protected]
Kratek življenjepis:
rojen: 24. 11. 1989 v Celju
šolanje:
1996–2004 Osnovna šola Dobrna
2004–2008 Šolski center Celje, Tehniška gimnazija Lava
2008– 2012 Fakulteta za elektrotehniko, računalništvo in informatiko, smer Računalništvo in
informacijske tehnologije UN
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
37
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
38
Prikaz podatkov o delovanju avtomobila z uporabo vmesnika OBD-II
39