16 Ostatnio edytowany przez asmEx (2022-06-14 09:03:48)

Odp: K T M 690 ECU's

Belzebub napisał/a:

Przyznam, że niezły Manual skleciłeś :P
Tak wprowadzanie wsadów 0-1 to chyba dość ryzykowna operacja, no chyba, że masz już całą strukturę mapy ogarniętą (gdzie , co, ile bajtów) - w power commanderach nie mam wiedzy niestety - natomiast co do ECU : czy nie jest tak, że niektóre sygnały na szynie nie są zblokowane do edycji i sa współzależne od innych info na szynie (stad brak możliwości edycji) ? tak tylko pytam ;)

Hehe, z założenia nie miał to być manual. TE w moim przypadku okazał się mało przydatny i stąd postanowiłem trochę wybadać temat działania ECU. Wrzuciłem pierwszy post z zapytaniem o te sterowniki z założeniem, że ktoś coś się wypowie i zainteresuje się tematem.   W skrócie, wsad składa się z części kodu i danych. Analizując kod dochodzimy do danych i ich funkcji w działaniu ECU. Na tej podstawie dostajemy adresy w pamięci gdzie znajdują się dane i za co odpowiadają. Nie wydaje mi się aby te sterowniki były w jakimkolwiek stopniu zablokowane do edycji. Zmieniasz dane czy kod, przeliczasz i korygujesz sumy kontrolne (choć nie koniecznie ponieważ można w kodzie za pomocą jednego bitu wyłączyć weryfikację checksum), wgrywasz i to wszystko. Oczywiście trzeba wiedzieć co i po co się zmienia :) Power commander w tym modelu działa tylko na sygnałach analogowych... Mówiąc o szynie masz na myśli dane przesyłane przez złącze ECU <-> TESTER(PC)?

17

Odp: K T M 690 ECU's

asmEx napisał/a:
Belzebub napisał/a:

Przyznam, że niezły Manual skleciłeś :P
Tak wprowadzanie wsadów 0-1 to chyba dość ryzykowna operacja, no chyba, że masz już całą strukturę mapy ogarniętą (gdzie , co, ile bajtów) - w power commanderach nie mam wiedzy niestety - natomiast co do ECU : czy nie jest tak, że niektóre sygnały na szynie nie są zblokowane do edycji i sa współzależne od innych info na szynie (stad brak możliwości edycji) ? tak tylko pytam ;)

Hehe, z założenia nie miał to być manual. TE w moim przypadku okazał się mało przydatny i stąd postanowiłem trochę wybadać temat działania ECU. Wrzuciłem pierwszy post z zapytaniem o te sterowniki z założeniem, że ktoś coś się wypowie i zainteresuje się tematem. W zasadzie mając dostęp do kluczy całe wsady daje się wyczytać i zapisać poprzez złącze diagnostyczne, bez rozbierania obudowy...  W skrócie, wsad składa się z części kodu i danych. Analizując kod dochodzimy do danych i ich funkcji w działaniu ECU. Na tej podstawie dostajemy adresy w pamięci gdzie znajdują się dane i za co odpowiadają. Nie wydaje mi się aby te sterowniki były w jakimkolwiek stopniu zablokowane do edycji. Zmieniasz dane czy kod, przeliczasz i korygujesz sumy kontrolne (choć nie koniecznie ponieważ można w kodzie za pomocą jednego bitu wyłączyć weryfikację checksum), wgrywasz i to wszystko. Oczywiście trzeba wiedzieć co i po co się zmienia :) Power commander w tym modelu działa tylko na sygnałach analogowych... Mówiąc o szynie masz na myśli dane przesyłane przez złącze ECU <-> TESTER(PC)?

Mądrego przyjemnie posłuchać. Jeszcze trochę a ludzie z KTM'a będą tu wchodzili aby się dowiedzieć o co tak naprawdę chodzi w tym ustrojstwie które sami zbudowali :D

18

Odp: K T M 690 ECU's

ecetera napisał/a:

Jeszcze trochę a ludzie z KTM'a będą tu wchodzili aby się dowiedzieć o co tak naprawdę chodzi w tym ustrojstwie które sami zbudowali :D

