Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Komendy w bascomie do komunikacji ze złączem odb2

luklublin 15 Kwi 2005 17:28 10274 31
  • #1 15 Kwi 2005 17:28
    luklublin
    Poziom 11  

    Witam!!!
    Chciałem się dowiedziec za pomoca jakich komend w języku BASCOM mozna komunikować się z interfejsem odb2? I czy wogóle jest taka możliwość???
    Pozdrawiam

    0 29
  • #2 15 Kwi 2005 19:51
    szymtro
    Poziom 30  

    A co kombinujesz z tym obd2? Do jakiego auta będziesz sie podpinał? Narazie udało mi się podłączyć do sterownika opla (to chyba był ECM z kadeta ale nie dokońca jestem pewien) i tylko w trybie 10k - tzn można tylko czytać to co sterownik wysyła - ze 20 bajtów danych. W dalszym ciagu podepne sie do sterownika ale w trybie aldl 8192 - jak znajdę odpowedni ECM.

    0
  • #3 15 Kwi 2005 22:24
    luklublin
    Poziom 11  

    Mam samochód Citroen Berlingo 2.0 HDi. Chcę napisać programik który wyświetlał by mi wszystkie mozliwe dane na LCD-ku dotyczące pracy i stanu samochodu. Dlatego chce do komunikacji wykorzystać to łącze.

    0
  • #4 18 Kwi 2005 07:47
    diag
    Spec od samochodów

    Njawiększy problem to musisz się z tym ECU dogadać, ale diesle nie muszą spełniać obd2 i po wszystkim.

    0
  • #5 18 Kwi 2005 09:55
    szymtro
    Poziom 30  

    Generalnie trzeba dokładnie wiedzieć co to za sterownik i znać dokładnie jego numer i typ. Napisz co tam jest na nim napisane. Potem trzeba w jakiś sposób ustalić co i gdzie ewentualnie ten sterownik ma fizycznie przypięte - które piny i jaki standard napieciowy. Na koniec zostaje ustalenie w jakim formacie dane są przekazywane z/do sterownika. Ewentualnie jak masz jakiś oryginalny program do komunikacji to można spróbowac zgrać jakąś krótką komunikację i potem to analizować.

    Z tego co ustaliłem to w obd2 tak jak w aldl8192(zaraz sie okarze ze to prawie to samo?) sterownik nic sam z siebie nie wysyła - odpowiada tylko na pytania zadawane przez komputer w odpowiednim standardzie.

    A wiec napisz co dokładnie steruje twoim silnikiem.

    0
  • #6 18 Kwi 2005 10:40
    diag
    Spec od samochodów

    Optymizm jest dobra cechą, ale producenci dbaja o dochody serwisów i dogadywanie się z HDi nie wechodzi wielu drogim testerom a aldl to zupełnie inna bajka.

    0
  • #7 18 Kwi 2005 11:46
    szymtro
    Poziom 30  

    Diag masz sto procent racji. Oglądałeś "Piękny umysł"? Wiem że to tylko film ale pokauzje zasadę. Zdażają sie ludzie którzy niemal "w locie" potrafia analizować pewne zależności między strumieniami danych.
    Co do firmowych testerów to większość z nich bazuje na komputzerze i prostym interfejśie żeby jak najwiecej zarobić (np Fiat tester). Jezeli zaczniemy używać nawet prostych uC to niektóre rzeczy staja się łatwiejsze.

    Nie zamierzam sie kłucić z nikimale taka operacja jaką sugeruje autor postu jest możliwa do zrealizowania - wystarczy poświecić odpowiednia ilość czasu i trochę sprzętu.

    Nawet jak nic z tego nie wyjdzie to zyskujemy przecież nauke i doświadczenie które to elementy (na tak wyrafinowany temat) bardzo trudno zdobyć - trzeba by było zostać inżynierem w firmie bosch (albo siemens) i to w odpowiednim dziale - a to jest prawie niemożliwe.

    Co do obd2 to tam są chyba tylko dwie linie (K i L) z tym ze "czasami" podobno wystarczy tylko jedna z nich (K o ile dobrze pamietam)?

    0
  • #8 18 Kwi 2005 14:52
    diag
    Spec od samochodów

    W diagnostyce ECU jest tak:
    1. sekwencja inicjalizacji(jak sie uda to można sobie pytać ECU)
    2. komunikacja
    3. zakończenie sesji.
    Jeżeli sie dobrze postarasz to możesz całkiem nieżle zamieszać, i wtedy masz ECU do wymiany lub jeszcze wieksze starty.
    By rozpocząć zabawę trzeba niestyty posiąść wiedzę o protokole komunikacji.
    Bardzo popularny jest kwp2000 ale jak pisałem wcześniej diesle nie muszą spełniać obd2.

    0
  • #9 18 Kwi 2005 22:12
    luklublin
    Poziom 11  

    Koledzy piszecie że disle nie komunikują się za pomocą interfejsu odb2. Więc za pomocą jakiego??? Może ktoś wie??? Co myslicie na temat artykułu który zamieszczam poniżej???
    Pozdrawiam

    0
  • #10 18 Kwi 2005 22:19
    luklublin
    Poziom 11  

    Koledzy obejżyjcie dział zatytułowany AT Commands. Może dało by się coś z tego wyciągnąć. Tylko jak to wykorzystać???

    0
  • #11 18 Kwi 2005 23:07
    szymtro
    Poziom 30  

    Nie AT tylko Talking to vehicle. Jest tam chyba ładnie napisane jak to powinno działać. Nie rozumiem jeszcze zbytnio inicjalizacji ale jeszcze popatrze.
    Generalnie jest tak ze do ECM dane lecą jako pojedyńcze bajty i ECU też odpowiada pojedyńczymi bajtami.

    Czyli np wysyłamy do ECU 01 00 (będe pisał hexem)
    a ECU odpowie: 41 00 BE 1F B8 10 (to jest przykład z pdf'a)

    Czyli widac prawie jak na dłoni jak wygląda protokół. Teraz ściągne sobie te dokumenty co sa omówione jako źródło danych i zobaczę dokładnie co to za transmisja, jaka prędkość, i jakie napiecia są potrzebne.

    Napiszcie mi teraz jeszcze jakie tanie sterowniki mają obd2. Zakupie taki jeden uzywany i pobawie sie w domu takim - chyba to jest najlepsze rozwiazanie bo nic nie uszkodzimy.

    0
  • #12 20 Kwi 2005 17:52
    and64
    Poziom 12  

    Najlepiej chyba byłby spróbować najpierw z laptopem , schemat interfejsu masz , a o gotowe pytaj na stronie OBDII.
    P.S
    Kiedyś próbowałem się bawić z ECU ALDL8192 , nawet to chodziło . Sterownik rozpoznawał kilka komend jakie mu się wysyłało np. wysyłał pakiet danych diagnostycznych, błedy ECU, reset IACV BLMCELLS itd.
    Robiłem to za pomocą laptopa.

    0
  • #13 22 Kwi 2005 17:20
    rdt
    Poziom 24  

    a ja mam pytanko czy ktos w koncu zrobil cos na ALDL
    mam poldka z abimexem do prob i generalnie czemu by nie sprobowac - ma ktos jakiegos PDF-ka do tego ???

    0
  • #16 22 Kwi 2005 21:39
    szymtro
    Poziom 30  

    rdt - ja też mam poldka z abimexem. To własnie do niego staram sie podłaczyć i jak narazie udało mi sie zestawić połączenie ALDL 160 tak zwane aldl 10k bo do pinu A i B podpinasz rezystor 10k ohm i wtedy(załaczony zapłon) ECU samo chwali sie swoimi 20 bajtami danych - dziwnie miga lampka "check engine". Co prawda odświerzanie jest około 1sek wiec mało co widać z sondy lambda ale program fso monitor wykorzystywał właśnie ten tryb. Teraz czekam na drugi ECM tak abym mógł się bawić w domu a nie w aucie - szkoda latać co chwila do samochodu. A komunikację mamw bascomie i wyświetla mi te dane na wyświetlaczu ale nic nie stoi na przeszkodzie żeby zapisywać je do pamieci (powiedzmy 24c128) i potem wdomu załadować do kompa i obejrzeć.

    0
  • #17 22 Kwi 2005 21:45
    rdt
    Poziom 24  

    Szymtro- dokladnie tak - co prawda po omacku ale wlasnie tak probowalem robic - kody powolone przekazywane za pomoca check engine sa przy zwarciu -nie chwalac sie to mialem udzial przy umieszczaniu 3-rezystorowego interfacu ale - po analizie tego schematu wlasnie wlaczalem opor pomiedzy styki tylko ze - co dalej jezeli masz jakiegos pdf to ja bardzo chetnie rzuce w niego okiem
    co do bascoma to jezeli bylbys laskaw udostepnic bodaj skrawki kodu to tez bym sie cieszyl
    Pozdrawiam
    rdt

    0
  • #19 24 Kwi 2005 04:22
    pgoral
    Poziom 25  

    diag napisał:
    W diagnostyce ECU jest tak:
    1. sekwencja inicjalizacji(jak się uda to można sobie pytać ECU)
    2. komunikacja
    3. zakończenie sesji.
    Jeżeli się dobrze postarasz to możesz całkiem nieżle zamieszać, i wtedy masz ECU do wymiany lub jeszcze wieksze starty.
    By rozpocząć zabawę trzeba niestyty posiąść wiedzę o protokole komunikacji.
    Bardzo popularny jest kwp2000 ale jak pisałem wcześniej diesle nie muszą spełniać obd2.


    Nowe diesle muszą.

    kwp2000 faktycznie jest dość popularny. Ale nie tylko i nie tylko linie K i L wystepują w OBD-II. To nie jest takie banalne.

    Elektrycznie to raczej ne problem. Gorzej napisać kod do uC realizujący taka komunikację.

    A co chcesz dokładnie wyświetlać?

    0
  • #20 24 Kwi 2005 10:36
    luklublin
    Poziom 11  

    Byłem ostatnio w serwisie Citroena i zgłosiłem że coś za duzo paliwa bierze. Zabrali samochód na kompa i dostałem piekny wykresik wraz ze skałdem spalin, oraz ilość spalanego paliwa. Ponieważ nie mam komputera w samochodzie chciałem coś takiego napisać w bascomie.
    Może macie jakieś jeszcze propozycje.
    Pozdrawiam

    0
  • #21 24 Kwi 2005 14:57
    szymtro
    Poziom 30  

    Mam prośbę do osób znających sie na obd2 i samochodach.

    Napiszcie dokładnie w jakim samochodzie i z którego rocznika jest stosowany taki systemkomunikacji jak wspomniany w tytule. Nie ukrywam ze zależy mi na popularnych autach do których sporo jest używanych ECU - cena wtedy jest sporo niższa a do testów nie potrzeba wydawać aż tyle kasy - czasami moze być nawet uszkodzony ale tak aby komunikacja jeszcze była.

    0
  • #23 24 Kwi 2005 18:43
    szymtro
    Poziom 30  

    and64 to jest to samo co już wcześniej napisałem. Starsze auta amerykańskie i ople (ascony, kadety) maja taki system który nazywa sie aldl 160 lub aldl 10k. POlega to na ciągłym wysyłaniu 21 zmiennych (1 bajt startu właściwie to jest to 9 jedynek) a czas powtarzania to około 1,2sek. Nowsze ecm opla maja dodatkowo funkcje aldl8192 ale dwukierunkową i na innym wyprowadzeniu - nowsze wspieraja starsze.

    0
  • #24 24 Kwi 2005 21:58
    and64
    Poziom 12  

    No , cóż , racja . Niezajarzyłem.
    W ALDL8192 (Lanos 1998) jest tak : wysyłamy do ECU np żądanie o pakiet diagnostyczny (5 bajtów - $f4,$57,$01,$00,$b4) i odbieramy pakiet 64 bajty(MAT,MAP,CTS,itd).Działa też z innymi komendami np:reset błędów itd , ja się tym bawiłem w oparciu o interfejs na max232 i w/w aldlmon . W obrębie nawet jednej marki samochodów są znaczne różnice, jeżeli chodzi o zastosowane protokoły komunikacji(np Lanos miał dwa rodzaje(przynajmniej), a później jeszcze zmienili standart na OBD2.
    Życze sukcesów.

    0
  • #25 24 Kwi 2005 22:15
    szymtro
    Poziom 30  

    No włąsnie jakoś to aldl coraz bardziej wydaje mi sie podobne do tego obd2 - żeby nie powiedzieć takie same. W obd co prawda trzeba najpierw zainicjować transmisje ale poza tym to chyba identycznie - no i racja po co wymyślać nowy protokół - zmienili chyba tylko predkość transmisji.

    Generalnie z tego co sie dowiedziałem to and64 ma racje: do sterownika F4h, 47h,01h,00h.....
    generalnie w lanosie jest kilka ECU a te pierwsze dwa bajty (F4h i 47h) to jest tzw rom id 1 i 2 (nie przez przypadek użyłem tego w swoim pliku opisu) a to jest typ i model samochodu (ECU również) - tu chodzi o to że na jednej lini moze być kilka sterowników (ale nie dwa takie same)(obd2 wlasnie to zdefiniowało do końca - sieć pokładowa). nastepna komenda 01h - też jest gdzieś omówiona i to dotyczy chyba trybu (mode).
    00h to jest komenda aby ECU zwrócił pakiet danych. Ale zawsze pierwszym bajtem odpowiedzi bedzie 41h(odpowiedźna 01h). No własnie tego nie rozumiem i tu mogą być różnice: w aldl chyba ECU nie zwróci rom id a w obd2 powinien to zrobić żeby standardy zostały zachowane.

    Tyle wiem na razie - kurcze wszystkiego mozna sie dowiedzieć jak sie zadaje coraz bardziej wyrafinowane pytania.

    A tak apropos to interfejs też jest prosty ale radzę uzyć jednak procka bo będzie łatwiej analizować odpowiedzi w terminalu na kompie.

    0
  • #26 25 Kwi 2005 17:24
    and64
    Poziom 12  

    F4 - Typ ramki ECU(lanek sterownik IEFI)
    57 - długość pakietu wysyłana
    01 - mode 1 (tryb pracy ECU)
    00 - rodzaj trybu (diagnostyka)
    B4 - suma kontrolna w/w bajtów

    Więcej jest w tym pdf , który zamieściłem

    Dodano po 12 [minuty]:

    Odpowiedź ECU(lanek IEFI):
    F4 - ramka
    9?- nie pamiętam (długość pakietu chyba $55+72d)
    01 - tryb
    00 - tablica
    dalej 64 bajty danych
    xx typ ECU
    xx typ ECU
    xx błedy
    xx
    yy - suma kontrolana

    Dodano po 1 [godziny] 40 [minuty]:

    Przypomniłem sobie:
    -ten drugi bajt - dł pakietu to $52(magiczna liczba)+59d(59 bajty danych)+5(rozkaz(F4....))=$92 .

    Dodano po 10 [minuty]:

    a na $40 lub $41 w lanku ma ramkę chyba immobilizer .

    0
  • #27 10 Sie 2005 23:50
    MAREK74
    Poziom 20  

    cześć
    ale format danych jest taki jak w rs232?
    bo jak tak to asemblerze na '51 dało by sie cos wyskrobać
    ja proponuje sterownik z VW np MONO-MOTRONIC dużo tego na giełdzie
    chodzi po OBD z jedną linią

    0
  • #29 03 Cze 2006 01:28
    MAREK74
    Poziom 20  

    widze że temat umarł....
    mi sie już sterownik przedstawia na LCD :) jak go zapytam

    0
  • #30 03 Cze 2006 04:09
    szymtro
    Poziom 30  

    temat umarł gdyż brakuje wolnego czasu aby go ciągnać dalej. Pochwal się tym co zrobiłeś - zostanie dla potomnych.

    0