Professional Documents
Culture Documents
1. Introducere
1.1 1.2 1.3
1.4
Industria automobilelor Utilizarea electronicii n industria auto Nout i n domeniu Interfe e de diagnoz auto
4. Bibliografie
1. INTRODUCERE
1.1 Industria automobilelor 1.2 Utilizarea electronicii n industria auto 1.3 Interfe e de diagnoz auto
sunt elemente cheie ale sistemelor embedded pe care proiectanii le doresc pentru implementarea n sistemele curente i viitoare. Este tot mai pregnant competiia legat de consumul energetic redus, constrngerile legate de spaiul ocupat, conectivitatea ECM pentru posibilitatea de diagnosticare a sistemului, n timp ce costurile trebuie meninute ct mai reduse. Dup cum numrul de ECM-uri continu s creasc, disponibilul energetic necesar al vehiculului este sub o presiune din ce n ce mai mare. Unele vehicule de nalt clas dispun de peste 80 de ECM-uri, ceea ce nseamn sarcini de curent foarte ridicate. O cale de a rspunde acestei cerine energetice poate fi creterea dimensiunilor bateriei. ns, bateriile de dimensiuni mai mari nu sunt o afacere ntr-un domeniu n care spaiul este limitat, iar masa este critic pentru a asigura un minim de consum de carburant. O opiune mai bun este concentrarea asupra cerinelor de consum energetic ale ECM-urilor care opereaz atunci cnd contactul este n stare off. Cu mai multe sarcini de putere prezente atunci cnd nu exist
contact, OEM-urile auto restrng disponibilul energetic la mai puin de 1mA pe ECM. O familie de microcontrolere cu management energetic este un element cheie pentru proiectanii de sisteme embedded n acest mediu, n care o mare valoare este pus pe operaii eficiente energetic fr sacrificarea performanelor. Microcontrolerele cu management energetic ofer proiectantului memorie flash pe cip, o eficien bun a sistemului, o robustee crescut cu minimizarea costurilor i spaiului de plac, prin eliminarea componentelor externe. Designerii au la dispoziie o mai mare versatilitate prin posibilitatea de a comuta ntre diverse moduri de management energetic, care ncorporeaz rutine de economisire de energie n aplicaiile software. Tehnologia nanoWatt ce caracterizeaz microcontrolerele Microchip Technology PIC ofer o bun gestionare energetic pe ntreaga lor gam de frecvene de operare. Aceste caracteristici au fost dezvoltate pentru a le furniza proiectanilor opiuni tehnice fezabile i economice pentru provocrile complexe asociate cu operarea sigur de joas putere.
1.2.1
(Electronic control unit, Unitate de control electronic) este un modul pentru comenzi sau dirijri electronice, care este folosit n locurile unde ceva anume trebuie controlat comandat. Modulul de control electronic este folosit n sectorul auto n multe aplicaii
5
electronice, precum i pentru controlul electronic la dirijarea de maini, instalaii industriale i multe alte procedee tehnice. Aceste modulele fac parte din
ncorporate. sistemele
Ce se ascunde de fapt sub denumirile de "Computer auto", ECU sau "Modul de comanda"? Ce face de fapt acest computer auto si cum functioneaza el? Sub denumirea generica de computer auto se ascunde de fapt un numar mai mic sau mai mare de microprocesoare care au functii dedicate si care controleaza functionarea diferitelor componente ale masinii. Exista microprocesoare care monitorizeaza aprinderea motorului, altele care se ocupa de functionarea airbag-urilor, altele de modulul de aer conditionat, de sistemele de siguranta ABS sau ESP, chiar si de deschiderea sau nchiderea geamurilor. Toate aceste microprocesoare sunt, asa cum le spune si numele, niste calculatoare n miniatura care ruleaza n memoria lor niste programe, primesc n permanenta date de la componentele masinii si prin prelucrarea acestor date de catre programul din memorie, furnizeaza la randul lor niste date de iesire, care se concretizeaza n comenzi transmise catre diferite dispozitive ale masinii. Pe buna dreptate ne putem ntreba cum de au reusit n trecut masinile sa functioneze foarte bine si fara aceste microprocesoare? Simplu. Motoarele erau simple, electronica aproape inexistenta si metodele de protectie a pasagerilor mult mai rudimentare. Pe masura ce au nceput sa apara elemente de comfort si siguranta tot mai avansate, norme de poluare mai stricte si dorinta de a face economie de materiale, constructorii auto au nceput sa apeleze la beneficiile aduse de utilizarea microprocesoarelor si a metodelor de comunicatie moderne. Practic s-a trecut la utilizarea microprocesoarelor din mai multe motive: * pentru a simplifica procesul de construire a masinii * pentru a reduce emisiile poluante ale motorului si a consumului de carburanti * pentru a reduce cantitatea de cabluri necesare functionarii masinii * pentru a mbunatati metodele de diagnosticare a defectiunilor
6
* pentru a putea aduce noi facilitati fara a face modificari majore la designul si componentele deja existente ntr-o masina * nu n ultimul rnd pentru cresterea sigurantei pasagerilor Vom vedea n continuare cum au fost implementate fiecare din aceste masuri cu ajutorul microprocesoarelor din autoturisme.
Practic, ECU primeste aceste date de la senzorii amplasati n motor si le foloseste ca parametri n ecuatiile pe care le are de rezolvat pentru a produce alte date de iesire care vor comanda mecanismele de control ale motorului: injectoare, pompe, bujii. ECU functioneaza ca un sistem de reglaj cu circuit nchis (closed-loop control), ceea ce nseamna ca el regleaza valorile parametrilor de iesire n functie de valorile
7
parametrilor de intrare. Cu alte cuvinte, el primeste date de la senzorii care monitorizeaza cantitatea de oxigen din gazele de ardere, viteza autoturismului, temperatura motorului si alte valori pe care le analizeaza, si in functie de aceste valori trimite comenzi catre injectoare si prelungeste sau micsoreaza timpul cat acestea raman deschise, reglnd n acest fel cantitatea si calitatea amestecului combustibil precum si momentul arderii. ECU este ca un un mini-calculator care functioneaza foarte eficient. Practic acesta are o viteza mult mai mica dect calculatorul pe care l folositi in acest moment pentru a cititi aceste informatii, are la dispozitie o memorie mult mai mica si cu toate acestea si face treaba foarte bine. Pentru ca soft-ul pe care l ruleaza el nu este Windows, Linux sau Mac OS. Este un cod masina optimizat care nu stie sa faca altceva dect ceea ce a fost programat sa faca: adica sa calculeze niste valori pe baza datelor primite de la senzori Ce se intmpla atunci cand se defecteaza unul din senzorii care i transmit informatii? ECU este proiectat sa functioneze n toate conditiile de lucru. Inginerii care proiecteaza aceste unitati de control au luat n calcul si variata n care unul sau mai multi senzori se defecteaza. n aceste conditii ECU nu se opreste din functionare ci trece n modul Safe (sau LIMP cum mai este denumit n alte cazuri), ceea ce inseamna ca ECU nu mai tine cont de toate datele furnizate de senzori si trimite comenzile catre motor pe baza unor date prestabilite pe care le are inregistrate n memorie. Practic n memoria sa exista un tabel de valori care a fost conceput de ingineri pentru a asigura buna functionare a motorului pna ce proprietarul remediaza problemele aparute la senzorii defecti. Este de la sine nteles faptul ca n aceste conditii consumul de carburant nu mai este optim ci mai mare dect cel pe care l-ar fi realizat ECU n conditii de functionare normala. Exista cazuri n care nu se defecteaza nici un senzor ns valorile transmise de catre acesta nu se ncadreaza n limitele acceptate de ECU, sau valorile primite de la diferii senzori sunt contradictorii, caz n care ECU consider c cel puin unul din aceti senzori este defect i nu mai ia n considerare valorile transmise ci le preia din tabelele din memorie.
8
Componentele ECU ECU este un dispozitiv destul de complex. Acesta trebuie sa stie sa lucreze cu toate celelalte componente ale motorului. De aceea, exista tot felul de dispozitive ajutatoare care convertesc semnalele primite si trimise de ECU diverselor componente cu care acesta comunica Convertoare analogice-digitale (A-D): ECU lucreaza cu date in format digital. De cele mai multe ori, valorile transmise de catre senzori sunt niste valori de tensiune care se ncadreaza ntre anumite limite. Aceste valori trebuie convertite n format digital, pe un anumit numar de biti, si cu aceste transformari se ocupa convertorul analog-digital. Convertoare digital-analogice (D-A): Tot pe principiul convertorului A-D de mai sus, uneori ECU trebuie sa ofere comenzi diferitelor componente pe care le controleaza, sub forma de curent electric cu o anumita tensiune. Cum datele pe care le prelucreaza el sunt in format digital, acestea trebuie convertite n valori analogice, iar de acest lucru se ocupa aceste convertoare Digital-Analigice.
exemplu, unii senzori pot oferi valori n domeniul de tensiuni: 0 - 1.1 volti, valori care nu pot fi prelucrate de catre convertorul analogic-digital care stie sa lucreze cu valori cuprinse ntre alte limite. De aceea, aceste valori trebuie mai nti ajustate pentru a ajunge la intervalul de valori cu care lucreaza convertorul A-D sau D-A. Chip-uri de comunicatie: Acestea se ocupa cu transmiterea si receptionarea datelor prin magistrala de comunicatii. Toate dispozitivele microprocesoare comunica folosind aceeasi magistrala de date, prezentata n paragraful urmator. Mai putine cabluri n autovehicul Unul dintre avantajele aduse de utilizarea microprocesoarelor auto este si reducerea numarului de cabluri electrice necesare bunei functionari a sistemelor electrice si electronice ale masinii. n trecut, cnd nu se utilizau aceste microprocesoare, pentru a face legatura dintre un panou de comanda si elementul comandat de acesta era nevoie de unul sau mai multe cabluri care sa faca legatura directa ntre acestea. Ne putem imagina acest lucru daca ne gandim la o masina moderna care permite deschiderea si nchiderea geamurilor att din usa soferului ct si din usa respectivului geam. Aceasta ar fi nsemnat ca sa existe legaturi directe ntre butoanele din usa soferului cu fiecare din geamurile comandate. Pe acest principiu, adunate toate aceste cabluri si conectori duceau uneori la zeci de kilograme n plus si sute de metri de cabluri, mai ales la masinile mai sofisticate. Rezolvarea a venit odata cu utilizarea microprocesoarelor si introducerea sistemelor de transmisie a datelor printr-o magistrala de date seriala. Aceasta nseamna ca toate datele sunt transmise prin aceleasi fire electrice nsa exista un protocol de control al datelor numit multiplexare care stie sa faca distinctie ntre aceste date si sa le dirijeze catre modulele de control de care apartin. Utilizarea sistemului centralizat de comunicatie n cadrul vehiculului ofera multe beneficii, unele dintre acestea fiind abia descoperite si exploatate: * un numar redus de cabluri si cablaje care duce n final la costuri de fabricatie mult reduse, greutate mai mica, cresterea fiabilitatii, usureaza depanarea si instalarea
10
* toate datele furnizate de senzori (viteza, temperatura, etc. ) sunt disponibile tuturor dispozitivelor conectate la reteaua de date din autovehicul * ofera flexibilitate mult mai mare producatorilor deoarece multe dotari optionale se pot adauga doar prin actualizarea soft-ului sau prin adaugarea unor module separate Desi acest sistem de comunicatie a fost disponibil de mai mult timp, nu s-a folosit imediat pentru ca cei mai mari fabricanti din Statele Unite erau bine integrati pe verticala, si nu erau legati prea mult de furnizorii de subansamble externi. Lucrurile au stat nsa diferit n Europa unde constructorii auto apelau la multi producatori de subansamble, iar acestia la rndul lor furnizau aceste subansamble mai multor producatori, utiliznd specificatii diferite pentru aceleasi componente. De aceea n Europa acest sistem a prins mai repede, fiind apoi adoptat din ce n ce mai mult si in SUA. Protocoalele standardizate permit modulelor furnizate de diferiti producatori sa se interconecteze mult mai usor ntre ele, ntr-un fel de arhitectura deschisa. Aceasta permite utilizarea unor testere standardizate si aduce economii importante din productia la scara mare a acestor componente. Practic, pe furnizorii acestor componente nu i mai intereseaza ce se ntmpla mai departe cu datele furnizate de modulele lor, iar pe constructorii de autoturisme nu i mai intereseaza modul de functionare al subansamblului atta timp ct el furnizeaza datele de care are nevoie. Dupa cum am mentionat anterior modulele electronice de control al module electonice sunt folosite pentru reglarea aprinderii i la Aproximativ de la mijlocul
intern, anilor 90 motoarelor,
au
fost utilizate n primul rnd pentru reglarea aprinderii acestora. Din anul 1987 aceste
motoarele diesel.
motoarele cu combustie
Modulele de control ECU din componena autovehiculelor includ n afara sistemului de aprindere, printre altele i: sistemul de pornire, de anti-blocare al frnelor (ABS), de climatizare, de
11
control airbag, controlul de distan, etc. Uniti de control vizibile sunt pe tahometru, n forma lui nou mpreun cu turometru i diverse alte indicatoare. Senzori cum ar fi, nivelul termen lung.
combustibilului
rezervor,
presiunea
uleiului pot dispune de propriul modul electronic care sunt, printre altele, memorate pe
englez
nregistrarea
presiunea, temperatura,
etc. Aceast valoare este comparat sau calculat cu o valoare memorat n ECU. n cazul n care valoarea msurat cu valoare prevzut n ECU nu se potrivesc, modulul electronic reglementeaz valoarea prin proces fizic, astfel nct valorile reale msurate s corespund cu dimensiunile nominale programate n ECU. n timp ce cu anii din urm aprinderiile electronice erau construite din circuite electronice analogice, ECU-urile de azi sunt de obicei nzestrate cu un sistem cu propria inteligen (n
computer englez
Embedded system,
sistem ncorporat),
Mrimea acestui computer variaz n funcie de complexitatea sarcinilor sale. n mod semnificativ acesta variaz de la un circuit integrat cu un microprocesor (cu memorie RAM i ROM) pn la sisteme multifuncionale cu un sistem de producie grafic. De obicei
programarea
englez
Read Only
programului
Memory, Memorie doar citibila) . Unele sisteme ns permit actualizarea din ECU, prin reprogramarea a memoriei flash la atelierele de specialitate.
Aparatele schimb informaiile cu privire la condiiile de funcionare i alte date relevante ale vehiculului, prin diferite sisteme de interfee (CAN, LIN, MOST, FlexRay). n afara acestora, prin aceste interfee se pot face legtura la
OBD
respectiv diagnosticarea
12
principal sunt cutate i identificate greelile pe care modulul electronic a nregistrat la propriile teste sau la sensorii de legtur. Astfel n atelierle de reparaii, cu astfel de mesaje la defeciuni, se poate evita timp de lucru ndelungat. Adesea sunt utilizate protocoalele de diagnostic ECU-uri, sistemul ntre timp, ntr-un
KWP2000
sau
UDS,
ISO
14229-1.
O alt msur n
automobilele moderne de lux, au instalate chiar peste 70 de module electronice. Gama de microcipuri variaz de la 8- la 32-bit de calculator.
13
14
Pentru prima dat, roata include nu doar discul de frn, ci i motorul electric de acionare i sistemul de suspensie. n funcie de puterea pe care a fost conceput s o produc, vehiculul poate fi echipat cu patru motoare (cte unul n fiecare roat) sau cu dou motoare (n roile din fa, de exemplu). n acest fel, Michelin Active Wheel permite constructorilor de automobile s continue s conceap vehicule cu traciune pe dou roi sau cu traciune integral. Cu Michelin Active Wheel, sursa de energie este exclusiv electric. Sursa de energie poate fi o baterie litiu-ion sau un alt tip de baterie, o celul de combustibil i /sau un condensator. Indiferent de situaie, aceste surse de putere asigur dou beneficii importante: sunt ecologice i asigur o funcionare uniform. Vehiculele echipate cu Michelin Active Wheel nu emit gaze cu efect de ser. Dinamica este susinut i de sistemul de suspensie care stabilete noi standarde din punct de vedere al aderenei i al confortului. Cu Michelin Active Wheel, suspensia vehiculului nu mai este mecanic ci electric. Acest sistem unic asigur un timp rapid de rspuns - doar 0,003 secunde. Toate micrile de nclinare i rotire sunt corectate automat. Michelin Active Wheel simplific procesul de concepere a vehiculului, deoarece componentele mecanice nu mai sunt folosite. Vehiculele echipate cu Michelin Active Wheel nu mai au nevoie de cutie de viteze, de ambreiaj, arbore de transmisie, diferenial sau amortizoare. Astfel, vehiculul devine mult mai uor i mai eficient din punct de vedere energetic. Michelin Active Wheel reprezint o adevrat inovaie tehnologic prin care se ofer o soluie eficient problemelor actuale privind transportul rutier. La evenimentul Michelin Challenge Bibendum 2010 desfurat n acest an n Brazilia la Rio de Janeiro au fost prezentate dou autoturisme dotate cu aceast roat revoluionar: Heuliez Will i Peugeot BB1. WILL are o lungime de 3,70 m, este prevzut cu cinci locuri i este comparabil
15
cu automobilele compacte. Automobilul are dou portbagaje, poate acoperi distane mari (ntre 150 i 400 km n funcie de sursa de energie) i dispune de mai mult spaiu pentru echipamentele de comunicaie. Motoarele au o eficien de 90%, comparativ cu 20%, valoarea caracteristic motoarelor covenionale la deplasarea n ora. Heuliez a reconceput complet asiul. Datorit designului su, automobilul este mult mai uor i, implicit, consumul de energie mai redus. n plus, emisiile de CO2 well-to-wheel" (de la sursa de combustibil la vehicul) sunt mai mici de 15 gram per kilometru atunci cnd WILL folosete energia rezultat din surse hidroelectrice, fotovoltaice, eoliene sau alte surse ecologice.
Peugeot BB1
`Acest cu roata vehicul este prevzut motorizat
Michelin pe axul din spate (foto), spaiul interior mrindu-se astfel n n conformitate mod semnificativ. cu normele
privind vehiculele pe patru roi, capacitatea este mai mic de 15 kW (20 CP) sau 7,6 kW, ceea ce reprezint o capacitate optim dac se are n vedere greutatea i faptul c automobilul a fost conceput pentru uz citadin. Astfel, demarajul se face cu uurin (0 pn la 30 km/h n 2,8 secunde) iar acceleraia permite vehiculului s ajung de la o vitez de 30 km/h la o vitez de 60 km/h n doar 4 secunde. Bateriile litiu-ion permit deplasarea pe o distan de 120 km.
16
modelele OPEL (1995-2007): - Adaptare chei: IMMO I, IMMO II si protocol CAN ( Vectra C, Astra H) - Citire /stergere coduri eroare - Realizeaza masuratori de parametrii in timp real. -Codare injectoare (Multijet) - Resetare/programare interval de revizii. - Calibrare unghi volan: Astra-H, Zafira-B, Vectra-C/Signum - Adapare telecomenizi: Vectra-B, Astra-F, Corsa-C, Meriva, Tigra-B, Zafira, Astra-G, Omega-B, Astra-H, Zafira-B, Vectra-C/Signum
Se poate realiza citirea codurilor de eroare, tergerea acestora i vizualizarea parametrilor live:
18
1. Presiune turbo 2. ncrcare alternator 3. Temperatura ap 4. Temperatur ulei 5. Parametrii injectoare 6. Tensiuni i alte valori, etc.
MONITORIZAREA AUTO
19
2.1 Aplica ii existente 2.2 Protocolul OBD II 2.3 Circuitul integrat ELM327
software-ul dezvoltat de diveri exist i aplicaii proprietar, care sunt dezvoltate de ctre productorii de maini sau de ctre asociai ai acestora. n mod normal o aplicaie venit de la productorul mainii ofer access total la absolute toate modulele electronice ale automobilului. Dezavantajul pentru acest gen de aplicaii este ca nu funcioneaz pentru alte mrci de autovehicule i software-ul este mult mai costisitor, de aici a aprut necesitatea dezvoltrii de software independent de productor. Software care s permit diagnosticarea indifferent de productorul mainii. ntr-o oarecare msur s-a reuit implementarea aplicaiilor dar acestea nu pot oferii funcionalitate complet datorit faptului c fiecare productor pe lng codurile de eroare standard i pe lng identificatorii de parametrii (PID parameter identifier) standard au definit coduri i identificatori specifici fiecrui constructor n parte, este astfel posibil ca un cod de eroare s semnifice un anumit lucru pentru un autovehicul Opel, iar pentru un automobile marca BMW s reprezinte cu totul altceva. n general software-ul proprietar este folosit numai de ctre service-urile reprezentante ale constructorului, costurile ridicate de procurare i de ntreinere i determin pe muli s caute alte soluii. Dup studiile facute pe pia am putea sa clasificm acest gen de software n urmtoarele categorii: 1. Software Profesional Proprietar oferit de ctre constructorul de maini sau de parteneri ai acestora (Fiecare productor important de maini pune la dispoziie un astfel de software) 2. Software Profesional cu posibilitate de diagnosticare i monitorizare pe modulul de motor 3. Software de diagnoz i monitorizare pentru hobby-sti. De asemenea n ultimul timp au nceput s apar versiuni de software implementate pentru dispozitive mobile, care combin utilitile de diagnosticare i monitorizare a motorului cu posibilitile de folosire a modulelor GPS i chiar telefonie mobil, n acest fel se folosete acelai dispozitiv pentru mai multe scopuri care aparent nu au nici o legtur. Posibilitatea utilizrii acestui gen de software a aprut odat cu creterea puterii de calcul ce poate fi integrat pe cm ptrat. Mai jos sunt cteva capturi de ecran cu diverse aplicaii de diagnoz i monitorizare
21
ProScan de la ScanTools
auto.
22
Rev App, de la DevToaster, care dup cum se vede n imagini ruleaz pe dispozitive iPhone.
O aplicaie complet din punctul de vedere al componentelor incluse este DashDAQ, care este disponibil att n versiune pentru PC dar i ca versiune instalat pe un dispozitiv mobil. Acest aplicaie folosete un dispozitiv hardware de achiziie special gndit pentru a permite actualizarea parametrilor n timp real observndu-se un timp de rspuns foarte bun. Aceast aplicaie pune la dispozitie support pentru: diagnosticare probleme motor, urmrire parametrii motor, crearea unui jurnal de monitorizare, diverse teste pentru a determina timpul de acceleraie, timpul de franare, monitorizare consum de combustibil, urmrirea nivelului de ncrcare al bateriilor pentru autovehicule hibride. Pe lng toate aceste informaii tehice aplicaia ofer i support pentru modul GPS incorporat n dispozitivul DashDaq i ofer support multimedia pentru filme i muzic. Toate aceste aplicaii au un punct comun i anume interfaa prin care se conecteaz la autovehicul i care trebuie s resprecte standardul impus de OBD II, despre care voi prezenta cteva amnunte n cele ce urmeaz.
23
Autovehiculele care sunt echipate cu OBD-II au cel puin 2 senzori de oxigen, majoritatea cu senzori nclzii.
Modulele de control al traciunii, cu procesoare fie pe 16 (Chrysler) fie pe 32 biti(Ford & GM), sunt capabile s gestioneze peste 15000 de constante noi, adugate de OBD II.
Module cu memorie EEPROM care permit reprogramarea PCM urilor (Program Controlled Module), cu versiuni de software mbuntite.
Injecia de combustibil se face secvenial i nu multi-punct sau prin carburator. Exist senzori pentru msurarea presiunii pe galeria de admisie(MAP) i pentru msurarea cantitii de aer care este folosit de motor n timpul funcionrii (MAF), aceti senzori putnd fi utilizai pentru a determina ncrcarea motorului.
OBD II este un sistem foarte sofisticat i capabil, n ceea ce privete detectarea emisiilor. Dar n momentul n care se pune problema identificrii problemei de ctre mecanici, acesta nu este mai eficient dect OBD I. n prezent se lucreaz la OBD III, care ar trebui s duc OBD II la nivelul urmtor, prin adugarea telemetriei. Folosind un transmitor radio, un autovehicul echipat cu OBD III va fi capabil s raporteze problemele legate de emisii direct ctre un punct tehnic sau o agenie specializat. Sistemul va comunica numrul de identificare al autovehiculului (VIN) i codurile de eroare detectate la momentul respectiv. Sistemul poate fi setatat pentru a raporta n mod automat problemele de emisii prin intermediul unei legturi prin satelit, sau pentru a rspunde la interogri de pe telefonul mobil, dispozitive amplasate pe marginea drumului etc. De ce este lucru intersant pentru autoritile de control, pentru c este eficient i are costuri reduse comparative cu metodele actuale care presupun deplasarea autovehiculelor ctre puncte de control n care inspecia se face n mod manual, iar numrul de verificri care se poate face n fiecare an este limitat.
25
Parametrii citii n prezent au asociat fiecare cte un identificator, n funcie de acest identificator computer-ul care controleaz motorul tie ce valori s trimit n momentul n care este interogat, i cum s codeze informaia. n mod normal pentru a primi informaii de la modulele electronice care echipeaz autovehiculele este nevoie de un dispozitiv hardware special care s fie capabil s trimit i s primeasc date utiliznd reeaua intern de comunicare a autovehiculului. Exist mai multe protocoale de intercomunicare ntre modulele autovehiculelor i anume:
CAN,
VPW, PWM,
ISO, KWP. ncepnd cu anul 2008, toi productorii sunt obligai s folosesc protocolul CAN pentru intercomunicarea ntre modulele care echipeaz autovehiculele. Acest lucru va duce pe viitor la o simplificare a modulelor de diagnosticare i monitorizare i va permite creterea vitezei de achiziie a informaiilor, din moment ce dispoz itivul hardware de achiziie nu va trebui s cunoasca, dect un singur protocol. n prezent standardul OBD II presupune existena unui numr de 10 moduri de lucru descrise n standardul SAE J1979 . 0x01 afiarea datelor curente 0x02 afiarea parametrilor achiziioni n momentul n care care a aprut o anumit defeciune identificat de sistemul de gestiune a motorului. 0x03 afiarea codurilor de diagnosticare pentru defeciunile memorate. 0x04 stergerea codurilor de eroare i a valorilor memorate 0x05 Rezultatele de test pentru monitorizarea senzorilor de oxygen (pentru non CAN)
0x06 Rezultatele de test pentru monitorizarea altor componente (rezultatele de test pentru senzorii de oxygen n cazul CAN) 0x07 afiarea codurilor pentru erorile care sunt active n mod curent. 0x08 operaii de control pentru diverse componente/subsisteme 0x09 afiare informaii autovehicul. 0x0A Coduri de eroare permanente (coduri curate)
26
Productorii de autovehicule nu sunt obligai s implementeze toate aceste moduri, i fiecare productor poate defini moduri suplimentare, moduri mai mari ca numr de identificare dect 9. Exemplu modul 22 este definit de Ford/GM pentru obinerea de alte informaii dect cele prevzute n standard, modul 21 este definit pentru Toyota. n tabelul urmtor se prezint o parte din identificatori de parametrii utilizai pentru obinerea informaiilor de monitorizare a motorului, dup cum se poate observa o parte din parametrii sunt codai pe bii. Acetia se decodeaz dup cum urmeaz: Mod 1 PID 0x01 O cerere de acest gen returneaz 4 octei, bitul 8 al primului octet (A7) indic dac martorul MIL este aprins sau nu, biii A6A0 indic numrul codurilor de eroare. Octeii 2, 3, 4 dau informaii despre prezena i efectuarea anumitor teste incorporate n modulele instalate.
Nume test Test disponibil Test incomplet
Lipsa scnteii Sistem de alimentare cu combustibil Componente Rezervat Catalizator Catalizator nclzit Sistem de evacuare Sistem de aer secundar Compresor aer condiionat Senzor de oxygen nclzitor senzor de oxygen Sistem EGR
B0 B1 B2 B3 C0 C1 C2 C3 C4 C5 C6 C7
B4 B5 B6 B7 D0 D1 D2 D3 D4 D5 D6 D7
Nota: se noteaza cu A, B, C, D cei 4 octei primii de la ECU. NBR Mod PID * Descriere Val Min Val Max UM Formula de interpretare
dac bit-ul x este setat (0<=x<=32 ) atunci parametrul cu numrul x este suportat Codare pe bii. Vezi descriere n afara tabelului.
0x01
0x00
parametrii suportai starea sistemului de la ultima stergere a codurilor de eroare, include MIL i numrul codurilor de erorare valorile parametrilor la momentul n care a fost detectat o anumit eroare Starea sistemului de combustibil
N/A
N/A
N/A
0x01
0x01
0x01
0x02
0x01
0x03
0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01
0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
1 1 1 1 1 1 1 1 2 1 1 1
ncrcarea calculat a motorului Temperatura lichidului de rcire reducerea % de combustibil pe termen scurt - BANK 1 reducerea % de combustibil pe termen lung - BANK 1 reducerea % de combustibil pe termen scurt - BANK 2 reducerea % de combustibil pe termen lung - BANK 2 presiunea combustibilului presiunea absoluta n galeria de admisie turaia motorului viteza autovehiculului avansul scnteii temperatura aerului pe galeria de admisie masa fluxului de aer care trece la un moment dat prin galeria de admisie poziia clapetei de admisie
0 -40 (-100) Rich (-100) Rich (-100) Rich (-100) Rich 0 0 0 0 -64 -40
100 215 99.22 Lean 99.22 Lean 99.22 Lean 99.22 Lean 765 255 16.38 3,75 255 63.5 215 655.3 5 100
A*100/255 A-40 (A-128)*100/128 (A-128)*100/128 (A-128)*100/128 (A-128)*100/128 A*3 A ((A*256)+B)/4 A A/2 64 A-40
0x01 0x01
0x10 0x11
2 1
0 0
g/s %
Pentru decodarea octeilor primii ca rspuns la trimiterea PID-ului 0x03 pentru modul 0x01 se urmrete urmtoarea schem innd cont de faptul c rspunsul este pe 2 octei, primul octet reprezint starea sistemului de alimentare primar, iar cel de-al doilea reprezint starea sistemului de alimentare secundar n cazul n care acesta exist. Pentru sistemul de alimentare primar se foloseste primul octet primit, fie acesta A, avem: A0 funcionare n bucl deschis datorit faptului c motorul nu este nclzit sufficient A1 funcionare n bucl nchis folosind rspunsul senzorilor de oxygen pentru a determina amestecul combustibil/aer.
28
A2 funcionare n bucl deschis datorit ncrcrii motorului sau oprire alimentare datorit rulrii n frn de motor A3 funcionare n bucl deschis datorit defeciunilor sistemului de gestiune A4 funcionare n bucl nchis, folosind cel puin un senzor de oxygen dar, exist o problem n sistemul de rspuns A5-A7 ntotdeauna 0.
29
Productorul circuitului noteaz faptul c acest circuit se bazeaz pe un dispozitiv PIC 18F2480 produs de ctre Microchip. Aadar este probabil ca toat funcionalitatea acestui circuit sa fie implementat software. Acest lucru crete timpul de procesare a informaiei, din aceast cauz acest circuit nu este potrivit pentru achiziii de date n timp real. Totui avnd n vedere faptul c pentru a realiza un dispozitiv complet funcional este nevoie de foarte puine componente externe pe lng circuitul integrat, uneori este de preferat utilizarea acestui circuit datorit numeroaselor posibiliti de configurare prin intermediul softului. Pentru a evidenia uurina cu care se poate integra acest circuit productorul pune la dispoziie o schem electronic caracteristic. Aceast schem poate fi analizat n imaginea de urmtoare.
30
31
32
3.1 Arhitectura aplica iei 3.2 Tehnologii de implementare 3.3 Module implementate modul monitorizare
prin realizarea unei cuplri slabe ntre module, modulele fiind cuplate ntr-o arhitectur multinivel. Se pot adauga noi module prin simpla implementare a unor interfee, i actualizarea unui fiier de configuraie fr a mai fi nevoie de alte modificri n codul de baz al aplicaiei. De asemenea arhitectura multinivel permite separarea funcionalitilor ajungndu-se n acest fel, ca depanarea erorilor i problemelor care pot aprea la un moment dat s fie uor de realizat. Un alt avantaj al acestei abordri,
+(Core)
Application GUI
este reprezentat de faptul c se poate realiza o testare modular i se pot realiza uniti de test automatizate pentru fiecare modul n parte, timpul alocat testrii putnd fii diminuat cu 60 70%. Un alt lucru important care s-a urmrit n momentul n care aceast aplicaie a fost proiectat, a fost separarea funcionalitii de baz, fa deData Access Layer felul interfaa grafic, n acesta interfaa grafic poate fi nlocuit n orice moment fr a fi nevoie s se rescrie funcionalitatea de logic a aplicaiei (modulul de conectare la interfaa auto, modulul de citire a informaiilor de OBD II Hardware la interfaa auto), astfel interfaa grafic poate fi actualizat foarte uor la noile tehnologii Diagnosis grafic. de afare
interface
Modulul de acces la interfaa serial poate fi inlocuit foarte uor n cazul n care se SQL LITE dorete utilizarea altei interfee de comunicare (se doreste utilizarea unei interfee USB, Ethernet, etc.), singurul lucru care ar trebui schimbat n acest caz este implementarea modului de comunicare pentru protocolul dorit i actualizarea n modulul de baz pentru a folosi noul modul de comunicare, specificndu-se modulul de comunicare ce va fi folosit, fr a mai fi nevoie de alte modificri n codul de baz pentru a face aplicaia funcional.
Logger
Business Logic
34
n cele ce urmeaz o s ncerc s prezint pe scurt fiecare component n parte a diagramei de mai sus i rolul pe care l are, respectiva component, n cadrul aplicaiei.
35
(Application Graphical User Interface) sau Interfaa Grafic de prezentare a aplicaiei. Scopul principal al acestei componente este de a prezenta utilizatorului ntr-un mod ct mai prietenos i mai uor de analizat informaiile puse la dispoziie de sistemul de management al motorului, aici includem parametrii obinui n timpul funcionrii ct i informaii memorate pentru analiz n memoria intern a ECU. (Unitatea de control a motorului). Pentru a realiza o interfa care s fie ct mai uor de folosit, este nevoie de ca aceasta s fie mprit pe funcionaliti. n prim faz aplicaia poate s fie folosit n dou scopuri: Diagnosticarea problemelor aprute la motor Monitorizarea parametrilor de funcionare a motorului Dac se dorete integrarea de noi funcionaliti (modul de navigare GPS, modul de Rapoarte etc.), acestea se pot integra cu aplicaia prin implementarea unui nou modul
ADT GUI i actualizarea unui fiier de configurare. Modulele noi care se implementeaz trebuie
s respecte un anumit ablon pentru a putea fi integrate, aceast restricie este impus
Plugin Selector (Menu) GUI Element de generalitatea modulelor care pot fi integrate cu aplicaia. Aceste module pot
n continuare aceste module pentru interfaa grafic o s le numim plugin-uri. Plugin-urile pot fi adaugate sau scoase din interfaa grafic prin simpla editare a fiierului de configurare, aadar aplicaia se poate personaliza foarte uor. n figura PLUGIN IFaceurmtoare
GUI Elements Plugin BLogic
se poate observa modalitatea n care interacPLUGIN IFace ioneaz interfaa PLUGIN IFace
GUI Elements Plugin BLogic GUI Elements Plugin BLogic
...
36
informaiilor pe care le transmite este nevoie s se implementeze efectiv, codul pentru decodificarea informaiilor corespunztoare fiecrui paramteru n parte. n acest sens a fost creat ierarhia de de clase alturat.
S1 Imp S2 Imp
Sn Imp 37
Primire mesaje
3. Determinarea erorilor care apar la comunicare 4. Configurare 5. Initializare conexiune 6. Inchidere conexiune La nivelul implementrii au fost considerate mai multe modaliti prin care se poate realiza parametrizarea funciilor de trimitere/primire de mesaje. Dup cum se poate observa n secvena urmtoare de cod, primirea de mesaje se poate realiza prin citirea de pe interfa a datelor pn la primirea unui anumit caracter. Acest abordare este util n cazul dispozitivului de diagnoz auto ELM 327, pentru c toate mesajele de rspuns la interogrile venite din partea utilizatorului se termin cu '>', i de cele mai multe ori pentru a putea interpreta informaia de la dispozitiv este necesar ntreg
38
rspunsul, aadar este necesar s se atepte pn cnd se primete semnul care marcheaz sfritul rspunsului.
class IGenericCommunication { public: virtual QString GetCommunicationInterfaceName() = 0; virtual int SetConfiguration(QString configurationString) = 0; virtual QString GetConfiguration() = 0; virtual int Send(const char* bytesToSend, qint64 length, qint64* actualSent) = 0; virtual int Send(const QString stringToSend) = 0; virtual int Receive(char* bufferForStore, qint64 bufferLen, qint64*
actuallyRead, int receiveAll) = 0; virtual int Receive(QString& receivedString, char endOfBuffer) = 0; virtual int InitializeCommunication() = 0; virtual int TerminateCommunication() = 0; virtual void SetLogger(IGenericLogger* pClassLogger) = 0; virtual QString GetErrorString() = 0; virtual int GetErrorCode() = 0; virtual ~IGenericCommunication(){}; };
3.1.4 Logger
39
Tehnologiile
folosite
pentru
dezvoltarea
Limbajul de programare folosit este C++, n primul rnd datorit flexibilitii pe care o ofer n vederea dezvoltrii ulterioare. S-au dezvoltat anumite librrii native care la un moment dat pot fi importate n orice alt limbaj de nivel nalt. Dac am fi ales un alt limbaj de programare de nivel nalt (Java sau .Net) ar fi aprut diverse restricii asupra limbajelor n care acele librrii ar putea fi utilizate. Pentru a putea extinde funcionalitatea implementat pe mai multe platforme de operare am apelat la framework-ul Qt, care este un framework Open Source i care ofer suport multi-platform. Practic funcionalitatea implementat poate rula pe mai multe sisteme de operare i chiar pe dispozitivele mobile, atta timp ct acestea ndeplinesc cerinele hardware necesare.
Acest framework are o istorie de aproximativ 20 de ani, timp n care au fost aduse mbuntiri permanente, fapt ce ne face s credem c acest framework a ajuns la maturitate i prezint garania stabilitii modulelor n condiiile unei utilizri corecte. Iniial acest framework a fost dezvoltat de firma TrollTech pentru ca mai apoi aceasta s fie preluat n 2008 de productorul de dispozitive mobile Nokia, care a creat o divizie special (Qt Development Frameworks Team) care se ocup n mod special de dezvoltarea i promovarea acestui produs. n momentul de fa Qt este folosit n 3 variante de liceniere: Varianta comercial Varianta cu licen LGPL (licen compatibil LGPL v2.1) Varianta cu licen GPL.
Sistemele de operare pe care este suportat oficial sunt: Linux/X11 Qt pentru X Window System (Unix / Linux)
41
Mac OS X Qt pentru Apple Mac OS X. Suport pentru aplicaiile peste API-urile Cocoa. Windows Qt pentru Microsoft Windows Embedded Linux Qt platforme ncorporate (PDA, Smartphone, etc.) Windows CE Qt pentru Windows CE Symbian Qt pentru Symbian. Qt va nlocui framework-ul Nokia Avkon i va deveni kitul de dezvoltare UI pentru dezvoltarea aplicaiilor pentru Symbian.
Datorit faptului c frameworkul a devenit open source, comunitatea a inceput sa dezvolte suport i pentru alte sisteme de operare cum ar fi:
Qt for OpenSolaris Qt pentru OpenSolaris Qt for Haiku Qt pentru Haiku OS Qt for OS/2 Qt pentru OS/2 eCS platform. Qt-iPhone dezvoltare experimental Qt pentru iPhone. Android-Lighthouse dezvoltare experimantal Qt pentru Android. Qt for Amazon Kindle DX dezvoltare experimental pentru Amazon Kindle DX. n continuare vom prezenta o parte din componentele multi-platform puse la
dispoziie de framework-ul Qt, pentru a ne putea face o idee despre facilitie pe care le pune la dispoziie, vom prezenta n continuare principalele funcionaliti pe care acesta ncearc s le nglobeze i anume: interfaa utilizator access la baza de date comunicaii de reea procesare XML fire de execuie librarii de grafica 3D bazate pe OpenGL. clase template
42
execuie, aceast funcionalitate fiind de asemenea independent de platform. Acest lucru este important deoarece Qt-ul reuete s implementeze managementul firelor de execuie la nivelul aplicaiei, folosind API-urile specifice platformei pe care se execut codul, spre deosebire de Java, spre exemplu la care managementul se realizeaz la nivelul masinii virtuale.
3.2.4. Programare n re ea
Un alt modul important al acestui framework, este modulul de comunicare n reea. Acest modul pune la dispoziie funcionalitate de nivel nalt pentru comunicaii TCP/IP, UDP, implementeaz protocoale internet de uz comun HTTP, FTP
funcioneaz la parametrii normali i dac se emit corect comenzile de formare a amestecului de combustibil-aer. Controlul defectos al acestui amestec duce la emisii de
45
Instrumentele de urmrire a parametrilor motorului, puse la dispoziie de modulul de monitorizare sunt urmtoarele: Vitezometru - cu afiare clasic (ac indicator) i afiare n format numeric Turometru (numarul de rotaii pe minut pentru motor) afiare clasic (ac indicator) i afiare n format numeric instrument pentru monitorizarea temperaturii n amestecului de rcire instrument pentru monitorizarea masei fluxului de aer pe galeria de admisie intrument pentru monitorizarea presiunii pe galeria de admisie instrument pentru determinarea poziiei pedalei de acceleraie
class IADTPlugin {
3.3.2
public:
Pentru a putea realiza integrarea cu aplicaia principal este nevoie de implementarea virtual QIcon GetPluginIcon() = 0; interfeei IADTPlugin, i actualizarea fiierului de configurare pentru aplicaie. Acest mod facil de integrare este datorat n primul rnd arhitecturi interfeei grafice care a fost gandit n avirtual QString GetVersionString() = 0; , fr modificri ulterioare a fel nct s poat fi extins n permanen sau cu modificri minore.
virtual QWidget* GetWidget() = 0; virtual ~IADTPlugin(){} }; 46 virtual QString GetPluginName() = 0;
Dup cum se poate observa plugin-ul trebuie s pun la dispoziie metode pentru a putea seta interfaa ctre modulul care ncorporeaz funcionalitatea principal. Funcionalitatea principal se refer la funcionalitatea folosit pentru a accesa datele primite de la dispozitivul de achiziie. Este nevoie de un nivel intermediar ntre datele brute primite de la dispozitivul hardware interfaa grafic, datorit faptului c datele primite nu se afl ntr-un format care s permit o interpretare facil. Rolul nivelului intermediar este de a comunica prin intermediul dispozitivului hardware de achiziie, cu ECU (Engine Control Unit) i a prelua informaiile pe care s le ofere nivelelor superioare n formatul dorit, mai pe scurt acest nivel are rolul unui translator, care permite comunicarea ntre utilizator i modulul de control electronic al motorului.
Modul Achizitie de date i traducere
Parametrii monitorizai de aplicaie se rezum la valori numerice, aadar nu este o problem dac pornim de la premisa c toi parametrii pot fi caracterizai prin valori numerice reale. Acest lucru este foarte important n structurarea general a ierarhiei de clase utilizat pentru accesarea valorilor citite de la senzori. Avnd n vedere c protocolul de comunicare ntre modulul software de achiziie i dispozitivul hardware este relativ simplu i exist o similiaritate pentru achiziia pe diferiii senzori, o sa avem o parte de cod comun pentru toate clasele care se ocup de interpretarea datelor primite de la ECU. Transpus n programarea orientat pe obiecte, acest lucru este echivalent cu implementarea unei clase de baz care implementeze funcionalitatea comun i mai apoi derivarea claselor care se ocup de interpretarea rezultatelor din aceast clas. Pentru a v crea o imagine clar a acestui aspect se poate analiza diagrama UML care urmeaz:
48
filtreaz informaia primit de la dispozitivul hardware, elimin informaiile care nu sunt necesare, transform informaia din format ASCII n format binar i returneaz rezultatul la adresa de memorie specificat. Pentru a accesa dispozitivul hardware se folosete o interfa serial emulat, deoarece conectarea dispozitivului la PC se realizeaz prin intermediul USB. Se realizeaz de fapt un bridge soft ntre interfaa serial i interfaa USB. Dispozitivul hardware de achiziie are n componen un circuit integrat FTDI care face conversia de la USB UART RS-232 (procesorul dispozitivului de achiziie primete comenzi prin intermediul interfeei seriale). Producatorul acestui chip pune la dispoziie driver-ul pentru crearea unui port serial irtual, lucru care i scutete pe cei care scriu aplicaiile de necesitatea scrierii de drivere pentru comunicarea prin USB i acelai timp asigur compatibilitatea cu vechile aplicaii care foloseau interfaa serial pentru comunicarea cu dispozitivele hardware. Aadar la nivel de aplicaie interfaa de comunicarea se vede ca o interfaa serial obinuit.
FTDI ELM 327 Chip
Revenind la partea de cod, dup implementarea clasei de baz care se ocup de aducerea datelor brute de la Unitatea de control a motorului, este nevoie de interpretarea datelor pe care le-am primit n funcie de senzorul care a furnizat informaia ctre ECU. Avnd n vedere faptul c timpul de rspuns este relativ mare i depinde de viteza bus-ului intern al autovehiculului este posibil de crearea unui mecanism intern
50
care s furnizeze informaiile ntr-un mod rapid i eventual asincron. n acest sens este nevoie de memorarea temporar a datelor primite de la autovehicul, i interpolarea acestora pentru obinerea de aproximri. Astfel exist un fir de execuie separat care interogheaz ECU n vederea primirii informaiilor dorite, iar n momentul n care aceste informaii sunt primite sunt puse ntr-o zon de memorie comun care va fi utilizat apoi n momentul n care modulul de monitorizare este solicitat pentru a furniza anumite informaii. Acest lucru ne asigur de faptul c nu se ajunge la situaii n care s fie probleme cu blocarea interfeei din cauza faptului c modulul electronic ntrzie n livrarea informaiei dorite, fcnd mai puin vizibil efectul pe care l are comunicaia lent ntre dispozitivul electronic i soft. Detalii despre integrarea modulului de achizi ie cu modulul de monitorizare grafic
BIBLIOGRAFIE
51
52