Χρήση της διεπαφής OBD-II για τη διάγνωση βλαβών και τη λήψη δεδομένων τηλεμετρίας σε αυτοκίνητα



Σχετικά έγγραφα
1. Από ποια μέρη αποτελείται η περιστροφική αντλία πετρελαίου ; Πώς διανέμεται το καύσιμο στους διάφορους κυλίνδρους ;

Γενικές πληροφορίες για το OBD-ΙΙ ή OBD-2. Πηγή : CarCode Muller (Germany) Τι είναι το OBD-2/EOBD;

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

Κωδικοί Ρ01ΧΧ και Ρ02ΧΧ

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

2. Ποιο είναι το πρώτο βήμα της μεθοδολογίας διάγνωσης βλαβών ; 165

Διάγνωση WOW! Me Snooper +

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u

Ανάλυση του κωδικού βλάβης DTC OBD II σύμφωνα με το πρότυπο SAE J2012.

ΗΛΕΚΤΡΙΚΟ ΣΥΣΤΗΜΑ ΑΥΤΟΚΙΝΗΤΟΥ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

99000-SWIFT /2015

PBI-192. Οδηγίες Χρήσης. Paradox to KNX-BUS Interface

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

ΜΕΚ ΙΙ Γ ΕΠΑΛ 29 / 04 / 2018

Εφαρμογή Διαχείρισης Στόλου Οχημάτων «RouteΤracker»

TDB001 ΣΕΛΙΔΑ 1 VERSION /05/2014

Εξειδικευμένη τεχνική πληροφόρηση για επαγγελματίες μηχανικούς και ηλεκτρολόγους αυτοκινήτων

1. Σύστημα μέτρησης πολλαπλών καταναλώσεων με αισθητήρες και οπτικοποίηση σε PC, smartphone ή tablet - CMS

Ένα για όλα Όλα σε ένα: KTS 200: Νέα συσκευή διάγνωσης των μονάδων ECU από την Bosch

Απαντήσεις στις ερωτήσεις του 3 ου κεφαλαίου

Ψηφιακές Επικοινωνίες

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

BT-M6Z02-RF 230V/24V

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

Εκτέλεση προγράμματος

Νέα σειρά Porter. euro

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

ΘΕΡΜΙΚΕΣ ΜΗΧΑΝΕΣ (Σύστημα Εισαγωγής Ψεκασμός Καυσίμου)

Εγχειρίδιο οδηγιών. Θερμοστάτης Εγχειρίδιο χρήστη

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Touareg Hybrid Οδηγός συμπεριφοράς υβριδικού συστήματος

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΕΡΩΤΗΣΕΙΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΤΩΝ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ ΣΤΟ ΜΑΘΗΜΑ : «ΜΕΚ ΙΙ»

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Υλοποίηση του συστήματος ecall εντός του Oχήματος - IVS

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

CTMU. => C = 50pF 10pF = 40 pf. C stray. d (C V ) I= I = C V. C= I t. Ι = dq dt

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2010

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Αρχιτεκτονική υπολογιστών

ΟΔΗΓΙΕΣ ΘΕΡΜΟΣΤΑΤΗ/ΧΕΙΡΙΣΤΗΡΙΟΥ

Λειτουργίες CNC-DNC. Επισκόπηση λειτουργιών CNC Επισκόπηση λειτουργιών DNC Επικοινωνίες. Λειτουργίες CNC-DNC. Γ.Βοσνιάκος-ΕΡΓΑΛΕΙΟΜΗΧΑΝΕΣ

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Τμήμα: Γοχημάτων ΑΘ.ΚΕΡΜΕΛΙΔΗΣ ΠΕ 12.04

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Ασύρματος αυτοματισμός σε συρόμενη καγκελόπορτα που ελέγχεται από PLC.

Σειριακό Τερματικό Serial Terminal (Dumb Terminal)

Volvo fh με i-save ΠΟΤΈ Η ΕΞΟΙΚΟΝΌΜΗΣΗ ΚΑΥΣΊΜΟΥ ΔΕΝ ΉΤΑΝ ΤΌΣΟ ΑΠΛΉ

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΤΩΝ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

Σύστημα τηλεχειρισμού με χρονοθερμοστάτη για λέβητες αερίου

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Ενότητα 8.1. Σειριακή και παράλληλη μετάδοση δεδομένων

ΑΥΤΟΜΑΤΟ ΣΥΣΤΗΜΑ ΕΝΑΛΛΑΓΗΣ ΤΑΧΥΤΗΤΩΝ ΣΕ ΠΟΔΗΛΑΤΟ

ΛΥΣΕΙΣ ΕΞΕΤΑΣΤΙΚΟΥ ΟΚΙΜΙΟΥ

Μαθαίνοντας το hardware του αναπτυξιακού

Ηλεκτρικά ελεγχόμενη πνευματική (:με αέρα) ανάρτηση. Στη φωτό δεξιά φαίνεται ο κινητήρας που τροφοδοτεί με αέρα τις αναρτήσεις.

Electronics μαζί με τα συνοδευτικά καλώδια και το αισθητήριο θερμοκρασίας LM335 που περιέχονται

Απαντήσεις. α) Ειδικός όγκος (ν) είναι το πηλίκο του όγκου που καταλαμβάνει μια ποσότητα αερίου δια της μάζας του. Σελ. 9

Euro IV (Blue Tec 4) 6 - κύλινδροι - V - κινητήρας. Διάμετρος / διαδρομή

Διαχείριση Ενέργειας (BEMS)

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών

XTC45 universal timer

ΚΙΤ ΘΕΡΜΟΣΤΑΤΗ ΧΩΡΟΥ ΚΑΙ ΠΙΝΑΚΑ ΕΛΕΓΧΟΥ ΛΥΧΝΙΩΝ ΜΟΝΑΔΑ ΧΩΡΟΥ ΜΕ ΕΛΕΓΧΟ ΘΕΡΜΟΚΡΑΣΙΑΣ

Η παρεχόμενη ασφάλεια των αυτοκινήτων: χωρίζεται σε:

Τεχνικές Προδιαγραφές Συστήματος

Σύστημα Αυτόματης Ταυτοποίησης. AIS Automatic Identification System

Ανίχνευση Κίνησης Παρουσίας. Κέντρο εκπαίδευσης ISC

QAW810. Μονάδα Χώρου ζώνης. Building Technologies. για ελεγκτές RRV817

WiFi V-Timer ΕΚΔΟΣΗ 2Η

ΚΕΦΑΛΑΙΟ ΜΗΧΑΝΙΚΑ ΕΛΕΓΧΟΜΕΝΕΣ ΑΝΤΛΙΕΣ ΠΕΤΡΕΛΑΙΟΥ

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Σχεδιασμός και Υλοποίηση οχήματος ελεγχόμενου μέσω Bluetooth

Για να ικανοποιηθούν οι σημερινές απαιτήσεις αναπτύχθηκε ένα

Σελίδα.1/1

Ρυθμιστής ηλιακής φόρτισης και αποφόρτισης. Οδηγίες χρήσεις

"Έξυπνο σπίτι" ΚΝΧ και αντλίες θερμότητας (Α/Θ)

To GT30 είναι μια μικρή συσκευή εντοπισμού θέσης με ενσωματωμένο GPS και GSM/GPRS.

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Οδηγίες γρήγορης εκκίνησης.

εξεταστέα ύλη στις ερωτήσεις από την 1 η έως και την 11 η 5.5 Τροφοδοσία Εκχυση καυσίμου των Diesel

Ο ΑΝΑΛΥΤΗΣ ΚΑΥΣΑΕΡΙΩΝ STARGAS 898 είναι τελευταίας τεχνολογίας, κλάσεως 0, με πολλαπλές επεκτάσεις χάρη στην υψηλή τεχνολογία που διαθέτει.

Στα βασικά χαρακτηριστικά τους περιλαμβάνουν: - Νέο ηλεκτρονικό χειριστήριο ελέγχου Touch Pilot - Εξαιρετικά αποδοτικούς εναλλάκτες θερμότητας

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2011

1.060 mm Μεταξόνιο εμπρός Μεταξόνιο πίσω Εμπρόσθιος πρόβολος Οπίσθιος πρόβολος Κύκλος στροφής

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

ENERGY SISTEM BT7 WIRELESS HEADPHONES ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Συστήματα μεταβλητής πολλαπλής εισαγωγής. Τα συστήματα μεταβλητής πολλαπλής εισαγωγής παρουσιάζουν τα

Ελεγκτής Θερμοκρασίας

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Χρήση της διεπαφής OBD-II για τη διάγνωση βλαβών και τη λήψη δεδομένων τηλεμετρίας σε αυτοκίνητα Διπλωματική Εργασία για το Μεταπτυχιακό Πρόγραμμα «Επιστήμη και Τεχνολογία των Υπολογιστών» Κωνσταντίνος Αθανασόπουλος Α.Μ.: 802 Επιβλέπων: Θεμιστοκλής Χανιωτάκης Τριμελής Επιτροπή: Θεμιστοκλής Χανιωτάκης, Επίκουρος Καθηγητής Γεώργιος Αλεξίου, Καθηγητής Ιωάννης Γαροφαλάκης, Καθηγητής 18/7/2013

2

Πάτρα, Ιούλιος 2013 2013 All Rights Reserved 3

4

Περιεχόμενα Πίνακας Εικόνων... 7 Λίστα Πινάκων... 8 Ευχαριστίες... 9 Περίληψη... 10 Abstract... 11 1. Η διεπαφή OBD-II... 12 1.1 Η θύρα OBD-II... 12 1.2 Πρωτόκολλα σηματοδοσίας... 13 1.2.1 ISO 15765-4 (CAN)... 13 1.2.2 ISO 14230-4 (Keyword Protocol 2000)... 14 1.2.3 ISO 9141-2... 14 1.2.4 SAE J1850 PWM και VPW... 15 1.2.5 ISO 11898 (raw CAN)... 15 1.2.6 ISO 15765... 16 1.2.7 SAE J1939... 17 1.3 OBD Modes... 18 2. Υπάρχουσα τεχνολογία και η συνεισφορά της παρούσας εργασίας... 20 3. Παρουσίαση Υλικού... 22 3.1 OBD Board... 22 3.2 Bluetooth Board... 26 3.2.1 Bluetooth command mode και εντολές... 30 3.3 Electronic Control Units και ο εξομοιωτής «ECUsim 5100 Professional OBD-II ECU Simulator»... 32 3.3.1 Electronic Control Units... 32 3.3.2 ECUsim 5100 Professional OBD-II ECU Simulator... 36 4. Υλοποίηση της διαγνωστικής συσκευής... 44 5. Υλοποίηση συνοδευτικού λογισμικού... 51 5.1 Δομή των εντολών και των μηνυμάτων OBD... 51 5.2 Παρουσίαση της εφαρμογής OBD-II MTH... 52 5.2.1 MainActivity... 52 5.2.2 LiveDataFeed... 54 5.2.3 DTCs... 58 5.2.4 Tests... 61 5

5.2.5 VehicleInfo... 62 5.2.6 Γενικές αρχές της λειτουργίας της εφαρμογής OBD-II... 63 6. Επεξεργασία συλλεχθέντων δεδομένων... 64 6.1 Στατιστικά στοιχεία ταχύτητας... 64 6.2 Στατιστικά στοιχεία επιτάχυνσης... 65 6.3 Στατιστική μελέτη της θέσης γκαζιού... 66 6.4 Στατιστική ανάλυση κατανάλωσης καυσίμου... 68 7. Μελλοντικό έργο... 71 Παράρτημα... 73 BlueSingleton.java... 73 MainActivity.java... 74 LiveDataFeed.java... 76 DTCs.java... 100 Tests.java... 110 VehicleInfo.java... 117 Βιβλιογραφία... 125 6

Πίνακας Εικόνων Εικόνα 1 - Pinout θύρας OBD (J1962)... 12 Εικόνα 2 - Κάτοψη του OBD Board... 23 Εικόνα 3 - Οπίσθια άποψη του OBD Board... 25 Εικόνα 4 - Οι διαστάσεις του OBD Board... 26 Εικόνα 5 - Κάτοψη και διαστάσεις του Bluetooth board... 28 Εικόνα 6 - Οπίσθια όψη και διαστάσεις του Bluetooth board... 29 Εικόνα 7 - Το εσωτερικό του ECUsim 5100. Φαίνεται το mainboard χωρίς εγκατεστημένα PIMs... 36 Εικόνα 8 - Το mainboard του ECUsim 5100 με ένα PIM εγκατεστημένο... 37 Εικόνα 9 - Το mainboard του ECUsim 5100 με 2 PIMs εγκατεστημένα... 37 Εικόνα 10 - Το mainboard του ECUsim 5100 με 3 PIMs εγκατεστημένα... 38 Εικόνα 11 - Άποψη του ECUsim 5100... 39 Εικόνα 12 - Το εμπρόσθιο πάνελ του ECUsim 5100... 39 Εικόνα 13 - Το οπίσθιο πάνελ του ECUsim 5100... 40 Εικόνα 14 - Επικοινωνία με τον εξομοιωτή μέσω κονσόλας... 41 Εικόνα 15 - Η συνοδευτική εφαρμογή τους simulator ECUsim Master v1.0... 42 Εικόνα 16 - Το menu του ECUsim Master v1.0... 43 Εικόνα 17 - Break Away Male Headers - Right Angle... 44 Εικόνα 18 - Η τελική μορφή του OBD Board μετά τις απαραίτητες παρεμβάσεις... 45 Εικόνα 19-6 Pin Right Angle Female header... 46 Εικόνα 20 - Βραχυκύκλωση των ακροδεκτών RTS-O και CTS-I για την απενεργοποίηση του flow control... 46 Εικόνα 21 - Τα OBD και Bluetooth boards σε σύνδεση... 47 Εικόνα 22 - Το σύστημα διάγνωσης συνδεμένο στον εξομοιωτή ECUsim 5100... 49 Εικόνα 23 - Το κεντρικό activity της εφαρμογής OBD-II MTH... 53 Εικόνα 24 - OBD-II MTH LiveDataFeed Activity... 54 Εικόνα 25 DTCs Activity - Κωδικοί σφάλματος... 58 Εικόνα 26 - Το activity Tests... 61 Εικόνα 27 - VehicleInfo activity... 62 Εικόνα 28 Φωτογραφία της οθόνης πολλαπλών ενδείξεων του οχήματος δοκιμής αμέσως μετά το πέρας της συλλογής δεδομένων... 65 Εικόνα 29 - Διάγραμμα ταχύτητας... 65 Εικόνα 30 - Διάγραμμα γραμμικών επιταχύνσεων στο διαμήκη άξονα του οχήματος... 66 Εικόνα 31 - Χρονική κατανομή των θέσεων του γκαζιού... 68 7

Λίστα Πινάκων Πίνακας 1 - Pinout θύρας OBD (J1962)... 13 Πίνακας 2 - Συλλογή προτύπων SAE J1939... 17 Πίνακας 3 - Pinout Bluetooth board... 30 Πίνακας 4 - Κατηγορίες εντολών του Bluetooth board... 31 Πίνακας 5 - Εντολές GPIO για το Bluetooth board... 31 Πίνακας 6 Επεξήγηση του πρώτου χαρακτήρα ενός DTC... 59 Πίνακας 7 - Επεξήγηση του δεύτερου χαρακτήρα ενός DTC... 59 Πίνακας 8 - Επεξήγηση του τρίτου χαρακτήρας ενός DTC... 60 Πίνακας 9 - Αποτελέσματα στατιστικής επεξεργασίας ταχύτητας... 64 Πίνακας 10 - Αποτελέσματα στατιστικής επεξεργασίας επιτάχυνσης... 66 Πίνακας 11 - Στατιστική ανάλυση θέσης γκαζιού... 67 Πίνακας 12 - Στατιστική ανάλυση κατανάλωσης καυσίμου... 70 8

Ευχαριστίες Ευχαριστώ θερμά τον καθηγητή κύριο Θεμιστοκλή Χανιωτάκη για την αποδοχή της πρότασής μου να επιβλέψει τη διπλωματική μου εργασία με θέμα τα ενσωματωμένα συστήματα διάγνωσης αυτοκινήτων, δίνοντας μου έτσι την ευκαιρία να ασχοληθώ με έναν τομέα της πληροφορικής που εμπλέκεται με αυτοκίνητα για τα οποία τρέφω ιδιαίτερη αγάπη. Τον ευχαριστώ για την εμπιστοσύνη που μου επέδειξε σε ένα εξειδικευμένο θέμα με το οποίο από όσο γνωρίζω δεν έχει υπάρξει ξανά ενασχόληση στο Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής. Θερμές ευχαριστίες επίσης αξίζουν στον κύριο Κώστα Αδαό μέλος ΕΕΔΙΠ του τμήματος, ο οποίος με στήριξε σε τεχνικά θέματα της υλοποίησης της εργασίας, σε ώρες επιπλέον του κανονικού του ωραρίου. Η συμβολή του ήταν καταλυτική. Τέλος ευχαριστώ τα υπόλοιπα μέλη της τριμελούς επιτροπής καθηγητές κύριο Γαροφαλάκη Ιωάννη και κύριο Αλεξίου Γεώργιο που έδειξαν ενδιαφέρον για το θέμα της διπλωματικής μου εργασίας και δέχθηκαν με χαρά να στελεχώσουν την τριμελή εξεταστική επιτροπή. 9

