Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Bascom - Rozmowa w języki VAN - Peugeot/Citroen

Juni[]r 29 Sep 2016 01:54 6558 60
  • #31
    kamyczek
    Level 38  
    Lm393 albo inny dowolny komparator i masz konwerter k-line do słuchania a jak się uprzesz to będzie działało na dzielniku z 2 rezystorów albo rezystorze 2k i diodzie zenera 4v7 . Można też zrobić na 2 tranzystorach pnp i rezystorze 1k . Przykładów realizacji konwertera k-line na logikę ttl realizacji tego jest tyle co twórców a jak byś się uparł to taki układ wyjmiesz z byle grata z auta od radia przez sterownik silnika , bsi lub prawie każdy inny moduł który się diagnozuje wystarczy poszukać .
  • #33
    kamyczek
    Level 38  
    To zanim doczekasz się tego układu to może napiszesz jakie parametry chcesz odczytać i jak zamierzasz to zrobić . Bardzo mnie ciekawi to jak chcesz to zrobić . Jak napiszesz kolejno co będziesz robił to powiem ci czy coś z tego będzie ;)
  • #34
    Juni[]r
    Level 16  
    Zobaczymy ile odczytam od tego zależy reszta prac. Reszta łączenia tradycyjnym KWP . 5bitow na sekundę przez 2 sekundy i otrzymał zwrotkę z ECU. Potem 3 bajty które wynikają z standardu ISO, czwarty mode, piąty zapytanie, szusty suma kontrolna. Co chcesz jeszcze wiedzieć ?


    Jako ze mam parcie szukam co chwile czegoś nowego. I wyczytałem coś co nie musi być w moim aucie ale może...
    "Type of data exchanged
    The data transmitted by the PPS tool
    and the ECUs are carried on a single
    K Line.
    Using an oscilloscope, it is possible
    to observe signals of this type with
    ECU-specific communication times:
    • Communication the throughput is
    generally 10,400 bits per second.
    • For ECU downloads, the throughput
    may attain 62,500 bits per second.
    These signals are interpreted, first in
    the form of bits, then in the form of
    bytes:
    Example: 82D0F12180E4

    Drażni mnie słowo "Może". I może dlatego nie radzą sobie elmy ?

    Rozbije jeszcze stringa z informacjami:
    89F1D0 61C2 6F6EA37300AAB2 17


    89 - Liczba bajtów użytecznych
    F1 - Numer ECU (target)
    D0 - Numer ECU (source)
    61C2 6F6EA37300AAB2 - użyteczne dane
    17 - suma kontrolna
  • #35
    kamyczek
    Level 38  
    Informacja którą przedstawiłeś jest zgodna z dokumentacją i z tym sobie z pewnością poradzisz . Twoja przewaga jest taka że masz fabryczny tester więc możesz sobie to i owo podsłuchać podczas komunikacji . W prawdzie czeka cię jeszcze kilka niespodzianek po drodze ale jak się zmobilizujesz i pomyślisz to osiągniesz sukces . W zasadzie robiąc tego typu urządzenie możesz pokusić się o więcej niż tylko parametry bieżące . Tu można spokojnie zrobić sobie odczyt , kasowanie błędów , parametry . tyle że to samo będziesz miał kupując chińska kostkę na wifi lub BT i odpalając w telefonie odpowiednią aplikację . Tyle że w twoim przypadku będziesz miał satysfakcję z realizacji tego zagadnienia samodzielnie .
  • #37
    Anonymous
    Anonymous  
  • #38
    kamyczek
    Level 38  
    Planet nie diagnozuje tego po eobd poza tym ta norma obowiązywała z tego co pamiętam do 2010 r po nim producent sterownika nie ma obowiązku implementować tego typu protokołu w sterownikach a jak już go tam znajdziemy to będzie występował w bardzo okrojonym zakresie , tak będzie też z blokami pomiarowymi i błędami . Reszta będzie niedostępna lub opatrzona opisem specyficzny błąd producenta . Większość nowych sterowników jest wyposażona w dwie magistrale jedną k-line do trybu diagnostyki i obd a drugą najczęściej can do przesyłania informacji i odczytu parametrów z innych modułów , jednak te informacje często nie mają nic wspólnego z protokołami diagnostycznymi . Poza tym wiele nowych aut ko kooperacje i takim sposobem w citroenie znajdziesz komunikację rodem z fiata , w oplu z renault-a a w VW z mercedesa . ELM327 ma swoje nowsze wcielenia w których jest większa liczba protokołów i łatwiej się nim posługiwać niż pisać cały protokół od nowa , poza tym can pracuje ze znacznie większą prędkością 125k, 250k 500k i 1M bps co oznacza że jest to minimum 10 razy szybciej od kwp , do tego jest to sieć w która każdy węzeł wysyła co ma do wysłania więc informacji jest ogromna ilość . Odnalezienie tego co nas interesuje nie jest takie proste...
  • #39
    Juni[]r
    Level 16  
    Niveasoft tak jak piszesz trzeba zainicjować rozmowę z ECU. I pytać o konkretne rzeczy które chce się uzyskać.

    Moje IMMO nie do ruszenia BSI + ECU - taki model auta.

    Co do LPG to nic nie zmienia bo czas wtrysku gazu podawany jest jako zwrotka do ECU. Dlatego trzeba w niektórych autach montować emulatory to poziomu paliwa...

    kamyczek Nie mam CANa a wyżej opisałem jak wygląda protokół w moim aucie to dane z Peugeota.

    Mam problem z dostaniem BUSa z ISO Na TxRx. Mogę zrobić to jak na schemacie ?

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen
  • #40
    kamyczek
    Level 38  
    Możesz będzie działało jedyna wada to brak zabezpieczenia linii przy zwarciu do 12V. Ładniej z komparatorem analogowym . Linka do układu ,który potrzebujesz masz na p.w kłopotu z dostępem nie ma i to najbardziej popularny i najczęściej stosowany konwerter w tych rozwiązaniach .
  • #41
    Anonymous
    Anonymous  
  • #43
    kamyczek
    Level 38  
    Za ten czas to sobie możesz zrobić płytkę w zasadzie nie ma tam niejasności otwierasz pdfy i rysujesz schemat trawisz i masz gotowca ewentualnie jak chcesz mieć uniwersalny moduł to dorysyj tam CAN np. z MPC2515 i driverem 82c250 i będziesz miał zabawę do woli ;)
  • #45
    Juni[]r
    Level 16  
    Terminal wykonany. Znajdę troszkę czasu jutro i będę podsłuchiwał elma.

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen
    Bascom - Rozmowa w języki VAN - Peugeot/Citroen
    Bascom - Rozmowa w języki VAN - Peugeot/Citroen

    -edit-

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen

    Tutaj nic nie robiąc wysypują się informacje - nie wiem czy to ELM wysyła czy ECU nadaje.

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen

    A to te same ciągi + pytanie o obroty

    Z pierwszego obrazka ciąg wygląda tak
    Code: dos
    Log in, to see the code

    a to z zapytaniem o obroty "01 0C"
    Code: dos
    Log in, to see the code
  • #46
    Anonymous
    Anonymous  
  • #48
    Anonymous
    Anonymous  
  • #49
    kamyczek
    Level 38  
    O czym ty kolego Niweasoft piszesz na linii k jest na stałe podciągnięta do +12V przez rezystor ok 510 om możesz to sobie sprawdzić miernikiem w aucie . To co odczytujesz terminalem średnio mi się podoba używasz programowego czy sprzętowego uarta ?
    co jest odpowiedzią a co pytaniem wynika z nagłówka ramki tyle że to co tu widzę niczego normalnego mi nie przypomina .
  • #50
    Juni[]r
    Level 16  
    No własnie tez nie bardzo mi to się z zgrywa ze standardem ISO. Program napisałem w C. Nie chciałem go tu wpychać bo to temat Bascom. A Uart chyba sprzętowy. Mam 4 uarty z Mega2560 używam serial2. A transmisja po prostu "Serial2.baud(10400);" Mogę wkleić cały kod jeżeli to coś da. I czemu tak dużo F ? Czy to przez to podciągniecie do +12V ? Bo wysypuje mi się te stringi tak co 2s.
  • #51
    Anonymous
    Anonymous  
  • #52
    Juni[]r
    Level 16  
    Zmieniłem wyświetlanie z HEX na ASCII i są krzaki. Ale połączyłem się do terminala na PC zadalem mu odpowiedni baudrate i przekazuje wszystko idealnie. Rano podepne do auta i zobaczę jakie informacje mi wyświetli. Nivea ja cię rozumiem (choc nie zawsze rozmawiamy w tym samym języku) jedna linia 2 kierunkowa a linia L jest tylko jednostronna.

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen

    O co nie zapytam wyświetla to. Ale to może dlatego że nie jest skomunikowany z ECU
  • #54
    kamyczek
    Level 38  
    niveasoft wrote:
    Linia K jest podciągana do 12V i da się określić kiedy ktoś żąda odpowiedzi :D


    Kiedy ktoś odpowiada owszem bo na linii k zmienia się stan z wysokiego na niski ale jak chcesz określić że ktoś żąda odpowiedzi po tym ze jest tam stan wysoki ? , taki sam jest gdy nikt nie gada . To czy ktoś wymaga odpowiedzi wynika tylko i wyłącznie z ramki , odpowiedź może być pozytywna , negatywna lub jej nie być jak urządzenia nie ma lub nie rozumie tego co wysyłasz . Ja bym się niveasoft dobrze zastanowił nad tym co piszesz i kogo wiedzę kwestionujesz . Kline to magistrala w której trzeba otworzyć sesję i w niej zapytać o coś poza tym ją podtrzymywać bo jak odbiornik nie dostanie odpowiedniej ramki z testera to ją po prostu zamknie . Podsłuchaj sobie ramki Juni[]r z podłączonym testerem to zobaczysz co tam się dzieje podczas komunikacji .
  • #56
    Anonymous
    Anonymous  
  • #58
    kamyczek
    Level 38  
    to co napisał niveasoft ma sens , ale tylko dla stanu w którym będzie stan niski na linii k generowany przez sterownik ale resztę da się ogarnąć programowo przy pomocy mikrokontrolera o ile nie ma innej metody tą też dojdziemy do tego kto do kogo . Jednak patrząc na protokoły z serii kwp łatwo odgadnąć kto pyta a kto odpowiada . patrząc na to co pokazuje kolega na terminalu nie wygląda to na coś co można do tego kwp przypasować z wielu powodów .
  • #59
    Juni[]r
    Level 16  
    No to sprawdziłem poprawność terminala na 10k4 baud. Wysłałem z laptopa terminalem informacje poprzez kabel BRC LPG (ftdi-kline) do mojej przejściówki i na wyświetlaczu pojawiły się informacje spójne. Znaczy to ze ani mój samochód ani ELM nie gadają po 10k4. Dość dziwne przecież to standard. Pan Kamyczek namówił mnie na analizator stanów logicznych ale do piątku pewnie nie dotrze do paczkomatu. Może on powie z jaka prędkością gadać.

    -edit-

    Postanowiłem połączyć terminal PC + moje LCD i ELM. Wynik niespodziewany

    Zapytałem ELMa o 010F
    na co PC wyświetliło:

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen

    33 F1 81 66 E4 00 C1 33 F1 81 66

    A LCD

    Bascom - Rozmowa w języki VAN - Peugeot/Citroen

    0FFFFFFC133FFFFFFF1FFFFFF8166

    Skąd ta rozbieżność jeżeli sam PC z LCD gada dobrze....

    Pomyślałem sobie jeszcze o tym co powiedział kolega Niveasoft "kto sucha, kto mówi". Wiem że chodziło mu o wstawienie oporu na lini i z której strony wyższe napięcie tam jest nadawanie. Nie wiem jak zbudować coś takiego ale... Posiadam 4 UARTy sprzętowe. Może użyje 2 na raz. Do jednego podłącze jedną stronę a do drugiego drugą. Czyli np: ELM nawija do RX1 wyświetla mi to na LCD na żółto i zarazem wysyła na TX2 do ECU. A ECU podpinam do RX2 wyświetla na biało i zarazem wysyła do TX1. Problem w tym że zamówiłem tylko jeden L9637d :( Chyba ze Niveasoft ma jakiś wypaśny i prosty sposób na sprawdzenie kto mówi...

    Wiem ze to nie BASCOM ale dla każdego pewnie zrozumiałe.

    Code: c
    Log in, to see the code


    I mam w zmiennych InByte i InByte2 wartości wysyłane
  • #60
    kamyczek
    Level 38  
    A no masz tylko że musisz jeszcze zbudować mechanizm który będzie rozpoznawał że np. 3 kolejne odpowiedzi mogą być związane z jednym zapytaniem ;) ja bym wstawił np. kilka bajtów o tej samej wartości , albo string odp: w odbiorniku a pyt: w nadajniku Pomysł bardzo ciekawy i funkcjonalny