Vzorec pro výpočet dodaného náboje.

Zdravím, mám postavenou nabíječku pro modeláře řízenou PIC16F877 plus LCD 4x20 znaků. Nabíjí a vybíjí v rozsahu 0 – 5A po krocích 100mA většinu typů aku, NiCd, NiMH, LI-POL, LI-ION, LI-FE, PB. Samozřejmě pro každý typ je jiný nabíjecí i vybíjecí režim. Vše funguje jak má, ale jediné co zatím nemohu rozchodit je měření dodaného nebo odebraného náboje.
K výpočtu by měl stačit čas a proud, rozsah bych si představoval tak 0 – 5000mAh.
Potřeboval bych tedy poradit jak na vzorec pro tento výpočet.

Zdá se mi to velmi jednoduché. Od zahájení procesu nabíjení nebo vybíjení budeš periodicky, třeba časovačem s periodou T, vzorkovat nabíjecí/vybíjecí proud. Proud budeš sumovat/sečítat v dostatečně velkém registru. Je to vlastně obdoba numerické integrace. Pokud je proces nabíjení/vybíjení ukončen, pak stačí sumu proudu vynásobit periodou vzorkování a vydělit konstantou 3600s pro převod na Ah.

((suma(I)*T)/3600s = Q [Ah]

Periodu vzorkování můžeš volit dle potřeby. Vhodné je použít 1s, 1/2s, 1/4 s atd. Pochopitelně můžeš výpočet provádět průbežně a náboj zobrazovat v reálném čase. Jen musíš zachovávat obsah suma(i). V případě, že proud je konstantní, tak ti stačí měřit čas nabíjení/vybíjení, a tímto časem pak vynásobit konstantní proud.

No potřeboval bych to zobrazovat v reálném čase, stačilo by každou vteřinu provést výpočet.
Proud se během nabíjecího i vybíjecího cyklu mění. Potřebuji výslednou hodnotu v mAh. A teď jak na to.

Jak na to jsem ti již napsal, co ještě potřebuješ?

Zkusím ten vzorec aplikovat v programu a uvidím. Zatím děkuji.

Tak vzorec funguje, akorát jsem musel konstantu zmenšit na 36 aby výsledek byl v mAh.
Ještě jednou díky.

Neznám měřítka, která v programu používáš, ale logika říká, že když údaj v Ah vynásobíš x1000, tak získáš hodnotu v mAh. V tom případě bych čekal konstantu ne 36 nýbrž 3,6 :smiley: Ale hlavně, že to funguje.

Pro upřesnění, krok je 100mA takže číslice 1 odpovídá 100mA, číslice 2 200mA a tak dále až do 50ti, což je 5A.
Registr který vzorkuji a následně v jiném sčítám, může nabývat hodnoty 0 až 50 podle zvoleného proudu.
Pak to s konstantou 36 vychází.