Περίληψη Στην παρούσα διπλωματική αναπτύσσεται συσκευή ανάγνωσης των δεδομένων του διαύλου CAN (CAN - controller area network - bus) με σκοπό τη λήψη δεδομένων για την τεχνική διάγνωση βλαβών και τη λήψη δεδομένων τηλεμετρίας σε πραγματικό χρόνο. Η διεπαφή OBD-II από το 1996 περιλαμβάνεται υποχρεωτικά σε όλα τα οχήματα που κυκλοφορούν στις ΗΠΑ. Το 2001 η χρήση της γίνεται υποχρεωτική και στα κράτη μέλη της Ευρωπαϊκής Ένωσης για τα βενζινοκίνητα οχήματα, με τα πετρελαιοκίνητα να ακολουθούν το 2004. Η διεπαφή μπορεί να χρησιμοποιηθεί για την εξαγωγή δεδομένων που βοηθούν στην έγκαιρη διάγνωση βλαβών πριν αυτές εξελιχθούν σε κοστοβόρες, στη μελέτη της λειτουργίας του αυτοκινήτου σε πραγματικό χρόνο για την επιβεβαίωση της καλής λειτουργίας του ή για τη συγκέντρωση στοιχείων για τη βελτίωση των επιδόσεών του, στον καθορισμό του κόστους των ασφαλίστρων των αυτοκινήτων ανάλογα με την οδική συμπεριφορά του κατόχου τους, στη διαχείριση στόλων οχημάτων μεταφορικών εταιριών, στον έλεγχο των επιπέδων των εκπεμπόμενων ρύπων (έλεγχος ο οποίος πλέον διεξάγεται σε αρκετές πολιτείες των ΗΠΑ μέσω της διεπαφής OBD-II και όχι με μέτρηση των καυσαερίων από την εξάτμιση του οχήματος) κλπ. Στα πλαίσια της διπλωματικής, υλοποιείται συσκευής ανάγνωσης η οποία θα χρησιμοποίει τα πρωτόκολλα επικοινωνίας που υποστηρίζονται από τη διεπαφή OBD-II ώστε να συλλέγει δεδομένα από τους διαύλους αυτοκινήτων και να τα αποστέλλει σε συνοδευτικό λογισμικό το οποίο θα αναλαμβάνει την παρουσίασή τους και την περαιτέρω επεξεργασία τους για την εξαγωγή χρήσιμων πληροφοριών και συμπερασμάτων. 10

Abstract In this thesis a scan tool is developed for vehicles' CAN buses (CAN - controller area network - bus) in order to obtain data for fault diagnosis and receiving telemetry data in real time. In 1996 the OBD-II specification is made mandatory for all cars sold in the United States. In 2001 its use becomes mandatory for Member States of the European Union for vehicles with petrol engines and in 2004 for cars equipped with diesel engines. The interface can be used to export data to help in diagnosing faults before they become costly, to study the function of the car in real time, to confirm proper operation or to gather data for improving performance, in determining the cost of car insurance premiums depending on the driving behavior of their owner, in managing fleets of transport companies, to control the level of emitted pollutants (check that is now conducted in several U.S. states via the OBD-II interface and not by measuring the exhaust gases from the exhaust) etc. In this thesis an OBD scanner is developed that uses the communication protocols supported by OBD-II interface in order to collect data from car buses and sends it to a bundled software for presentation and further processing for extracting useful information and draw further conclusions. 11

1. Η διεπαφή OBD-II Ο όρος On-board diagnostics (Ενσωματωμένα συστήματα διάγνωσης) ή OBD, είναι ένας όρος της αυτοκινητοβιομηχανίας που αναφέρεται στην δυνατότητα των οχημάτων για αυτοδιάγνωση και αναφορά βλαβών. Τα συστήματα OBD δίνουν στον ιδιοκτήτη ενός οχήματος ή στον τεχνικό πρόσβαση σε πληροφορίες για την κατάσταση διαφόρων υποσυστημάτων του οχήματος. Το είδος και η ποσότητα των διαγνωστικών πληροφοριών που διατίθενται μέσω των OBD έχει διαφοροποιηθεί σε μεγάλο βαθμό από την εμφάνισή τους στις πρώτες τους εκδόσεις τη δεκαετία του 1980. Οι πρώτες εκδόσεις των ενσωματωμένων διαγνωστικών συστημάτων ενεργοποιούσαν κάποια ενδεικτική λυχνία βλάβης, αλλά δεν παρείχαν καμία πληροφορία ως προς τη φύση του προβλήματος. Οι σύγχρονες υλοποιήσεις OBD χρησιμοποιούν μια τυποποιημένη ψηφιακή θύρα για να παρέχουν δεδομένα σε πραγματικό χρόνο, επιπρόσθετα σε μια τυποποιημένη σειρά από Διαγνωστικούς Κωδικούς Σφαλμάτων, ή DTCs - Diagnostic Trouble Codes, οι οποίοι επιτρέπουν τον ταχύτατο εντοπισμό βλαβών. [1] Στην παρούσα διπλωματική εργασία θα ασχοληθούμε με την έκδοση 2 των ενσωματωμένων διαγνωστικών συστημάτων (OBD-II), η οποία αποτελεί βελτίωση των εκδόσεων OBD-I και OBD-1.5. Το πρότυπο καθορίζει τον τύπο της θύρας και το pinout της, τα σήματα επικοινωνίας και τη δομή των μηνυμάτων. Επίσης καθορίζει μια υποψήφια λίστα των παραμέτρων για έλεγχο μαζί με την κωδικοποίηση των διαγνωστικών μηνυμάτων. [2] 1.1 Η θύρα OBD-II Δεν υπάρχει διεθνές πρότυπο για τη θύρα OBD-II. Στην πλειοψηφία των οχημάτων έχει 16 επαφές οι οποίες αναλύονται με τη βοήθεια της εικόνας και του πίνακα παρακάτω. [3] Εικόνα 1 - Pinout θύρας OBD (J1962) Αριθμός επαφής (pin) Λειτουργία 1 Στην ευχέρεια του κατασκευαστή 2 Θετική γραμμή για τα πρωτόκολλα SAE- J1850 PWM και SAE-1850 VPW 3 Στην ευχέρεια του κατασκευαστή 4 Γείωση αμαξώματος 5 Γείωση σημάτων 6 CAN high (ISO 15765-4 και SAE-J2284) 7 K line of ISO 9141-2 και ISO 14230-4 12

8 Στην ευχέρεια του κατασκευαστή 9 Στην ευχέρεια του κατασκευαστή 10 Αρνητική γραμμή του πρωτοκόλλου SAE- J1850 PWM (όχι του SAE-1850 VPW) 11 Στην ευχέρεια του κατασκευαστή 12 Στην ευχέρεια του κατασκευαστή 13 Στην ευχέρεια του κατασκευαστή 14 CAN low (ISO 15765-4 and SAE-J2284) 15 L line (ISO 9141-2 και ISO 14230-4) 16 Τάση από τη μπαταρία του οχήματος Πίνακας 1 - Pinout θύρας OBD (J1962) Όπως φαίνεται από τον πίνακα και συγκεκριμένα από την ύπαρξη high και low γραμμών μεταφοράς των σημάτων, ορισμένα πρωτόκολλα χρησιμοποιούν διαφορικά σήματα. Τα pins που η χρήση τους έχει αφεθεί στην ευχέρεια των κατασκευαστών χρησιμοποιούνται από τις εταιρίες κατασκευής αυτοκινήτων για την υλοποίηση δικών τους ιδιωτικών πρωτοκόλλων ή για πρόσβαση σε ιδιόκτητα δίκτυα των κατασκευαστών που εκτός από τις λειτουργίες που περιγράφουν τα πρωτόκολλα OBD υλοποιούν και άλλες επιπρόσθετες. Τέτοια ιδιωτικά δίκτυα δίνουν πληροφορίες για την κατάσταση συστημάτων όπως οι ζώνες ασφαλείας, οι αερόσακοι τα φώτα πορείας, το σύστημα αντιμπλοκαρίσματος φρένων (ευρέως γνωστό ως ABS), το σύστημα ελέγχου πρόσφυσης (ευρέως γνωστό ως ESP ή ESC) κλπ. Επιπλέον επιτρέπουν μέσω των κατάλληλων εντολών τον έλεγχο του συστήματος κεντρικού κλειδώματος, τον έλεγχο των ηλεκτρικών παραθύρων, του ηχοσυστήματος των φλας και των αλάρμ κλπ. Βέβαια για να μπορεί να ερμηνεύσει κανείς τα μηνύματα και να γνωρίζει τις εντολές που υποστηρίζει ένα τέτοιο ιδιωτικό δίκτυο θα πρέπει να έχει πρόσβαση στο πρωτόκολλο που έχει ορίσει ο κατασκευαστής. [4] 1.2 Πρωτόκολλα σηματοδοσίας Πέντε διαφορετικά πρωτόκολλα σηματοδοσίας είναι επιτρεπτά προς χρήση με την διεπαφή OBD-II. Είναι εύκολο να καταλάβει κανείς ποιο πρωτόκολλο υλοποιείται σε ένα συγκεκριμένο όχημα από την ύπαρξη ή μη συγκεκριμένων ακροδεκτών στη θύρα OBD-II. 1.2.1 ISO 15765-4 (CAN) Το CAN bus (controller area network) είναι ένα πρότυπο διαύλου για αυτοκίνητα το οποίο επιτρέπει σε μικροελεγκτές και άλλες ψηφιακές συσκευές να επικοινωνούν μεταξύ τους χωρίς την ανάγκη ύπαρξης ενός κεντρικού υπολογιστή. Για τη μετάδοση των μηνυμάτων του CAN bus μέσω της θύρας OBD χρησιμοποιούνται τα pins 6 (CAN high) και 14 (CAN low). 13

To πρότυπο ISO 15765-4 καθορίζει της απαιτήσεις του διαύλου CAN όταν ένας οι περισσότεροι διασυνδεμένοι ελεγκτές υπόκεινται στο πρότυπο OBD ή WWH-OBD (Worldwide harmonized on-board diagnostics). Το δίκτυο προϋποθέτει την ύπαρξη ενός εξωτερικού ελεγκτικού εξοπλισμού για την επιθεώρηση και την διόρθωση βλαβών. Οι απαιτήσεις του δικτύου CAN για τα συστήματα του αυτοκινήτου και για τον εξωτερικό ελεγκτικό εξοπλισμό βασίζονται στα πρότυπα ISO 15765-2, ISO 11898-1 και ISO 11898-2. Το πρότυπο ISO 15765-4 θέτει περιορισμούς στα Διεθνή Στάνταρντ για την εκπλήρωση των κανονισμών. Δεν καθορίζει την αρχιτεκτονική του διαύλου CAN, αλλά έχει ως στόχο να διασφαλίσει την συμβατότητα του συστήματος CAN του οχήματος με τον εξωτερικό ελεγκτικό εξοπλισμό. Το πρότυπο ISO 15765-4 καθορίζει τις απαιτήσεις για την επιτυχημένη έναρξη, διατήρηση και τερματισμό της επικοινωνίας με ένα όχημα που υιοθετεί τις απαιτήσεις των κανονισμών OBD και WWH-OBD. Η δυνατότητα plug-and-play επικοινωνίας μεταξύ των οχημάτων και του ελεγκτικού εξοπλισμού καθορίζονται ώστε να διασφαλίζεται η διαλειτουργικότητά τους. Το ISO 15765-4 αναφέρει λεπτομερώς όλες τις απαιτήσεις του μοντέλου OSI για την επίτευξη αυτού του στόχου. [5] [6] [7] Οι υποστηριζόμενοι ρυθμοί μετάδοσης δεδομένων είναι 250 kbit/s και 500 kbit/s. 1.2.2 ISO 14230-4 (Keyword Protocol 2000) Το Πρωτόκολλο Keyword 2000 (Keyword Protocol 2000 ή για συντομία KWP2000) είναι ένα από τα πρωτόκολλα επικοινωνίας που χρησιμοποιείται στα ενσωματωμένα συστήματα διάγνωσης των αυτοκινήτων και καλύπτει το επίπεδο εφαρμογών στο μοντέλο αναφοράς OSI καθώς και το επίπεδο συνόδου εξασφαλίζοντας την έναρξη, τη διατήρηση και τον τερματισμό της επικοινωνίας με τον διαγνωστικό εξοπλισμό. [8] Το πρωτόκολλο έχει τυποποιηθεί από τον Διεθνή Οργανισμό Τυποποίησης (International Organization for Standarization ή ISO) ως ISO 14230-4. Για τη μετάδοση των μηνυμάτων μέσω της θύρας OBD χρησιμοποιούνται τα pins 7 (K- Line) και προαιρετικά και το 15 (L-Line) και οι υποστηριζόμενοι ρυθμοί μετάδοσης κυμαίνονται από 1,2 έως 10,4 kilobaud με το μέγιστο μέγεθος ενός μηνύματος να φτάνει τα 255 bytes. 1.2.3 ISO 9141-2 Το πρωτόκολλο ISO 9141-2 έχει ασύγχρονο ρυθμό μετάδοσης 10,4 kilobaud. Παρουσιάζει ομοιότητες με το RS-232, όμως τα επίπεδα των σημάτων του διαφέρουν από το προαναφερθέν πρωτόκολλο και η επικοινωνία διεξάγεται μέσω μιας μονής αμφίδρομης 14

γραμμής χωρίς την ύπαρξη σημάτων χειραψίας. Το πρωτόκολλο χρησιμοποιείται κυρίως από την Chrysler και από ευρωπαϊκά και ασιατικά οχήματα. Όπως το KWP2000 και το ISO 9141-2 χρησιμοποιεί τα pins 7 και 15 της θύρας OBD. Έχει μέγιστο μήκος μηνύματος 12 bytes. [9] [10] 1.2.4 SAE J1850 PWM και VPW Το πρότυπο αυτό του οργανισμού SAE καθορίζει τις απαιτήσεις για ένα δίκτυο επικοινωνίας κατάλληλο για επίγεια οχήματα εντός και εκτός δρόμου. Καθορίζει ένα ελάχιστο σύνολο απαιτήσεων επικοινωνίας ώστε το δίκτυο να είναι αρκετά φθηνό για απλές εφαρμογές και αρκετά ευέλικτο για χρήση σε περίπλοκες εφαρμογές. Το πρότυπο αυτό καθορίζει δύο συγκεκριμένες υλοποιήσεις του δικτύου που διαφοροποιούνται από αλλαγές στο Φυσικό Επίπεδο. Η μία υλοποίηση είναι βελτιστοποιημένη για μετάδοση δεδομένων με ταχύτητα 10,4 kbps και η άλλη για μετάδοση με 41,6 kbps. Οι παράμετροι του Φυσικού Επιπέδου ορίζονται έτσι σαν να έπρεπε να ανιχνευτούν από τις συσκευές του δικτύου. Αν και υπάρχει δυνατότητα κατασκευής συσκευών που να μπορούν να λειτουργήσουν με οποιοδήποτε τρόπο εκ των δύο υλοποιήσεων, αναμένετε οι κατασκευαστές τους να υιοθετούν μία παραλλαγή του πρωτοκόλλου ανάλογα με την χρήση του δικτύου και το σκοπό της εφαρμογής τους. [11] Το πρωτόκολλο αυτό εφαρμόζεται σε οχήματα Ford με εφαρμογή στο σήμα τεχνικής διαμόρφωσης εύρους παλμού (Pusle-width Modulation / PWM). Χρησιμοποιούνται οι ακροδέκτες 2 (Bus+) και 10 (Bus-) της θύρας OBD. Σε αυτοκίνητα της εταιρίας General Motors χρησιμοποιείται διαμόρφωση με μεταβλητό εύρος παλμού (Variable pulse width ή VPW). Τα αυτοκίνητα αυτά χρησιμοποιούν το pin 2 (Bus+) της θύρας OBD. [10] 1.2.5 ISO 11898 (raw CAN) Το πρωτόκολλο ISO 11898 τυποποιεί μια τεχνολογία σειριακής επικοινωνίας σε δίκτυα CAN που υποστηρίζει κατανεμημένο έλεγχο σε πραγματικό χρόνο και πολυπλεξία των δεδομένων. Πιο συγκεκριμένα: ISO 11898-1: To πρότυπο ISO 11898-1:2003 καθορίζει επίπεδο ζεύξης δεδομένων και τα φυσικά σήματα του δικτύου CAN. Ενώ περιγράφει την αρχιτεκτονική του δικτύου ως ιεραρχικά επίπεδα σύμφωνα με το μοντέλο αναφοράς OSI, ταυτόχρονα καθορίζει τις υποδομές για την ανταλλαγή ψηφιακών μηνυμάτων μεταξύ των διάφορων μονάδων του δικτύου 15

