

-----------------------------------

AVD

13 Feb 2024 14:58



-----------------------------------

Multumesc de recomandari! 

Am rezolvat si problema cu PWR_TOTAL, si anume calculul ei in 2 pasi, cu PWR_TOTAL_S, apoi TOTAL_H. Aceeasi rezolvare: time1 si time2 ii initiam ca si long. I-am initiat ca float si acum nu mai am nicio problema. De asemenea, am facut un artificiu care sa imi masoare/estimeze puterea consumata intre cicluri. 

    time1=millis();
    [...]
    PWR_TOTAL = PWR_TOTAL+ ((((prev_pwr+PWR)/2)*(time1-time2))/3600000); // total power in W*h 
    prev_pwr=PWR;
    time2=millis();
    PWR_TOTAL = PWR_TOTAL+ ((PWR*(time2-time1))/3600000); // total power in W*h 

Sper ca se intelege ce am vrut sa fac aici: tin minte puterea din ciclul trecut, fac media cu puterea din ciclul asta si le inmultesc cu diferenta de timp intre finalul ciclului trecut si inceputul ciclului actual. Apoi atribui valori noi pentru prev_pwr si time2 si calculez puterea consumata in ciclul curent.

