Licznik Ah do prostownika


Witam, otóż mam pewien mały problem, czy mógłby ktoś pomóc napisać mi formułkę na obliczenie załadowanych mAh lub lepiej Ah. To znaczy jak ładuję akumulator 12V/100Ah to ile w niego weszło ładunku. Dodam że układ jest oparty na atmega328 i są zaprzęgnięte Timer0 oraz Timer1. Timer1 spełnia rolę zegara głównego, a timer0 sekundnika.
Poniżej fragment podprogramu w którym miały by się dokonywać obliczenia licznika Ah.

Sub Odsiarczanie
 Sekundy = 0
 Minuty = 0
 Godziny = 0
 Licz = 0
Cls
Reset Portd.0
Reset Portd.2
Set Portd.1
Start Adc
'Enable Timer0
Lcd " UWAGA!-Proces  "
Lowerline
Lcd "Osiarczanie PB  "
Waitms 1500
Cls
 
Do
 
'Reset Nowa_w
Locate 1 , 1
Lcd "T=" ; Licznikh : Lcd ":" ; Licznikm
  Locate 2 , 10 : Lcd "LOAD"
  Locate 2 , 15 : Lcd " " ; Chr(1)
  If Nowa_w = 1 Then
Wart_bcd = Makebcd(godziny)
Locate 2 , 1
Lcd Bcd(wart_bcd) ; ":"
Wart_bcd = Makebcd(minuty)
Locate 2 , 4
Lcd Bcd(wart_bcd) ; ":"
Wart_bcd = Makebcd(sekundy)
Locate 2 , 7
Lcd Bcd(wart_bcd) ;
Reset Nowa_w
End If
 
Rem ######################### Pomiar Prądu i Ah oddanych do odbiornika
  Srednia1 = 0
   For Krok2 = 1 To 10
   Adc_1 = Getadc(0)
   Srednia1 = Srednia1 + Adc_1
   Waitus 10
   Next Krok2
   Srednia1 = Srednia1 / 10
   Pradd = Srednia1 * Div_a
   Pradd = Pradd * 5
 
   Rem ********************** tutaj nie mogę sobie poradzić z tym
 
      If Licz > 500 Then        ' licznik sekundnik 500*2ms=1sek
         Mah1 = Pradd
         Mah = Mah + Mah1
         Mah = Mah / 15         ' dzielone przez 15sec
         Mah2 = Mah
         End If
 
       If Sekundy = 15 Or Sekundy = 30 Or Sekundy = 45 Or Sekundy = 59 Then
 
      Cls
      Locate 1 , 1 : Lcd " Pomiar Ah "
      Vtxt3 = Fusing(mah2 , "##.&&&") : Lcd Mah2
    Locate 2 , 1 : Lcd " I="
     Vtxt1 = Fusing(pradd , "##.&&") : Lcd Vtxt1 : Lcd " "
     Waitms 3000
     Cls
      End If
     'End If
 'Waitms 10
Rem #################### Zabezpieczenie napięciowe na poziomie 14.4V
 If Pomiar_1 => Batmax Then
  Reset Portd.0                                             ' Przekaźnik 1
    Reset Portd.2                                           ' ID Device
     Reset Portd.1                                          'Przekaźnik 2
    End If
 If Pomiar_1 <= 13.80 Then
  Set Portd.1
   Set Portd.2
   End If
Rem ####################### Zaresjestrowany licznik on/off
  If Minuty = Licznikm Then
  If Godziny = Licznikh Then
  Cls
   Set Buzer
   Waitms 250
   Reset Buzer
   Waitms 300
   Set Buzer
   Waitms 250
   Reset Buzer
   Gosub Koniec
  End If
    End If
 
 Loop Until S3 = 0
     'Start Adc
   'Set Portd.0                                              ' Przekaźnik 1
    Set Portd.2                                             ' Tranzystor IRFP260
     Reset Portd.1
     Cls                                                    'Przekaźnik 2
  Gosub Koniec
  End Sub

Bardzo proszę o pomoc lub jakąś regułkę na podstawie której mógłbym się wzorować.




Portret użytkownika Karlos123

Licznik Ah do prostownika

Już sobie z tym licznikiem poradziłem. Gromadzenie danych odbywa się równo co jedną sekundę, a po jednej minucie cała matma i wynik cacy, itd.