καθορίζοντας λεπτομερώς το υποεπίπεδο ζεύξης δεδομένων και το υποεπίπεδο ελέγχου πρόσβασης σε μέσα (Medium Access Control, ευρέως γνωστό ως MAC). [12] ISO 11898-2: Το πρότυπο ISO 11898-2:2003 καθορίζει την υψηλής ταχύτητας (έως 1 Mbit/s) Μονάδα Πρόσβασης Μέσων (Medium Access Unit ή MAU) και κάποια χαρακτηριστικά εξαρτώμενα από τις διεπαφές των μέσων (MDI) του δικτύου τα οποία αποτελούν το φυσικό επίπεδο του CAN. [13] ISO 11898-3: Το πρότυπο ISO 11898-3:2006 καθορίζει τα χαρακτηριστικά της επίτευξης ανταλλαγής ψηφιακών δεδομένων μεταξύ ηλεκτρονικών μονάδων ελέγχου (ECUs) σε οχήματα εξοπλισμένα με CAN που υποστηρίζει ταχύτητες μετάδοσης δεδομένων από 40 kbit/s έως 125 kbit/s. [14] ISO 11898-4: Το πρότυπο ISO 11898-4:2004 καθορίζει τη χρονικά πυροδοτούμενη επικοινωνία στο δίκτυο CAN. Χρησιμοποιείται στη χρονοπρογραμματισμένη ανταλλαγή δεδομένων μεταξύ των μονάδων του δικτύου και καθορίζει τα πακέτα συντονισμού που συγχρονίζουν τη λειτουργία τόσο των λογικών επιπέδων όσο και της μονάδας πρόσβασης μέσων για να παρέχει το πρόγραμμα της επικοινωνίας. [15] ISO 11898-5: Το πρότυπο ISO 11898-5:2007 καθορίζει το φυσικό επίπεδο του CAN για ρυθμούς μετάδοσης έως 1 Mbit/s για χρήση σε επίγεια οχήματα. Περιγράφει τις λειτουργίες της μονάδας πρόσβασης μέσων. Αποτελεί επέκταση του προτύπου ISO 11898-2, η οποία αντιμετωπίζει τη νέα λειτουργικότητα για συστήματα που απαιτούν χαμηλή κατανάλωση όταν δεν υπάρχει ενεργή επικοινωνία στο δίαυλο. Οι υλοποιήσεις του φυσικού επιπέδου σύμφωνα με το πρότυπο ISO 11898-5:2007 είναι συμβατές με όλες τις παραμέτρους του προτύπου ISO 11898-2, αλλά ορίζονται διαφορετικά στο ISO 11898-5:2007. Υλοποιήσεις σύμφωνα με το πρότυπο ISO 11898-5:2007 και το ISO 11898-2 είναι διαλειτουργικές και μπορούν να χρησιμοποιηθούν ταυτόχρονα σε ένα δίκτυο. [16] 1.2.6 ISO 15765 ISO 15765-1: Το πρότυπο ISO 15765-1:2011 δίνει μια προεπισκόπηση της δομής και του διαχωρισμού του προτύπου ISO 15765 και επιδεικνύει της σχέσης μεταξύ των διαφόρων μερών. Ακόμη καθορίζει τη δομή του διαγνωστικού δικτύου. Η ορολογία που καθορίζεται σε αυτό το μέρος του προτύπου είναι κοινή για όλα τα διαγνωστικά δίκτυα και χρησιμοποιείται σε όλα τα μέρη του ISO 15765. [17] ISO 15765-2: Το πρότυπο ISO 15765-2:2011 πραγματεύεται την αποστολή πακέτων σε ένα δίκτυο CAN. Το πρότυπο επιτρέπει τη μεταφορά μηνυμάτων που υπερβαίνουν τα 8 bytes των πακέτων του πρωτοκόλλου CAN, διαμερίζοντας τα μηνύματα σε πολλαπλά πακέτα και επιτρέποντας την επανένωσή τους από τον παραλήπτη με τη βοήθεια μεταδεδομένων. [18] ISO 14229-3: Το πρότυπο ISO 14229-3:2012 αποτελεί αναθεώρηση του προτύπου ISO 15765-3:2004. Καθορίζει την υλοποίηση ενός κοινού σετ ενοποιημένων 16

διαγνωστικών υπηρεσιών (unified diagnostic services ή για συντομία UDS) σε δίκτυα CAN επίγειων οχημάτων (UDSonCAN). Κάνοντας αναφορά στα πρότυπα ISO 14229-1 και ISO 14229-2 καθορίζει τις απαιτήσεις για την υλοποίηση διαγνωστικών υπηρεσιών. Δεν καθορίζει καμία απαίτηση για την υλοποίηση του διαύλου CAN των αυτοκινήτων. [19] [20] 1.2.7 SAE J1939 Η συλλογή προτύπων SAE J1939 του οργανισμού SAE International τυποποιεί το δίαυλο που χρησιμοποιείται κυρίως σε οχήματα βαρέως τύπου. Ο δίαυλος J1939 με διαφορετικό φυσικό επίπεδο χρησιμοποιείται για επικοινωνία σε αρθρωτά οχήματα μεταξύ του ελκυστήρα (τράκτορα) και των ρυμουλκούμενων τμημάτων του οχήματος. Στην κατηγορία των αρθρωτών οχημάτων ο δίαυλος J1939 χρησιμοποιεί τα πρότυπα ISO 11992-1:2003 [21], ISO 11992-2:2003 [22], ISO 11992-3:2002 [23] και ISO 11992-4:2005 [24] για την επικοινωνία των διάφορων μονάδων. Πλέον o δίαυλος χρησιμοποιείται και σε επιβατικά αυτοκίνητα κυρίως εφοδιασμένα με πετρελαιοκινητήρες (diesel). [25] Η συλλογή προτύπων J1939 περιλαμβάνει τα παρακάτω πρότυπα [26]: J1939 Προτεινόμενες Πρακτικές για Δίκτυα Σειριακού Ελέγχου και Επικοινωνίας Οχημάτων J1939-01 Προτεινόμενες Πρακτικές Δίκτυα Ελέγχου και Επικοινωνίας Οχημάτων Μεγάλων Αποστάσεων. J1939-02 Δίκτυο Ελέγχου και Επικοινωνίας Γεωργικού και Δασικού εκτός Δρόμου Μηχανικού Εξοπλισμού J1939-03 Οδηγός Υλοποίησης Ενσωματωμένων Συστημάτων Διάγνωσης J1939-05 Οδηγός Υλοποίησης Ενσωματωμένων Συστημάτων Διάγνωσης για Εσωεξωλέμβιους Κινητήρες και Εσωλέμβιους Κινητήρες με ανάφλεξη με Σπινθηριστή J1939-11 Φυσικό Επίπεδο 250 Kbits/s με Θωρακισμένο Καλώδιο Ανεστραμμένου Ζεύγους J1939-13 Μη Ενσωματωμένη Διαγνωστική Θύρα J1939-15 Μειωμένο Φυσικό Επίπεδο, 250 Kbits/s με Μη Θωρακισμένο Καλώδιο Ανεστραμμένου Ζεύγους (UTP) J1939-21 Επίπεδο ζεύξης Δεδομένων J1939-31 Επίπεδο Δικτύου J1939-71 Επίπεδο Εφαρμογών Όχημα J1939-73 Επίπεδο Εφαρμογών Διάγνωση J1939-74 Επίπεδο Εφαρμογών Ρυθμιζόμενα Μηνύματα J1939-75 Επίπεδο Εφαρμογών Γεννήτριες και Βιομηχανικός Εξοπλισμός J1939-81 Διαχείριση Δικτύου J1939-82 Συμβατότητα Μονάδων Δικτύου Φορτηγά και Λεωφορεία J1939-84 Δοκιμή Συμβατότητας σε Συστήματα Επικοινωνίας OBD για κινητήρες και οχήματα υψηλής αντοχής Πίνακας 2 - Συλλογή προτύπων SAE J1939 17

1.3 OBD Modes Τα OBD Modes είναι διαφορετικές υπηρεσίες που παρέχονται από τις Ηλεκτρονικές Μονάδες Ελέγχου (Electronic Control Units ή ECUs) των οχημάτων, όπως καθαρισμός των αποθηκευμένων διαγνωστικών κωδικών σφαλμάτων ή παροχή πληροφοριών σε ζωντανό χρόνο από τους αισθητήρες του οχήματος. Οι κατασκευαστές δεν είναι υποχρεωμένοι να υλοποιούν όλες τις υπηρεσίες (modes) και μπορούν να υλοποιούν δικές τους (manufacturer specific data). Κάθε υπηρεσία έχει το δικό της μοναδικό αναγνωριστικό της μορφής $xx όπου το σύμβολο x αναπαριστά δεκαεξαδικά ψηφία. Υπάρχουν 10 διαφορετικές υπηρεσίες που μπορεί να υποστηρίζονται από τα συστήματα OBD. Σε νεότερα οχήματα που υπάρχει η τάση διάφορες λειτουργίες που διεξάγονταν από αμιγώς μηχανικά συστήματα να εκτελούνται πλέον από ηλεκτρονικά ή ηλεκτρονικώς ελεγχόμενα συστήματα υπάρχει πιθανότητα να υποστηρίζονται περισσότερες υπηρεσίες σε σχέση με παλαιότερα μοντέλα της αυτοκινητοβιομηχανίας. Ακολουθεί μία σύντομη περιγραφή όλων των υπηρεσιών: [27] [28] [29] Service $01: Παρέχει πληροφορίες σχετικές με το σύστημα μετάδοσης κίνησης. Ένα διαγνωστικό εργαλείο μπορεί να λάβει πληροφορίες όπως η ταχύτητα του οχήματος, οι στροφές λειτουργίας του κινητήρα, η θέση του πεντάλ ή της πεταλούδας του επιταχυντή (γκαζιού), η απόλυτη πίεση του αέρα στην εισαγωγή του κινητήρα κλπ. Service $02: Επιστρέφει τα αποθηκευμένα freeze frames που σχετίζονται με έναν κωδικό σφάλματος. Όταν ένας κωδικός σφάλματος ενεργοποιείται μαζί με αυτόν αποθηκεύονται και πληροφορίες για τις συνθήκες που επικρατούσαν στο όχημα κατά την ενεργοποίηση του. Τέτοιες πληροφορίες μπορεί να είναι η θερμοκρασία του μείγματος αντιψυκτικού στο κύκλωμα ψύξης του αυτοκινήτου, η ταχύτητα περιστροφής του κινητήρα, η αναλογία μείγματος αέρα βενζίνης κλπ. οι οποίες μπορούν να βοηθήσουν στην ευκολότερη διάγνωση της αιτίας του προβλήματος. Service $03: Επιστρέφει τους αποθηκευμένους κωδικούς σφαλμάτων. Οι κωδικοί μπορεί να διαγραφούν από τη μνήμη της ECU με τη βοήθεια ενός διαγνωστικού εργαλείου. Service $04: Επιτρέπει τον καθαρισμό από τη μνήμη των ECUs των διαγνωστικών κωδικών ύστερα από κατάλληλο αίτημα της διαγνωστικής συσκευής. Service $05: Επιστρέφει πληροφορίες από τον αισθητήρα (ή τους αισθητήρες) Οξυγόνου (γνωστό και ως αισθητήρα λάμδα) του οχήματος. Ο αισθητήρας μετρά την ποσότητα του οξυγόνου στα αέρια της εξάτμισης και από τη μέτρηση αυτή μπορεί να καθοριστεί αν η αναλογία αέρα καυσίμου είναι η ιδανική ή αν χρειάζεται η μονάδα ελέγχου του κινητήρα να κάνει κάποια προσαρμογή. Service $06: Επιστρέφει αποτελέσματα αυτοδιάγνωσης διαφόρων ηλεκτρονικών συστημάτων του οχήματος. Για παράδειγμα μπορεί να διεξαχθεί έλεγχος για προβληματικούς αισθητήρες, για προανάφλεξη του καυσίμου κ.ά. Service $07: Επιστρέφει του αποθηκευμένους κωδικούς σφαλμάτων οι οποίοι ενεργοποιήθηκαν στον τρέχοντα ή τον προηγούμενο κύκλο οδήγησης. 18

Service $08: Επιτρέπει τον έλεγχο συστημάτων του αυτοκινήτου μέσω της θύρας OBD με τη βοήθεια του διασυνδεμένου διαγνωστικού εργαλείου. Service $09: Επιστρέφει πληροφορίες για το όχημα όπως η διάρκεια λειτουργίας του κινητήρα, η απόσταση που έχει διανυθεί ενώ εκκρεμούν ενεργοποιημένοι κωδικοί σφάλματος, ο αριθμός πλαισίου του αυτοκινήτου κλπ. Service $0A: Επιστρέφει του μόνιμους κωδικούς σφαλμάτων. Οι κωδικοί αυτοί παραμένουν αποθηκευμένοι σε non-volatile μνήμη της μονάδας που τους ενεργοποίησε και διαγράφονται μόνο μετά την αποκατάσταση της σχετιζόμενης βλάβης. Δεν υπάρχει δυνατότητα διαγραφής τους από τον διαγνωστικό εξοπλισμό. 19

2. Υπάρχουσα τεχνολογία και η συνεισφορά της παρούσας εργασίας Σε αυτό το κεφάλαιο θα γίνει μία σύντομη παρουσίαση των υπαρχόντων διαγνωστικών μέσων για να δημιουργηθεί μια πλήρης εικόνα των τεχνολογιών που χρησιμοποιούνται αυτή τη στιγμή στην αγορά και της υλοποίησης που συνοδεύει την παρούσα διπλωματική εργασία. Υπάρχουν συσκευές διάγνωσης χειρός ή πάγκου οι οποίες αποτελούν ολοκληρωμένο σύστημα καθώς λειτουργούν αυτόνομα και παρουσιάζουν τις ενδείξεις σε δική τους ενσωματωμένη οθόνη. Ένας άλλος τύπος διαγνωστικών συσκευών επιτελεί το έργο της επικοινωνίας με το όχημα και προσφέρει σύνδεση μέσω Bluetooth ή USB με φορητές συσκευές (smartphones ή tablets) για να μεταδώσει τις πληροφορίες σε αυτές όπου εφαρμογές οι οποίες εκτελούνται στις φορητές συσκευές αναλαμβάνουν το έργο της παρουσίασης και της επεξεργασίας των ληφθέντων πληροφοριών. Ακόμη υπάρχουν διαγνωστικές συσκευές που συνοδεύονται με λογισμικό για Προσωπικούς Υπολογιστές (Personal Computers) ή Macintosh. Πλεονεκτούν έναντι των δύο άλλων τύπων στη μεγαλύτερη ανάλυση της οθόνης των υπολογιστών. Τέλος υπάρχουν συσκευές (data loggers) που καταγράφουν συγκεκριμένα δεδομένα μέσω της θύρας OBD σε εσωτερική μνήμη, τα οποία αργότερα μπορούν να φορτωθούν μέσω ενσύρματης σύνδεσης σε υπολογιστή ώστε να γίνουν διαθέσιμα μέσω συνοδευτικού λογισμικού στον χρήστη. [30] Στα πλαίσια αυτής της μεταπτυχιακής διπλωματικής εργασίας αναπτύσσεται σύστημα το οποίο γεφυρώνει τη λειτουργικότητα των διαγνωστικών συσκευών που χρησιμοποιούν φορητές συσκευές ως μέσω διεπαφής με τον χρήστη με τις συσκευές data logging. Με τη χρήση hardware ύστερα από κατάλληλες παραμετροποιήσεις, μέσω ασύρματης σύνδεσης Bluetooth, τα αντλούμενα δεδομένα θα αποστέλλονται σε φορητή συσκευή με λειτουργικό σύστημα Android. Λογισμικό το οποίο έχει αναπτυχθεί ειδικά για τους σκοπούς της εργασίας αναλαμβάνει την παρουσίαση των δεδομένων στον χρήστη, αλλά και την καταγραφή τους απευθείας στη φορητή συσκευή υλοποιώντας ταυτόχρονα αντίστοιχη λειτουργικότητα με τις συσκευές data logging. Το υλοποιούμενο σύστημα φέρει τα πλεονεκτήματα των συστημάτων που δεν έχουν ενσωματωμένη οθόνη. Το κόστος παραγωγής της διαγνωστικής συσκευής μειώνεται και ο χρήστης μπορεί να χρησιμοποιεί δική του φορητή συσκευή της αρεσκείας του για να επικοινωνεί με αυτή. Σε περίπτωση μάλιστα που γίνεται χρήση tablet η μεγαλύτερη ανάλυση της οθόνης επιτρέπει την ταυτόχρονη προβολή περισσότερων πληροφοριών. Επιπρόσθετα αναθέτοντας τη διαδικασία καταγραφής δεδομένων στη φορητή συσκευή το κόστος του hardware γίνεται ακόμη χαμηλότερο αφού δε χρειάζεται η διαγνωστική συσκευή να φέρει περισσότερη μνήμη. Μάλιστα οι μεγάλες αποθηκευτικές χωρητικότητες των σύγχρονων φορητών συσκευών δίνουν τη δυνατότητα αποθήκευσης τεράστιου όγκου 20

δεδομένων κάτι που ή δε θα ήταν εφικτό ή θα πολλαπλασίαζε αρκετές φορές το κόστος της διαγνωστικής συσκευής. Ακόμη στα πλαίσια της διπλωματικής γίνεται στατιστική επεξεργασία των καταγεγραμμένων δεδομένων ώστε να εξαχθούν χρήσιμα συμπεράσματα, για παράδειγμα για το οδηγικό στυλ που υιοθετεί ο οδηγός, για τη συμπεριφορά του οχήματος κλπ. Τέλος αναπτύσσεται αλγόριθμος που υπολογίζει τη στιγμιαία κατανάλωση καυσίμου, αφού πρώτα υπολογίσει την εμπλεκόμενη σχέση στο κιβώτιο. Η λειτουργικότητα του υλοποιηθέντος συστήματος περιγράφεται αναλυτικά στο 5 ο κεφάλαιο της παρούσας εργασίας και η στατιστική ανάλυση των συλλεχθέντων δεδομένων στο 6 ο. 21

3. Παρουσίαση Υλικού Στο κεφάλαιο αυτό θα παρουσιαστεί το υλικό που χρησιμοποιήθηκε για την υλοποίηση του συστήματος. Για να γίνει εφικτή η υλοποίηση χρησιμοποιήθηκε ένα OBD board, ένα board με ενσωματωμένο πομποδέκτη Bluetooth και ένας εξομοιωτής που εξομοιώνει τις λειτουργίες διάφορων ηλεκτρονικών μονάδων ενός αυτοκινήτου. 3.1 OBD Board Για την επικοινωνία με τα συστήματα OBD των οχημάτων ή εναλλακτικά με τον εξομοιωτή χρησιμοποιείται το board OBD-II UART της εταιρίας αμερικανικής εταιρίας Sparkfun. Το board αυτό είναι εφοδιασμένο με το ολοκληρωμένο κύκλωμα (integrated circuit - IC) STN1110 της εταιρίας ScanTool.net, LLC. To IC STN1110 είναι ένας πολλαπλών πρωτοκόλλων διερμηνέας (interpreter) OBD-II σε UART (Universal Asynchronous Receiver/Transmitter - UART) το οποίο μετατρέπει τα μηνύματα των πρωτοκόλλων επικοινωνίας των συστημάτων OBD σε κατάλληλη μορφή για σειριακή μετάδοση. Το STN1110 υποστηρίζει τα εξής πρωτόκολλα: legislated OBD II πρωτόκολλα: o ISO 15765-4 (CAN) o ISO 14230-4 (Keyword Protocol 2000) o ISO 9141-2 (Asian, European, Chrysler vehicles) o SAE J1850 VPW (GM vehicles) o SAE J1850 PWM (Ford vehicles) non-legislated OBD πρωτόκολλα: o ISO 15765 o ISO 11898 (raw CAN) SAE J1939 OBD πρωτόκολλα (για βαρέα οχήματα) Ανάμεσα στα χαρακτηριστικά του είναι η πλήρης συμβατότητα με το «AT» σύνολο εντολών (command set) του διερμηνέα ELM327 που είναι ένα ευρέως διαδεδομένο ολοκληρωμένο κύκλωμα στην κατηγορία των διερμηνέων OBD. Ακόμη υποστηρίζει το δικό του διευρυμένο σύνολο εντολών το οποίο ονομάζεται «ST». Ακόμη ανιχνεύει την τάση της μπαταρίας μέσω της θύρας OBD, διαθέτει bootloader για την εύκολη αναβάθμιση του υλικολογισμικού του (firmware) και έχει φορτωμένο αλγόριθμο αυτόματης ανίχνευσης του υποστηριζόμενου πρωτοκόλλου επικοινωνίας που υλοποιείται από το όχημα. [31] 22

