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

Kolejny komputer pokladowy ILI9341 TouchScreen

amostom 18 Lut 2016 19:16 26709 108
  • #91 18 Lut 2016 19:16
    Sławek-K
    Poziom 15  

    Może trochę się powtórzę , ale proszę o opis (algorytm) jak dokładnie wyliczasz chwilowe zużycie paliwa.
    Czy może : (czas otwarcia wtrysku * stała wtrysku) / chwilowa prędkość auta ? Oczywiście stała wtrysku wyliczona w procesie kalibracji (który już wyjaśnialiśmy powyżej).

  • SterControl
  • #92 18 Lut 2016 20:14
    tzok
    Moderator Samochody

    Generalnie stosuje się jeden z 2 algorytmów obliczania chwilowego spalania:
    - ilość zużytego paliwa w ciągu ostatnich 100m
    - ilość zużytego paliwa / droga w ciągu ostatnich 15-30s (paliwo i droga w formie "przesuwnego okna", odświeżanie co 1-2s)
    W obu przypadkach trzeba to przeliczyć na l/100km albo km/l.

    Ilość zużytego paliwa to sumaryczny czas otwarcia wtrysków * stała wtrysku.

    Zawsze na postoju trzeba przechodzić w l/h lub wyświetlać --.

  • #93 18 Lut 2016 20:31
    robiw
    Poziom 26  

    Poniżej przedstawiono wzory zaczerpnięte bezpośrednio z programu obsługi aplikacji a służące obliczeniu wszystkich parametrów rzeczywistych komputera pokładowego:

    spentFuelPer1s = ((1UL*Config.Cylinders*injectionTime*Config.CcPerMin)/2880UL);
    Accu.spentFuel += spentFuelPer1s;
    if(Accu.remainingFuel >= spentFuelPer1s) Accu.remainingFuel -= spentFuelPer1s;
    Accu.Distance += ((1UL*WEGpulses*Config.Wheel) / (100UL*Config.PulsPerRot));
    Speed = ((36UL*WEGpulses*Config.Wheel) / (1000UL*Config.PulsPerRot));

    if(Speed<=5) Consum = ((5UL*Config.Cylinders*injectionTime*Config.CcPerMin) / 400000UL);
    else
    Consum = ((5UL*Config.Cylinders*injectionTime*Config.CcPerMin*Config.PulsPerRot) / (144UL*WEGpulses*Config.Wheel));

    SpeedAvg = ((36UL*Accu.Distance)/(10UL*Accu.Measurements));
    if(Accu.Distance>999)
    {
    ConsumAvg = (Accu.spentFuel/Accu.Distance); //l/100km *10
    availableDistance = (((Accu.remainingFuel/1000)*(Accu.Distance/10)) / Accu.spentFuel)*10; //km
    }
    else {ConsumAvg = 0; availableDistance = 0;}

    , gdzie:

    InjectionTime – sumaryczny czas wtrysku zliczony w czasie 1s [ms*48]
    WEGpulses – liczba impulsów z przetwornika drogi zliczona w czasie 1 sekundy

    spentFuelPer1s – paliwo spalone w czasie ostatniej sekundy [ul]
    Accu.Measurements – akumulator liczby interwałów pomiarowych [s]
    Accu.spentFuel – akumulator ilości spalonego paliwa [ul]
    Accu.remainingFuel – akumulator ilości paliwa pozostającego w baku [ul]
    Accu.Distance – akumulator przejechanego dystansu [m]
    Consum – chwilowe zużycie paliwa [l*10/h], dla prędkości≤5 km/h lub [l*10/100km], dla prędkości>5 km/h
    ConsumAvg – średnie zużycie paliwa [l*10/100km]
    Speed – prędkość chwilowa [km/h]
    SpeedAvg – prędkośc średnia [km/h]
    availableDistance – orientacyjny, dostępny dystans na paliwie pozostającym w baku [km]

    Config.CcPerMin – stała wtryskiwacza [ml/min]
    Config.PulsPerRot – stała przetwornika drogi [imp/obr]
    Config.Cylinders – liczba wtryskiwaczy paliwa
    Config.Wheel – obwód opony [cm]

    robiw

  • SterControl
  • #95 05 Mar 2016 02:41
    Juni[]r
    Poziom 16  

    Projekt Fantastyczny. Mój opiera się na graficznym 128x64 i bascomie. Więc nawet nie staram się myśleć o kolorze i to dotykowym. Mam nadzieje że kiedyś udostępnisz jakieś materiały by zrobić DIY ale puki co kibicuje dobrego projektu.

  • #96 06 Mar 2016 11:25
    Marian B
    Poziom 34  

    Wszystko to piękne i pięknie działa, ale czy myślał Kolega o wizualizacji stanu drzwi, klap maski i bagażnika, świateł, stanu hamulca ręcznego, aktualnie włączonego biegu? Uzupełnienie o wizualizację oraz dodatkowo w sygnalizację dżwiękową tych właśnie parametrów, bo one są bardzo ważne dla bezpieczeństwa, to byłby komputer z prawdziwego zdarzenia.

  • #97 06 Mar 2016 20:45
    amostom
    Poziom 9  

    Tak myślałem. Ale to będzie w następnej wersji tego komputera w oparciu o xmega a może i stm32 ale to dla mnie nowość. Jeśli oczywiście czas pozwoli. A na xmega z powodu oczywiście prędkości. Chciałoby się uzyskać. Większa prędkość wyświetlania ekranu powitalnego. Tutaj był na początku znak VW. Ale szału nie robiło.

  • #98 06 Mar 2016 22:56
    Marian B
    Poziom 34  

    Mogę podpowiedzieć jak to zrobić nawet bez użycia jakiego kolwiek mikroprocesora:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=3056671#3056671
    Ten układ sygnalizatora był opracowany okolo 15 lat temu, do tej pory bardzo dobrze zdaje egzamin. Teraz zrobił bym to nieco inaczej, ale jednak z wykorzystaniem logiki na bramkach. Nie potrzebowałem pomiaru temperatury, czy chwilowego spalania, bo to było już w samochodzie (Octavia I), ale całą resztę trzeba było dokomponować. Ten układ łącznie z wyświetlaczem byłby świetnym uzupełnieniem Pańskiego projektu, bo poprostu nowy/dodatkowy wyświetlacz można zamontować obok.

  • #100 08 Kwi 2016 17:59
    2720621
    Użytkownik usunął konto  
  • #101 08 Kwi 2016 18:39
    Freddy
    Poziom 43  

    kocurkotik napisał:
    Zawsze zastanawiało mnie dlaczego twórcy podobnych urządzeń nie montują wyświetlaczy w zegarach swoich aut tylko gdzieś osobno jako "dokładka".
    Bo jest to ingerencja w obowiązkowe wyposażenie i wymaga to homologacji :D.

  • #102 08 Kwi 2016 21:11
    Damian_Max
    Poziom 14  

    Cytat:
    Bo jest to ingerencja w obowiązkowe wyposażenie i wymaga to homologacji :D.

    A jak ingerujemy w inne elementy przedniej tapicerki to jest ok?

  • #103 08 Kwi 2016 21:54
    2720621
    Użytkownik usunął konto  
  • #104 09 Kwi 2016 02:03
    Freddy
    Poziom 43  

    Damian_Max napisał:
    A jak ingerujemy w inne elementy przedniej tapicerki to jest ok?
    Tapicerki nie ma na liście :D.

  • #105 09 Kwi 2016 14:26
    Marian B
    Poziom 34  

    Tu nawet nie chodzi o homologacje, tylko o zdrowy rozsądek. Wszystkie podzespoły samochodu są konstruowane w ten sposób aby była łatwa możliwość wymiany w przypadku usterki, i z reguly stanowia funkcjonalnie zamkniętą całość.
    Wcale nie tak rzadkie są przypadki uszkodzenia liczników/wskażników i niema innej możliwości naprawy jak wymiana na nowy. Co wtedy zrobić z tą dokładką do wnętrza licznika? Od nowa wiercić dziury? Bardzo często trzeba taki podzespół wymontować w celu podstawienia/sprawdzenia. Upchnięcie dodatkowych urządzeń do wnętrza może i ładnie wygląda, jednak napewno będzie żródłem kłopotów w przyszłości, bo nawet to "nowe" urządzenie trzeba będzie czasami wymontować/poprawić/naprawić, i trzeba wtedy (z reguły dość trudno) wymontować całość. No i niema odwrotu w przypadku wprowadzania zmian, czy modernizacji, ewentualne wymianę na coś innego.

  • #106 08 Sie 2016 09:51
    301563
    Użytkownik usunął konto  
  • #108 21 Paź 2016 19:43
    asdf9876
    Poziom 1  

    Mam pytanie odnosnie pogodzenia w programie obliczania czasow wtrysku i przetwornika drogi. Czy zrobiles to na przerwaniach. Co jesli nastapi jednoczesnie przerwanie np. na zbocze oopadajace i nastapi jednoczesnie impuls drogi? Jak to pogodzic? Uzyc timeru do zliczania przetwornika drogi? Co jesli pomiar czasu wtrysku nastapi w chwili przepelnienia licznika. Zastanawiam sie jak to rozwiazales.

  • #109 24 Paź 2016 09:03
    Juni[]r
    Poziom 16  

    Najłatwiej użyć INT 1 i 2. INT1 wyzwala sygnał wtrysku który zaczyna liczyć timer. A INT2 liczy impulsy drogi.

    Mnie wyszło tak.


    Link


    Bez menu wszystko czytelne na jednym ekranie.