張余恒,彭一準,葛澤凡
(天津科技大學(xué)電子信息與自動化學(xué)院,天津300222)
隨著科技與社會的進步,人們對充電方式也提出了新的要求,無線充電技術(shù)是一種與傳統(tǒng)充電技術(shù)有著很大區(qū)別的新興技術(shù).相對于傳統(tǒng)充電技術(shù),無線充電技術(shù)具有便利性、實用性、美觀性、環(huán)保性的優(yōu)勢,有很大的發(fā)展空間,也是國內(nèi)外研究的熱點之一.隨著無線充電技術(shù)充電效率的提高、充電距離的增大、充電便利性與安全性的提高、充電設(shè)備的小型化等,無線充電技術(shù)將會成為主導(dǎo)未來充電產(chǎn)品與設(shè)備的主流技術(shù),因此設(shè)計一種針對無線充電的監(jiān)測系統(tǒng)是必要的.郭佑民等[1]根據(jù)鋰電池在遠程測控終端中應(yīng)用的要求,設(shè)計了一種基于BQ27750 的遠程測控終端電源檢測系統(tǒng).魯照權(quán)等[2]考慮到蓄電池的健康狀況和環(huán)境溫度因素,提出了一種蓄電池剩余電量估算新方法.申雙琴[3]利用單片機A/D 轉(zhuǎn)換模塊設(shè)計了用于掃地機器人的電量監(jiān)測模塊.基于以上研究背景,本文提出了一種基于無線充電的移動機器人鋰電池電壓估算方法,該方法通過均值濾波算法和誤差處理算法減小電壓模擬值采集誤差,利用Matlab擬合函數(shù)進行電壓估計,旨在能夠?qū)崟r監(jiān)測鋰電池電壓,實現(xiàn)機器人低電壓自動返航充電功能.
通過數(shù)學(xué)建模方式建立電壓與電量模擬值的數(shù)學(xué)模型,其電壓監(jiān)測系統(tǒng)可用在移動機器人上,例如巡檢機器人等,圖1 為本團隊設(shè)計的巡檢機器人的結(jié)構(gòu)框圖,其中包括了鋰電池電壓監(jiān)測系統(tǒng).系統(tǒng)主要由無線充電模塊和電源模塊組成,其中無線充電模塊由無線充電發(fā)射端和接收端構(gòu)成,電源模塊由APM電壓電流計傳感器與鋰電池構(gòu)成.無線充電裝置是采用電磁感應(yīng)方式利用電磁波感應(yīng)原理進行充電.無線充電的發(fā)射端和接收端各有一個線圈,通過220 V 交流電為發(fā)射端供電,使發(fā)射線圈產(chǎn)生電磁信號,而接收端線圈通過感應(yīng)該電磁信號從而產(chǎn)生電流為鋰電池充電.將無線充電模塊發(fā)射端設(shè)計成充電樁形式固定在充電點,然后將接收端安裝在輪式移動機器人身上,當機器人需要充電時返回充電點進行充電[4].
圖1 帶有鋰電池電壓監(jiān)測系統(tǒng)的巡檢機器人結(jié)構(gòu)框圖Fig. 1 Structure of the patrol robot with lithium battery voltage monitoring system
電源模塊的一端與無線充電模塊接收端相連,充電電壓與充電電流經(jīng)過APM 電壓電流計傳感器流向鋰電池.將傳感器自帶的6P 連接線中的信號線和地線連接到Arduino2560 單片機的模擬IO 口上,利用單片機讀出此時電壓對應(yīng)的模擬值,同時把鋰電池測電器直接接在電池上,記錄當前電壓模擬值對應(yīng)的實時電壓.這樣可以得到一組鋰電池電壓值和與之對應(yīng)的電壓模擬值,再利用Matlab 中的cftool 工具將這二者的函數(shù)關(guān)系式擬合出來,得到關(guān)于鋰電池電壓與電壓模擬值對應(yīng)的數(shù)學(xué)模型[5],最終機器人利用單片機讀取電壓模塊的模擬值估計電壓真實值.
當檢測到電壓估計值小于設(shè)定的充電閾值(14.8 V)時,表明機器人處于低壓狀態(tài),此時機器人需要充電,然后通過上位機樹莓派3B 運行遠程導(dǎo)航程序,指定充電點為目標點進行導(dǎo)航,最終通過充電樁近程對接技術(shù)實現(xiàn)移動機器人的自主充電.當檢測到電壓估計值大于設(shè)定的充滿閾值(16.5 V)時,表明電池已充滿電,機器人離開充電樁,繼續(xù)執(zhí)行巡檢任務(wù).
監(jiān)測系統(tǒng)實物圖及充電樁實物圖見圖2 和圖3.
圖2 監(jiān)測系統(tǒng)實物圖Fig. 2 Physical diagram of the monitoring system
圖3 充電樁實物圖Fig. 3 Physical diagram of the charging post
系統(tǒng)選用的無線充電模塊利用電磁感應(yīng)式無線充電技術(shù),由能量發(fā)射、能量接收和控制模塊組成.利用電力電子技術(shù)實現(xiàn)電能的整流、逆變和輸出部分的調(diào)節(jié)功能,工頻交流電經(jīng)過整流、高頻逆變電路轉(zhuǎn)換為高頻交流電,為發(fā)射線圈進行勵磁,并通過互感作用將能量傳遞到接收線圈,接收線圈經(jīng)過高頻整流和輸出調(diào)節(jié)電路為蓄電池供電.為了降低系統(tǒng)損耗,在機器人未進行充電,即空載時,控制器可以斷開主電路繼電器,同時設(shè)置指示燈和蜂鳴器反映系統(tǒng)的狀態(tài)[6].
系統(tǒng)選用的鋰電池是4S 航模鋰電池,最大充電電流可以達到20 A.
系統(tǒng)選用的測電模塊是APM 電壓電流計傳感器,能夠檢測電池電壓和電池電流.
系統(tǒng)選用的單片機是Arduino2560,其是一款便捷靈活的開源電子原型平臺,利用此單片機模擬IO口讀取鋰電池電壓模擬值,并通過數(shù)學(xué)模型估計出電壓真實值.
由于電壓模擬值在實際采集過程中波動相對較大,采集到的模擬數(shù)據(jù)不穩(wěn)定,導(dǎo)致擬合誤差過大,不能直接使用.先采用均值濾波方式減小誤差,即在相同電壓下采集15 個電壓模擬值并做均值處理,見表1.經(jīng)過均值濾波后的電壓模擬值和與之對應(yīng)的鋰電池實測電壓值見表2.
利用Matlab 中的cftool 工具對鋰電池實測電壓與電壓模擬值進行擬合.先輸入表2 中的電壓模擬值和實測電壓值,打開cftool 工具,在cftool 界面中選擇X、Y 數(shù)據(jù),并設(shè)置擬合模型的類型為一元二次多項式(圖4),即可得到一個關(guān)于實測電壓值與模擬值之間的多項式擬合模型.從圖4 左側(cè)的輸出結(jié)果中可以看出,擬合后的多項式為式(1),其中x 為APM 電壓電流計傳感器采集到的電壓模擬值,該變量作為已知變量由Arduino2560 實時采集,y 是待估計的鋰電池電壓.
表1 電壓模擬均值表Tab. 1 Table of voltage analog mean
表2 實測電壓值–電壓模擬值對應(yīng)表Tab. 2 Table of measured and analog voltage value correspondence
圖4 實測電壓值與電壓模擬值擬合圖Fig. 4 Fitting diagram between measured and analog voltage values
建立數(shù)學(xué)模型的過程中,首先初始化電壓電流計傳感器,然后利用Arduino2560 單片機和鋰電池測電器讀取電壓模擬值和實測電壓值.讀取失敗則返回初始化傳感器重新讀取,讀取成功后對同一個電壓內(nèi)的模擬值做均值濾波處理,最后將處理后的電壓模擬值均值和電壓值用Matlab 工具擬合,生成電壓與模擬值之間的函數(shù)關(guān)系式[7].
選取1 組隨機測得的電壓模擬值代入多項式進行計算驗證,見表3.由表3 可以看出,預(yù)期電壓值基本接近實測電壓值.不過為了防止采集到的連續(xù)模擬值出現(xiàn)突變情況,在程序端設(shè)計了一個誤差處理算法,確保測量電壓的穩(wěn)定.在實際采集過程中通過觀察發(fā)現(xiàn),電壓模擬值的變化是一個連續(xù)緩慢的過程,經(jīng)過實際測量,相鄰的兩個電壓模擬值之差的絕對值小于等于3.為了防止電壓模擬值突變造成的測量誤差,在單片機程序端加上一個約束條件.其約束條件為前后相鄰兩次采集的模擬值之差的絕對值不能超過閾值5,否則說明當前電壓模擬值的測量偏差較大,舍棄該電壓模擬值并返回重新測量,接著判斷下一次采集的電壓模擬值是否滿足該判斷條件;若滿足條件,則將該電壓模擬值代入擬合的多項式中,計算出電壓估計值,不滿足條件則繼續(xù)循環(huán)采集[8].具體系統(tǒng)工作流程如圖5 所示.
表3 鋰電池電壓對比驗證Tab. 3 Voltage comparison validation of lithium batteries
圖5 系統(tǒng)工作流程圖Fig. 5 Flow chart of the system
移動機器人通電后,首先初始化電壓電流計傳感器,判斷單片機是否接收到電壓模擬值數(shù)據(jù),再將采集的模擬值存入程序變量中,然后判斷相鄰兩次采集到的模擬值之差的絕對值是否小于等于5,若不滿足就重新讀取電壓模擬值,如果滿足該條件則將當前電壓模擬值代入擬合的多項式中,求解出電壓估計值并保存[9].
在上述方法的基礎(chǔ)上,將APM 電壓電流計傳感器換成庫侖計模塊,并修改相應(yīng)程序,可得到更加精確的電壓估計值和剩余電量百分比.其工作原理是通過測量一個特定電阻兩端的電壓值,再把這個電壓值除以它的電阻值得到它的電流值,對這個電流和時間進行積分,從而得到準確的電壓和剩余電量百分比[10].該電壓監(jiān)測系統(tǒng)如圖6 所示.
本系統(tǒng)中電池管理模塊由帶串口通信的庫侖計模塊和鋰電池構(gòu)成.庫侖計帶有UART 串口通信功能,通過串口與單片機進行通信,利用單片機按照庫侖計模塊的通信協(xié)議讀取庫侖計測得的真實電壓和剩余電量百分比.庫侖計在使用之前需要先設(shè)置初值,設(shè)定滿電時剩余電量顯示為100%,處于低壓臨界值14.8 V 時為20%.這種通過高速采樣電流積分獲取鋰電池電壓值的方法具有較高的準確性[11].
圖6 高精度電壓監(jiān)測系統(tǒng)Fig. 6 High-precision voltage monitoring system
庫侖計接線原理如圖7 所示,該電路由電源、庫侖計模塊和負載組成.庫侖計除串口線之外還有4根線,圖中細紅線和細黑線分別接在電池的正極和負極,為庫侖計供電;電池正極直接接在負載正極上,庫侖計的電流粗黑線I-接在電池負極上,電流粗紅線I+接在負載的負極上.
本系統(tǒng)通過單片機與庫侖計模塊串口連接,從中讀取監(jiān)測到的鋰電池的實時電壓和剩余電量百分比,但是由于移動機器人不需要實時讀取電量,以免造成資源浪費,所以在本系統(tǒng)中設(shè)定每隔15 s 更新一次電壓值和剩余電量百分比,其工作流程如圖8 所示.首先在程序端初始化庫侖計與串口;然后判斷是否是第一次運行程序中庫侖計定義函數(shù)或者前后兩次運行該函數(shù)的時間之差大于15 s,如果不是則繼續(xù)運行主函數(shù),如果滿足條件則單片機通過串口向庫侖計下發(fā)指令,庫侖計收到指令后立刻啟動中斷服務(wù)函數(shù)向串口返回數(shù)據(jù);最后在程序端解析出電壓和電量百分比的值并保存.該方法不僅可以得到鋰電池的真實電壓值,還可以通過剩余電量百分比的形式表現(xiàn)出來.經(jīng)實驗驗證,測量結(jié)果精準,估計的鋰電池電壓能夠滿足機器人實現(xiàn)低壓返航功能.
圖7 庫侖計接線原理圖Fig. 7 Schema of coulometer wiring
圖8 高精度鋰電池電壓系統(tǒng)工作流程圖Fig. 8 Flow chart of high-precision lithium battery voltage system
本研究提出了一種基于無線充電的移動機器人鋰電池電壓估算方法,闡述了電壓估算方法的系統(tǒng)框架和實現(xiàn)過程,針對本方案中的無線充電模塊、電源模塊進行展開說明,對系統(tǒng)的軟硬件設(shè)計原理和實現(xiàn)過程進行簡單描述,最后通過實驗證明該方法可以確保移動機器人獲取電源的實時電壓估計值,能基本滿足使用要求.在此基礎(chǔ)上,提出一種使用庫侖計通過電流積分的方式得到準確電壓值的方法,為機器人的電池電壓監(jiān)測工作提供了可行的技術(shù)解決方案.