Επιλέχθηκε board που ενσωματώνει το IC STN1110 αντί του ELM327 λόγω ορισμένων πλεονεκτημάτων του πρώτου έναντι του δεύτερου. [32] Το STN1110 έχει: 10 φορές μεγαλύτερη επεξεργαστική ισχύ (40 MIPS έναντι 4 MIPS) 4 φορές μεγαλύτερη μνήμη Flash (ROM) (128 ΚΒ έναντι 32 KB) Μεγαλύτερη μνήμη RAM (8 ΚΒ έναντι 1,5 KB) Συμβατότητα με το σύνολο εντολών του ELM327 και διευρυμένο σύνολο εντολών Δυνατότητα αναβάθμισης firmware 20 περίπου φορές μεγαλύτερο μέγιστο baud rate UART (10 Mbps έναντι 500 kbps) Εκτός από το ολοκληρωμένο κύκλωμα STN1110 πέρα φυσικά από το κύκλωμα τροφοδοσίας στο OBD board υπάρχουν και οι κατάλληλοι πομποδέκτες για την επίτευξη επικοινωνίας με όλα τα υποστηριζόμενα πρωτόκολλα OBD-II. Για τα περισσότερα πρωτόκολλα ISO χρησιμοποιείται ένας απλός NPN (transistor) γενικού σκοπού ενισχυτής (MMBT2222) ή ένας συγκριτής τάσης (LM339). Για το CAN Bus χρησιμοποιείται ο CAN Transceiver MCP2551. [33] Το board είναι εφοδιασμένο με θύρα DE-9 και με τη βοήθεια καλωδίου συνδέεται με τη θύρα OBD (J1962). Εικόνα 2 - Κάτοψη του OBD Board Στην Εικόνα 2, στην κάτοψη του board, φαίνονται ορισμένες σημαντικές επαφές (ως οπές). Στο πάνω μέρος της εικόνας και ακριβώς κάτω από τη θύρα DE-9 είναι ορατές από αριστερά προς τα δεξιά η επαφή της τροφοδοσίας (από τη θύρα OBD), οι επαφές για τις 23

γραμμές LOW και HIGH για όσα αυτοκίνητα έχουν υλοποιημένο το πρωτόκολλο CAN, οι επαφές για τις γραμμές K και L για όσα αυτοκίνητα χρησιμοποιούν τα πρωτόκολλα επικοινωνίας ISO 9141-2 ή KWP2000, οι επαφές «+» και «-» για τις αντίστοιχες αρτηρίες όσων οχημάτων υλοποιούν το πρωτόκολλο SAE J1850 και τέλος η επαφή της γείωσης. Όλες οι παραπάνω επαφές καθιστούν εφικτή την επικοινωνία του board με όλα τα πρωτόκολλα επικοινωνίας OBD-II (και κατ επέκταση οχήματα με συστήματα OBD-II) και εξασφαλίζουν την τροφοδοσία (οι δύο ακραίες) μέσω της μπαταρίας του αυτοκινήτου. Στο κάτω μέρος του board, είναι ορατοί οι ακροδέκτες (σε μορφή οπών) που χρησιμοποιούνται για τη σειριακή επικοινωνία. Οι οπές με την ένδειξη NC δεν είναι συνδεμένες με κάποιο μέρος του κυκλώματος. Ο ακροδέκτης «GND» χρησιμοποιείται για τη γείωση του κυκλώματος που θα συνδεθεί στο board, ενώ οι ακροδέκτες «TX-O» και «RX-I» αποτελούν έξοδο (transmit) και είσοδο (receive) αντίστοιχα. Από την έξοδο μεταβιβάζονται τα μηνύματα του OBD προς κάποιο εξωτερικό interface, ενώ η είσοδος μεταβιβάζει της εντολές του χρήστη στον interpreter STN1110 και αυτός με τη σειρά του στο σύστημα OBD. Στο μέσο περίπου του board και αριστερά, υπάρχουν 4 LEDs. Τα LEDs «Tx» και «Rx» σχετίζονται με την επικοινωνία μέσω UART και ενεργοποιούνται (κάθε φορά το αντίστοιχο LED) όταν ανταλλάσσονται δεδομένα μεταξύ των ακροδεκτών «TX-O», «RX-I» και μιας εξωτερικής συσκευής. Τα LEDs «OBDRX» και «OBDTX» επισημαίνουν τη μετάδοση δεδομένων μεταξύ του board και του συστήματος OBD του οχήματος. Αν μέσω του ακροδέκτη RX-I φτάσει μια αποδεκτή από το πρωτόκολλο επικοινωνίας OBD εντολή στο board, τότε αυτή μεταβιβάζεται από το STN1110 στην ECU του οχήματος και κατά τη στιγμή της μετάδοσης το LED OBDTX ενεργοποιείται. Κατόπιν η απάντηση της ECU μεταβιβάζεται στον interpreter STN1110 και ενεργοποιείται το LED OBDRX. Αφού ο interpreter STN1110 λάβει την απάντηση της ECU την προωθεί στην εξωτερική συσκευή μέσω του ακροδέκτη TX-O. 24

Εικόνα 3 - Οπίσθια άποψη του OBD Board 25

Εικόνα 4 - Οι διαστάσεις του OBD Board 3.2 Bluetooth Board Για την επικοινωνία του OBD-II UART board με τη φορητή συσκευή χρησιμοποιείται το board Bluetooth Mate Gold της εταιρίας Sparfun. To board αυτό έχει ενσωματωμένο το module RN-41-1 της εταιρίας Roving Networks. Το συγκεκριμένο module υποστηρίζει τις εκδόσεις 2.1, 2.0, 1.2 και 1.1 των προτύπων της τεχνολογίας Bluetooth. Υποστηρίζει επίσης το πρότυπο Bluetooth v2.0 + EDR. Το EDR προέρχεται από τα αρχικά των αγγλικών λέξεων Enhanced Data Rate (Αυξημένος Ρυθμός Μετάδοσης Δεδομένων). Το συγκεκριμένο πρότυπο υποστηρίζει ταχύτητες μετάδοσης έως 3,0 Mbits/s τριπλάσιες της έκδοσης 2.0 (721 Kbit/s). Το RN-41-1 έχει κατανάλωση μόλις 30 ma όταν υπάρχει ενεργή σύνδεση και μικρότερη από 10 ma όταν βρίσκεται σε κατάσταση ανίχνευσης (sniff mode). 26

Υποστηρίζει επικοινωνία με UART (με το προφίλ SPP Serial Port Profile ή με το πρωτόκολλο HCI Host Controller Interface). Στην υλοποίηση της Sparkfun χρησιμοποιείται έξοδος UART και το προφίλ SPP με υποστηριζόμενες ταχύτητες από 2400 έως 115200bps. [34] [35] Το RN-41-1 ανήκει στην ενεργειακή κλάση 1 (Class 1). Αυτό σημαίνει πως έχει εμβέλεια 100 μέτρων και ισχύ 100 mw. Για λόγους σύγκρισης αναφέρεται πως οι Class 2 συσκευές έχουν εμβέλεια 10 μέτρων και ισχύ 2.5 mw (είναι η πιο διαδεδομένη κλάση σε συσκευές της αγοράς) και τέλος οι Class 3 συσκευές εμβέλεια μόλις 1 μέτρου και ισχύ 1 mw. [36] Το board διαθέτει τέλος ενσωματωμένη κεραία ραδιοσυχνοτήτων σε μορφή chip με κεραμική επικάλυψη. Η επιλογή του συγκεκριμένου board έγινε για δύο πολύ σημαντικούς λόγους. Πρώτον, η μεγάλη ισχύς και εμβέλεια του σήματός του το καθιστά ιδανικό για λειτουργία σε περιβάλλοντα με ηλεκτρομαγνητικές παρεμβολές, όπως ο χώρος ενός αυτοκινήτου στην περίπτωση της εργασίας όπου υπάρχουν παρεμβολές από την πληθώρα των ηλεκτρικών συστημάτων του οχήματος, αλλά και από πιθανή ύπαρξη ηλεκτρονικών φορητών συσκευών στην καμπίνα των επιβατών. Δεύτερον η έξοδος UART απλοποιεί τη συνδεσμολογία του Bluetooth board με το OBD Board το οποίο υποστηρίζει επίσης UART. 27

Εικόνα 5 - Κάτοψη και διαστάσεις του Bluetooth board Στην Εικόνα 5 είναι ορατή μιας υψηλής ανάλυσης φωτογραφία του Bluetooth board. Στο επάνω μέρος του board το τμήμα με τη μεταλλική θήκη και το πράσινο PCB (Printed Circuit Board) είναι το RN-41-1 module. Πάνω στο πράσινο PCB είναι τοποθετημένη η κεραία (μπλέ χρώματος). Στην μεταλλική θήκη του module αναγράφεται η διεύθυνση MAC της συσκευής («MAC NO»), ο αριθμός FFC ID, του οποίου οι τρεις πρώτοι χαρακτήρες αποτελούν τον κωδικό αδειοδότησης του κατασκευαστή ο οποίος εκδίδεται από την FCC (Federal Communications Commission Ομοσπονδιακή Επιτροπή Επικοινωνιών) και οι υπόλοιποι χαρακτήρες του αλφαριθμητικού αποτελούν την ονομασία του μοντέλου. Τέλος αναγράφεται η ένδειξη «RoHS compliant» όπου RoHS σημαίνει Restriction of Hazardous Substances Directive (Οδηγία Περιορισμού των Επικίνδυνων Ουσιών) και δηλώνει τη συμμόρφωση με την οδηγία 2002/95/EC της Ευρωπαϊκής Ένωσης για τον περιορισμό της χρήσης συγκεκριμένων επικίνδυνων ουσιών σε ηλεκτρικό και ηλεκτρονικό εξοπλισμό. Στο κάτω μέρος της εικόνας πάνω από τις οπές που αποτελούν τους ακροδέκτες υπάρχουν δύο ενδεικτικά LEDs. Δεξιά με την ένδειξη «Connect» βρίσκεται ένα LED 28

χρώματος πράσινου το οποίο είναι συνδεμένο με τον ακροδέκτη 19 του RN-41-1 και ενεργοποιείται όταν έχει επιτευχθεί σύνδεση Bluetooth του board με κάποια άλλη συμβατή συσκευή ειδάλλως παραμένει ανενεργό. Στα αριστερά υπάρχει LED που συνοδεύεται από την ένδειξη «Stat» και είναι χρώματος κόκκινου. Είναι συνδεμένο με τον ακροδέκτη 21 του module RN-41-1. Όταν υπάρχει ενεργή σύνδεση Bluetooth παραμένει σβηστό. Όταν δεν υπάρχει ενεργή σύνδεση ο ρυθμός με τον οποίο αναβοσβήνει το LED δηλώνει την κατάσταση στην οποία βρίσκεται η συσκευή. Εναλλαγή του LED με ρυθμό 1 HZ δηλώνει πως η συσκευή είναι ορατή από άλλες συσκευές Bluetooth και βρίσκεται σε αναμονή για σύνδεση. Εναλλαγή της κατάστασης του LED με ρυθμό 10 Hz δηλώνει πως η συσκευή βρίσκεται σε «command mode», δέχεται δηλαδή εντολές ρύθμισής της από το χρήστη. [37] [35] [38] Εικόνα 6 - Οπίσθια όψη και διαστάσεις του Bluetooth board Στην Εικόνα 6 στην οπίσθια άποψη του Board φαίνονται στο κάτω μέρος με μορφή οπών οι ακροδέκτες του. Από τα αριστερά προς τα δεξιά: 29

Ακροδέκτης (hole) RTS-O RX-I TX-O VCC CTS-I GND Πίνακας 3 - Pinout Bluetooth board Λειτουργία Μέρος του flow control για την ανταλλαγή δεδομένων. Η ονομασία προέρχεται από τα αρχικά των λέξεων «Request to Send». To Bluetooth board στέλνει σήμα RTS στη συνδεμένη συσκευή και όταν λάβει επιβεβαίωση στέλνει τα δεδομένα. Επίσης δέχεται σήματα RTS ώστε να απαντήσει με CTS όταν είναι έτοιμο να δεχθεί εισερχόμενα δεδομένα. Λήψη δεδομένων σειριακά από τη διασυνδεδεμένη (με φυσική σύνδεση) στο board συσκευή. Αποστολή δεδομένων σειριακά προς τη διασυνδεδεμένη (με φυσική σύνδεση) στο board συσκευή. Τροφοδοσία του board με ηλεκτρικό ρεύμα. Το board διαθέτει ρυθμιστές τάσης που του επιτρέπουν λειτουργήσει με οποιαδήποτε τάση μεταξύ 3,3 και 6 V συνεχούς ρεύματος. [34] Μέρος του flow control για την ανταλλαγή δεδομένων. Η ονομασία προέρχεται από τα αρχικά των λέξεων «Clear to Send». Όταν το Bluetooth board λάβει σήμα CTS στέλνει δεδομένα και όταν αποστείλει σήμα CTS στη συνδεμένη συσκευή δέχεται δεδομένα από αυτή. Γείωση 3.2.1 Bluetooth command mode και εντολές Για να αποκτήσει κανείς πρόσβαση στις ρυθμίσεις της συσκευής πρέπει να στείλει την εντολή «$$$» είτε μέσω της σειριακής θύρας του board είτε ασύρματα μέσω Bluetooth. Η συσκευή απαντά με τους χαρακτήρες ASCII «CMD». [39] To σύνολο εντολών της συσκευής χωρίζεται σε 5 κατηγορίες: [40] SET COMMANDS GET COMMANDS CHANGE COMMANDS ACTION COMMANDS Ρυθμίσεις που αποθηκεύονται στη μνήμη flash του board. Οι ρυθμίσεις τίθενται σε ισχύ ύστερα από επανεκκίνηση της συσκευής. Λήψη και προβολή των αποθηκευμένων ρυθμίσεων. Παροδική αλλαγή διαφόρων ρυθμίσεων. Εκτέλεση εντολών όπως αιτήσεις, συνδέσεις κλπ. 30

GPIO COMMANDS Πίνακας 4 - Κατηγορίες εντολών του Bluetooth board Ρύθμιση και χειρισμός των σημάτων GPIO (General Purpose Input/Output). Παράδειγμα SET COMMAND αποτελεί η εντολή SU,<rate> που ρυθμίζει το baud rate της συσκευής. Γράφοντας για παράδειγμα SU,57 θέτουμε το baudrate σε 57600 baud. Παράδειγμα GET COMMAND αποτελεί η εντολή «D» η οποία απαντά με τα στοιχεία: Address, Name, UART Settings, Security, Pin code, Bonding, Remote Address. Στην κατηγορία υπάρχουν και εντολές μήκους δύο χαρακτήρων όπως η «GB» που επιστρέφει τη διεύθυνση Bluetooth ή η «G&» που επιστρέφει ένα δεκαεξαδικό byte που περιέχει τις τιμές - ρυθμίσεις των PIO pins. Υπάρχει μία μόνο CHANGE COMMAND που υποστηρίζεται από τη συσκευή και αλλάζει προσωρινά τις ρυθμίσεις της θύρας UART χωρίς να απαιτείται επανεκκίνηση. Η ρύθμιση δεν αποθηκεύεται και χάνεται ύστερα από επανεκκίνηση. Συντάσσεται U,<rate>,<E,O,N> όπου <rate> είναι ο ρυθμός baud rate και πρέπει να έχει μήκος αυστηρά 2 χαρακτήρες και E, O και N το είδος της ισοτιμίας για διόρθωση λαθών. Το E υπονοεί άρτια ισοτιμία (Even), το O περιττή (Odd) και το N την απενεργοποιεί (None). Παραδείγματα ACTION COMMANDS αποτελούν οι εντολές C,<address> που επιχειρεί σύνδεση στη δοθείσα διεύθυνση Bluetooth και η F,1 που επανεκκινεί τη συσκευή. Τέλος οι GPIO COMMANDS χρησιμοποιούν μια 16 bit παράμετρο που αποτελείται από 2 bytes. Το πρώτο byte καθορίζει ποιες GPIO θα επηρεαστούν από την εντολή (μόνο όσες έχουν το αντίστοιχο bit της μάσκας ορισμένο ως 1 επηρεάζονται) και το δεύτερο byte περιέχει την τιμή που θα οριστεί γι αυτή τη GPIO. Η 16 bit τιμή δίνεται ως δεκαεξαδική. CMD Παράμετρος Περιγραφή @ <hexword> Καθορίζει τα bit κατεύθυνσης για τις GPIO. (Η GPIO μπορεί να λειτουργήσει ως είσοδος η έξοδος.) & <hexword> Καθορίζει τις τιμές για τις GPIO % <hexword> Αποθηκεύει τα bit κατεύθυνσης των GPIO για την εκκίνηση της συσκευής ^ <hexword> Αποθηκεύει τις τιμές για τις GPIO για την εκκίνηση της συσκευής * <hexword> Καθορίζει τις τιμές για τα PIO8, 9, 10, 11 Πίνακας 5 - Εντολές GPIO για το Bluetooth board Για παράδειγμα η εντολή S@,8080 θέτει τη GPIO-7 ως έξοδο, η εντολή S&,8080 οδηγεί τη GPIO-7 που έχει τεθεί ως έξοδος σε υψηλή κατάσταση, ενώ η εντολή S&,8000 οδηγεί την ορισμένη έξοδο GPIO-7 σε χαμηλή κατάσταση. 31