Hehehe, raczej tak nie będzie... Podejrzewam, że oni raczej nie znają dokładnie jak co się odbywa w ECU i nie mają dostępu do źródeł kodu... Keihin dostarcza im gotowe rozwiązanie + ewentualne oprogramowanie przeznaczone do strojenia, programowania, diagnozowania... System działa tak jak został zaprojektowany przez Keihin'a i tyle.

19

Odp: K T M 690 ECU's

szyna danych: -chodziło mi juz połączenie ECU-silnik

Generalnie poniżej fotka jak wygląda typowy "message" na szynie CAN (zakładam , że ECU działa na takiej -chyba, że jakiejś prostszej) -pokazany jest jeden message, który posiada w sobie kilka sygnałów (każdy kolor to oddzielny sygnął, każda komórka to 1 bit -jak widać jeden sygnał może być 1 bitowy lub wielobitowy (max 64)). Tutaj sygnały mają nazwy SIG -ale w normalym życiu miały by ala RPM, Speed, Temp, itd, itp.
Natomiast jak ma się "mapa" zapłonu do tego to już nie wiem -pewnie jest przesyłana w kilku messageach albo w jednym, albo zwykłe mapowanie -nie mam pojęcia ;)

https://aws1.discourse-cdn.com/arduino/original/4X/6/d/c/6dce22d25c7607b8a77406e8e7296c55dd1e8f2e.png

Hardcore - it's more than music...

20 Ostatnio edytowany przez asmEx (2022-06-09 12:46:29)

Odp: K T M 690 ECU's

Domyślałem się, że chodziło Ci o CAN. Połączenie ECU-silnik na CAN? Nie bardzo to rozumiem.
Do ecu raczej trafiają w większości analogowe sygnały z poszczególnych czujników (temperatura, obroty, ciśnienia), które to ecu skaluje już do liczb.
System w tym modelu składa się z dwóch sterowników. Sterowniki te między sobą "rozmawiają" na linii CAN (nie ma tam nic ciekawego), natomiast samo połączenie do ECU w celach diagnostycznych czy innych jest tu realizowane nie przez CAN, a za pomocą K-line. Protokół to coś a'la KWP2000. Na linii CAN faktycznie cały czas "fruwają" dane i trzeba dokładnie wiedzieć, które ramki chce się wyłapać i obsłużyć. W związku z tym, przy komunikacji CAN istotną sprawą jest maskowanie i filtrowanie poszczególnych "wiadomości". Natomiast w KWP2000 sprawa jest o tyle prostsza, że wysyłasz ramkę z wiadomością i dostajesz na nią odpowiedź/odpowiedzi. Sam protokół w tym przypadku jest zbliżony do ISO14230 lecz nie jest z nim w pełni "kompatybilny". Warstwa protokołu łącza to w zasadzie jedynie sposób / format wymiany danych, a same funkcje są w zasadzie bardzo podobne do protokołu UDS (Unified Diagnostic Services).

21 Ostatnio edytowany przez asmEx (2022-06-14 09:05:07)

Odp: K T M 690 ECU's

Dla przykładu np. aby odczytać datę produkcji sterownika, po poprawnym zalogowaniu do ECU  w trybie diagnostycznym wysyłasz żądanie:

-> 80 D6 F5 02 21 93 01

gdzie:
    80 - tryb połączenia
    D6 - adres sterownika
    F5 - adres testera
    02 - długość wiadomości (2 bajty)
    21 - funkcja ReadDataByLocalIdentifier
    93 - SID - podfunkcja dla daty produkcji
    01 - suma kontrolna wiadomości
i otrzymujesz (pozytywną) odpowiedź:

<- 80 F5 D6 05 61 93 20 04 26 8E

gdzie:
    80 - tryb połączenia
    F5 - adres testera
    D6 - adres sterownika
    05 - długość wiadomości (5 bajtów)
    61 - pozytywna odpowiedź na zapytanie 21 (21 + 40)
    93 - SID - podfunkcja dla daty produkcji
    20 - rok
    04 - miesiąc
    26 - dzień
    8E - suma kontrolna wiadomości

Oczywiście sterownik może odpowiedzieć jakąś negatywną informacją np., że taki SID nie jest obsługiwany i otrzymamy wiadomość:
7F 93 12, lub jest wymagany wyższy poziom dostępu 7F 93 33 itd...

22 Ostatnio edytowany przez Belzebub (2022-06-09 14:22:44)

Odp: K T M 690 ECU's

