logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Użycie Arduino (lub podobnego) jako interfejs diagnostyczny

16 Maj 2021 19:29 4278 31
  • #1 19436255
    Konto nie istnieje
    Poziom 1  
  • #2 19436366
    lukashb
    Poziom 39  
    Nie osiągalne dla zwykłego zjadacza chleba. Interfejsy uniwersalne (nie EOBD) do różnych marek w jednym kosztują krocie bo płaci się za czas poświęcony na zaimplementowanie protokołów każdej marki. Tak samo jak kupowałem Viakena, sam goły tani, ale chciałem wszystkie marki to ponad 3k. Samemu nie ogarniesz tego. Jedynie ELM327 i arduino, są wariaci co pisali KW1281 dla starego VAGa na arduino i to działa, ale to bez sensu.
  • #3 19436472
    kamyczek
    Poziom 38  
    Zainwestuj w program będzie tańszy niż czas który będzie potrzebny żeby z arduino zrobić takie urządzenie ...
  • #4 19436488
    Konto nie istnieje
    Poziom 1  
  • #5 19436500
    kamyczek
    Poziom 38  
    To trzeba dłubać w czymś innym ;) . Tester w tej branży to podstawa działania , bez niego można życie stracić i błędu nie znaleźć ..
  • #6 19436865
    m_misek
    Poziom 11  
    To jest jak najbardziej możliwe - tylko że jak już wspomniano mało opłacalne. Czasami nawet nie potrzeba żadnego arduino , bo wszystko można osiągnąć na tanim kablu za 25 PLN - kwestia tylko oprogramowania.
    Ponadto niekiedy to jedyne wyjście - przy czym mowa raczej o pasjonatach, a nie o ludziach którzy zajmują się tym zawodowo.
  • #7 19437049
    Konto nie istnieje
    Poziom 1  
  • #8 19437062
    tzok
    Moderator Samochody
    Problemem nie jest komunikacja, a oprogramowanie na PC. W wielu przypadkach interfejs jest kluczem sprzętowym do programu (np. VCDS i HEX+CAN), czasem wręcz część programu działa na interfejsie (np. DS-150E). Owszem, niekiedy są problemy z komunikacją z niektórymi samochodami i tu wychodzi cięcie kosztów lub nieudolne kopiowanie - np. zastępowanie dedykowanych driverów linii, komparatorami albo nieprawidłowa terminacja linii CAN.
  • #9 19437068
    Konto nie istnieje
    Poziom 1  
  • #10 19437296
    carrot
    Moderator Samochody
    Cytat:
    podobno różni producenci różnie układają linie komunikacyjne w gnieździe OBD

    Nie podobno, tylko tak jest !, jak standardowo can zespołu napędowego jest na 6 i 14,czego producenci różnych marek przestrzegają, tak z can nadwozia bywa różnie, sam mam 4 multipeksery can do cdif/2 (czarny, żółty, niebieski i czerwony :D )
  • #11 19437336
    OPservator
    Poziom 38  
    pythonOBD + raspberry, miałem się tym bawić, ale jakoś się tak złożyło, że inne sprawy pochłonęły czas i fundusze :(

    Dodano po 2 [minuty]:

    Edit: większość ludzi łączy go tylko z ELMem, ale są pasjonaci co bawią się "głębiej" i wpinają malinę bezpośrednio w CANa.
  • #12 19437471
    lukashb
    Poziom 39  
    wesolyyyy napisał:
    m_misek napisał:
    Czasami nawet nie potrzeba żadnego arduino , bo wszystko można osiągnąć na tanim kablu za 25 PLN - kwestia tylko oprogramowania.

    Właśnie czytałem o tym, ale o ile z ELM sprawa jest prosta bo działa praktycznie zawsze (w ograniczonym zakresie), o tyle w przypadku czegoś konkretniejszego zaczynają się kombinacje w stylu "Działa z markami X, Y, Z wyprodukowanymi po 2002 roku, wykluczając modele A,B,C po 2002 roku, za to działa z D,E,F sprzed 2002". I bądź człowieku mądry. Jakbym miał warsztat i wiedział że urządzenie się zwróci, to wydanie kilku koła na sprzęt do wszystkiego to żaden problem.
    O jakim kablu mówisz? Bo jeżeli dałbym radę w 2 stówkach kupić kabel/interfejs BT, i w zależności od auta włączyć program na komputerze...
    A nie ukrywam że działałbym bardziej hobbystycznie więc programów poszukałbym w nieoficjalnych źródłach ;) ...
    To by było super.
    lukashb napisał:
    Tak samo jak kupowałem Viakena, sam goły tani, ale chciałem wszystkie marki to ponad 3k. Samemu nie ogarniesz tego.

    Mówisz o czymś w stylu [Allegro] 7200310087 ?

    Nie. To zwykły KKL. Ja mam taki sprzęt:
    Użycie Arduino (lub podobnego) jako interfejs diagnostyczny
    I on goły sam nic nie robi. Płaci się za protokoły zapisane na karcie SD które łączą z daną marką i są własnością intelektualną firmy, bo ktoś je musiał opracować na podstawie serwisowych sprzętów.
  • #13 19437536
    Konto nie istnieje
    Poziom 1  
  • #14 19437561
    tzok
    Moderator Samochody
    Nie nie jest tak, zwykle cała diagnostyka odbywa się przez CAN gateway. To, że ze sterownikiem silnika łatwo się połączyć to tylko zasługa tego, że każdy musi obsługiwać pewien standaryzowany zbiór parametrów i poleceń. Jak się podłączysz pod CAN jakiegokolwiek innego sterownika (czy to przez CAN gateway czy bezpośrednio) to oczywiście będziesz widział ramki CAN, tylko co Ci z tego? Skąd będziesz wiedział co w której ramce jest i jak to interpretować? Nie wspominam już o aktywnej diagnostyce, gdzie chciałbyś odpytywać sterownik o jakieś parametry. On nie "gada po angielsku". Musisz znać adres i kod polecenia, a potem musisz potrafić zdekodować jego odpowiedź. Odpowie Ci np. 0x1A5F i co Ci to mówi?

    wesolyyyy napisał:
    A słyszałeś może o czymś takim że sam sprzęt jest niedrogi zaś oprogramowanie do niego kosztuje krocie? Bo jakbym podłubał to bym znalazł sobie oprogramowanie w wersji "nieoficjalnej"

    Producenci oprogramowania się zabezpieczają przed takimi "pomysłowymi Dobromirami" i umieszczają kod odpowiedzialny za przetwarzanie danych w MCU interfejsu. Dzięki temu program wysyła do interfejsu żądanie typu "zapytaj sterownik silnika o aktualną temperaturę cieczy chłodzącej", a program w interfejsie już wie jakie żądanie ma wysłać do jakiego sterownika i jak zdekodować jego odpowiedź. Innymi słowy program nie zna "języka" w którym komunikuje się ECU, tylko używa "tłumacza" w postaci interfejsu.
  • #15 19437575
    Konto nie istnieje
    Poziom 1  
  • #16 19437583
    tzok
    Moderator Samochody
    Tak jak pisałem są 2, a nawet 3 rodzaje interfejsów:
    - najprostsze pokroju ISO-KKL, czy ELM327: są tylko przejściówkami z linii K / CAN na USB (formalnie ELM ma MCU i częściowo dekoduje ramki CAN, ale nie interpretuje wartości), to program na PC ma w sobie dane na temat sterowników i "słowniki" poleceń oraz wzory dekodowania parametrów.
    - pośrednie jak OP-COM, czy HEX+CAN: są j.w. konwerterami protokołów oraz dodatkowo wymyślnymi kluczami sprzętowymi do programów na PC.
    - zaawansowane, jak DS-150E: cała logika komunikacji ze sterownikiem jest zaszyta w MCU interfejsu, program jest zaledwie interfejsem użytkownika.
  • #17 19437599
    Konto nie istnieje
    Poziom 1  
  • #18 19437680
    tzok
    Moderator Samochody
    Dużo zależy od programu. Jak ktoś napisze otwarty program, to zadziała z interfejsem typu pierwszego i nic nie stoi na przeszkodzie aby dorównywał fabrycznemu testerowi. Dla grupy FIATa jest genialny Multi ECU Scan oraz AlfaOBD, które działają z ELM327/STN11xx.

    Grupa VAG akurat ma bardzo dobrze zestandaryzowany protokół komunikacyjny i radzi sobie z nią większość interfejsów uniwersalnych, ale nie ma żadnego sensownego programu działającego z "otwartymi" interfejsami (choć technicznie nic nie stoi na przeszkodzie). Do amatorskiego użytku jest VCDS (i interfejs HEX V2), oraz OBD Eleven PRO. VCDS ma licencję amatorską na 3 numery VIN (podstawowa diagnostyka, typu odczyt błędów, nie wymaga przypisania do VIN).
  • #19 19437765
    Karaczan
    Poziom 41  
    Temat jest bardzo szeroki.
    Generalnie wszystko opiera się o protokoły w odpowiednich standardach.
    Te, generalnie najtaniej ogarnia KKL i ELM327.
    Potem zostaje pytanie na których pinach w gnieździe masz informacje, i w jakim standardzie ;)
    A potem program który potrafi to ugryźć, korzystając z danego interfaceu diagnostycznego.
    Dobrym przykładem jest np MultiECUScan abo AlfaOBD, która głupim ELM327 potrafi cuda z grupą FCA.

    Czytałem też że zaadaptowano ELMa jako INPA do BMW, i jako dedyk do grupy VAG (tylko nowsze, po CAN, jako że ELM nie umie w KKL)

    Można sobie zrobić uniwersalną przejściówkę, z jednej strony EOBD, z 2giej strony kilka wolnych kabelków i przepinać je odpowiednio w gniazdo samochodu, zależnie co chce się odpytać.

    Generalnie bez sensu, w czasach tanich dedykowanych klonów z chin.

    Choć np do starych Toyot po OBD (nie OBD2) zbudowano emulator ELM na Arduino.

    Jak wiesz co chcesz, do czego to chcesz, i po co ci to, to zbudujesz.
    Ale po za egzotycznymi przypadkami, jest to bez sensu.
  • #20 19438272
    carrot
    Moderator Samochody
    Można by dla zabawy zbudować zbudować prościutki interfejs na arduino do odczytu kodów błyskowych w starych samochodach (Ople, Toyota, Honda, Subaru etc.). Tranzystor zwierający piny w złączu diagnostycznym i fotodioda odczytująca kody błyskowe z lampki mil, do tego prosty program, który liczy ilość i interwał czasowy błysków i interpretuje kod błędu dla danej marki samochodu
  • #21 19438295
    kamyczek
    Poziom 38  
    Interface typu arduino z przystawką CAN wykorzystuje np . moduł do kodowania w grupie PSA zaprojektowany przez Francuzów i opisywany przez kolegów z forum przy okazji tematu o modułach bsi . Moduły do odczytu kodów błyskowych posiadają niektóre testery diagnostyczne np CARMAN itp one w niektórych przypadkach czytają takie kody . Choć czasem trzeba to niestety liczyć bo zworkę zrobić prosto ale dioda jest dostępna tylko w okienku sterownika i jak nie popatrzysz przez dziurkę to nie będziesz wiedział . Poza tym czasem moduły migają kontrolką na liczniku i co wtedy .Poza tym fakt można zbudować tylko przy cenie kilkudziesięciu złotych za tego ELM lub podobne to już raczej robota sobie a muzą . Poza tym chińczyk poszedł o krok dalej klonując interfejsy serwisowe , praktycznie wszystkich firm jak leci .
  • #22 19438309
    m_misek
    Poziom 11  
    tzok napisał:
    - zaawansowane, jak DS-150E: cała logika komunikacji ze sterownikiem jest zaszyta w MCU interfejsu, program jest zaledwie interfejsem użytkownika.

    Nie do końca, program może działać na zwykłym tanim kablu KKL, co prawda w "upośledzony" sposób ale działa. No i tylko z samochodami z K-Line.
    Sądzę że tani kabel z CAN tez można by zmusić do pracy z z tym programem.

    Generalnie jeżeli chcemy obsługiwać tylko jeden typ samochodu to można sobie napisać oprogramowanie jeżeli takiego nie ma - jeżeli nie ma, bo jeżeli jest to nie warto.
  • #23 19438383
    tzok
    Moderator Samochody
    m_misek napisał:
    Nie do końca, program może działać na zwykłym tanim kablu KKL, co prawda w "upośledzony" sposób ale działa.

    Obawiam się, że nie zrozumiałem co chciałeś powiedzieć... jaki program może działać na zwykłym kablu KKL?

    m_misek napisał:
    Generalnie jeżeli chcemy obsługiwać tylko jeden typ samochodu to można sobie napisać oprogramowanie jeżeli takiego nie ma - jeżeli nie ma, bo jeżeli jest to nie warto.

    Można i dawno temu, kiedy miałem Punto mk.1 taki program napisałem...
  • #24 19438397
    m_misek
    Poziom 11  
    Chodzi o to że sam interfejs DS-150E nie posiada w sobie logiki komunikacji. To tylko warstwa sprzętowa - interpretacją danych zajmuje się już Delphi AutoCom czy cokolwiek innego.
    Można zatem zmusić ten program do działania na tanim kablu KKL i żaden zaawansowany interfejs nie jest potrzebny.

    tzok napisał:
    Można i dawno temu, kiedy miałem Punto mk.1 taki program napisałem...

    Też tak zrobiłem, bo nie było żadnej alternatywy prócz serwisowego T4 dla MG Rover.
  • #25 19441630
    Karaczan
    Poziom 41  
    DS150e to akurat i HW i SW, i raczej zbyt skomplikowany by zhackować go do obsługi innych interfaceów.

    Ale mając sniffer CAN, spokojnie można podejrzeć jakie ramki wysyła np w celu skasowania przeglądu olejowego, i na tej podstawie napisać program dla Arduino z MCP2515 który będzie to wykonywać.
    Inne protokoły też można by podejrzeć jakimś analizatorem logicznym, czy nawet oscyloskopem, jak ktoś jest uparty.

    Tylko po jasną cholerę, skoro diagnostyka jest od dawna rozpracowana, a koszta przy klonach są akceptowalne nawet dla amatorów?!

    Dłubanie w protokołach diagnostycznych/komunikacyjnych przydaje się gdy chcemy coś niestandardowego.

    Np emulator zmieniarki (choć to też Chińczycy rozkminili) czy np wyświetlanie własnych komunikatów na zegarach, czy tam innych dziwnych funkcjonalności.
  • #26 19443534
    Konto nie istnieje
    Poziom 1  
  • #27 19443626
    KarizmoGSM

    Poziom 28  
    Jak masz czas i wiedze to zrób taki poradnik bo jak ktoś ma wiedze takową to na pewno tego za darmo nie zrobi.

    Szkoda czasu i prądu jak jest naprawdę sporo rozwiązań w śmiesznych cenach.
  • #29 19544119
    Konto nie istnieje
    Poziom 1  
  • #30 19544152
    tzok
    Moderator Samochody
    Pisałem o tym interfejsie w poście #18. Łączy się z wszystkimi modułami ale tylko w grupie VAG. Wersją nie-PRO wiele się niestety nie zrobi, a PRO jest chyba dostępne obecnie jedynie jako roczna subskrypcja, do tego część funkcji w aplikacji jest płatna i w ten sposób zarabiają.

Podsumowanie tematu

W dyskusji poruszono temat wykorzystania Arduino jako interfejsu diagnostycznego w samochodach, zwłaszcza w kontekście ograniczeń dostępnych komercyjnych rozwiązań. Uczestnicy wskazali, że interfejsy uniwersalne, takie jak ELM327, są ograniczone do komunikacji z jednostką sterującą silnika, a bardziej zaawansowane urządzenia są kosztowne. Zasugerowano, że dla amatorów i hobbystów, Arduino może być użyteczne do budowy prostych interfejsów, jednak wymaga to znajomości protokołów komunikacyjnych i programowania. Wskazano również na istnienie tańszych alternatyw, takich jak kable KKL, które mogą działać z odpowiednim oprogramowaniem. Uczestnicy podkreślili, że kluczowym elementem jest oprogramowanie, które interpretuje dane z interfejsu, a nie sam sprzęt. Wspomniano o programach takich jak VCDS, Multi ECU Scan oraz AlfaOBD, które mogą współpracować z różnymi interfejsami.
Podsumowanie wygenerowane przez model językowy.
REKLAMA