3.3 Electronic Control Units και ο εξομοιωτής «ECUsim 5100 Professional OBD-II ECU Simulator» Για να καταστεί εφικτή η ρύθμιση και δοκιμή του υλικού, αλλά και η ανάπτυξη λογισμικού για OBD-II χρειάζεται είσοδος από μία μονάδα που υποστηρίζει OBD-II πρωτόκολλα. Τέτοιες ηλεκτρονικές μονάδες είναι διαθέσιμες σε οχήματα. Για να γίνει ανάπτυξη ενός συστήματος στα πλαίσια ενός εργαστηριακού χώρου είναι απαραίτητη η χρήση εξομοιωτή ο οποίος αναπαράγει τα σήματα και χρησιμοποιεί τα πρότυπα των ECU των οχημάτων. 3.3.1 Electronic Control Units Για να γίνει κατανοητή η περιγραφή και λειτουργία του εξομοιωτή ECUsim 5100 πρέπει πρώτα να προηγηθεί μια σύντομη παρουσίαση των μονάδων που εξομοιώνει οι οποίες ονομάζονται Electronic Control Units (Ηλεκτρονικές Μονάδες Ελέγχου) και βρίσκονται σε πληθώρα σε όλα τα σύγχρονα οχήματα. Ο όρος ECU είναι γενικός όρος ο οποίος αναφέρεται στα ενσωματωμένα συστήματα που ελέγχουν ένα ή περισσότερα ηλεκτρικά συστήματα ή υποσυστήματα στα μηχανοκίνητα οχήματα. Ανάλογα με το έργο με το οποίο επιφορτίζονται οι ECUs χωρίζονται σε διάφορους τύπους: Airbag control unit (ACU): Ανάλογα με το όχημα και τον εξοπλισμό του ελέγχει ποιοι αερόσακοι θα πυροδοτηθούν και την ορμή της πυροδότησης προσμετρώντας τη σφοδρότητα, τη γωνία της σύγκρουσης και μια σειρά άλλων παραμέτρων μέσω κατάλληλων αισθητήρων επιταχυνσιόμετρων, γυροσκοπίων κ.ά. [41] [42] Body Control Module (BCU): Η ηλεκτρονική μονάδα αυτή είναι υπεύθυνη για την εποπτεία και τον έλεγχο ηλεκτρικών αξεσουάρ του αμαξώματος όπως το κεντρικό κλείδωμα, τα ηλεκτρικά παράθυρα και οι ηλεκτρικοί καθρέπτες, ο κλιματισμός, το immobilizer, τα φώτα πορείας και καμπίνας κλπ. [43] [44] Engine Control Unit (ECU): Αν και τα αρχικά συμπίπτουν δε θα πρέπει να συγχέεται με την Ηλεκτρονική Μονάδα Ελέγχου (Electronic Control Unit) που είναι ο γενικός όρος για όλες τις ηλεκτρονικές μονάδες ενός αυτοκινήτου. Η Μονάδα Ελέγχου Κινητήρα είναι από τις σημαντικότερες ηλεκτρονικές μονάδες του αυτοκινήτου καθώς είναι υπεύθυνη το συντονισμό λειτουργίας του κινητήρα και την καλή του λειτουργία και απόδοση. Οι εργασίες που εκτελεί μία σύγχρονη ECU περιλαμβάνουν [45] [46] [47]: o Έλεγχο της αναλογίας αέρα / καυσίμου ώστε να επιτυγχάνετε η προβλεπόμενη στοιχειομετρική αναλογία. Η ποσότητα του αέρα που εισέρχεται στον κινητήρα μετράται είτε μέσω αισθητήρα MAF (Mass Flow Sensor) που μετρά τη μάζα του εισερχόμενου αέρα, είτε υπολογίζεται έμμεσα από την απόλυτη ατμοσφαιρική πίεση στα 32

o o o o o o οχήματα που είναι εφοδιασμένα με αισθητήρα MAP (Manifold Absolute Pressure). Έλεγχος του χρονισμού ανάφλεξης. Η ρύθμιση της προπορείας ανάφλεξης (αβάνς) είναι εξαιρετικά σημαντική καθώς αν οι σπινθηριστές αναφλέγουν το καύσιμο σε λάθος χρόνο αυτό έχει καταστροφικές συνέπειες για τον κινητήρα. Έλεγχος των στροφών του ρελαντί. Οι στροφές του ρελαντί ρυθμίζονται ανάλογα με τη θερμοκρασία του κινητήρα και το φορτίο που ευθύνεται στη λειτουργία βοηθητικών συστημάτων όπως αντλιών συστήματος ψύξης, υδραυλικού τιμονιού, κλιματισμού κλπ. Αν οι στροφές του κινητήρα είναι αρκετά χαμηλές η μειωμένη πίεση λαδιού αυξάνει τη φθορά της μηχανής. Έλεγχος μεταβλητού χρονισμού βαλβίδων. Σε πολλούς σύγχρονους κινητήρες ο χρόνος ανοίγματος και κλεισίματος των βαλβίδων εισαγωγής και εξαγωγής των κυλίνδρων μεταβάλλεται ανάλογα με την ταχύτητα του κινητήρα. Σε υψηλές στροφές οι βαλβίδες ανοίγουν ταχύτερα επιτυγχάνοντας καλύτερη ροή αέρα στον κύλινδρο βελτιώνοντας έτσι την ιπποδύναμη και την οικονομία καυσίμου. Έλεγχος της λειτουργίας του turbo. Έλεγχος της ανακυκλοφορίας καυσαερίων. Μέρος των καυσαερίων επανατροφοδοτείται στους κυλίνδρους για τη μείωση των ρίπων των οξειδίων του αζώτου (NO x ) και τη μείωση της κατανάλωσης όταν το φορτίο του κινητήρα δεν είναι υψηλό. Σε αγωνιστικά οχήματα πλήρως προγραμματίσιμες ECU επιτρέπουν τον έλεγχο συστημάτων anti-lag για τα turbo, έλεγχο του ψεκασμού N 2 O, ανεξάρτητο προγραμματισμό του ψεκασμού καυσίμου και της αβάνς ανά κύλινδρο κλπ. Seat Control Unit: Η μονάδα ελέγχου καθίσματος απομνημονεύει τις ρυθμίσεις θέσεως του καθίσματος (ύψος προσκέφαλου γωνία πλάτης, ύψος καθίσματος) και άμεσα σχετιζόμενων συστημάτων (θέσεις ηλεκτρικών καθρεπτών) ώστε να διευκολύνει την εναλλαγή μεταξύ έτοιμων σετ ρυθμίσεων, λειτουργία ιδιαίτερα χρήσιμη όταν ένα όχημα οδηγείται από δύο ή περισσότερους οδηγούς διαφορετικού σωματότυπου ή / και ύψους. Επίσης μπορεί να ελέγχει και συστήματα θέρμανσης και εξαερισμού των καθισμάτων για την μεγαλύτερη άνεση του οδηγού. [48] [49] Speed Control Unit (SCU): Η Μονάδα Ελέγχου Ταχύτητας είναι υπεύθυνη για τη λειτουργία του συστήματος που είναι γνωστό με την εμπορική ονομασία Cruise Control. Το σύστημα διατηρεί σταθερή την ταχύτητα του οχήματος. Ο οδηγός όταν φτάσει στην επιθυμητή ταχύτητα πατώντας ένα πλήκτρο που συνήθως βρίσκεται στις ακτίνες του τιμονιού ενεργοποιεί το Cruise Control το οποίο χειρίζεται το γκάζι έτσι ώστε να διατηρεί την ταχύτητα σταθερή χωρίς ο οδηγός να χρειάζεται να χειρίζεται τα πεντάλ. Σε αυτοκίνητα με ηλεκτρονικό έλεγχο γκαζιού όπου δεν υπάρχει μηχανική σύνδεση μεταξύ πεντάλ και κινητήρα, αλλά το πεντάλ περιέχει ένα ποτενσιόμετρο βάση του οποίου ένα μοτέρ αναλαμβάνει να ανοίγει ή να κλείνει την πεταλούδα του γκαζιού το η SCU μπορεί να 33

συνδυαστεί με τη Μονάδα Ελέγχου Κινητήρα. Το σύστημα απενεργοποιείται αυτόματα όταν ο οδηγός πατά το πεντάλ του φρένου ή του συμπλέκτη ή μπορεί να απενεργοποιηθεί χειροκίνητα από πλήκτρο απενεργοποίησης το οποίο βρίσκεται επίσης στο τιμόνι. [50] [51] Telematic Control Unit: Η μονάδα τηλεματικής έχει ως σκοπό τον εντοπισμό της θέσης και την παρακολούθηση του οχήματος. Με τη χρήση συστήματος GPS προσδιορίζει τη γεωγραφική θέση του οχήματος καταγράφοντας το γεωγραφικό του μήκος και πλάτος. Το στίγμα του οχήματος μπορεί κατόπιν να μεταδίδεται σε ένα κέντρο ελέγχου μέσω δικτύου GSM, LTE ή ακόμη και δορυφορικά. Μπορεί επίσης να συνδέεται με το CAN bus του οχήματος και να προσφέρει επιπλέον δεδομένα τηλεμετρίας. Η ύπαρξή της σε ένα όχημα μπορεί να προσφέρει δυνατότητες διαχείρισης στόλου, απομακρυσμένο έλεγχο της κατάστασης του οχήματος, στατιστικά στοιχεία για τη χρήση του οχήματος, την κατανάλωση καυσίμου κλπ. και ακόμη υπηρεσίες ασφαλείας με άμεση ειδοποίηση των αρχών σε περίπτωση ατυχήματος. [52] [53] Transmission Control Unit (TCU): Η μονάδα αυτή ελέγχει τα αυτόματα κιβώτια ταχυτήτων των σύγχρονων αυτοκινήτων. Με τη χρήση αισθητήρων και τη ροή πληροφοριών από τη Μονάδα Ελέγχου Κινητήρα αποφασίζει για τον τρόπο και το χρόνο αλλαγής ταχυτήτων για την επίτευξη καλύτερης απόδοσης και οικονομίας καυσίμου. Οι αισθητήρες που χρησιμοποιεί η μονάδα και οι συνεργαζόμενες ECU περιλαμβάνουν [54] [55] [56]: o Αισθητήρα ταχύτητας ή Αισθητήρα ταχύτητας τροχών οι οποίοι πληροφορούν τη μονάδα για την ταχύτητα κίνησης του αυτοκινήτου. Ο δεύτερος προσφέρει μεγαλύτερη ακρίβεια από τον πρώτο. o Αισθητήρα θέσης πεντάλ γκαζιού. Στα αυτοκίνητα με ηλεκτρικό γκάζι η μονάδα μπορεί να ανιχνεύσει τη θέση του γκαζιού και να επιλέξει την κατάλληλη σχέση για βέλτιστη οικονομία. o Αισθητήρας γωνιακής ταχύτητας υδραυλικού μετατροπέα ροπής. Ο αισθητήρας αυτός εντοπίζει αν υπάρχει ολίσθηση μεταξύ των δίσκων του υδραυλικού μετατροπέα ροπής (που αντικαθιστά τον συμπλέκτη των μηχανικών κιβωτίων) και να διαχειριστεί την κατάσταση του αντιδραστήρα δίσκου ο οποίος χρησιμεύει για την αύξηση της ροπής. o Αισθητήρας θερμοκρασίας λιπαντικού μετάδοσης. Ο αισθητήρας μετρά τη θερμοκρασία του λιπαντικού μετάδοσης του υδραυλικού μετατροπέα ροπής για λόγους ασφαλείας. Σε μερικά οχήματα το κιβώτιο μπαίνει σε κατάσταση ασφαλούς λειτουργίας αν παρατηρηθεί υπερθέρμανση. o Διακόπτης θέσης γκαζιού. Ο διακόπτης ενεργοποιείται όταν ο οδηγός χρησιμοποιεί όλη τη διαδρομή του γκαζιού και ανιχνεύει την πρόθεσή του οδηγού για μεγαλύτερη επιτάχυνση (για παράδειγμα για την επίτευξη ασφαλούς προσπέρασης). Η TCU κατεβάζει μια σχέση στο κιβώτιο για να αυξήσει την ροπή στους τροχούς και κατά συνέπεια τη γραμμική επιτάχυνση του οχήματος. o Διακόπτης φώτων στόπερ. Ο διακόπτης αντιλαμβάνεται αν ο οδηγός έχει πατημένο το πεντάλ του φρένου και εμποδίζει την εμπλοκή της σχέσης «Drive» αν δεν το έχει για να αποτρέψει ανεπιθύμητη εκκίνηση του 34

o o οχήματος (ειδικά αν ο κινητήρας είναι κρύος και έχει υψηλότερες στροφές ρελαντί). Ο ίδιος διακόπτης μπορεί να χρησιμοποιείται κατά την οδήγηση για να υποβοηθήσει το φρενάρισμα με κατέβασμα σχέσων στο κιβώτιο ώστε να αυξηθεί η επιβράδυνση ή να μειώνεται η καταπόνηση των φρένων Traction Control System. Η TCU μπορεί να λαμβάνει πληροφορίες για την ολισθηρότητα του οδοστρώματος από το Σύστημα Ελέγχου Πρόσφυσης σε όσα οχήματα είναι εφοδιασμένα με αυτό και να ανεβάζει τις σχέσεις του κιβώτιου νωρίτερα για τη μείωση της ροπής η οποία μπορεί εκτρέψει το αυτοκίνητο από την πορεία του. Μπορεί επ σιης σε συγκεκριμένες περιπτώσεις να εκκινεί με δεύτερη σχέση στο κιβώτιο παρακάμπτοντας την πρώτη. Στα οχήματα με Cruise Control η μονάδα λαμβάνει υπόψη της αν το σύστημα είναι ενεργοποιημένο ώστε να γνωρίζει πως το πεντάλ του γκαζιού δεν χειρίζεται από τον οδηγό και να αλλάξει τον αλγόριθμο επιλογής ταχύτητας. Brake Control Module (BCM): Η μονάδα ελέγχει τα συστήματα ABS (Anti-lock Braking System Σύστημα Αντιμπλοκαρίσματος Τροχών) και ESC (Electronic Stability Control Ηλεκτρονικός Έλεγχος Ευστάθειας) το οποίο συχνά αναφέρεται και ως ESP (Electronic Stability Program Ηλεκτρονικό Πρόγραμμα Ευστάθειας) και ενσωματώνεται στα οχήματα από τις αυτοκινητοβιομηχανίες με διάφορες εμπορικές ονομασίες. Το σύστημα ABS ελέγχει αν κάποιος τροχός περιστρέφεται πιο αργά από τους άλλους και μειώνει την υδραυλική πίεση μέσω βαλβίδων στο φρένο του συγκεκριμένου τροχού για να αποτρέψει το μπλοκάρισμα του. Αντιστρόφως αν ένας τροχός περιστρέφεται πιο γρήγορα η ασκούμενη πίεση αυξάνεται. Η διαδικασία επαναλαμβάνεται πολλές φορές το δευτερόλεπτο αποτρέποντας το μπλοκάρισμα ακόμη και σε βίαια φρεναρίσματα πανικού. Η αποτροπή του μπλοκαρίσματος των τροχών επιτρέπει στον οδηγό να διατηρήσει τον έλεγχο του οχήματος και να εκτελέσει ελιγμούς αποφυγής κάτι το οποίο θα ήταν αδύνατο με μπλοκαρισμένου τροχούς. Επίσης μειώνει την απόσταση πέδησης σε σταθερές (ακόμη και ολισθηρές επιφάνειες), ενώ σε σαθρά εδάφη όπως χωματόδρομους η χιόνι η απόσταση πέδησης μεγαλώνει αλλά διατηρείται η καλύτερη κατευθυντικότητα. [57] Το σύστημα ESP με τη σειρά του ανιχνεύει εκτροπές του οχήματος από την πορεία του οι οποίες εκδηλώνονται είτε ως υποστροφή (το όχημα διαγράφει μεγαλύτερη ακτίνα στροφής από αυτή που του υπαγορεύει ο οδηγός με το τιμόνι) είτε ως υπερστροφή (το όχημα στρίβει πιο απότομα προς την κατεύθυνση που το οδηγεί ο οδηγός του). Το σύστημα φρενάροντας ανεξάρτητα τον εσωτερικό πίσω τροχό κατά την υποστροφή ή τον εξωτερικό μπροστινό στην εκδήλωση υπερστροφής προσπαθεί να επαναφέρει το όχημα στην προβλεπόμενη από τον οδηγό πορεία του. Το σύστημα μπορεί να επεμβαίνει και στο ηλεκτρικό γκάζι και να το μειώνει μέχρι την ανάκτηση του ελέγχου της πορείας του αυτοκινήτου. [58] 35

3.3.2 ECUsim 5100 Professional OBD-II ECU Simulator Ο ECUsim 5100 είναι ένας μικρού μεγέθους και βάρους εξομοιωτής πάγκου ο οποίος μπορεί να χρησιμοποιηθεί για τη δοκιμή και ανάπτυξη συσκευών ή λογισμικού OBD. Η αρχιτεκτονική του εξομοιωτή είναι παραμετροποιήσιμη. Βασίζεται σε φορητά boards που ονομάζονται Plug-in Modules ή χάριν συντομίας PIMs. Το mainboard του εξομοιωτή μπορεί να δεχθεί από ένα έως τρία PIMs. Εικόνα 7 - Το εσωτερικό του ECUsim 5100. Φαίνεται το mainboard χωρίς εγκατεστημένα PIMs 36

Εικόνα 8 - Το mainboard του ECUsim 5100 με ένα PIM εγκατεστημένο Εικόνα 9 - Το mainboard του ECUsim 5100 με 2 PIMs εγκατεστημένα 37

