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

Komputer samochodowy - spalanie srednie

amostom 21 Sty 2016 23:41 990 7
  • #1 21 Sty 2016 23:41
    amostom
    Poziom 9  

    Witam
    Wykonuje komputer do autka jakich wiele na forum. Mam jednak problem ze spalaniem srednim. Prosilbym bardziej ogarnietych w tym temacie o pomoc. Spalanie srednie obliczam wzorem:
    spalone_paliwo(w mikrolitrach) / przebyta_droge(w centymetrach).
    Obliczenia dokonuje co sekunde,
    spalanie srednie = (spalanie srednie + (spalone paliwo / przebyta droge)) / 2;
    Po zaniku zasilania zapisuje wynik do eeprom np 49 (4.9L)

    Problem jest po ponownym zapaleniu auto. Odczytuje z eeprom spalanie srednie dodaje auktualne spalone paliwo na postoju dzielone przez 1(poniewaz droga wynosi 0 ) i te spalanie drastycznie wzrasta do kilkudziesieciu litrow i po kilkuset metrach spada do normy.

    Pytania:
    - 1. czy zapisujecie wyliczona juz srednia do eeprom i potem bierzecie ja pod uwage
    - 2. czy moze zapisujecie spalone paliwo i przebyta droge i przy ponownym odpaleniu obliczacie srednia (ale wtedy po dluzszej drodze wartosc moze sie nie miescic w zmiennej uint_32)
    - 3. jak obliczacie dalej srednia po ponownym odpaleniu

    Prosze o wasze sugestie.

    Pozdrawiam

    0 7
  • #2 22 Sty 2016 02:12
    dondu
    Moderator Mikrokontrolery Projektowanie

    Licz średnią ważoną:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    gdzie np. :
    waga_A = 9
    waga_B = 1

    0
  • #5 22 Sty 2016 14:58
    michalko12
    Specjalista - Mikrokontrolery

    amostom napisał:
    Po zaniku zasilania zapisuje wynik do eeprom np 49 (4.9L)

    Zapisuj wszystko.
    amostom napisał:
    - 2. czy moze zapisujecie spalone paliwo i przebyta droge i przy ponownym odpaleniu obliczacie srednia (ale wtedy po dluzszej drodze wartosc moze sie nie miescic w zmiennej uint_32)

    Jak tak skonstruowałeś program, że nie wystarczy Ci ponad 4 miliardy jednostek to użyj uint64_t.

    0
  • #6 22 Sty 2016 17:03
    amostom
    Poziom 9  

    Bede jednak liczyl jak radzi dondu sednia wazona i zapisuje juz tylko wynik spalania sredniego. Michalko nie ze nie wystarczy ale jesli bede sumowal i zapisywal spalone paliwo w mikrolitrach i po jakims tam czasue nikt nie zresetuje spalanie sredniego to sila rzeczy zmienna sie przepelni i pozniej bedzie liczyl bzdury. Tak uwazam bynajmniej.

    0
  • #7 23 Sty 2016 19:11
    amostom
    Poziom 9  

    Wykonalem to jednak w ten sposob ze po zaniku zasilania do eeprom zapisywany jest calkowite przejechane km i calkowite spalone paliwo. W ten sposob po wlaczeniu kompka pobiera on te wartosci przelicza na spalanie srednie dodaje aktualne i usrednia. Ma to jedna wade a mianowicie taka ze potrzeba resetowac wartosci powyzej 1000km inaczej zmienna sie przepelni i bedzie kicha.

    0
  • Pomocny post
    #8 23 Sty 2016 20:19
    michalko12
    Specjalista - Mikrokontrolery

    amostom napisał:
    Ma to jedna wade a mianowicie taka ze po trzeba resetowac wartosci powyzej 1000km inaczej zmienna sie przepelni i bedzie kicga.


    To po przekroczeniu pewnej wartości ustaw jakąś zmienną która będzie dzielnikiem. Poniżej 1000km ma np 1, a powyżej 100, 1000 lub cokolwiek . Przy takich odległościach i ilościach paliwa już taka super dokładność nie jest wymagana. Możesz też zrobić zmienną tzw wstępny akumulator, który po przepełnieniu zwiększa o jeden główny licznik.. Rozwiązań tego problemu jest wiele.

    0
  Szukaj w 5mln produktów