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

Corsa C 1.2 2005 - Interfejs OBD na LCD z protokołem KWP 2000 FAST, jak zacząć?

kotrix_ 27 Gru 2013 22:06 8208 15
REKLAMA
  • #1 13105199
    kotrix_
    Poziom 9  
    Robię jako projekt na studia interfejs OBD na LCD według protokołu ISO 14230 KWP 2000 FAST, który to według kilku źródeł internetowych jest w mojej Corsie C z 2005r. (ECU Bosch Motronic, silnik Z12XEP). Napisałem kod procedury fast initialization (10400baud 8n1) podany poniżej (w raz z opisem układu):
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod sprawdzałem i ulepszałem dziesiątki razy. Próbowałem wszystkich możliwych kombinacji komendy StartCommRequest (domyślnie i według dokumentów ISO: C1 33 F1 81 66) z różnymi nagłówkami. Jednak na wyświetlaczu wciąż same zera, brak odpowiedzi samochodu. Oczywiście przy kompilacji zero warningów.

    Układ planuję sprawdzić na możliwie wielu innych samochodach (może Corsa ma jakiś problem) Termin oddania projektu się zbliża więc proszę chociaż o sprawdzenie kodu.

    Dołączam zdjęcia układu i gniazda OBD:
    Corsa C 1.2 2005 - Interfejs OBD na LCD z protokołem KWP 2000 FAST, jak zacząć? Corsa C 1.2 2005 - Interfejs OBD na LCD z protokołem KWP 2000 FAST, jak zacząć? Corsa C 1.2 2005 - Interfejs OBD na LCD z protokołem KWP 2000 FAST, jak zacząć?


    Pozdrawiam,
    Krzysiek
  • REKLAMA
  • #2 13105281
    carrot
    Moderator Samochody
    Piny 6 i 14 w gnieździe obsadzone, to jest CAN i tamtędy leci komunikacja z tą corsą, do zabaw z K-line potrzebujesz starsze auto (nie koniecznie z koncernu GM ;) )
  • REKLAMA
  • #3 13105329
    kotrix_
    Poziom 9  
    Dziekuję bardzo za szybką odpowiedź.
    No własnie co do osadzenia pinów nie jestem pewien bo to zdjęcie jest trochę niefortunnie oświetlone i odblask jest na pinach 6 i 14 akurat. Dla pewności wrzucam jeszcze 2 inne.
    Według źródeł internetowych i informacji z Op-Coma



    ta Corsa komunikuje się K-Linem
    Corsa C 1.2 2005 - Interfejs OBD na LCD z protokołem KWP 2000 FAST, jak zacząć? Corsa C 1.2 2005 - Interfejs OBD na LCD z protokołem KWP 2000 FAST, jak zacząć?

    Edit: Jednak interesujące jest widoczne na jednym ze zdjęć wyraźne przesunięcie do góry elementu pod pinem 6. Czy może to być oznaką, że właśnie ten pin jest osadzony?
  • #4 13105736
    Mich43l
    Poziom 20  
    mam pytanko czy interfejs będzie działa ze starszymi autami (docelowo interesuje mnie astra f rocznik 89 1.4 16v 90KM) oraz starsze ople
  • REKLAMA
  • #5 13105744
    kotrix_
    Poziom 9  
    Jest mała szansa, że ten rocznik będzie obsługiwał protokół kw2000, prędzej kw1281 (mam zamiar dodać jego obsługę) lub starsze. Sprawdź najpierw czy posiadasz gniazdo OBD i wrzuć zdjęcie albo wygoogluj coś na temat protokołu w astrach z tego rocznika.
  • #6 13105792
    Mich43l
    Poziom 20  
    kupiłem sobie elm-a 327 ale asterka nie za bardzo się dogaduje chociaż na liście aut było że niby się dogaduje, pozmieniałem kilka elementów i mam możliwość łączenia się z fiatem , przez OBD2 16pin
  • #7 13106835
    milejow
    Poziom 43  
    carrot napisał:
    to jest CAN i tamtędy leci komunikacja z tą corsą

    Eeee tam, normalnie gada się z nią po K-line :D
  • REKLAMA
  • #8 13106925
    kotrix_
    Poziom 9  
    milejow napisał:

    Eeee tam, normalnie gada się z nią po K-line :D


    W takim razie gdzie jest błąd w mojej inicjalizacji? Być może pomogłoby użycie zewnętrznego kwarcu dla lepszego timingu? (chociaż jedynie WAKE_UP pattern 25ms musi być z dokładnością +-1ms co wewnętrzny oscylator powinnien zapewnić)
  • #9 13107451
    milejow
    Poziom 43  
    kotrix_ napisał:
    W takim razie gdzie jest błąd w mojej inicjalizacji?

    Tu nie pomogę, korzystam z gotowych urządzeń i programów.
  • #10 13108066
    kotrix_
    Poziom 9  
    A czy mógłbyś jakoś potwierdzić czy wymagane jest użycie również linii L do inicjalizacji w tym modelu Corsy? Może tu cos nie gra (mimo, że linia L powinna być opcjonalna)
  • #11 13108265
    milejow
    Poziom 43  
    W tej Corsie nie ma linii ,,L,,
  • #12 13115239
    kotrix_
    Poziom 9  
    Rozwiązano problem z kodem. Jak zwykle był trywialnie-głupi.
    Dla potomnych:
    zamiast: CLEARBIT(K_LINE_PORT,K_LINE_OUT);
    miało być: CLEARBIT(K_LINE_PORT,_BV(K_LINE_OUT));

    Okazało się to przy badaniu sygnału wejściem liniowym karty dźwiękowej (czyli oscyloskopu dla ubogich)
  • #13 13116659
    Mich43l
    Poziom 20  
    kod na samej górze jest poprawiony ? , i wszystko działa silnik, skrzynia, abs , elektronika..
  • #14 13116741
    kotrix_
    Poziom 9  
    Kod wystarczy poprawić tak jak napisałem powyżej.
    Łączę się tylko po linii K na pinie nr 7. I mogę odczytać:
    Engine, ABS, AT, Airbag, Navigation system, Radio diagnostic
    Pozostałe info co do pinów na stronie: Link
    Z tym, że z tego co wywnioskowałem obserwując diagnostykę op-comem to niektóre piny obsługuje się protokołem kw1281, a niektóre kw2000
  • #15 13117470
    Mich43l
    Poziom 20  
    a z jakiego programu (software-u) korzystałeś ?
  • #16 13119358
    kotrix_
    Poziom 9  
    Z własnego :p. Wszystko wyświetlam na alfanumerycznym LCD.
    Ale odkodowuję info z ECU według standaru ISO 14230 i wszystko działa więc myślę, że powinno działać z dowolnym softem pod KWP2000.
REKLAMA