Εικόνα 10 - Το mainboard του ECUsim 5100 με 3 PIMs εγκατεστημένα Κάθε PIM υποστηρίζει τα παρακάτω OBD-II πρωτόκολλα: SAE J1850 PWM SAE J1850 VPW ISO 9141-2 ISO 14230-4 (KWP2000) ISO 15765-4 (CAN 250/500 kbps, 11/29 bit) Υπάρχει δυνατότητα εναλλαγής του τρέχοντος πρωτοκόλλου OBD κάθε PIM ενώ η συσκευή βρίσκεται σε λειτουργία (on-the-fly) Κάθε PIM υποστηρίζει τρεις εικονικές ECUs: ECU (Engine Control Unit), TCU (Transmission Control Unit) και ABS (Anti-lock Braking System). Υποστηρίζει επτά από τα δέκα OBD modes $01, $02, $03, $04, $07, $09 και $0A που προβλέπονται από τα πρωτόκολλα OBD. Διαθέτει θύρα USB για τη σύνδεση με υπολογιστή ώστε να είναι δυνατή η παρατήρηση των μηνυμάτων που κυκλοφορούν στο bus της συσκευής, η ρύθμισή της και ο έλεγχός της μέσω κονσόλας. [59] 38

Εικόνα 11 - Άποψη του ECUsim 5100 Εικόνα 12 - Το εμπρόσθιο πάνελ του ECUsim 5100 Στην Εικόνα 12 φαίνεται το εμπρόσθιο πάνελ της συσκευής με τα χειριστήρια και τις ενδεικτικές λυχνίες του (LEDs). Στα αριστερά το LED με την ένδειξη «Power» υποδεικνύει αν η συσκευή τροφοδοτείται με ρεύμα, αυτό με την ένδειξη «Link» όταν ένα εκ των πρωτοκόλλων CAN ή J1850 είναι επιλεγμένο αναβοσβήνει όταν η συσκευή λαμβάνει ένα μήνυμα OBD από τη συνδεμένη διαγνωστική συσκευή και όταν ένα εκ των πρωτοκόλλων ISO 9141-2 ή ISO 14230-4 είναι επιλεγμένο μένει ενεργοποιημένο όταν τουλάχιστον μια ECU έχει ολοκληρώσει τη διαδικασία αρχικοποίησης και βρίσκεται σε λειτουργία και αναβοσβήνει πάλι όταν ο εξομοιωτής λαμβάνει ένα μήνυμα OBD. Τέλος όταν το LED «MIL» είναι ενεργοποιημένο σημαίνει ότι έχει ενεργοποιηθεί κάποιος κωδικός σφάλματος (DTC) σε κάποια ECU. Τα αρχικά MIL προέρχονται από τις λέξεις Malfunction Indication Lamp (Λυχνία Ένδειξης Βλάβης). Τα περιστρεφόμενα κουμπιά αλλάζουν τις τιμές κάποιων συχνά χρησιμοποιούμενων παραμέτρων της Μονάδας Ελέγχου Κινητήρα. Το κουμπί «Coolant» αλλάζει τη θερμοκρασία του αντιψυκτικού υγρού του κυκλώματος ψύξης, το «RPM» τις στροφές του κινητήρα, το «SPEED» την ταχύτητα του οχήματος, το «O 2 Volts» την τάση του αισθητήρα λάμδα η οποία μεταφράζεται σε αναλογία αέρα καυσίμου και τέλος το κουμπί «MAF» την τιμή του αισθητήρα MAF ο οποίος μετρά τη μάζα του εισερχόμενου αέρα στον κινητήρα. Το κόκκινο πλήκτρο μεταξύ των περιστρεφόμενων κουμπιών και των LEDs ενεργοποιεί τους κωδικούς σφάλματος για τις ECUs των PIMs. Κάθε φορά ενεργοποιούνται οι ίδιοι προκαθορισμένοι κωδικοί για όλα τα PIMs και τις ECUs τους. 39

Στα δεξιά της πρόσοψης υπάρχουν άλλα τρία LEDs, «PIM 1», «PIM 2» και «PIM 3» τα οποία υποδεικνύουν ποιο PIM είναι ενεργοποιημένο. Υπάρχει δυνατότητα να ενεργοποιηθούν και τα τρία PIMs ταυτοχρόνως. Εικόνα 13 - Το οπίσθιο πάνελ του ECUsim 5100 Στην οπίσθια όψη υπάρχουν και άλλα χειριστήρια καθώς και θύρες για τη σύνδεση της συσκευής. Στα αριστερά της Εικόνας 13 πρώτος φαίνεται ο διακόπτης «PIM Select» ο οποίος καθορίζει ποιο PIM θα ενεργοποιηθεί. Αμέσως δεξιά υπάρχει θηλυκή θύρα USB Type B για τη σύνδεση της συσκευής με υπολογιστή. Ακολουθεί η θύρα J1962 (με την ένδειξη DLC) η οποία είναι η θύρα που χρησιμοποιείται από τα πρωτόκολλα OBD-II και μέσω αυτής διεξάγεται η επικοινωνία με τις ECU του συστήματος. Δεξιά της θύρας υπάρχει DIP Switch με τέσσερις διακόπτες. Ο πρώτος «PIM ALL» όταν είναι κατεβασμένος (όπως στην Εικόνα 13) παρακάμπτει τη ρύθμιση του διακόπτη PIM Select και ενεργοποιεί ταυτόχρονα και τα 3 PIMs. Ο δεύτερος «5BAUD/FAST» επιλέγει τον τύπο αρχικοποίησης για τα PIMs που έχουν ρυθμιστεί να χρησιμοποιούν το πρωτόκολλο ISO 14230-4. Όταν ο διακόπτης είναι κατεβασμένος (όπως στη φωτογραφία) επιλέγεται αρχικοποίηση «5 baud», ενώ στην πάνω θέση επιλέγεται αρχικοποίηση «FAST». Τα baud rates αυτά αναφέρονται στην ταχύτητα ανταλλαγής δεδομένων κατά την αρχικοποίηση του PIM. Ο τρίτος διακόπτης επιλέγει το μέγεθος του «CAN Frame ID». Στην κάτω θέση (όπως στην Εικόνα 13) επιλέγεται ID 11 bit και στην πάνω 29. Ο δεξιότερος διακόπτης του DIP Switch επιλέγει το baud rate του CAN bus το οποίο μπορεί να ρυθμιστεί στα 250 kbps κατεβάζοντας το διακόπτη (όπως επίσης φαίνεται στην εικόνα) ή στα 500 kbps ανεβάζοντας τον. Η τελευταία υποδοχή που φαίνεται στην Εικόνα 13 είναι η υποδοχή για το καλώδιο του μετασχηματιστή ο οποίος τροφοδοτεί τη συσκευή με συνεχές ρεύμα τάσης 12 V. [60] Οι δυνατότητες του εξομοιωτή όμως δεν περιορίζονται στις παραπάνω. Μέσω σειριακής επικοινωνίας με τη συσκευή και με τη χρήση terminal emulator και μιας σειράς εντολών υπάρχει δυνατότητα για περισσότερες ρυθμίσεις και παραμετροποιήσεις. Μέσω terminal είναι δυνατή η αλλαγή μεταξύ των υποστηριζόμενων πρωτοκόλλων των PIMs. Υπάρχει επίσης η δυνατότητα της δημιουργίας custom ECUs, με τα δικά τους υποστηριζόμενα PIDs (θα γίνει αναφορά σε αυτά στο 5 ο κεφάλαιο της εργασίας), με τους δικούς τους DTCs και τα δικά τους freeze frames. Δεν υπάρχει κανένας περιορισμός στον αριθμό των νέων αντικειμένων που προστίθενται προγραμματιστικά μέσω terminal. Η προσθήκη νέων ECUs, PIDs, DTCs και freeze frames περιορίζεται μόνο από τη διαθέσιμη 40

μνήμη της συσκευής. Αυτή η δυνατότητα της πλήρους παραμετροποίησης του εξομοιωτή τον καθιστά ένα πολύ ισχυρό εργαλείο καθώς εξαλείφει όποιους περιορισμούς θέτει η συσκευή λόγω του αρχικού της προγραμματισμού. Εικόνα 14 - Επικοινωνία με τον εξομοιωτή μέσω κονσόλας Στην Εικόνα 14 φαίνεται η κονσόλα του προγράμματος HyperTerminal μετά την αποκατάσταση της σύνδεσης μέσω virtual COM με τον ECUsim 5100. Μετά την αποκατάσταση της σύνδεσης η συσκευή στέλνει στην εφαρμογή το επιλεγμένο OBD πρωτόκολλο (στη συγκεκριμένη περίπτωση το ISO 9141-2) και κατόπιν τις διευθύνσεις των τριών υποστηριζόμενων ECU. Μετά τις αρχικές πληροφορίες εντός των συμβόλων «<» και «>» ακολουθούν δύο μηνύματα που ενημερώνουν για την αρχικοποίηση της ECU και αμέσως μετά εμφανίζονται τα μηνύματα που ανταλλάσσονται μέσω της θύρας OBD της συσκευής με τη συνδεδεμένη διαγνωστική συσκευή. [61] 41

Εικόνα 15 - Η συνοδευτική εφαρμογή τους simulator ECUsim Master v1.0 Στην Εικόνα 15 παρουσιάζεται η εφαρμογή ECUsim Master v1.0. Η εφαρμογή παρέχει και αυτή υπηρεσίες αντίστοιχες με ενός terminal. Στην κορυφή της εικόνας «MON1» που θέτει την παρακολούθηση του bus του simulator ενεργεί. O εξομοιωτής απαντά με το μήνυμα «OK» με το οποίο επιβεβαιώνει την επιτυχή εκτέλεση της. Κατόπιν εκτελείται επίσης επιτυχώς η εντολή «SP5» που καθιστά ενεργό το πρωτόκολλο επικοινωνίας OBD-II «5». Σύμφωνα με σύμβαση του κατασκευαστή του εξομοιωτή με τον αριθμό 5 γίνεται αναφορά στο πρωτόκολλο ISO 15765-42. Τα υπόλοιπα μηνύματα έχουν ήδη επεξηγηθεί όταν έγινε αναφορά στη χρήση του HyperTerminal. Τέλος η ίδια εφαρμογή διαθέτει μενού μέσω του οποίου μπορούν να εκτελεστούν συγκεκριμένες ενέργειες χωρίς την πληκτρολόγηση εντολών, με τη χρήση του ποντικιού κάνοντας κλικ στην αντίστοιχη εγγραφή του μενού. 42

Εικόνα 16 - Το menu του ECUsim Master v1.0 H πρώτη εγγραφή του μενού (Εικόνα 16) ανοίγει την κονσόλα του προγράμματος. Οι εγγραφές που σημειώνονται με πράσινο βέλος αφορούν την εναλλαγή πρωτοκόλλων επικοινωνίας. Η εγγραφή με το σύμβολο ενεργοποιεί και απενεργοποιεί την παρακολούθηση του bus της συσκευής ενώ η επιλογή Reset επανεκκινεί τον ECUsim 5100. Η τελευταία εγγραφή τερματίζει την εφαρμογή ECUsim Master v1.0. [59] 43

4. Υλοποίηση της διαγνωστικής συσκευής Για την υλοποίηση της συσκευής χρειάζεται η ορθή διασύνδεση και ρύθμιση του υλικού που παρουσιάστηκε στο προηγούμενο κεφάλαιο της διπλωματικής εργασίας. Με τη χρήση κολλητηριού συγκολλούμε στο OBD board ένα αρσενικό header στις οπές που αποτελούν του ακροδέκτες του UART port. Ο τύπους του header που χρησιμοποιήθηκε φαίνεται στην επόμενη εικόνα. Εικόνα 17 - Break Away Male Headers - Right Angle Το header μπορεί να κοπεί στο επιθυμητό μήκος. Στην περίπτωση του OBD board χρειάζονται έξι ακροδέκτες. Κατόπιν ελέγχουμε τη συμβατότητα του UART port του OBD board με το αντίστοιχο port του Bluetooth board με το οποίο πρέπει να το συνδέσουμε. Παρατηρούμε πως υπάρχουν διαφορές οι οποίες πρέπει να επιλυθούν ώστε να καταστεί δυνατή η επικοινωνία των boards. Το OBD board έχει μη συνδεδεμένα pins (σημειώνονται με την ένδειξη NC Not Connected στο PCB) στις θέσεις όπου το Bluetooth board δέχεται την τροφοδοσία του και τα σήματα handshake RTS και CTS. Πρώτα επιλύουμε το ζήτημα της τροφοδοσίας. Το Bluetooth board έχοντας ρυθμιστές τάσης μπορεί να λειτουργήσει με οποιαδήποτε τάση συνεχούς ρεύματος μεταξύ 3,3 V και 6 V. Αναζητούμε στο OBD board κατάλληλη πηγή τροφοδοσίας για το Bluetooth. Την τροφοδοσία μπορεί να αναλάβει το ολοκληρωμένο «317MG» το οποίο είναι ρυθμιστής τάσης. Το pin 2 το οποίο αποτελεί την έξοδο του ολοκληρωμένου κυκλώματος (το pin 3 είναι η είσοδος και το 1 αυτό το οποίο ρυθμίζει την τάση εξόδου) έχει τάση 5,87V η οποία είναι εντός των επιτρεπτών ορίων του Bluetooth board. Τέλος ελέγχουμε αν το ολοκληρωμένο μπορεί να τροφοδοτήσει με αρκετό ρεύμα το Bluetooth board ή εάν 44

αντιστρόφως υπάρχει κίνδυνος το Bluetooth module να τραβήξει αρκετό ρεύμα από την μπαταρία του αυτοκινήτου (ή από τον εξομοιωτή) και να καταστρέψει το OBD board. To Bluetooth module έχει μέσο όρο κατανάλωσης 25 ma. [34] Το ολοκληρωμένο 317MG μπορεί να παράσχει έως 500 ma ρεύματος, οπότε λαμβάνοντας υπόψη τη χαμηλή κατανάλωση του OBD board μπορεί να τροφοδοτήσει το Bluetooth board με επάρκεια χωρίς μάλιστα να υπάρχει κίνδυνος βλάβης. [62] Κατόπιν συνδέουμε το pin 2 του 317MG με το pin του header που θα συνδέεται στην τροφοδοσία του Bluetooth. Για το σκοπό αυτό χρησιμοποιήθηκαν δύο μονόκλωνα καλώδια τα οποία ενεπλέχθησαν μεταξύ τους ώστε να είναι δυνατή η ασφαλής χωρίς κίνδυνο αποκόλλησης κόλληση με κολλητήρι. Το καλώδιο συγκρατείται κοντά στο board (για λόγους ευχρηστίας της συσκευής αλλά και για την ασφάλεια του ίδιου του καλωδίου) με χρήση θερμικής σιλικόνης. Η τελική κατασκευή φαίνεται στην παρακάτω εικόνα: Εικόνα 18 - Η τελική μορφή του OBD Board μετά τις απαραίτητες παρεμβάσεις 45

Σειρά τώρα έχουν οι παρεμβάσεις στο Bluetooth board. Πρώτα τοποθετείτε ένας «6 Pin Right Angle Female Header» στο UART port του ώστε να υπάρχει δυνατότητα φυσικής σύνδεσης των δύο boards. Εικόνα 19-6 Pin Right Angle Female header Κατόπιν πρέπει το Bluetooth module να παύσει να χρησιμοποιεί τα σήματα handshake αλλιώς η επικοινωνία του με το OBD board δε θα είναι δυνατή μιας και τα αντίστοιχα pin του είναι ασύνδετα και υιοθετεί πρωτόκολλο επικοινωνίας 3 pin (Tx, Rx, GND). Η εργοστασιακή ρύθμιση του Bluetooth έχει το flow control ενεργοποιημένο. Για να απενεργοποιηθεί πρέπει να βραχυκυκλωθούν οι ακροδέκτες RTS-O και CTS-I του Bluetooth board. [38] Με τη χρήση μονόκλωνου καλωδίου, κολλητηριού και θερμικής σιλικόνης βραχυκυκλώνουμε τους συγκεκριμένους ακροδέκτες ώστε να επιτύχουμε το επιθυμητό αποτέλεσμα. Εικόνα 20 - Βραχυκύκλωση των ακροδεκτών RTS-O και CTS-I για την απενεργοποίηση του flow control 46

Αφού έχουμε ολοκληρώσει όλες τις εργασίες σε φυσικό επίπεδο διασύνδεουμε τα δύο boards ώστε να μπορούμε να τροφοδοτήσουμε το Bluetooth module με ρεύμα. Η επικοινωνία των δύο boards δεν είναι ακόμα εφικτή χωρίς την αποθήκευση των κατάλληλων ρυθμίσεων στο Bluetooth module, έχοντας όμως πλέον τη δυνατότητα να τροφοδοτήσουμε με ρεύμα το Bluetooth board μέσω του OBD board μπορούμε να έχουμε πρόσβαση στις ρυθμίσεις που πρέπει να γίνουν. Εικόνα 21 - Τα OBD και Bluetooth boards σε σύνδεση Για να τροφοδοτηθούν τα boards με ρεύμα συνδέουμε το OBD board στον εξομοιωτή. Στην παρούσα φάση δε μας ενδιαφέρουν οι ρυθμίσεις του εξομοιωτή παρά μόνο η ικανότητά του να τροφοδοτήσει με ρεύμα το σύστημα μας που αποτελείται από τα δύο διασυνδεδεμένα boards. Ανοίγουμε κάποιο terminal με δυνατότητα σύνδεσης σε COM ports και συνδεόμαστε με το Bluetooth module εισάγοντας τις παρακάτω ρυθμίσεις: Baud rate 115.200 8 bits No Parity 1 stop bit Από την ενεργοποίηση του Bluetooth board έχουμε 60 δευτερόλεπτα για να μπούμε σε command mode. Αυτή είναι η προκαθορισμένη ρύθμιση. Όταν είμαστε σε command mode μπορούμε να την αλλάξουμε επιλέγοντάς μία δική μας χρονική τιμή ή απενεργοποιώντας την over-the-air δυνατότητα ρύθμισης ή ακόμη απενεργοποιώντας το χρονικό περιορισμό για πέρασμα σε command mode. 47

