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

Komputer pokładowy inny niż wszystkie

pch 02 Lut 2011 12:27 51541 70
  • #31
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • Sonel MPI 540Sonel MPI 540
  • #32
    Andrzej_B2
    Poziom 12  
    Super te zdjęcia w bravie.Dołączam się do pytań kolegów,czy jest możliwe zamieszczenie kompletnej dokumentacji komputerka lub samego schematu ideowego.
    Płytkę i tak bym przerobił na mniejszą.Wykonanie płytki dwustronnej to nie problem.
    Jeśli kolega nie chce udostępnić wsadu to może poda cenę za zaprogramowany układ.Może warto by pomyśleć o przeróbce na jakiś AVR np. atmega 16,AT90S8515
    itp. Czy komputerek współpracowałby z popularnymi wyświetlaczami LCD 2x16
    na sterowniku HD 44780? Sam projekt bardzo fajny i przydatny,jakby była dokumentacja to już bym się brał za budowę.
  • #33
    dezmontnikus
    Poziom 21  
    Cytat:
    Warunek >5 to 5km/h, jak mniej to L/h.

    If Wartosc_funkcji_byte > 5 Then
    Wartosc_funkcji_long_1 = Stala_wtrysku * 10
    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 * Czas_wtrysku_sek
    Wartosc_funkcji_word_1 = Wartosc_funkcji_long_1 / Wartosc_funkcji_word_1
    Else
    If Czas_wtrysku_sek > 0 And Postoj = Czas_postoju Then
    Wartosc_funkcji_long_1 = Stala_wtrysku * Czas_wtrysku_sek
    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 * 36
    Wartosc_funkcji_word_1 = Wartosc_funkcji_long_1 / 100000
    Else
    Gosub Podstaw_out_of_range
    End If
    End If

    Wartosc_funkcji_word_1 w tym wypadku wnosi do obliczeń impulsy prędkości z ostatniej 0,5 sekundy

    Prędkość średnia:

    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 / 10000
    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 * 36
    Wartosc_funkcji_byte = Wartosc_funkcji_long_1 / Czas_podrozy

    Wartosc_funkcji_long_1 w tym wypadku całkowita ilość impulsów drogi


    Faktycznie przydał by się cały program :) Nie rozumiem kilku rzeczy. Miałeś może problemy z złymi przerwaniami? ja zrobiłem coś podobnego z zegarem pcf8583 i dwoma ds18b20, wszystko działa ok do pewnego czasu, po przejechaniu np.150km wywala krzaki na LCD
  • #34
    kotlet_m
    Poziom 10  
    Fajny projekt, wielkie uznanie, ale czy nie mogłoby jeszcze wskazywać spalanie średnie na 100km?
  • #35
    pch
    Poziom 14  
    Andrzej_B2 napisał:
    Super te zdjęcia w bravie.Dołączam się do pytań kolegów,czy jest możliwe zamieszczenie kompletnej dokumentacji komputerka lub samego schematu ideowego.
    Płytkę i tak bym przerobił na mniejszą.Wykonanie płytki dwustronnej to nie problem.
    Jeśli kolega nie chce udostępnić wsadu to może poda cenę za zaprogramowany układ.Może warto by pomyśleć o przeróbce na jakiś AVR np. atmega 16,AT90S8515
    itp. Czy komputerek współpracowałby z popularnymi wyświetlaczami LCD 2x16
    na sterowniku HD 44780? Sam projekt bardzo fajny i przydatny,jakby była dokumentacja to już bym się brał za budowę.


    Zastanawiam się nad upublicznieniem kodu ale póki co i tak nie mogę go skompilować. Niby plik nie byl od kilku lat otwierany a w czasie kompilacji wywala mi błąb Label not found P3.0 P3.0 to noga procka ale takiej etykiety nigdzie nie używam. Program po kompilacji ma 30kB, linii pliku bas jest 3596. Po tylu latach nie wiem czy znajdę problem. Najwyżej udostępnię wsad bo gdzieś na 100% mam.

    Komputer oczywiście wpsółpracuje z popularnymi wyświetlaczami HD44780.

    Dodano po 3 [minuty]:

    dezmontnikus napisał:
    Cytat:
    Warunek >5 to 5km/h, jak mniej to L/h.

    If Wartosc_funkcji_byte > 5 Then
    Wartosc_funkcji_long_1 = Stala_wtrysku * 10
    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 * Czas_wtrysku_sek
    Wartosc_funkcji_word_1 = Wartosc_funkcji_long_1 / Wartosc_funkcji_word_1
    Else
    If Czas_wtrysku_sek > 0 And Postoj = Czas_postoju Then
    Wartosc_funkcji_long_1 = Stala_wtrysku * Czas_wtrysku_sek
    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 * 36
    Wartosc_funkcji_word_1 = Wartosc_funkcji_long_1 / 100000
    Else
    Gosub Podstaw_out_of_range
    End If
    End If

    Wartosc_funkcji_word_1 w tym wypadku wnosi do obliczeń impulsy prędkości z ostatniej 0,5 sekundy

    Prędkość średnia:

    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 / 10000
    Wartosc_funkcji_long_1 = Wartosc_funkcji_long_1 * 36
    Wartosc_funkcji_byte = Wartosc_funkcji_long_1 / Czas_podrozy

    Wartosc_funkcji_long_1 w tym wypadku całkowita ilość impulsów drogi


    Faktycznie przydał by się cały program :) Nie rozumiem kilku rzeczy. Miałeś może problemy z złymi przerwaniami? ja zrobiłem coś podobnego z zegarem pcf8583 i dwoma ds18b20, wszystko działa ok do pewnego czasu, po przejechaniu np.150km wywala krzaki na LCD


    Krzaki to bardziej problem sprzętowy niż programowy. Chyba, że w przerwaniu używasz tych samych zmiennych co w pętli głównej i przerwanie zmienia ich wartość. To może dawać efekt przesuniętych lub błednych tekstów na lcd. Może też być problem ilości zmiennych. Jak zadeklarowałeś za duzo to nie ma miejsca na stos i stąd błędy.

    Dodano po 4 [minuty]:

    kotlet_m napisał:
    Fajny projekt, wielkie uznanie, ale czy nie mogłoby jeszcze wskazywać spalanie średnie na 100km?


    Oczywiście jest tylko zapomniałem dopisać. Są też i inne funkcje np. kontrola termometru zewnętrznego jak się zepsuje lub urwie to jest alarm. Są różne sygnalizacje akustyczne wciśnięcia przycisków, zmiany paliwa, wejścia do funkcji, wyjścia, gotowości, błędów itd.

    PC
  • #36
    jariko
    Poziom 15  
    Komputer pokładowy inny niż wszystkie
    Tak wygląda ten komputerek w Passacie.
    Zamontowałem go ze 2 lata temu. Działa super. Raz go skalibrowałem i nie było potrzeby ponownej kalibracji. Warunek by w miarę uczciwie dolać różnicę paliwa na stacji a z tym może być problem. Jak się komuś chce to można dolać menzurką i wtedy będzie super dokładnie. Jak tankuję do pełna to porównanie spalonego paliwa i wlanego różni się średnio o 0.5-0.7l (bak 50l) ale zdarzają się stacje gdzie wlewam więcej niż pokaże komputer i takie omijam z daleka (maja inny wzorzec litra).
  • #37
    barttek
    Poziom 11  
    Witam,
    Przymierzałem się do podobnego komputerka, ale niestety skończyło się tylko na rozważaniach. Ale mam takie pytanko.
    Czy któryś z kolegów próbował obliczać chwilowe spalanie na podstawie ilości zasysanego powietrza (czujniki MAP, MAF ) albo korekcji obliczeń na podstawie czasów wtrysku w oparciu o te czujniki ?
    Czy ktoś próbował wprowadzać poprawkę przy obliczaniu spalania gazu w oparciu o czujnik ciśnienia za reduktorem ? Z jakimi efektami ?

    Pozdrawiam.
  • Sonel MPI 540Sonel MPI 540
  • #38
    jariko
    Poziom 15  
    Gazu nie mam, Ale co do pomiaru paliwa to przy wtrysku czas otwarcia wtryskiwacza jest proporcjonalny do ilości paliwa (jest stałe ciśnienie). Po kalibracji komputer przelicza ilość wlanego paliwa na milisekundy otwarcia. Prościej i dokładniej się chyba nie da. Można kombinować przepływomierzami ale trzeba dwa na zasilaniu i powrocie. Dokładne przepływomierze tanie nie są za to nadają się do gaźnikowców!
  • #39
    barttek
    Poziom 11  
    Interesuje mnie również sposób realizacji pomiaru czasu otwarcia wtryskiwaczy (od strony sprzętowej). Kiedyś zrobiłem układzik na jednym tranzystorku podłączany do portu LPT laptopa i jakoś to działało, ale zapewne są lepsze sposoby.
  • #40
    pch
    Poziom 14  
    Wtryski sterowane są masą przez tranzystor z otwartego kolektora. Ja zrobiłem optoizolację zasilaną z wtrysku przez mostek gretza. To po to, żeby nie było kwestii polaryzacji. Jak się nie podłączy i tak bedzie dobrze.

    PC
  • #41
    dezmontnikus
    Poziom 21  
    Cytat:
    Zastanawiam się nad upublicznieniem kodu ale póki co i tak nie mogę go skompilować. Niby plik nie byl od kilku lat otwierany a w czasie kompilacji wywala mi błąb Label not found P3.0 P3.0 to noga procka ale takiej etykiety nigdzie nie używam. Program po kompilacji ma 30kB, linii pliku bas jest 3596. Po tylu latach nie wiem czy znajdę problem. Najwyżej udostępnię wsad bo gdzieś na 100% mam.

    Komputer oczywiście wpsółpracuje z popularnymi wyświetlaczami HD44780.


    Kolega da co ma :) jak może oczywiście, my postaramy się to naprawić.
  • #42
    qscgu
    Poziom 34  
    Ale zastanawia mnie jedna rzecz. Czemu piszesz, że bascom jest ok do takiego zastosowania skoro kod zajmuje ci 30 kilo? Dyskwalifikuje to użycie tańszych procesorów.

    Nie mówię, że bascom nie da rady bo nie zadziała. Zadziała ale z moich praktyk wynika, że jest nieoptymalny w stosunku do C. Może nawet będzie się dało kod zmieścić na dużo mniejszym procku. Pamiętam, że samo zrezygnowanie z arytmetyki zmiennoprzecinkowej zaoszczędziło mi ponad 3kB kodu przy czym sam kod miał 4 i jedną zmienną typu float.
  • #43
    pch
    Poziom 14  
    qscgu napisał:
    Ale zastanawia mnie jedna rzecz. Czemu piszesz, że bascom jest ok do takiego zastosowania skoro kod zajmuje ci 30 kilo? Dyskwalifikuje to użycie tańszych procesorów.

    Nie mówię, że bascom nie da rady bo nie zadziała. Zadziała ale z moich praktyk wynika, że jest nieoptymalny w stosunku do C. Może nawet będzie się dało kod zmieścić na dużo mniejszym procku. Pamiętam, że samo zrezygnowanie z arytmetyki zmiennoprzecinkowej zaoszczędziło mi ponad 3kB kodu przy czym sam kod miał 4 i jedną zmienną typu float.


    Tańszych? At89c51rd2 kosztuje 10zł a ma 64kB flesza. Poza tym nie używam danych zmiennoprzecinkowych w ogóle.

    PC
  • #45
    mietek69
    Poziom 9  
    Stworzony głównie z myślą o oplu, a nie wiesz jak z innymi markami współpracuje?
  • #46
    asembler
    Poziom 32  
    Dorobic mozna wyswietlanie numeru biegu oraz przełozenia poszczególnych biegów w skrzyni.
  • #47
    Marcin G.
    Poziom 18  
    Do wyświetlania biegu będą potrzebne dodatkowe czujniki w skrzyni lub na drążku. W większości skrzyń są tylko czujniki luzu.
    Ja bym do tego projektu dodał obrotomierz:) I mam takie pytanie-układ podpina się jednym przewodem do czujnika prędkości w skrzyni? Układ będzie współpracować z wszystkimi takimi czujnikami prędkości?
  • #48
    asembler
    Poziom 32  
    Numer biegu mozna wyliczyc na podstawie prędkości i obrotów silnika. Dodatkowo dostajemy urządzenie diagnostyczne , które informuje o możliwych poślizgach sprzęgła pod koniec pracy takiego sprzegła.
  • #49
    tzok
    Moderator Samochody
    asembler napisał:
    Numer biegu mozna wyliczyc na podstawie prędkości i obrotów silnika.
    ...a co kiedy kierowca wciśnie pedał sprzęgła?
  • #50
    asembler
    Poziom 32  
    Wtedy czujnik wciśniecia pedału poinformuje komputer że nie musi sobie ALU zawracac przeliczaniem.

    Dodano po 2 [minuty]:

    Jezeli nie mamy czujnika na sprzegle, to komputer znając przełozenia w skrzyni biegów okresli ze nie jedziemy na zadnym biegu i wyświetli literkę N lub L na wyswietlaczu LED.
  • #51
    tzok
    Moderator Samochody
    Ale to przecież nie prawda - sprzęgło to nie luz. Mamy 4 bieg i wciśniemy sprzęgło to nadal mamy 4 bieg... wyświetlenie w tym momencie N było by poważną dezinformacją.
  • #52
    asembler
    Poziom 32  
    Wclae nie wyświetlana informacja na jakim biegu jedziemy a nie jaki bieg mamy włożony. Przeciez nie chodzi o to żeby sie uczyć wkładać biegi.
    Jezeli to jednak przeszkadza to czujnik luzu mozna wpiąc do rozmowy z komputerem tak jak to jest w motocyklach.
  • #53
    nom
    Poziom 23  
    jariko napisał:
    Jak tankuję do pełna to porównanie spalonego paliwa i wlanego różni się średnio o 0.5-0.7l (bak 50l) ale zdarzają się stacje gdzie wlewam więcej niż pokaże komputer i takie omijam z daleka (maja inny wzorzec litra).


    W Passacie (podobnie jak w innych samochodach grupy VAG) jest coś takiego jak zbiornik wyrównawczy. Ciężko jest zalać za każdym razem tyle samo paliwa (do pierwszego odbicia). W Fabii mam zbiornik 45l, ale nie raz udało mi się wlać 55l. :-)
    Nie znaczy to, że stacja ma "inny wzorzec litra", tylko, że zalałem zbiornik wyrownawczy (ok. 10l). Koło wlewu jest zielony przycisk odpowietrzania, jak się go wciśnie to można właśnie wlać o te 10l więcej.
    Ogólnie to jakbym miał robić taki komputerek u siebie w Fabii to podłączył bym się pod magistralę CAN lub linię K i odczytywał parametry bezpośrednio z komputera samochodu ECU. W zasadzie wszystkie parametry są tam możliwe do odczytania, łącznie z ilością paliwa w baku, czasem wtrysku, prędkością pojazdu, czy też prędkością obrotową silnika. Kwestia napisania interpretera protokołu OBD lub wykorzystania gotowego układu ELM327.
  • #54
    tzok
    Moderator Samochody
    Niestety nie jest tak różowo - standard OBD precyzuje format ramki danych i pewien zbiór błędów i standardowych parametrów. Niestety informacje takie jak czas wtrysku czy poziom paliwa w zbiorniku nie są już ustandaryzowane.

    O tym zbiorniku wyrównawczym paliwa to pierwsze słyszę, jest zbiornik/filtr oparów paliwa (EVAP), ale jego się nie zalewa paliwem. Więc jak masz zbiornik 45l a na jakiejś stacji "zalejesz" 50l to po prostu stacja ma uszkodzone liczydło w dystrybutorze lub niski poziom paliwa w zbiorniku i pompa pompuje paliwo z powietrzem, doliczając go do rachunku.
  • #55
    Tomekob
    Poziom 14  
    Cytat:

    Czasy swoją drogą są na poziomie 1-25ms ... tak więc tragedii nie ma

    Czy te czas są wiarygodne, czy tak jest faktycznie? Zastanawiam się na ile czasu otwierany jest wtryskiwacz przy obrotach np. 800 obr/min a na ile przy 6000 obr/min.
    Próbuję zbudować znacznie prostszą wersję miernika spalania tyle, że nie w jednostce drogi a czasu (litry na godzinę). Chciałem podejrzeć rozwiązania autora tego postu, ale nie mogąc się doczekać kodu źródłowego męczę się sam i próbuję napisać wszystko od podstaw. Czy dobrze myślę, że wtryskiwacz otwierany jest raz na dwa obroty?
    Przeglądałem kilka innych rozwiązań, ale pojmuję na razie tylko Bascoma a wszystkie inne konstrukcje, jakie znalazłem są wyższych lotów C lub asembler. Jeśli ktoś ma link do podobnego komputera na bazie Bascoma proszę o link.
  • #56
    mietek69
    Poziom 9  
    Czasy wtrysku są zależne nie tylko od obrotów! Wpływa na to WIELE czynników i nie ma tu reguły!
  • #57
    tzok
    Moderator Samochody
    Tomekob napisał:
    Czy dobrze myślę, że wtryskiwacz otwierany jest raz na dwa obroty?
    Zależy czy masz mono-wtrysk lub full-group, pół-sekwencję czy pełną sekwencję...
    Jeszcze "trochę" musisz się douczyć na temat zasady działania sterownika wtrysku i stosowanych rozwiązań.
  • #58
    grala1
    Specjalista grupy V.A.G.
    Raz na dwa obroty przy MPI i osobnym sterowaniu każdego wtryskiwacza.
    Dwa razy na obrót przy MPI i wspólnym sterowaniu lub przy SPI.
    Czasy wtrysku możesz mierzyć za pomocą timera i zewnętrznego przerwania.
    Tu masz mój temat i rozwiązanie - jeszcze nie testowałem w aucie.
    http://elportal.pl/forum/viewtopic.php?t=10481
    Łatwo to przerobić na spalanie w l/h.
  • #59
    Tomekob
    Poziom 14  
    Nie pytałem czy czas wtrysku jest zależny od obrotów tylko, jaki jest zakres czasowy otwarcia wtrysku od minimalnych obrotów do maksymalnych. Potrzebne jest mi to do zbudowania prostego generatora, który będzie mógł symulować na stole pracę silnika.
    Zdaję sobie sprawę, że w pełni zrozumienie pracy wtrysku paliwa jest bardzo skomplikowaną sprawą. Nad budową modułów sterujących w koncernach samochodowych siedzą rzesze inżynierów i całe tabuny programistów. Tak więc nie liczę, że w jednym zdaniu ktoś skondensuje zasadę działania wtrysku paliwa z najnowszych modeli samochodów.
    Wydaje mi się, że sens budowania „komputerów” spalania jest tylko do silników i samochodów raczej starszych, bo od kilku lat większość ma już w standardzie miernik spalania, a skomplikowanie instalacji elektrycznej jest wystarczająca przeszkodą. Poprawne przeczytanie schematu elektrycznego w najnowszych modeli jest już nie lada wyzwaniem.
    Mój przypadek to miernik spalania w jednostce czasu w silniku BMW boxer 1100 dwa cylindry. Wtryskiwacze umieszczone są w czymś, co nazwałbym (gdybym był kompletnym laikiem) gaźnikiem. Elektrycznie są z mostkowane, czyli działają jednocześnie.
    Zajmuję się elektroniką a znajomość samochodów jest raczej na poziomie poloneza i konsekwencji posiadania wyobraźni technicznej, więc proszę o wyrozumiałość i nie zadzieranie nosa :-). Jestem pełen podziwu i pokory dla osób, którzy wiedzą więcej ode mnie chętnie ich słucham, bo wiedza to majątek.
    Pozdrawiam serdecznie.


    Dziękuję grala1
  • #60
    grala1
    Specjalista grupy V.A.G.
    Dodam jeszcze że do wyznaczenia spalania w l/h musisz oprócz czasu wtrysku znać jeszcze prędkość obrotową silnika - można ją wyliczyć z pomiaru ilości wtrysków. Musisz do tego zatrudnić drugi timer.
    Ja za pomocą tego kody mierzyłem czasy od 0,0002s do 0,001s (można nawet większe czasy) więc nadaje się jak najbardziej do pomiaru czasu wtrysku.
    Ja napotkałem na pewien problem gdyż nie wiem jak wyliczyć spalanie w l/100km używając tylko dwóch timerów - jeden musiałby sumować czasy wtrysku w stałym odcinku czasu a drugi liczyć przebytą drogę.