Tak, to już jest jasne - ramki diagnostyczne (Routines / DID / DTC / itd.)
natomiast to taka diagnostyka modułu - read/write/set

Jak się to ma do mapy zapłonu/silnika ? Dany moduł (function block odpowiedzialny za konkretne dizałania mieszanki paliwa) pobiera sobie te dane z odpowiedniej komórki mapy i wpisuje je do sygnału którego odbiorcą jest wtrysk -czy metoda jest zupełnie inna ?
https://www.ecutek.com/Files/Products/Features/fuel-map.aspx

Hardcore - it's more than music...

23 Ostatnio edytowany przez asmEx (2022-06-09 15:37:51)

Odp: K T M 690 ECU's

To o czym pisaliśmy wyżej to komunikacja z ECU w celu pobrania wysłania konkretnych danych. Sama komunikacja daje Ci np. możliwość odczytania w danej chwili parametru / parametrów na których silnik pracuje, kąt zapłonu, podciśnienie w kolektorze...
Samych map raczej nie ma sensu odczytywać live (w trakcie pracy silnika) są one zdefiniowane w romie MCU. Odczytując zawartość romu dostajesz kod i dane (mapy). W większości przypadków raczej wartości które są zdefiniowane w samej mapie nie są nigdy wartościami 1/1, a są w różny sposób (w kodzie)korygowane, w zależności od innych danych np temperatury, ciśnienia, napięcia akumulatora...
Sterownik za pomocą wbudowanych konwerterów sygnałów i kodu (tabele skalowania) jest w stanie przeliczyć sobie np. napięcie na wartość i w drugą stronę.
To co wrzuciłeś na screenie powyżej wygląda na tabelę AFR, czyli pojazd ma prawdopodobnie sondę szerokopasmową.
Nie jest tak, że sterownik odczyta sobie z tabeli, że AFR ma być 11,2 i taką wartość wyśle do wtrysku, bo wtrysk nie ma pojęcia co to AFR :) on otrzymuje od ECU sygnał o określonym napięciu, w danym momencie i trwający odpowiednią ilość czasu.
Nie wiem na jakiej podstawie w Twoim przypadku oblicza engine load i jak działa system. W analizowanych przeze mnie sterownikach obciążenie silnika (ELV) jest obliczane funkcją: "ELV [%] = ( PM1M [hPa] / PA [hPa] ) * 100" gdzie PM1M jest ciśnieniem w kolektorze ssącym, a PA jest ciśnieniem atmosferycznym w hPa czy tam mbar'ach...
Sam moment i czas trwania wtrysku jest na pewno korygowany w wielu miejscach w zależności od różnych danych typu temperatura itd.
Na podstawie obliczonego obciążenia i obrotów odczytuje z tabeli docelową wartość AFR, którą porównuje z danymi z sondy. Jeśli wartości się różnią to koryguje (wydłuża lub skraca) czas trwania wtrysku i porównuje ponownie dla nowego czasu. Zazwyczaj te dane zapisuje w pamięci w postaci mnożników jako adaptacje sondy, czy to jako tzw. short fuel trim czy jako longi dla idle, full load, partial load... Ta wstawiona przez Ciebie mapa to z jakiegoś silnika turbo doładowanego, jakie auto?

24

Odp: K T M 690 ECU's

Nice, hehe
-widze, że konkretnie siedzisz w temacie
Dzięki, dzięki -musze jeszcze sporo poczytać z Google ;)

Hardcore - it's more than music...

25 Ostatnio edytowany przez asmEx (2022-06-14 09:05:48)

Odp: K T M 690 ECU's

Daj na priv jakieś linki, sam chętnie poczytam bo nie ma zbyt wielu informacji w necie ;)
A może ma ktoś na zbyciu "niepotrzebny" sterownik z nowszego modelu, po 2014 roku?
Tam chyba jest już komunikacja po CAN (złącze diagnostyczne z 4 przewodami).
Można by sprawdzić czy da się połączyć z takim ECU...
Ja w zasadzie swoje cele osiągnąłem. Kupiłem używki sterowników, które teraz wyglądają tak:
https://i.imgur.com/H1l3deI.jpg

https://i.imgur.com/99SvaTQ.jpg

Całość elektroniki jest zalana czymś a'la gumą i ciężko się to skrobie :)