Εφόσον η σύνδεση Bluetooth έχει αποκατασταθεί στέλνουμε μέσω terminal την εντολή: $$$ Η εντολή θέτει τη συσκευή σε command mode και εφόσον η διαδικασία ολοκληρωθεί με επιτυχία το module απαντά με το string: CMD Όντας πλέον σε command mode πληκτρολογούμε την εντολή: SU,96 Η συσκευή απαντά: AOK επιβεβαιώνοντας την εκτέλεση της εντολής, η οποία θέτει το baud rate του UART port του board σε 9600 baud. Επανεκκινούμε το Bluetooth board στέλνοντας την εντολή: R,1 Αφού η επανεκκίνηση ολοκληρωθεί ακολουθώντας την παραπάνω διαδικασία (με το νέο baud rate εφόσον η ρύθμιση εκτελέστηκε επιτυχώς) συνδεόμαστε ξανά μέσω terminal με τη συσκευή και μπαίνουμε σε command mode. Πληκτρολογούμε την εντολή: D ώστε να εμφανιστούν οι ρυθμίσεις της συσκευής και να επιβεβαιώσουμε ότι η ρύθμιση αποθηκεύτηκε επιτυχώς. Τέλος πληκτρολογούμε: --- Η τελευταία εντολή διακόπτει το command mode και αφήνει το module έτοιμο να δεχθεί νέες συνδέσεις για ανταλλαγή δεδομένων. Σε αυτό το σημείο πρέπει να αναφερθεί πως η επιλογή του baud rate της UART του Bluetooth τίθεται στα 9600 baud για να συμπίπτει με τη ρύθμιση του OBD board και να είναι εφικτή η ανταλλαγή δεδομένων μεταξύ τους. Θα μπορούσαμε να επιλέξουμε διαφορετικό baud rate (πάντα ταυτόσημο μεταξύ των δύο συσκευών) αλλά για τις ανάγκες της παρούσας υλοποίησης το baud rate των 9600 baud είναι άκρως ικανοποιητικό καθώς καλύπτει απροβλημάτιστα τη μετάδοση του ανταλλασσόμενου όγκου δεδομένων που ζητά η συσκευή από τον εξομοιωτή ή από το OBD σύστημα ενός οχήματος. Αφού πλέον η συσκευή είναι έτοιμη να δεχθεί νέες συνδέσεις Bluetooth συνδεόμαστε ξανά και με την επικοινωνία Bluetooth και OBD αποκατεστημένη στέλνουμε εντολές που είναι αναγνωρίσιμες από τον interpreter STN1110. Στέλνουμε αρχικά την εντολή: ATZ 48

Η εντολή κάνει reset στη συσκευή και στην κονσόλα εμφανίζεται: ELM327 v1.3a> Κατόπιν στέλνουμε την εντολή: ATSP0 Το OBD board ανιχνεύει το πρωτόκολλο που υποστηρίζει ο εξομοιωτής και απαντά προς επιβεβαίωση: OK Η απόκριση στις εντολές επιβεβαιώνει τη σωστή συνδεσμολογία και ρύθμιση του συστήματος. Εικόνα 22 - Το σύστημα διάγνωσης συνδεμένο στον εξομοιωτή ECUsim 5100 Συνεχίζοντας την προετοιμασία πριν την ανάπτυξη κώδικα περνάμε στις συσκευές τις τελευταίες εκδόσεις firmware, την έκδοση 3.2.0 του υλικολογισμικού του interpreter STN1110 και την έκδοση 3.1.3 του υλικολογισμικού του ECUsim 5100. Μαζί με το firmware διατίθεται από τον κατασκευαστή και πρόγραμμα το οποίο εκτελεί την ενημέρωση των συσκευών. 49

Ως τελευταίο βήμα ρυθμίζουμε το πρωτόκολλο του εξομοιωτή ώστε να είναι ίδιο με το αυτοκίνητο δοκιμής, από το οποίο θα γίνει λήψη των προς επεξεργασία δεδομένων. Το αυτοκίνητο δοκιμής είναι Mitsubishi Lancer 1.5L (μοντέλο του 2010, κωδικός μοντέλου CY2A). Το αυτοκίνητο είναι εξοπλισμένο με την ECU της OMRON Corporation G8D-640M-ECU η οποία υποστηρίζει το πρωτόκολλο ISO 15765-4 (CAN 11 bit / 500 Kbps). Ρυθμίζουμε τον εξομοιωτή ώστε να εκτελεί ακριβώς την ίδια έκδοση του πρωτοκόλλου. Ο συγκεκριμένος εξομοιωτής έχει ως default πρωτόκολλο το ISO 15765-4 οπότε δε χρειάζεται αλλαγή πρωτοκόλλου. Μετακινούμε ωστόσο το διακόπτη «11/29 BIT» στη θέση των 11-bit και το διακόπτη «250K/500K» στη θέση των 500 Kbps. 50

5. Υλοποίηση συνοδευτικού λογισμικού Αναπτύχθηκε εφαρμογή για λειτουργικό σύστημα Android. Η εφαρμογή αναπτύχθηκε με τη χρήση του ADT (Android Development Tools) Bundle της Google που περιλαμβάνει το SDK (Software Development Kit) της γλώσσας και το Eclipse IDE (Integrated Development Environment). Το ADT bundle δεν απαιτεί περαιτέρω διαδικασίες παρά αποσυμπίεση σε μια συγκεκριμένη διαδρομή του σκληρού δίσκου και είναι έτοιμο προς χρήση. [63] Κατά την ανάπτυξη της εφαρμογής αυτή εκτελούνταν σε tablet Samsung Galaxy Tab 2 10.1 με την έκδοση 4.0.3 του λειτουργικού Android. 5.1 Δομή των εντολών και των μηνυμάτων OBD Εκτός από τα σύνολα εντολών AT και ST που υποστηρίζει ο διερμηνέας STN1110 τα αιτήματα προς τα συστήματα OBD (είτε αυτό είναι ο εξομοιωτής είτε η ECU κάποιου αυτοκινήτου) γίνεται με την αποστολή δεκαεξαδικών αριθμών σε μορφή χαρακτήρων ASCII. Το αίτημα πρέπει να ακολουθείται από χαρακτήρα επιστροφής (carriage return - CR) για να γίνει αντιληπτό ως έγκυρη εντολή από τον διερμηνέα. [64] Οι κωδικοί αυτοί που χρησιμοποιούνται για την αίτηση δεδομένων από την ECU ή άλλες ηλεκτρονικές μονάδες ονομάζονται PIDs (Parameter IDs). Η μορφή των αιτήσεων είναι η ακόλουθη: MMPP Στη θέση των χαρακτήρων Μ αναγράφεται το OBD mode (οπότε τα request ξεκινούν από 01 έως 0A) και στη θέση των χαρακτήρων P το PID (από 00 έως FF). Το ίδιο PID έχει διαφορετική σημασία σε κάθε mode. Για παράδειγμα το PID «0D» σε mode 01 επιστρέφει την ταχύτητα του οχήματος και σε 06 δεδομένα από αισθητήρα της εξάτμισης. Ορισμένα modes όπως το $04 για τη διαγραφή των αποθηκευμένων κωδικών σφαλμάτων δεν έχουν PIDs. Σε αυτή την περίπτωση το request έχει τη μορφή: [65] MM Το format των απαντήσεων μορφοποιείται πριν φτάσει στον τελικό χρήστη από το ολοκληρωμένο STN1110. Δεν φτάνει δηλαδή στη μορφή στην οποία υπήρχε στο CAN bus. Μία απάντηση ξεκινά με τα byte: 4MPP Ο αριθμός 4 δηλώνει ότι το μήνυμα αποτελεί απάντηση για το αίτημα του PID PP του mode M. Κατόπιν ακολουθούν και άλλοι δεκαεξαδικοί αριθμοί οι οποίοι είτε αποτελούν δεδομένα (σε δεκαεξαδική μορφή συνεπώς πρέπει να μετατραπούν σε χρήσιμη πληροφορία πριν παρουσιαστούν στο χρήστη), είτε σε μεγαλύτερα μηνύματα αποτελούν 51

επικεφαλίδες που αναφέρουν από ποιο module προήλθε η απάντηση καθώς και το μήκος των χρήσιμων δεδομένων ώστε να ξέρει ο προγραμματιστής ποια από τα bytes που ακολουθούν φέρουν πληροφορία ή απλώς συμπληρώνουν το frame (filler bytes). Το IC STN1110 ολοκληρώνει μια απάντηση με το χαρακτήρα prompt «>» ώστε να γνωρίζει ο προγραμματιστής πότε να στείλει το επόμενο request. Αν σταλεί request πριν την αποστολή της απάντησης του προηγούμενου request η εξυπηρέτηση του προτελευταίου request διακόπτεται και εξυπηρετείται το τελευταίο. Εδώ πρέπει να σημειωθεί πως υπάρχουν απαντήσεις που ακολουθούν bitwise encoding. Τέτοιες για παράδειγμα είναι οι DTCs. Σε αυτή την περίπτωση οι δεκαεξαδικές πληροφορίες πρέπει πρώτα να μετατραπούν σε δυαδική ακολουθία πριν μετατραπούν στη μορφή που είναι αναγνώσιμη από το χρήστη. Οι Κωδικοί Σφάλματος για παράδειγμα αναλύονται σε αριθμούς 16-bit οι οποίο χωρίζονται σε πεδία (διαφόρων μηκών) τα οποία ανάλογα με την τιμή τους καθορίζουν και τον τελικό κωδικό σφάλματος που εμφανίζει η συσκευή. Τα PIDs και οι DTCs ορίζονται από το πρότυπο SAE J1979 ενώ οι κατασκευαστές είναι ελεύθεροι να ορίζουν και δικά τους modes, PIDs και DTCs πέραν αυτών που προβλέπονται από το συγκεκριμένο πρότυπο. 5.2 Παρουσίαση της εφαρμογής OBD-II MTH Η Android εφαρμογή που συνοδεύει την υλοποίηση (OBD-II MTH) αποτελείται από 5 activities. Το main activity αρχικοποιεί τη σύνδεση και τη διαγνωστική συσκευή ενώ τα υπόλοιπα αποστέλλουν αιτήματα στη διαγνωστική συσκευή και αναλαμβάνουν την επεξεργασία και παρουσίαση των εισερχόμενων δεδομένων. Καθένα από τα τέσσερα activities παρουσιάζει συγκεκριμένα δεδομένα ο διαχωρισμός των οποίων σε activities έγινε βάσει των πληροφοριών που έφεραν ώστε να υπάρχει μία κατηγοριοποίηση των παρεχόμενων πληροφοριών στο χρήστη της εφαρμογής. Κάθε activity διαχειρίζεται ένα εισερχόμενο και ένα εξερχόμενο stream δεδομένων για την αποστολή των request και την παρουσίαση των πληροφοριών. 5.2.1 MainActivity Στο κεντρικό παράθυρο της εφαρμογής γίνεται αποκατάσταση της σύνδεσης Bluetooth μεταξύ διαγνωστικής συσκευής και tablet. Αφού η σύνδεση καταστεί ενεργή στέλνονται συγκεκριμένες εντολές στο OBD board για την αρχικοποίηση της συσκευής. Πρώτα αποστέλλεται η εντολή: ATZ 52

Η εντολή εκτελεί reset του OBD Board για να ακολουθήσει ανίχνευση του πρωτοκόλλου επικοινωνίας της μονάδας OBD. Εισάγεται χρονοκαθυστέρηση 3 δευτερολέπτων για την εκτέλεση της εντολής ώστε η ανίχνευσης του πρωτοκόλλου να εκτελεστεί με βεβαιότητα με επιτυχία. Η επόμενη εντολή προς εκτέλεση από το OBD board είναι η: ATE0 Η εντολή απενεργοποιεί την ηχώ (echo), την επανάληψη δηλαδή των απεσταλμένων αιτήσεων στην αρχή των εισερχόμενων απαντήσεων. Η επανάληψη αυτή τουλάχιστον στα πλαίσια της συγκεκριμένης εφαρμογής δεν είναι χρήσιμη, αντίθετα επιβαρύνει τα μηνύματα του Bluetooth με αχρησιμοποίητη από την εφαρμογή πληροφορία. Εικόνα 23 - Το κεντρικό activity της εφαρμογής OBD-II MTH Στην Εικόνα 23 φαίνεται το κεντρικό activity της εφαρμογής το οποίο είναι το πρώτο που βλέπει ο χρήστης όταν ανοίγει την εφαρμογή. Οι διαδικασίες σύνδεσης μέσω Bluetooth και η αρχικοποίηση του OBD board γίνονται στο παρασκήνιο χωρίς να έχει γνώση γι αυτές ο χρήστης. Στο activity υπάρχουν τέσσερα κουμπιά για το άνοιγμα των υπολοίπων activities που δίνουν πρόσβαση στα εισερχόμενα δεδομένα. 53

5.2.2 LiveDataFeed Στο activity LiveDataFeed παρουσιάζονται παράμετροι οι οποίες αλλάζουν συνεχώς κατά τη διάρκεια της λειτουργίας του κινητήρα και κατά την οδήγηση του αυτοκινήτου. Οι τιμές των διαφόρων παραμέτρων ανανεώνονται συνεχώς κάθε 0,9 περίπου δευτερόλεπτα ώστε ο χρήστης της εφαρμογής να έχει άμεση εποπτεία της κατάστασης του αυτοκινήτου. Εικόνα 24 - OBD-II MTH LiveDataFeed Activity Στην εικόνα 24 παρουσιάζεται το activity το οποίο παρέχει δεδομένα τηλεμετρίας σε πραγματικό χρόνο για την κατάσταση του αυτοκινήτου. Η εικόνα έχει ληφθεί με τη διαγνωστική συσκευή συνδεμένη στο όχημα δοκιμής ενώ ο κινητήρας τους βρίσκονταν σε λειτουργία και αυτό ήταν ακίνητο. Συγκεκριμένα παρουσιάζονται τα στοιχεία: Speed: Η ταχύτητα με την οποία κινείται το αυτοκίνητο σε. Acceleration: Η τρέχουσα επιτάχυνση ή επιβράδυνση (η επιβράδυνση σημειώνεται με αρνητικό πρόσημο) του αυτοκινήτου σε μονάδες. Το συμβολίζει την επιτάχυνση της βαρύτητας η οποία είναι ίση με 9,80665. Engine RPM: Η ταχύτητα περιστροφής του κινητήρα μετρούμενη σε περιστροφές ανά λεπτό (Rounds per Minute - RPM). Throttle position: Η θέση της πεταλούδας του γκαζιού σε ποσοστό επί τοις εκατό (%). Η τιμή που φαίνεται στην εικόνα έχει καταγραφεί ενώ το πεντάλ του γκαζιού είναι αφημένο. Η τιμή αντιστοιχεί στη θέση της πεταλούδας του γκαζιού η οποία όταν ο κινητήρας λειτουργεί δεν είναι ποτέ κλειστή καθώς η διακοπή της τροφοδοσίας του κινητήρα με καύσιμο θα σήμαινε και την απενεργοποίησή του. 54

MAP: Παρουσιάζει την τιμή της απόλυτης πίεσης του αέρα στην εισαγωγή του κινητήρα όπως αυτή μετράται από τον αισθητήρα MAP. Η τιμή της πίεσης παρουσιάζεται σε. Intake Air Temperature: Παρουσιάζει τη θερμοκρασία του αέρα όπως μετράται στην εισαγωγή του κινητήρα. Οι μονάδες της είναι σε. Χρησιμοποιείται από την ECU μαζί με την τιμή της πίεσης για τον υπολογισμό της μάζας του αέρα ώστε να επιτευχθεί η στοιχειομετρική αναλογία αέρα καυσίμου. Coolant temperature: Θερμοκρασία αντιψυκτικού. Η θερμοκρασία του υγρού του κυκλώματος ψύξης επίσης σε. Από τη θερμοκρασία του συμπεραίνεται αν ο κινητήρας βρίσκεται εντός των επιτρεπόμενων ορίων λειτουργίας. Υπερθέρμανση του κινητήρα μπορεί να οδηγήσει σε σοβαρές βλάβες ή ακόμη και σε ολική καταστροφή του. Gear και Gear Ratio: Παρουσιάζει την εμπλεκόμενη στο κιβώτιο ταχύτητα και την αναλογία της. Για τον υπολογισμό της χρησιμοποιείται ο τύπος:. Εφόσον ο κινητήρας εκτελεί συγκεκριμένο αριθμό περιστροφών ανά λεπτό οι τροχοί που συνδέονται με αυτόν μέσω του συμπλέκτη και του γραναζώματος του κιβωτίου εκτελούν συγκεκριμένο αριθμό περιστροφών που εξαρτάται από την εμπλεκόμενη σχέση στο κιβώτιο. Αν γνωρίζουμε τη διάμετρο τον τροχών του οχήματος μπορούμε να υπολογίσουμε την ταχύτητά του. Ο τύπος είναι επιλυμένος προς την αναλογία των γραναζιών κάθε σχέσης. Το 32,695 είναι η διάμετρος των τροχών του οχήματος δοκιμής σε εκατοστά, RPM είναι οι στροφές του κινητήρα, speed η ταχύτητά του σε km/h η οποία μας είναι γνωστή από το πρώτο request, o αριθμός 4,529 η αναλογία του διαφορικού και ο αριθμός 265,15 μια σταθερά υπολογισμένη ώστε με τα δεδομένα να εισάγονται με τις μονάδες που αναφέρθηκαν η αναλογία της ταχύτητας να υπολογίζεται ορθά. Συγκρίνοντας το αποτέλεσμα με τις τιμές των αναλογιών που δίνει το manual του οχήματος για την κάθε σχέση μπορούμε να γνωρίζουμε την επιλεγμένη ταχύτητα του κιβωτίου. Οι τιμές αυτές είναι hardcoded στον κώδικα, αλλά πολύ εύκολα σε μια εμπορική εφαρμογή θα μπορούσαν να δίνονται ως είσοδος από το χρήστη για να ταιριάζουν με τις προδιαγραφές του οχήματος του και να πραγματοποιείται σωστά ο υπολογισμός γι αυτό. Για τον υπολογισμό της εμπλεκόμενη ταχύτητας ελέγχεται αν η τιμή gearratio βρίσκεται εντός ενός διαστήματος από την πραγματική τιμή αναλογίας της σχέσης, γιατί διάφοροι παράγοντες όπως για παράδειγμα η αλλαγής της διαμέτρου του τροχού λόγου φθοράς των ελαστικών, μία μικρή απόκλιση λόγω αισθητήρων της ταχύτητας και των στροφών του κινητήρα κάνουν αδύνατη την ισότητα της υπολογιζόμενης με την πραγματική τιμή. Τα διαστήματα των συγκρίσεων επιλέχθηκαν ώστε να μην είναι επικαλυπτόμενα γιατί αυτό θα παρεμπόδιζε τη λειτουργία του αλγορίθμου. Ο αλγόριθμος αυτός δε μπορεί να λειτουργήσει όταν το αυτοκίνητο κινείται με νεκρά σχέση στο κιβώτιο καθώς τα γρανάζια του κιβωτίου δε συμμετέχουν στην κίνηση και είναι ελεύθερα. Στην περίπτωση αυτή δίνει λανθασμένα αποτελέσματα που εξαρτώνται από την ταχύτητα και τις στροφές του κινητήρα οι οποίες πλέον είναι ανεξάρτητες 55

