鋰電池電量檢測(cè)問(wèn)題
一個(gè)產(chǎn)品,使用鋰電池供電,界面上電池電量的指示遇到了問(wèn)題,請(qǐng)大家?guī)蛶兔??出出主意.
情況是這樣:
由于IO口和硬件的局限,?這個(gè)產(chǎn)品圖示電量的標(biāo)識(shí)是對(duì)電池現(xiàn)有的電壓進(jìn)行采樣,AD轉(zhuǎn)換而得到,?并非電池實(shí)際中的容量,?軟件設(shè)定電池電量>4.2V為滿,<3.5V為空且提示電量低,中間還有二段,共分為四部分指示,當(dāng)?shù)陀谝欢ㄖ禃?huì)自動(dòng)關(guān)機(jī).
1,
對(duì)于產(chǎn)品正常待機(jī)狀態(tài),?因?yàn)殡娏鞅容^小,?電壓也很穩(wěn)定,?所以圖示的電量(從3.5到4.2分為四段)也很穩(wěn)定,?很正常的;?
2,
當(dāng)產(chǎn)品在使用中,?比如進(jìn)行了一些測(cè)量,?發(fā)送數(shù)據(jù),驅(qū)動(dòng)喇叭等產(chǎn)品的功能使用,這時(shí)候硬件中的很多模塊開(kāi)始工作,負(fù)載加重,電流加大,?進(jìn)而電壓變小,?因?yàn)槭菑碾妷翰蛇^(guò)來(lái)的值,就影響到了電量的顯示部分,?有時(shí)候電流太大,?把電壓拉的很低,低過(guò)設(shè)定值就產(chǎn)生自動(dòng)關(guān)機(jī)的現(xiàn)象,?這顯然不合理,?重新開(kāi)機(jī)又沒(méi)有問(wèn)題了.?
電壓和電池容量畢竟是不一致,?可是又沒(méi)有多余的IO口去檢測(cè)電流,?只能通過(guò)電壓來(lái)解決這個(gè)問(wèn)題,?這樣的情況應(yīng)該怎以辦啊??當(dāng)初想過(guò)在產(chǎn)品工作的時(shí)候,?把電量指示固化在前一穩(wěn)定狀態(tài),?待機(jī)的時(shí)候恢復(fù),這樣就不會(huì)發(fā)生自動(dòng)關(guān)機(jī),?但工作耗電,?電量指示還是亂的,?沒(méi)有了實(shí)時(shí)性,?還是行不通,各位高手幫我想想還有什么辦法啊?
不知道我有沒(méi)有把我的問(wèn)題描述清楚,?先謝謝各位了.
提問(wèn)者:ckmds
地點(diǎn):-
瀏覽次數(shù):8730
提問(wèn)時(shí)間:10-29 13:48
我有更好的答案
- 15條回答
-
zzy0407
10-31 23:14
你選擇的電池容量不夠!
還有你的ADC分辨率不夠,AD誤差也會(huì)引起誤動(dòng)作
-
該怎么起名字呢
11-04 21:48
我的產(chǎn)品待機(jī)30mA,?我選擇的是1000mA的,?也試過(guò)720mA
就算是選擇更大的,在產(chǎn)品工作時(shí),電流增大同時(shí)電壓仍然會(huì)有降低啊
AD分辨率也一樣,待機(jī)的情況下,電壓的曲線很好,不出問(wèn)題的,分辨率上去,電壓一降,采的值該是多少就是多少呀
和這兩個(gè)沒(méi)關(guān)系啊
-
yhxc
11-01 04:19
你就不會(huì)從軟件上將電壓補(bǔ)償回去?測(cè)量一下開(kāi)機(jī)跟關(guān)機(jī)差距多少,補(bǔ)回去就好啦。
不過(guò)精度不高。用來(lái)做粗略只是和自動(dòng)關(guān)機(jī)只足夠的。
-
kingnet6688
11-03 06:23
一直想做鋰電池電量測(cè)量的東東,就是沒(méi)有好的方法!
-
Jerry_weng
11-06 17:40
可以采用類似PID算法的簡(jiǎn)單算法:在一定時(shí)間內(nèi),如果AD值變化過(guò)快,就認(rèn)為是瞬間電流過(guò)猛,不自動(dòng)關(guān)機(jī)。
-
60user28
11-07 07:59
to?taoest?
自動(dòng)關(guān)機(jī)的電壓是由軟件設(shè)定好的,?低于3.7V就關(guān)機(jī)了,?你說(shuō)的這個(gè)補(bǔ)償就像是我在第一樓寫的那個(gè)辦法一樣,在待機(jī)的時(shí)候,?電量顯示為實(shí)時(shí)測(cè)量的電壓值,在工作的時(shí)候,?把電量固定在上一穩(wěn)定狀態(tài),?這樣不會(huì)發(fā)生關(guān)機(jī)的現(xiàn)象,?可是如果產(chǎn)品工作時(shí)間很長(zhǎng),?電量顯示的值就太假了,?沒(méi)有實(shí)時(shí)性,?補(bǔ)償也一樣,?工作5分鐘和工作30分鐘補(bǔ)償?shù)闹禃?huì)是多少呢???不同電量開(kāi)關(guān)機(jī)之間的差也不一樣,?如果有一個(gè)算法能把這個(gè)要補(bǔ)償?shù)闹邓愠鰜?lái)的話也好,?在工作的時(shí)候,?進(jìn)行查表來(lái)顯示電量也行,?可是現(xiàn)在還沒(méi)有想到有什么辦法可以模擬電池來(lái)把需要補(bǔ)償?shù)倪@部分曲線得出來(lái)
to?equator?&?xwj?
PID算法好復(fù)雜啊...
針對(duì)我這個(gè)問(wèn)題,具體應(yīng)該怎么入手啊?
-
cslb2000
11-08 07:06
例如不工作的時(shí)候是3.7V,轉(zhuǎn)入工作狀態(tài)馬上測(cè)量,為3.6V,相差0.1V
,那么以后不工作的時(shí)候就用測(cè)量電壓,工作的時(shí)候就用測(cè)量電壓+0.1V。補(bǔ)償電壓保持不變。
另外鋰電池放電終止電壓不是3.7V,應(yīng)該是3.3以下。3.7的時(shí)候還有一半的電。
-
60user193
11-01 19:23
轉(zhuǎn)入工作狀態(tài)時(shí),電流在突變非常快,?電壓測(cè)量值看不到變化,?并不是可以得到下降了多少....這時(shí)候唯一穩(wěn)定變化的是電池容量,怎么辦.
-
as2969559
11-07 21:23
電壓測(cè)量值看不到變化?你的意思是電流是脈沖的?
非??焓嵌嗫欤?br/>如果是脈沖,那你就在電流小的時(shí)候測(cè)量電壓,電流大的時(shí)候略過(guò)。補(bǔ)償都不用了。
-
路YWXZ
10-31 04:02
現(xiàn)在沒(méi)有電流探頭,測(cè)不了脈沖,只給用電流表看到數(shù)值在60多到120之間無(wú)規(guī)則的跳變著,每一瞬間都在變....
-
kingnet_52005
11-06 05:52
多動(dòng)腦筋想辦法解決,不要人家給的方案你只顧否定。
程序是你寫的,什么時(shí)候工作,什么時(shí)候不工作,程序自己總知道吧。不用探測(cè)什么電流。
-
panqw
11-03 20:48
不好意思啊,?主要還是不知道應(yīng)該怎么來(lái)解決,?總是想不到一個(gè)可靠的辦法...
-
飛之越電子
10-31 07:25
鋰電的內(nèi)部都會(huì)有保護(hù)板的,充放電過(guò)程中都可以進(jìn)行保護(hù)。你把軟件的切斷點(diǎn)限定在硬件之后,即低于硬件設(shè)定電壓,是否可行呢?
-
wzx_1995
11-03 18:00
還是你的算法有問(wèn)題!要過(guò)濾掉電壓瞬間跌落的錯(cuò)誤信息
-
芯力波通
11-03 00:16
試試移步平均的算法:
1,? ? ? ? 首先電池電壓采樣沒(méi)必要間隔很短,可以1秒采一次或者2秒。
2,? ? ? ? 以每秒采樣一次為例,第1~10秒各采到的電壓值為U1,U2,…U10.
開(kāi)機(jī)第1秒顯示的電壓為 U1
開(kāi)機(jī)第2秒顯示的電壓為 (U1+U2)/2
開(kāi)機(jī)第3秒顯示的電壓為 (U1+U2+U3)/3
開(kāi)機(jī)第4秒顯示的電壓為 (U1+U2+U3+U4)/4
開(kāi)機(jī)第5秒顯示的電壓為 (U1+U2+U3+U4+U5)/5
開(kāi)機(jī)第6秒顯示的電壓為 (U2+U3+U4+U5+U6)/5
開(kāi)機(jī)第7秒顯示的電壓為 (U3+U4+U5+U6+U7)/5
以此類推。
這樣可以平滑掉出現(xiàn)的異常數(shù)據(jù)。