Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

ELM327 i nie tylko - amatorskie interfejsy i oprogramowanie diagnostyczne

tzok 07 May 2014 22:39 46776 8
Texa Poland
  • #1
    tzok
    Moderator of Cars
    Temat jest wykazem amatorskiego ale wyłącznie dedykowanego oprogramowania/interfejsów diagnostycznych (bez tzw. generic OBD-II/EOBD). Jako granicę cenową sprzętu amatorskiego przyjąłem 500€. Wpisy w formie "nazwa (link): interfejs, licencja, cena".
    Żadnych klonów, tylko oryginalny sprzęt i legalne oprogramowanie!

    Przed podjęciem ostatecznej decyzji o ewentualnym zakupie wskazanego tu oprogramowania należy bezwzględnie upewnić się czy dany program/interfejs na pewno obsługuje wasz samochód, gdyż to iż program jest przeznaczony np. do samochodów marki FIAT nie oznacza, że obsługuje 100% modeli i wersji silnikowych samochodów wyprodukowanych przez ten koncern. Nie biorę żadnej odpowiedzialności za niewłaściwe decyzje w kwestii doboru interfejsu/oprogramowania do samochodu.

    Proszę pamiętać!
    Diagnostyka komputerowa umożliwia podgląd wartości mierzonych przez ECU, wysterowanie elementów wykonawczych, którymi ECU może sterować oraz stwierdzenie usterek elektrycznych (typu przerwa/zwarcie w obwodzie lub nieoczekiwana/niemożliwa wartość zmierzona). Nie pozwala zatem na "sprawdzanie" podzespołów mechanicznych. Doświadczony diagnosta (znający zasadę działania badanego podzespołu oraz algorytm sterujący) może jedynie stwierdzić fakt ich niesprawności na podstawie zaburzeń w odczytach z dostępnych czujników.


    ***

    Uzupełnienie

    Czym właściwie jest interfejs i oprogramowanie diagnostyczne?
    Interfejs umożliwia elektryczne połączenie komputera PC i sterowników w samochodzie. W starszych samochodach każdy sterownik miał swoje złącze diagnostyczne, ulokowane na wiązce elektrycznej, w pobliżu sterownika. Obecnie standardem jest zintegrowane gniazdo diagnostyczne wszystkich systemów w standardzie OBD-II.

    Teoretycznie interfejs jest tylko konwerterem na poziomie warstwy fizycznej (impulsy elektryczne, bity). Tak działały interfejsy KKL (np. popularny klon interfejsu sprzedawany jako VAG-COM 409.1). W przypadku takich interfejsów za całość komunikacji odpowiada oprogramowanie na komputerze PC, dzięki czemu w oprogramowaniu diagnostycznym można zaimplementować obsługę dowolnego protokołu i dowolnego sterownika.

    Nieco bardziej zaawansowane interfejsy posiadają zintegrowany mikrokontroler z wbudowanym oprogramowaniem pełniącym funkcje interpretera protokołu diagnostycznego. Przykładem takich interfejsów są "kable" oparte o układ ELM327 czy STN1110 (które tak naprawdę są standardowymi mikrokontrolerami z odpowiednim oprogramowaniem). W przypadku tego typu interfejsów, oprogramowanie na PC nie musi zajmować się inicjalizacją transmisji, formowaniem ramek czy obliczaniem sum kontrolnych - słowem niczym należącym do protokołu diagnostycznego. Wysyła jedynie żądania i przetwarza odpowiedzi. Pewną wadą takiego rozwiązania jest brak możliwości pracy z nowymi/nietypowymi protokołami diagnostycznymi. Choć te "kable" są uniwersalne to są ograniczone protokołami diagnostycznymi, które ma zaimplementowane ich wewnętrzne oprogramowanie.

    Najbardziej zaawansowane interfejsy diagnostyczne mają zaimplementowaną nie tylko obsługę samych protokołów diagnostycznych ale również kompletne procedury diagnostyczne dla poszczególnych sterowników. W ich przypadku oprogramowanie na PC pełni jedynie funkcje terminala/przeglądarki wyników. Przykładami takich interfejsów są praktycznie wszystkie profesjonalne interfejsy, jak np. Delphi DS150 czy BOSCH KTS520. Takie podejście w głównej mierze ma za zadanie ograniczenie piractwa.
    Wariantem pośrednim są interfejsy zawierające prosty mikrokontroler będący translatorem protokołu oraz kluczem sprzętowym do oprogramowania na PC, np. HEX-CAN (czyli interfejs do programu VCDS), czy OP-COM.

    Czy interfejs/oprogramowanie diagnostyczne faktycznie wykonuje diagnostykę podzespołów w samochodzie?
    Nie, interfejs i oprogramowanie służy jedynie wywoływaniu odpowiednich procedur w sterownikach samochodu i odpowiednim interpretowaniu zwracanych przez nie danych. Można odczytywać tylko takie parametry i wykonywać tylko takie procedury testowo-adaptacyjne jakie uwzględnił producent sterownika w jego oprogramowaniu. W dużym uproszczeniu można to opisać tak:
    - Użytkownik w programie zaznacza, że chce odczytać temperaturę silnika,
    - Oprogramowanie diagnostyczne (albo na PC albo po stronie interfejsu) tłumaczy to na odpowiednie żądanie, typu "parametr 5, tryb 1".
    - Oprogramowanie interfejsu inicjuje połączenie ze sterownikiem i odpowiednio koduje to żądanie, formując tzw. ramkę.
    - Ramka jest przesyłana do sterownika silnika, który ją dekoduje, a następnie wysyła analogicznie zakodowaną odpowiedź.
    - Interfejs odbiera odpowiedź.
    - Oprogramowanie ją dekoduje, sprawdzając przy okazji poprawność transmisji.
    - Zdekodowaną odpowiedź trzeba jeszcze zinterpretować, przypuśćmy, że zdekodowana odpowiedź to pojedynczy bajt, czyli wartość 0-255. Konieczne jest więc przeskalowanie jej na temperaturę (czyli wykonanie na niej pewnych operacji arytmetycznych). W tym przypadku to standardowe żądanie OBD-II i formuła konwersji jest wspólna dla każdego sterownika zgodnego z tą normą (czyli od zwróconej wartości trzeba odjąć liczbę 40).

    Czy Każdy sterownik zgodny z OBD-II obsługuje te same procedury diagnostyczne?
    Nie, standard OBD-II definiuje jedynie pewien zbór obligatoryjnych, standaryzowanych parametrów, głównie związanych z emisją zanieczyszczeń. Każdy producent wprowadza szereg dodatkowych parametrów diagnostycznych. Często wiele z nich dubluje parametry standardowego zbioru OBD-II ale np. mają większą rozdzielczość. W kontekście procedur diagnostycznych standard OBD-II dotyczy jedynie sterownika silnika, pozostałe sterowniki obsługują własne, niestandaryzowane procedury diagnostyczne (choć do komunikacji wykorzystują standardowe protokoły).

    ***

    ELM327
    ELM327 to jeden z bardziej popularnych wśród amatorów interfejsów diagnostycznych. W praktyce większość korzysta z chińskich klonów ELM327 lub nieco nowszego STN11x0 (oryginalny interfejs na tym układzie to OBDLink SX). ELM327 obsługuje następujące protokoły komunikacyjne: SAE J1850 PWM, SAE J1850 VPW, ISO 9141-2, ISO 14230-4 KWP, ISO 15765-4 CAN, ISO 15765-4 CAN, SAE J1939. Komunikacja z samym ELM/STN odbywa się z wykorzystaniem terminala szeregowego (UART) i poleceń AT (STN posiada dodatkowo rozszerzony zestaw poleceń ST). Interfejsy występują w wariantach USB, BT oraz WiFi. Do "poważnych" zastosowań najlepiej nadaje się wersja USB, wersja BlueTooth, w ograniczonym zakresie, działa z oprogramowaniem na PC (poprzez wirtualny port szeregowy BT, podobnie jak wersja USB - nie wymaga dedykowanej obsługi) oraz Androida, wersja WiFi działa głównie ze smartfonami marki Apple (ale niektóre programy na PC również ją obsługują, np. ForScan oraz Multi ECU Scan). STN1110 oparty jest o szybszy mikrokontroler (PIC24HJ128GP502 vs. PIC18F2580) z większą ilością RAMu, dzięki czemu jego działanie jest bardziej stabilne (nie "gubi" ramek) i możliwe było wprowadzanie trybu RAW (czyli przesyłanie niezdekodawanych ramek między oprogramowaniem a sterownikiem samochodu - możliwa implementacja nowych protokołów po stronie oprogramowania na PC) dla protokołu CAN. Interfejsy oparte o ELM/STN zwykle nie posiadają multipleksera linii, tj. potrafią wykorzystywać tylko standardowe piny gniazda OBD-2 i tak standardowo magistrala CAN to piny 6 oraz 14, ale np. w Fordach występuje dodatkowa magistrala CAN (MS-CAN) na pinach 3 i 11, a w niektórych FIATach na pinach 1 i 9. Konieczne jest więc stosowanie przejściówek lub interfejsów z przełącznikiem, by można było wykonać diagnostykę wszystkich systemów dostępnych w tych pojazdach (o ile oczywiście dostępne jest dedykowane oprogramowanie diagnostyczne dla interfejsu ELM i tej marki/modelu samochodu). Podobny problem występuje z tzw. linią K, która poza pinem 7, może występować na pinach 1, 3 i 9. Istnieją interfejsy z multiplekserem CAN, przełączanie odbywa się w nich między pinami 6/14 (HS-CAN) oraz 3/11 (MS-CAN) za pośrednictwem sygnału RTS (OBDLink MX/STN1170) - konieczne jest jednak wsparcie po stronie oprogramowania. Choć teoretycznie możliwe do stworzenia, nie istnieje oprogramowanie diagnostyczne na interfejsy ELM/STN dla grupy VAG, istnieje natomiast bardzo zaawansowane oprogramowanie diagnostyczne dla grupy FCA - FIAT, Alfa Romeo, Lancia, Chrysler, Dodge, Jeep oraz niektóre modele Suzuki (Multi ECU Scan, AlfaOBD) oraz Forda/Mazdy (ForScan).

    Dokumentacja:
    https://www.elmelectronics.com/wp-content/uploads/2017/01/ELM327DS.pdf
    https://www.scantool.net/scantool/downloads/234/stn1100-frpm-preliminary.pdf
    https://www.scantool.net/scantool/downloads/102/stn1110_vs_elm327.pdf

    ***

    Przypominam również, że właściwy interfejs i oprogramowanie to tylko połowa sukcesu, aby mieć z tego jakiś pożytek trzeba posiadać odpowiednią wiedzę z zakresu mechaniki i elektroniki. Samo odczytanie błędów to żadna diagnoza, a ich skasowanie nie usunie usterki, może natomiast znacznie utrudnić właściwą diagnozę a w skrajnym przypadku doprowadzić do pogłębienia usterki. Odczytanych błędów nie można traktować "dosłownie", konieczna jest znajomość zależności pomiędzy różnymi systemami samochodu i zasady ich działania. Często niezbędne do postawienia diagnozy są odczyty parametrów bieżących lub dane z zamrożonych ramek. W wielu przypadkach nie da się postawić jednoznacznej diagnozy jedynie w oparciu o samą diagnostykę komputerową.

    Daewoo:
    ALDLJava (Link): ALDL, komercyjny, darmowy/20-80zł

    FIAT/Lancia/Alfa-Romeo:
    MultiEcuScan (Link): ELM327/OBD-KEY, komercyjny, darmowy/50€
    FiCOM (Link): dedykowany, komercyjny, 299€
    MaxiEcu FIAT (Link): dedykowany, komercyjny, 450zł
    IAWscan2 (Link): KKL, open-source
    AlfaOBD (Link): ELM327/OBD-KEY, komercyjny, 49€
    FiatScan (Link): dedykowany, komercyjny, 1199zł

    Ford/Mazda:
    ForScan (Link): ELM327, freeware/210zł
    ELMconfig (Link): ELM327, freeware
    MaxiEcu FORD (Link): dedykowany, komercyjny, 450zł
    F-COM (Link): dedykowany, komercyjny, 299€

    Nissan:
    Nissan DataScan I/II (Link): dedykowany, komercyjny, 52AUD/70AUD (36€/48€)

    Opel:
    OP-COM (Link, Link): dedykowany, niekomercyjny, 349€ (komercyjny 749€/3299zł)
    Autoscanner Opel CAN (Link): dedykowany, komercyjny, 380€
    VauxCheck (Link): ELM327, komercyjny, 30£
    MaxiEcu Opel (Link): dedykowany, komercyjny, 450zł

    VW/Audi/Seat/Skoda:
    VCDS (Link, Link): dedykowany (HEX-V2), niekomercyjny, 199$/1299zł (komercyjny 599€/2549zł)
    VCDS-Lite (Link): KKL, komercyjny, 99$
    Polski VAG USB (Link): KKL/dedykowany, komercyjny, 133zł (v.2.5)/399zł (v.4.9)
    VAG CAN PRO (Link): dedykowany, komercyjny, 944zł
    VAG CAN PRO + K (Link): dedykowany, komercyjny, 1244zł
    DeltaScan (Link): KKL/dedykowany, komercyjny, darmowy/1499zł

    AKTUALIZACJA 2020
    W ostatnim czasie na rynku pojawiły się dwa, moim zdaniem warte uwagi, amatorskie interfejsy diagnostyczne.
    OBDEleven PRO - interfejs współpracujący ze smartfonami z systemem Android, przeznaczony do diagnostyki samochodów grupy VAG. Posiada zaawansowane funkcje adaptacji i kodowania (tylko wersja PRO), obsługuje K-Line, CAN i UDS. Unikalną cechą są programy/procedury adaptacyjne, gdzie bez potrzeby ręcznego kodowania, jednym kliknięciem, możemy włączać lub wyłączać dostępne funkcje w samochodzie. Niestety te funkcje są płatne (możemy te procedury wykonać "ręcznie", za darmo, tylko czasem konieczna jest zmiana kodowania/adaptacji w kilku róznych modułach, pod kilkoma róznymi adresami). Oprogramowanie wraz z interfejsem to koszt ok. 320 zł. Dostępna jest polska wersja językowa oprogramowania.

    Autel MaxiAP AP200 - interfejs współpracujący ze smartfonami z systemem Android oraz iOS. Obsługuje diagnostykę OBD-II/EOBD oraz rozszerzoną dla wybranych marek. W cenie interfejsu mamy do dyspozycji jedną, wybraną markę (dożywotnio), a w razie potrzeby można dokupić obsługę innych marek (ale działa to już na zasadzie rocznej subskrybcji i kosztuje $22 za markę). Sam interfejs kosztuje ok. 300 zł (obecnie tj. XI.2020 jest promocja, za 250 zł). Interfejs umożliwia diagnostykę wszystkich modułów (błędy, parametry), oraz posiada podstawowe procedury serwisowe (wymiana szczęk hamulcowych/EPB, odpowietrzanie układu hamulcowego/ABS i t.p.).

    UWAGA: Autor tematu ani administracja Forum nie ma żadnych powiązań z producentami/dystrybutorami wymienionego sprzętu ani oprogramowania*, nie zajmujemy się ich dystrybucją, a podane ceny są tylko orientacyjne.
    Powyższy wykaz nie może być traktowany jako oferta handlowa w rozumieniu art. 66 Kodeksu Cywilnego.


    * - poza IAW Scan 2 którego jestem autorem
  • Texa Poland
  • #3
    camillont
    Level 9  
    Zapewne Lexia 3, albo inaczej Diabox.

    Sam jestem przed wyborem odpowiedniego "Interfejsu diagnostycznego" i mam niezłą bolączkę na ten temat.
    Większość tematów niestety jest bełkotem ludzi, którzy nie zaznajomili się z ofertą danego producenta i myślą, że jest to kombajn do wszystkiego.

    Wracając do tematu, to nadal mam zagrychę? Co warto wybrać do mercedesa, peugeota , renaulta...

    Zapraszam do dyskusji:) Co prawda temat jest mocno stary, ale daje pewne refleksje.



    Od Siebie dodam, że brakuje tutaj takich Interfejsów diagnostycznych jak:
    - TEXA
    -BOSCH
    - zresztą napiszę osobnym temacie o innych, na razie przygotowuje notatki...
  • Texa Poland
  • #4
    zetembe1
    Level 9  
    Nabyłem chyba najpopularniejszy interfejs (Aledrogo 9790157338)
    Strona https://www.outilsobdfacile.com/vehicle-list-compatible-obd2/opel podaje "Astra G 1.7 CTDi" od 2004
    Moja astra pochodzi z 2003 roku.
    Mam rozumieć, że to wtopa?
    Coś tam czyta słabymi programami, ale OP-COM i VAUX-COM nie widzą interfejsu i proszą o instalację drivera USB.
    Mam rozumieć, że to nie zagra? Czy mogę zainstalować jakiś kompatybilny driver aby wspomniane programy widziały interfejs?
    Domyślny driver zaciągnięty przez Win7 to Prolific USB-to-Serial COMM Port

    USB\VID_067B&PID_2303&REV_0300

    Po odinstalowaniu nie zaciąga driverów z katalogu "drivers" w OP i VAUX COMie.

    Dzięki za sugestie.
  • #5
    tzok
    Moderator of Cars
    ELM327 nie będzie działał z programami wymagającymi dedykowanych interfejsów... będzie Ci działał z programem VauxCheck (ale tylko odczyt błędów) i SDPROG. Na Androida masz też ScanMyOpel (dla interfejsów ELM327 BT).
  • #7
    tzok
    Moderator of Cars
    mateklos wrote:
    Można użyć oprogramowania apke androida :) Testowałem na ECU Vaga działa ,co ciekawe podaje kąt wyprzedzenia zapłonu , korektę wtrysku itd .
    Nazwa: "Motor data obd" złącze mod. ELM 327 II
    Tak, na Androida pojawiło się kilka aplikacji współpracujących z VAG przez ELM327, chyba najbardziej godną uwagi jest Carly: https://play.google.com/store/apps/details?id=com.iViNi.VWhatFull

    Oczywiście podstawowa diagnostyka silnika możliwa jest z użyciem prawie dowolnego czytnika CAN OBD-II.
  • #9
    Meteor80
    Level 15  
    Na własny użytek przy kilku autach można się wyposażyć w MUCAR.
    Z azjatyckiego portalu zakupowego.
    Cena w okolicy 200zł.
    Dożywotnia aktualizacja.
    Odczyt, kasowanie błędów i podgląd parametrów dla wszystkich marek i wszystkich modułów.