μεταξύ τους αφού ο κινητήρας είναι αποσυνδεμένος από τους τροχούς. Οι αναλογίες των σχέσεων του αυτοκινήτου δοκιμής παρατίθενται εδώ: o 1η - 3,907 o 2α - 1,913 o 3η - 1,310 o 4η - 0,970 o 5η - 0,810 o Όπισθεν - 3,320 o Τελική - 4,529 STFT: Short Term Fuel Trim. Μετράται σε ποσοστό επί τοις εκατό (%). To fuel trim δείχνει τις αλλαγές στην ποσότητα του ψεκαζόμενου καυσίμου κατά την προσπάθεια της ECU να διατηρεί τη στοιχειομετρική αναλογία αέρα - βενζίνης στη σωστή τιμή. Θετικές τιμές σημαίνουν προσθήκη καυσίμου ενώ αρνητικές μείωση. Το short term fuel trim υπολογίζεται κατά τον τελευταίο κύκλο οδήγησης και η τιμή του μηδενίζεται κάθε φορά που ο κινητήρας τίθεται εκτός λειτουργίας. Αν το μείγμα καυσίμου είναι πλούσιο έχει δηλαδή πλεόνασμα βενζίνης εμφανίζεται αρνητικό fuel trim. Αν το μείγμα είναι φτωχό η τιμή του fuel trim είναι θετική. Μεγάλες απόλυτες τιμές STFT αποτελούν ένδειξη βλάβης και μας βοηθούν να περιορίσουμε το πρόβλημα μεταξύ ενός μικρότερου συνόλου πιθανόν εκδοχών ειδικά αν δεν έχει ενεργοποιηθεί κάποιος DTC γι αυτό. Μεγάλες αρνητικές τιμές μπορεί να σημαίνουν προβληματικό αισθητήρα MAP ή MAF, υψηλή πίεση στην αντλία καυσίμου, πρόβλημα στο σύστημα ανακυκλοφορίας καυσαερίων, διαρροή στο σύστημα ψεκασμού (injection), πρόβλημα στον αισθητήρα λάμδα ή διαρροή καυσαερίων από ρωγμή στην εξάτμιση κλπ. Μεγάλες θετικές τιμές μπορούν να σημαίνουν και πάλι προβληματικούς αισθητήρες λάμδα, MAP ή MAF με τις τιμές τους να αποκλίνουν προς την αντίθετη κατεύθυνση αυτή τη φορά. Ακόμη μπορεί να αποτελούν ένδειξη για έμφραξη στο σύστημα τροφοδοσίας καυσίμου στην εξάτμιση, τον καταλύτη ή στους ψεκαστήρες καυσίμου (injectors). [66] [67] LTFT: Long Term Fuel Trim. Μετράται σε ποσοστό επί τοις εκατό (%). To long term fuel trim δείχνει τις αλλαγές στην ποσότητα του ψεκαζόμενου καυσίμου κατά την προσπάθεια της ECU να διατηρεί τη στοιχειομετρική αναλογία αέρα - βενζίνης στη σωστή τιμή όπως και το STFT αλλά η τιμή μου μένει πάντα αποθηκευμένη και προφανώς είναι αποτέλεσμα μετρήσεων σε μεγαλύτερο χρονικό διάστημα από την STFT. Fuel Consumption: Δείχνει τη στιγμιαία κατανάλωση σε λίτρα ανά 100 km πορείας του αυτοκινήτου. Για τη μέτρηση αυτή αναπτύχθηκε αλγόριθμος μέρος του οποίου αποτελεί η εύρεση της σχέσης του κιβωτίου και έχει ήδη αναλυθεί. Και αυτός δίνει ανακριβείς τιμές στην περίπτωση που το αυτοκίνητο κινείται με νεκρά ταχύτητα ως επακόλουθο της χρήσης της υπολογισμένης σχέσης του κιβωτίου ως παράμετρο υπολογισμού της κατανάλωσης καυσίμου. Ο υπολογισμός καυσίμου βασίζεται στο γεγονός πως η ECU προσπαθεί πάντα να διατηρεί σταθερή την αναλογία αέρα καυσίμου στο 14,7 για ένα καταλυτικό όχημα. Επομένως ισχύει:, όπου 56

, όπου RPM οι στροφές του κινητήρα, MAP η τιμή του αισθητήρα MAP που μας είναι ήδη γνωστή και IAT η θερμοκρασία αέρα στην εισαγωγή του κινητήρα. To c είναι σταθερά όπου προσδιορίζεται μέσω δοκιμών. Πρόβλημα ακρίβειας στη συγκεκριμένη μέθοδο προκαλεί και το γεγονός πως ο κινητήρας δε δουλεύει πάντα με τη στοιχειομετρική αναλογία όπως έγινε εμφανές από την ύπαρξη των μεγεθών STFT και LTFT. Στην προσέγγιση που ακολουθήθηκε σε αυτή την εργασία προσδιορίστηκαν 6 σταθερές c, μία για τη νεκρά και μία για κάθε ταχύτητα του κιβωτίου (η όπισθεν μοιράζεται την ίδια σταθερά με την πρώτη γιατί έχει παρόμοια αναλογία με αυτή). Οι σταθερές προσδιορίστηκαν ώστε η μέτρηση να έχει μέγιστη ακρίβεια στο μέσο του εύρους στροφών του κινητήρα. Η μέθοδος αυτή για τον υπολογισμό της κατανάλωσης καυσίμου χρησιμοποιεί μόνο τα γνωστά από το σύστημα OBD στοιχεία, παρακάμπτοντας τη χρήση μεγεθών όπως η ογκομετρική απόδοση του κινητήρα που είναι δύσκολο να προσδιοριστούν από του χρήστη του προγράμματος. Η ογκομετρική απόδοση (volumetric efficiency) ενός κινητήρα είναι ο λόγος μεταξύ του θεωρητικά υπολογιζόμενου εισερχόμενου μείγματος και του πραγματικά εισερχόμενου μείγματος. Μεταβάλλεται ανάλογα με τον αριθμό των στροφών του κινητήρα και είναι δύσκολο να χρησιμοποιηθεί αν δε γνωρίζει κανείς το «χάρτη» της ογκομετρικής απόδοσης του αυτοκινήτου του. Raw Data: Στο πεδίο εμφανίζονται τα μηνύματα του input stream όπως αυτά καταφθάνουν από τον διερμηνέα STN1110 χωρίς να έχουν υποστεί οποιαδήποτε επεξεργασία. Το πεδίο εκτός από το ότι «αποκαλύπτει» στο χρήστη την αρχική μορφή των δεδομένων πριν αυτά λάβουν αναγνώσιμη μορφή γι αυτόν είναι χρήσιμο και στον προγραμματιστή για λόγους debugging. Όλα τα δεδομένα καταγράφονται αυτόματα στη μνήμη της φορητής συσκευής σε αρχεία στο φάκελο Obd. Το όνομα του αρχείου αποτελείται από το έτος, το μήνα, την ημέρα και την ώρα της έναρξης της καταγραφής. Η καταγραφή ξεκινά αυτόματα κατά την έναρξη του activity και σταματά κατά τον τερματισμό του. Στο επόμενο κεφάλαιο θα γίνει στατιστική επεξεργασία συλλεχθέντων δεδομένων. 57

5.2.3 DTCs Το συγκεκριμένο activity παρουσιάζει όλους τους ενεργούς DTCs. Εικόνα 25 DTCs Activity - Κωδικοί σφάλματος Στo activity αυτό παρουσιάζονται οι κωδικοί σφάλματος του τρέχοντος ή του προηγούμενου κύκλου οδήγησης (Current DTCs), οι αποθηκευμένοι κωδικοί σφάλματος (Pending DTCs) και οι μόνιμοι (Permanent DTCs). Οι κωδικοί προέρχονται από τον εξομοιωτή. Στο όχημα δοκιμής δεν υπήρχε κανενός τύπου κωδικός σφάλματος ενεργοποιημένος. Ο εξομοιωτής ενεργοποιεί πάντα τους ίδιους κωδικούς σφάλματος με το πάτημα του κόκκινου πλήκτρου. Υπάρχει και εδώ το πεδίο «Raw data» το οποίο παρουσιάζει τα εισερχόμενα δεδομένα ανεπεξέργαστα. Υπάρχουν ακόμη δύο κουμπιά. Το «Refresh» στέλνει ξανά τα αιτήματα στο σύστημα OBD και ανανεώνει τα πεδία. Είναι χρήσιμο στην περίπτωση που ενώ το activity είναι ήδη ανοιχτό ενεργοποιηθεί κάποιος ακόμη κωδικός σφάλαμτος. Τέλος το κουμπί «Clear Pending DTCs» διαγράφει τους αποθηκευμένους κωδικούς σφάλματος κάνοντας χρήση του mode $04. Οι κωδικοί σφάλματος είναι αλφαριθμητικά μήκους πέντε χαρακτήρων. Στους επόμενους πίνακες παρουσιάζεται η δομή των DTCs και η ερμηνεία τους. 58

Η σημασία του πρώτου χαρακτήρα ο οποίος είναι γράμμα εξηγείται στον Πίνακα 6. Ο πρώτος χαρακτήρας προσδιορίζει σε ποιο σύστημα του αυτοκινήτου ανήκει το υποσύστημα που παρουσιάζει βλάβη. Γράμμα B C P U Σύστημα Αμάξωμα Σασί Σύστημα μετάδοσης κίνησης Δίκτυο Πίνακας 6 Επεξήγηση του πρώτου χαρακτήρα ενός DTC Ο δεύτερος χαρακτήρας που είναι αριθμός δείχνει αν ο κωδικός είναι γενικός (generic), έχει δηλαδή την ίδια σημασία για όλους τους κατασκευαστές αυτοκινήτων ή ειδικός για συγκεκριμένο κατασκευαστή (manufacturer specific). Στον πίνακα που ακολουθεί δίνεται η πλήρης κατηγοριοποίηση των κωδικών βάση της τιμής του δεύτερου χαρακτήρα. Powertrain P0xxx Generic P1xxx Manufacturer-specific P2xxx - Generic P30xx-P33xx - Manufacturerspecific Body codes B0xxx - Generic B1xxx - Manufacturer-specific B2xxx - Manufacturer-specific B3xxx - Generic P34xx-P39xx - Generic Chassis codes C0xxx - Generic C1xxx - Manufacturer-specific C2xxx - Manufacturer-specific C3xxx - Generic Network Communication codes U0xxx - Generic U1xxx - Manufacturer-specific U2xxx - Manufacturer-specific U3xxx - Generic Πίνακας 7 - Επεξήγηση του δεύτερου χαρακτήρα ενός DTC 59

Ο τρίτος χαρακτήρας προσδιορίζει το υποσύστημα το οποίο εμφανίζει τη βλάβη: Τρίτος χαρακτήρας Υποσύστημα 1 Καύσιμα και μέτρηση αέρα 2 Καύσιμα και μέτρηση αέρα (κύκλωμα ψεκαστήρων) 3 Μίζα ή λάθος χρονισμός ανάφλεξης 4 Βοηθητικό σύστημα ελέγχου ρύπων 5 Έλεγχος ταχύτητας και ρελαντί 6 Ηλεκτρονικά κυκλώματα εξόδου 7 Μετάδοση 8 Μετάδοση Πίνακας 8 - Επεξήγηση του τρίτου χαρακτήρας ενός DTC Ο τέταρτος και ο πέμπτος χαρακτήρας αναφέρονται στο τμήμα εξάρτημα του υποσυστήματος που παρουσιάζει τη βλάβη. Δεν υπάρχει συγκεκριμένη κατηγοριοποίηση βάση αυτών των χαρακτήρων καθώς πλέον αυτή προσδιορίζουν στο χαμηλότερο επίπεδο τη βλάβη. [68] [69] Πολλά διαγνωστικά εργαλεία μαζί με την εμφάνιση του κωδικού σφάλματος προσφέρουν μία σύντομη περιγραφή του. Η λειτουργία αυτή δεν ενσωματώθηκε στην εφαρμογή OBD-II MTH γιατί ήταν εκτός των σκοπών της διπλωματικής εργασίας. Πάντως γνωρίζοντας κάποιος χρήστης της εφαρμογής μόνο τον κωδικό σφάλματος είναι εύκολο να αναζητήσει τη σημασία του σε μία από τις διάφορες βάσεις δεδομένων DTCs που είναι διαθέσιμες στο διαδίκτυο. Πρέπει να σημειωθεί πως οι manufacturer-specific κωδικοί (όπως και οι manufacturer-specific PIDs) δεν είναι πάντοτε διαθέσιμοι και ενίοτε υποστηρίζονται μόνο από εργαλεία της κατασκευάστριας εταιρίας. 60

5.2.4 Tests Εικόνα 26 - Το activity Tests Στο activity Tests διεξάγονται δοκιμές καλής λειτουργίας που ανήκουν στο mode $06 και τα δεδομένα στην Εικόνα 26 προέρχονται από το αυτοκίνητο δοκιμής μιας και το mode $06 δεν υποστηρίζεται από τον εξομοιωτή. Το mode $06 προσφέρει μια μεγάλη λίστα από δοκιμές για διάφορα εξαρτήματα του αυτοκινήτου και τα αποτελέσματα επιστρέφονται συνήθως σε μορφή PASS / FAIL. Στην εφαρμογή OBD-II MTH διεξάγεται δοκιμή προανάφλεξης / αυτανάφλεξης του καυσίμου αλλά τα αποτελέσματα δε δίνονται ως PASS ή FAIL. Αντιθέτως δίνουμε απευθείας τον μετρητή των εσφαλμένων αναφλέξεων συνολικά για όλον τον κινητήρα (Current general misfire count) και ανά κύλινδρο (Current Cylinder 1, 2, 3, 4 misfire count) για τον τελευταίο και τον προηγούμενο κύκλο οδήγησης. [70] Ο λόγος για τον οποίο δεν υιοθετήθηκε η προσέγγιση PASS / FAIL στην παρουσίαση των αποτελεσμάτων είναι πως δεν υπάρχει σαφώς ορισμένο ποσοστό εσφαλμένων αναφλέξεων το οποίο θεωρείται ως αποτυχία. Είναι στην ευχέρεια του κατασκευαστή να θέσει το όριο βάση δικής του προτίμησης. Το κουμπί «Refresh» δίνει τη δυνατότητα επαναδιεξαγωγής των δοκιμών. Η διενέργεια περισσότερων δοκιμών δεν κρίθηκε απαραίτητη καθώς ακολουθούν όλες το ίδιο μοτίβο και οι δοκιμές που έγιναν αποτελούν αντιπροσωπευτικό δείγμα. 61

5.2.5 VehicleInfo Στο activity αυτό δίνονται πληροφορίες για στοιχεία του αυτοκινήτου. Εικόνα 27 - VehicleInfo activity Τα δεδομένα προέρχονται από τον εξομοιωτή. Engine Run Time: Ο χρόνος για τον οποίο είναι σε λειτουργία ο κινητήρας μετρούμενος από τη στιγμή της εκκίνησής του σε δευτερόλεπτα. Distance with MIL on: Η απόσταση η οποία έχει διανύσει το αυτοκίνητο από τη στιγμή που ενεργοποιήθηκε ο λαμπτήρας προβλήματος MIL σε χιλιόμετρα. VIN: Ο αριθμός πλαισίου του αυτοκινήτου. Είναι δεκαεπταψήφιο αλφαριθμητικό το οποίο αποτελεί μοναδικό αναγνωριστικό ενός οχήματος και φέρει πληροφορίες όπως ο κατασκευαστής, το εργοστάσιο κατασκευής, το έτος κατασκευής, ο σειριακός αριθμός του οχήματος κλπ. Cal ID: Calibration ID. Αποτελεί αναγνωριστικό κωδικό για το εγκατεστημένο λογισμικό της ECU. Cal VN: Calibration Verification Number. Αποτελείται από τέσσερα bytes και χρησιμοποιείται για παράδειγμα ως checksum για την πιστοποίηση της ακεραιότητας των αρχείων των προγραμμάτων της ECU. Raw data: Εμφανίζει κι εδώ ανεπεξέργαστα τα δεδομένα του input stream. Το κουμπί «Refresh» χρησιμοποιείται για την επαναποστολή των αιτήσεων στο σύστημα OBD για την ανανέωση των δεδομένων. Μπορεί να φανεί χρήσιμο σε περιπτώσεις εσφαλμένης αποστολής ή οποιουδήποτε άλλου απρόβλεπτου προβλήματος. 62