Ta witryna używa plików cookie
Pliki cookie stosuje się, aby zapewnić użytkownikom maksymalny komfort przeglądania np. do tzw. automatycznego logowania.
Aby dowiedzieć się więcej na temat cookies, oraz w jaki sposób je wykorzystujemy, zapoznaj się z treścią polityki prywatności.
W związku z tym, że 25 maja 2018 roku zaczyna obowiązywać Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r (RODO), Polskie Forum Daewoo zobowiązuje wszystkich obecnych użytkowników jak i nowo zarejestrowanych o zapoznanie się z nowym regulaminem i polityką prywatności.
Wysłany: 2016-03-29, 20:39 [lanos] Specyfikacja protokołu ALDL dla Lanosa?
Cześć!
Poszukuję specyfikacji protokołu ALDL dla sterowników silnika w Lanosie. Chodzi mi o opis struktury ramek danych i ich interpretację.
Przekopałem się już przez różne internety, w tym te pisane cyrylicą i niestety nic nie znalazłem. O ALDL jako takim jest sporo, ale w odniesieniu do Daewoo niestety słabo. A gdzieś te specyfikacje muszą istnieć, ostatecznie ALDL Java, czy rosyjski Delco Suite nie powstały z niczego Nie wiem, może źle szukałem.
Po co mi to potrzebne? Otóż chcę chcę stworzyć program wspomagający regulację LPG IV gen. w oparciu o obserwację zmian korekt wprowadzanych przez ECM podczas jazdy na gazie, w odniesieniu do korekt na benzynie.
Taka metoda regulacji daje znakomite efekty - przepraktykowałem ją przy regulacji swojej instalacji. Tyle że opierałem się o analizę logów zbieranych przez program ALDL Java, co jest bardzo czasochłonne. Stąd pomysł stworzenia softu umożliwiającego obserwację trendu zmian korekt na żywo. No ale to wymaga komunikacji z ECM
O ile komunikację ze sterownikiem 1.5 16V myślę że będę w stanie rozpracować metodami wstecznej inżynierii, o tyle do innych typów nie mam dostępu. A fajnie by było, gdyby program obsługiwał wszystkie Lanosy.
Projekt jest zupełnie niekomercyjny, więc jeżeli coś sensownego by z tego wyszło, będzie udostępniony dla dobra Ludzkości Także będę wdzięczny za wszelkie wskazówki i informacje.
Materiały w języku rosyjskim i ew. ukraińskim także będą mile widziane, bukwy znam i rozczytam
Pozdrawiam!
Linker #1 Reklama
Auto: brak
Wiek: 28
Posty: 420
Reklamy widoczne tylko dla niezalogowanych.
wid3l3c Grupa Mazowiecka
Auto: Nubira I 2.0 teraz Citroen C5 MK I FL
Imie: Emil Pomógł: 261 razy Wiek: 37 Dołączył: 06 Sty 2010 Posty: 3276 Skąd: Warszawa
Tyle że opierałem się o analizę logów zbieranych przez program ALDL Java, co jest bardzo czasochłonne.
Przymierzałem się do czegoś takiego.... mam już nawet logi i w głowie bardzo sprawną metodologię ich opracowania w excelu
Jedyne czego brakuje to czasu.
Zautomatyzowanie i maszynowe opracowanie zebranych danych na pewno znacznie by uprościło cały proces, nawet jakby trzeba było przeprowadzić dodatkową "ręczną" analizę.
Ja póki co zaopatrzyłem się w STAGa po BT i ALDL Java po USB.
Za jednym podejściem mam podgląd na LPG oraz wskazania integratora.
Jednakże to bardzo ciężko przeanalizować, bo dane zmieniają się w locie błyskawicznie i ciężko uchwycić prawidłowy moment do wprowadzenia korekt - a jeszcze trzeba auto prowadzić
Natomiast stworzenie map, oddzielnej na LPG i PB z uwzględnieniem obrotów, wartości podciśnienia gdzie badalibyśmy odczyty sondy lambda i odpowiadający im czas wtrysków i nałożyli je na siebie - wydaje mi się, że to jest wszystko czego nam potrzeba.
Nie wiem czy opieranie się wyłącznie na korektach to tak do końca dobry pomysł, one wg. mnie są zbyt nieprecyzyjne, co innego bieżący odczyt z sondy + ewentualnie korelacja ich z owymi korektami a raczej ich tendencją.
Zwróć uwagę jaki zapis mapy paliwa został zastosowany przez autora ALDL Java - czy mapa składająca się z 20 bloków to jest jakaś sensowna baza danych na jakiej możemy się opierać?
Ja myślę, że nie - a regulujemy LPG w znacznie bardziej uszczegółowionym zakresie.
Czy to jest idealne odzwierciedlenie map zaprojektowanych przez inżynierów Daewoo?
Jeżeli tak - jesteśmy w d*pie i zawsze będziemy mieli rozjazd map na LPG i strojenie będzie tylko pi razy drzwi.
Jeżeli nie - dobranie się do tych wartości i ich analiza to będzie istna kopalnia wiedzy.
Kiedyś przeglądając EFILive - tam widziałem bardzo szczegółową mapę... niestety nie udało mi się z nim dogadać jak miałem Lanosa 1.5 8v, by zobaczyć jak dane się prezentują.
Rozwiązaniem jest jedynie komputer typu "standalone" gdzie custom mapę tworzymy super szczegółową i pod to piszemy własny sterownik od LPG - bo dla mnie np. stagoski to nadal uniwersalna qpa jest jeżeli chodzi o nasze zacofane ECU.
I to chciałem opracować w excelu, tylko jak piszę, totalny brak czasu... a do zrobienia niby bardzo proste.
Zadam pytanie, masz 1.5 16V, w ALDL Java ustawiasz się na 1.5 czy 1.6?
W ALDL Java ustawiam się na 1.5. Ze sterownikiem łączę się za pośrednictwem interfejsu firmy VIAKEN ze sprzętowego portu COM. Specjalnie w tym celu zakupiłem starego lapka
Tak jak piszesz, posługiwanie się samym ALDL Java jest niewykonalne, odczyty zmieniają się za szybko.
Dlatego ja poszedłem na razie w stronę analizy logów, pod kątem wyłapania trendu zmian korekcji. Próbowałem i Excela i obróbki skryptami PowerShell, a w końcu napisałem aplikację, jakże by inaczej - w Javie Bo w niczym innym nie umiem
Ogólnie rzecz biorąc wygląda to tak: program utrzymuje tablicę 2 wymiarową, odpowiadającą rozmiarem "mapie" mnożników w programie do konfiguracji sterownika LPG (AEB MP48 brandowany jako ALEX Białystok).
Wiersze tablicy to czasy wtrysku, a kolumny to obroty wału (właściwie to przedziały od-do). Dla każdego wiersza logu odczytywana jest wartość BLM, czas wtrysku i obroty wału. W zależności od odczytanych wartości czasu wtrysku i obrotów wybierana jest odpowiednia komórka w tablicy i odczytana wartość BLM jest dodawana do wartości już istniejącej w tej komórce. Oddzielnie zapamiętywana jest też ilość wpisów do każdej komórki, a na koniec jest po prostu wyliczana średnia arytmetyczna. Próbowałem też liczyć medianę, ale wyniki nie różniły się jakoś zasadniczo, a średnia jednak dużo prostsza w implementacji.
Dla ułatwienia program potrafi też rysować wykresy średnich wartości BLM w funkcji obrotów dla wybranego czasu wtrysku. No i to w zasadzie tyle. Pozostaje manipulacja mnożnikami na podstawie tego, co wypluł program, ponowne zebranie logów, analiza i tak do skutku, aż korekcje zbliżą się do benzynowych.
Pomysł mam taki, aby pominąć ALDL Java, przy zachowaniu opisanego sposobu dokonywania obliczeń. Tyle że dokonywać ich cyklicznie na pewnej ilości ramek zebranych w jakimś buforze, np. co 1000 ramek. Mając jednocześnie podpięty sterownik LPG można by na bieżąco wprowadzać zmiany i obserwować rezultaty.
Swój program do analizy logów kiedyś udostępnię, ale na razie jest trochę... powiedzmy że jest niedokończony i nie za bardzo nadaje się do pokazania
EDIT: mapa w ALDL Java to porażka. Moim zdaniem jest to bardziej złożone. Zresztą można to wywnioskować z analizy logów. Wartości korekt zmieniają się w zależności od obrotów i bazowych czasów wtrysku. I pewnie czegoś jeszcze, o czym nie wiemy.
Pomysł żeby regulować po korektach wziął się u mnie z takiego powodu, że po prostu silnik na benzynie nie pracował jak należy. Gazownicy niby ogarniali, ale zawsze było prawie dobrze, a nigdy dobrze. Obecnie nie mam absolutnie żadnych różnic w zachowaniu auta w zależności od rodzaju paliwa, a o jakichś objawach typu przerywanie czy brak mocy wogóle nie ma mowy! Także chyba sposób działa.
wid3l3c Grupa Mazowiecka
Auto: Nubira I 2.0 teraz Citroen C5 MK I FL
Imie: Emil Pomógł: 261 razy Wiek: 37 Dołączył: 06 Sty 2010 Posty: 3276 Skąd: Warszawa
Wysłany: 2016-03-30, 10:11
Swoje obliczenia opierasz na nieco niedokładnej wartości - BLM, nie wiem do końca czy wartości korekty długoterminowej to dobre rozwiązanie.
Zwłaszcza, jak napisałeś, że mapa w ALDLJava to porażka - pytanie, jaka jest ta właściwa i czy idzie ją sczytać.
Bo ja mam wrażenie, że ona taka jest na prawde.... co widać po zmianie komórek BLM i myślę, że autor nie poszedł na łatwiznę tylko odzwierciedlił to wiarygodnie.
Integrator daje Ci odpowiedź niemalże natychmiastową jaka jest tendencja "mieszanki".
BLM bym brał pod uwagę dopiero później, jako właśnie Twoja "średnia" czy wszystko poszło zgodnie z przewidywaniami.
Na czas regulacji i korekt, tylko integrator, a raczej sonda i badanie zdolności ECU auta (w tych chwilowych, konkretnych warunkach) do własnoręcznego wyregulowania składu mieszanki (hue hue hue)
tylko i tutaj nic nie dzieje się od razu, i tak trzeba czekać na "ułożenie" się integratora, niekiedy po prostu nie ma czasu aż on osiągnie swoją graniczną wartość na której możemy się już oprzeć.
jak to miałoby działać?
I właśnie zobaczysz to dzięki integratorowi!
Przyspieszasz i teoretycznie powinieneś widzieć sprawne falowanie sondy lambda.
Jeżeli tego nie masz, znaczy, że zbytnio odbiegłeś od stechiometryczności mieszanki.
Niby bardzo wskazane byłoby lekkie wzbogacenie mieszanki, ale zauważyłem, że w pewnych warunkach, silnik doadaptowuje się do tego by właśnie uzyskać zmienne wskazania sondy, czyli wychodzi ze stanu zabogatego/zaubogiego.
Nie miałem bardzo jak się przyjrzeć od strony wskazań integratora i czasów wtrysków - ale widzę to po wykresie sondy lambda wyrysowanej na ekranie komputera pokładowego.
Dodatkowo, jak pisałem kiedyś - nie wiem jaki schemat podaży paliwa zastosowali inżynierzy DU w zależności od warunków pracy silnika w kwestii przyspieszania.
Czy ma być lekkie wzbogacenie, czy właśnie stechiometria, czy inaczej jak lekko daję gazu a inaczej jak głębiej wciskam pedał - wiadomo na 100%, że przy "WOT" wtryski leją non stop
Dodatkowo, opieranie się wyłącznie na czasie wtrysku i obrotach to za mało - dlaczego?
Bo masz wartości tylko i wyłącznie, powstałe w wyniku pomiaru podczas jazdy ze stałą prędkością.
Trzeba wyjść w trzeci wymiar, musisz znać wartości zmian podciśnienia w kolektorze ssącym by wiedzieć jak bardzo naddać paliwa by zaspokoić apetyt przy przyspieszaniu.
Ale rozumiem, że to dopiero początek drogi
Trzymam kciuki odezwij się do kolegi z linka co podałem wyżej
EDIT:
Jeżeli dobrze pamiętam kiedyś pytałem autora ALDLJavy o mapę paliwa...
nie pamiętam co mi odpisał, sprawdzę w domu na kompie mam zarchiwizowane wiadomości.
Tak, jest dokładnie tak jak piszesz. Samo BLM to za mało. Tyle że podczas analizy już zapisanego logu właśnie nie ma jak odnieść się do tak dynamicznych wskazań jak intergrator, wartość podciśnienia czy wskazania lambdy. Czyli robię właśnie według schematu "czy wszystko poszło zgodnie z przewidywaniami". A że nie zawsze pójdzie, to stąd wychodzi straszna czasochłonność takiej metody. Każda zmiana w ustawieniach gazu wymaga zebrania logów z min. 30km jazdy w różnych warunkach, aby te uśrednione wyniki były w miarę zgodne z rzeczywistością.
Przyspieszanie to ciekawy temat. ECM chyba wystawia w ramce diagnostycznej zastosowaną w danej chwili wartość AFR, przynajmniej ALDL Java tą wartość widzi. I tak przy spokojnej jeździe jest to 14,7, odczyty z lambdy falują. Przy otwarciu przepustnicy powyżej 75% AFR zmienia się na 13 "z hakiem", a powyżej 95% na 12 "z hakiem". Wartości "haków" teraz nie pamiętam Sonda w każdym razie przy gwałtownym przyspieszaniu staje na "bogato". Temu akurat przyglądałem się dokładnie, bo lubię solidnie depnąć, a uboga mieszanka przy dużym obciążeniu to zabójstwo dla silnika.
Pytanie, czy współczynnik AFR widoczny w logach faktycznie jest prezentowany przez ECM, czy może to radosna twórczość autora ALDL Java? Tego nie wiem. Właśnie brak tej nieszczęsnej specyfikacji ALDL jest problemem...
Ogólnie to faktycznie początek drogi. Niemniej ze swoich dotychczasowych doświadczeń widzę że temat warty jest rozwijania.
pierwsze przymiarki do rozpracowania ALDL dla Lanosa 1.5 poczynione.
Zacząłem budować w domu laba, żeby mieć dostęp do ECM bez konieczności biegania do samochodu. Od jednego z naszych forumowych kolegów otrzymałem ECM od Lanosa 1.5 16V wraz z fragmentem wiązki - Delco IEFI-6. Bez problemu udało się go uruchomić poza samochodem.
Póki co ma podłączone zasilanie, przełącznik symulujący stacyjkę, diodę LED jako kontrolkę Check, no i oczywiście linę transmisyjną ALDL. Transmisja danych działa. Zarówno ALDL Java, jak i Delco Suite łączy się z ECM. Tak to wygląda:
Planuję wyposażyć go jeszcze w "czujniki", na początek zaemulować te działające na podstawie rezystancji/napięcia, a w dalszej kolejności w te generujące przebiegi prostokątne.
Z ciekawostek: wtyczka z pętlą z kabla z przyklejoną etykietą, widoczna obok interfejsu Viaken służy do zmiany korektora oktanowego. Ten na pewno wpływa na mapę zapłonu. Można ustawić 95 (domyślnie), albo 87 oktanów. Wystarczy przełożyć skrajny wtyk na drugą stronę złącza. U nas bezużyteczne, ale w krajach gdzie występują takie paliwa może być przydatne.
A teraz ciekawostka druga. Za naszą wschodnią granicą występują nowsze wersje tego sterownika, z pamięcią FLASH zamiast EEPROM. Różnica między nimi jest taka, że mając sterownik z pamięcią FLASH zrobienie chip-tuningu staje się banalnie proste. Ściślej rzecz biorąc banalnie proste jest wgranie nowego wsadu do pamięci. Wystarczy komputer i oprogramowanie Delco Suite. Z EEPROM jest trudniej, potrzeba lampy UV do kasowania pamięci i programatora.
I co z tym robią nasi wschodni sąsiedzi? Na przykład tworzą sobie oddzielne mapy do gazu i benzyny, przełączane za pomocą wspomnianego złącza korektora oktanowego. A także oczywiście wszelkiej maści dostrajanie silnika do modów mechanicznych.
Jak znajdę czas na tłumaczenie, wrzucę ciekawsze informacje znalezione we wschodnim internecie. Na razie jeszcze przeglądałem go dość chaotycznie, ale widać że oni tam modzą ostro nasze Daewoo.
Sorki, ze odkopuje temat.
Z ciekawosci, udalo ci sie cos dalej poczynic?
Mnie sie udalo chyba w pelni rozkodowac ramke dla mojego silnika, moge poszukac jezeli ktos bedzie chetny.
AFR w ALDLJava jest na zywca wyjety z ramki, wiec nie jest przeliczany ( no oprocz przeliczenia z postaci binarnej do ludzkiej )
BLMy niestety z tego co wiem to tez nie jest tworczosc autora tylko odczytane z ALDL. Nie mamy dostepu do dokladniejszej mapy z tego co wiem.
wid3l3c Grupa Mazowiecka
Auto: Nubira I 2.0 teraz Citroen C5 MK I FL
Imie: Emil Pomógł: 261 razy Wiek: 37 Dołączył: 06 Sty 2010 Posty: 3276 Skąd: Warszawa
Wysłany: 2017-06-21, 22:22
W naszym przypadku odczyt z AFR jest bezużyteczny, bo nie jest to wartość bieżąca, tylko ta do której wskazane ma dążyć ECU - bezpośrednio związana m. in. z temperaturą silnika + czasem od uruchomienia.
U nas tylko i wyłącznie lambda pozwoli na oszacowanie składu mieszanki, ale wiadomo, że jest to wskazanie z bliżej nieokreślonej przeszłości.
BLM jest "wpisywane" wprost z danych podawanych przez ECU - odbywa się to na bieżąco.
Nie ma możliwości odpytania całej mapy, tzn jest na to sposób.
Jeżeli byłbyś w stanie podać (zemulować) na wejściu cały zakres obrotów oraz wartości podciśnienia, żeby sztucznie wymusić na ECU podanie wartości mapy zapisanej w pamięci w konkretnej komórce i zrzucać to do tablicy dwuwymiarowej - podciśnienie/obroty.
Dla całej skali 0-100 kpa / 0-6500 RPM
Kiedyś próbowałem rozkminić mapy w Nubie z silnikiem 2.0
Dane nie są kompletne, bo robiłem to na podstawie logów z ALDLa.
Niekiedy trzeba byłoby nawet dojść do odcinki, żeby pobrać pełne dane w różnych kombinacjach z hamowaniem silnikiem, wrzucaniem na luz itd.
Najciekawsze są komórki 16-18 ale 17-18 mogą być zafałszowane ilością danych.
Najlepiej byłoby zrobić jeden scenariusz np. rozpędzanie się na 3 do odcinki i hamowanie silnikiem i przeanalizować dane.
2gi, do odcinki i wrzucić na luz itd itp i znowu analiza.
Ja nie dysponowałem żadnymi wiadomymi danymi, nie wiedziałem nawet jakie są zakresy podciśnienie/obroty dla danej komórki BLM, więc dane zbierałem bardziej po omacku.
Teraz już wiem, po przeanalizowaniu logów nieco się rozjaśniła sytuacja.
Tylko po co *
"TPS" ten na górze jest to wartość prędkości w stosunku do komórki BLM, w sumie nie wiem po co on tam jest
Jak pamiętam miało to coś wspólnego z teorią wrzucenia na luz i wytracaniem prędkości, że na to też jest oddzielna komórka BLM.
Na hamowanie silnikiem też chyba coś było, ale bij zabij nie przypomnę sobie teraz.
Robiłem to dość dawno i nie pamiętam Z rok temu.
Ten na dole to wartości TPS w stosunku do komórki BLM.
Dla TPS i MAPa, wartości graniczne to 100. Prędkość, chyba ~130 było jakoś max jaką osiągnąłem. Szybciej po mieście to strach
ale mi się odechciało nad tym siedzieć, chciałem po tym wystroić LPG.
*Nie mam czasu na takie zabawy, a porównanie map zebranych na LPG oraz PB (bez kalania ECU przez LPG, najlepiej po resecie map) da 99% prawidłowych wartości koniecznych do wykonania korekt by było 1:1 - ale to bardzo czasochłonna robota.
Interesuje nas póki co wykreś MAP sensor i Obroty.
Można wywnioskować jak rozkładają się komórki i obroty
Przykładowo, pierwsze 4 komórki, czyli 0-3
Jest to pierwsza kolumna z programu ALDLJava, zakładki Mapy.
Bo jak spojrzysz na obroty, zakres się zmienia
0 - 800-2500
1 - 2501-3500
2 - 3501 - 4500
3 - 4500 - odcięcie
Oczywiście zakresy "od czapy" podane na oko, odczytane z wykresu, bo nie chce mi się teraz analizować zakresu z tablic z danymi szczegółowymi.
Potem 4-7 to kolejna kolumna itd itp.
Jak jesteś w stanie, na stole, zasymulować jak pisałem każdorazową kombinację i podać raz po razie zestaw 16 par obciążenie/obroty - jesteś w stanie odczytać mapę w ramce z danej o wartości BLM w danej komórce - nie wiem tylko czy nie należałoby jeszcze do tego dorzucić prędkości, bo ostatnie 3 komorki to...
Musiałbyś mieć potencjometr i źródło +5v by dawkować sygnał MAPa + precyzyjny generator impulsów pod obroty - i wszystko staje się możliwe