鐘志賢,劉 珺,包愛民,姜 維,繆 蕊
(昆明冶金高等??茖W校網(wǎng)絡管理與信息化部,云南昆明 650033)
鋰電池因具有高電壓平臺、高存儲能量密度、重量輕、使用壽命長、高功率承受力、高低溫適應性強、無記憶效應、綠色環(huán)保等優(yōu)點,故其作為控制系統(tǒng)的電源及動力電源的應用也越來越廣泛[1-4]。但在鋰電池使用過程中過度充電、過度放電及環(huán)境溫度等因素會對鋰電池的性能產(chǎn)生影響,甚至會造成漏液、變形、內(nèi)壓上升和起火爆炸等危險情況,因此鋰電池需要和電池保護電路一起使用[5-8]。因為采用的材料不同,單節(jié)/片鋰電池電壓為3.6~4.2 V,所以作為電源或動力電源一般需要串聯(lián)使用。就一般控制系統(tǒng)來說,常用的電源電壓為12 V、5 V 和3.3 V,需要3~4節(jié)/片鋰電池串聯(lián)起來使用。單節(jié)/片鋰電池理想的充電上限電壓一般為4.2 V,理想的放電截止電壓一般為3.0 V,所以對使用過程中的鋰電池進行實時電壓檢測,不僅能有效延長電池使用壽命,還能有效避免使用不當帶來的危險[9-11]。
航模3S 聚合物鋰電池是由3 片鋰電芯串聯(lián)而成的,用戶可以根據(jù)設備需要的電壓范圍自己動手組裝2S/3S/4S 電池[12]。文中針對智慧教室控制系統(tǒng)中使用到的航模3S 聚合物鋰電池保護問題,設計實現(xiàn)一種電池電壓報警器。報警器通過與3S 電池引出的4 針電池充電插座直接相連,即插即用使用方便。單片鋰電池的標準電壓為3.7 V,組裝好的3S 電池標準電壓為11.1 V,充滿電電壓在12.6 V 左右,此電壓能滿足多數(shù)控制系統(tǒng)電源及動力電源使用。以3S 電池為例,電池組裝及電池與報警器的連接示意圖如圖1 所示。
圖1 3S電池組裝及與報警器連接示意圖
報警器硬件主要是以STC 單片機為核心,包括電源電路(電壓轉(zhuǎn)換以供單片機使用)、電壓采集電路、程序下載ISP、LED 燈組、蜂鳴器驅(qū)動電路等。報警器的系統(tǒng)結構示意圖如圖2 所示。
圖2 報警器系統(tǒng)結構示意圖
報警器硬件系統(tǒng)主控芯片采用STC 生產(chǎn)的單時鐘/機器周期(1T)的STC12 系列單片機。其具有高速度、低功耗及抗干擾強等優(yōu)點,是新一代的8051單片機,指令代碼完全兼容傳統(tǒng)單片機的8051,但是速度是傳統(tǒng)的8~12 倍[13]。能很好地滿足本電池電壓報警器的功能需求。
根據(jù)報警器的功能需求,具體選擇的單片機型號為STC12LE5204AD,其工作電壓為2.2~3.6 V,F(xiàn)lash 程序存儲器字節(jié)為4kB,256 字節(jié)的SRAM,兩個定時器T0、T1,8 路8 位AD 轉(zhuǎn)換器。為降低成本,減小硬件體積,該文選擇16 針封裝的型號,有11 個I/O 口,剛好能滿足電池報警器的需求。
單片機系統(tǒng)時鐘源可選擇采用外部高精度晶體/時鐘或內(nèi)部R/C 振蕩器時鐘,用戶可以在下載程序時進行選擇。因該系統(tǒng)時鐘精度要求不高,為減小硬件體積選擇使用內(nèi)部R/C 振蕩器時鐘。當使用內(nèi)部R/C振蕩器時鐘,3 V單片機頻率范圍為8~12 MHz,要求單片機XTAL1、XTAL2 管腳浮空(圖3,U2)所示。關于復位電路,在時鐘頻率低于12 MHz 時,單片機的RST 管腳接1 kΩ電阻到地(圖3,U2)所示。在單片機電源與地之間并接兩個電容C(30.1 μF)、C4(10 μF),進行電源去耦濾波,增強抗干擾性。電池電壓報警器硬件單片機最小系統(tǒng)電路圖如圖3 所示。圖3 中P1 為3 針插座,是引出的程序下載ISP 接口。
圖3 單片機最小系統(tǒng)電路圖
報警器電源直接從3S 電池的第二片電芯處獲取,如圖4 和圖5 中網(wǎng)絡標號VCC 所示,經(jīng)電壓轉(zhuǎn)換芯片HT7533 將電壓轉(zhuǎn)為3.3 V 供單片機使用,網(wǎng)絡標號為3.3 V。HT7533 具有低功耗、低跌落電壓、高輸入電壓、高精度輸出電壓等特點,其輸出的最大電流可達100 mA。報警器電源電路如圖4 所示。
圖4 電源電路
圖5 電壓采集電路
因為單片機的工作電壓為3.3 V,所以單片機的AD 采集測量范圍為0~3.3 V,現(xiàn)在要測量的是一個3S 電池,單片鋰電池的額定電壓已經(jīng)超過測量范圍,所以需要電阻分壓后再進行AD 采集,具體的分壓電阻如圖5 中R8、R9、R10、R11、R12、R13所示。電壓采集點如圖5 中網(wǎng)絡標號V1、V2、V3 所示,分壓電阻的選擇必須合理,需為高精度電阻。阻值不能太小,否則功耗增加發(fā)熱量大,阻值也不能太大,要遠小于ADC的輸入漏電流導致的誤差。報警器電池電壓分壓采集電路如圖5 所示。圖5 中P2 為4 針接口插座,是報警器與電池連接的接口。
報警器設置了3組LED燈,由3個紅色LED燈、3個藍色LED 燈組成??梢酝ㄟ^程序控制LED 亮滅指示電池電量,同時每組LED 燈可分別對應3S 電池中的單片電池的電壓狀態(tài)。當電池電壓出現(xiàn)異常時,可配合蜂鳴器進行聲光報警。LED 燈組及蜂鳴器驅(qū)動電路如圖6 中LS1、D1~D6 所示,R1~R6為發(fā)光二極管的限流電阻。驅(qū)動蜂鳴器的管腳(網(wǎng)絡標號BEER)接單片機TxD/P3.1,與程序下載接口TxD 分時共用。
圖6 蜂鳴器及LED驅(qū)動電路
STC 單片機的開發(fā)環(huán)境是PC 機上安裝STC 單片機編譯器/匯編器,比較流行的是使用Keil C51,其主要集編輯、編譯、硬件芯片基本頭文件和啟動代碼支持、調(diào)試等于一體[14]。
初次安裝軟件中可能沒有STC 的數(shù)據(jù)庫,需要手動添加。也可以將STC單片機當成Intel的8052/87C52/87C54/87C58,Philips的P87C52/P87C54/P87C58,然后對擴展的特殊功能寄存器的地址進行聲明。單片機程序使用C 語言開發(fā),采用模塊化的設計方法方便移植。
該文用到的STC12LE5204AD 單片機特殊寄存器可聲明如下。
/*STC12LE5204AD Special Registers*/
sfr P3M1=0XB1;//P3 口模式配置寄存器1
sfr P3M0=0XB2;//P3 口模式配置寄存器0
sfr P1ASF=0X9D;//P1 Analog Function Configure register
sfr ADC_CONTR=0XBC;//AD 轉(zhuǎn)換控制寄存器
sfr ADC_RES=0XBD;//AD 轉(zhuǎn)換結果寄存器
通過在keil C 軟件中設置,還可以減少源代碼長度,最大能減少10 kB[15]。設置方法:在“Project”菜單中選擇“Options for Target”,然后在“Options for Target”選擇“C51”,選擇按照空間大小9 級優(yōu)化程序點擊“確定”后,重新編譯程序即可。程序下載工具可使用STC-ISP.exe。PC 端通過串口連接MAX232電平轉(zhuǎn)換到STC 單片機的串口。若電腦端無串口可使用USB 接口,需要USB-RS232 轉(zhuǎn)換線,同時需要安裝相關驅(qū)動程序。硬件連接示意如下:
1)STC 單片機RXD(P3.0)—RS232 轉(zhuǎn)換器—PC/電腦TXD(COM Port Pin3);
2)STC 單片機RXD(P3.1)—RS232 轉(zhuǎn)換器—PC/電腦RXD(COM Port Pin2);
3)STC 單片機GND—PC/電 腦RXD(COM Port Pin5)。
STC 單片機具有在線系統(tǒng)可編程特性,內(nèi)部具有ISP 系統(tǒng)引導固件,配合PC 機端的STC-ISP 軟件即可將用戶程序燒錄進單片機內(nèi)部[16],查看運行結果,可以不使用仿真器。若需要觀察變量,用戶可以編寫測試程序通過單片機串口發(fā)送到電腦端的STC-ISP 軟件中的“串口助手”進行查看。電腦端的STC-ISP 軟件界面使用說明如圖7 所示。新的設置,需要單片機徹底斷電,再上電復位后才能生效。
圖7 STC-ISP軟件界面使用說明
下載程序到STC 單片機的步驟如下。
Step1:選擇單片機的型號為STC12LE5204AD。
Step2:點擊“打開程序文件”,選擇要燒錄的用戶程序(*.bin,*.hex)。
Step3:選擇串行口,如COM1。
Step4:選擇下次冷啟動后,時鐘源為“內(nèi)部R/C振蕩器”。
Step5:選擇download/下載,將程序下載到單片機。
STC12LE5204AD 單片機的A/D 轉(zhuǎn)換口在P1 口(P1.7-P1.0),為8 路8 位高速A/D 轉(zhuǎn)換器,可以進行溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。單片機上電復位后P1 口為弱上拉型I/O 口,用戶可以將8 路中的任何一路設置為A/D 轉(zhuǎn)換,不需要進行A/D 轉(zhuǎn)換的口可以繼續(xù)作為普通I/O 使用。該文設計的報警器采用P1.0、P1.1、P1.2 端口進行A/D 轉(zhuǎn)換使用。
A/D 轉(zhuǎn)換結果的計算公式為:
3.3V 為單片機的工作電壓,作為模擬參考電壓,Vin為模擬輸入通道的輸入電壓。
圖5 中,網(wǎng)絡標號為V1、V2、V3 的位置為電壓采集點。以航模3S 聚合物鋰電池為例,單片充滿電后的電壓為4.2 V,用戶可以根據(jù)實際使用情況設置電池報警器的單片鋰電池最低門限電壓。該文根據(jù)實際測試及使用經(jīng)驗將最低門限電壓設置為3.85 V,低于此電壓就報警提示充電,對應實際采集點的門限電壓可分別計算如下:
A/D 轉(zhuǎn)換后的結果可分別計算如下:
單片機軟件C 語言程序中直接使用206、235、150 作為判斷條件,分別與實際AD 采集結果寄存器的值進行比較即可。單片機程序流程:1)報警器上電后首先程序進入端口初始化,AD 轉(zhuǎn)換初始化;2)單片機開始AD 采集電壓,每個電壓采集點分別采集20 次電壓取平均值;3)將采集到的電壓與設定的門限電壓進行比較判斷是否正常,若出現(xiàn)異常則進行聲光報警;4)若無異常,則計算并通過LED 顯示電池電量;5)電壓暫存寄存器清零,延時一段時間,返回到第二步準備第二次測量,具體單片機的程序流程圖如圖8 所示。
圖8 程序流程圖
航模3S 聚合物鋰電池常常被用在移動控制系統(tǒng)中作為電源及動力電源。該文設計的電池電壓報警器主要是針對3S 電池在使用或存放過程中進行欠壓報警提示。通過實際測試,電池報警器能正確指示電池電量,能及時發(fā)現(xiàn)電池欠壓進行聲光報警。電池報警器軟硬件均能夠正確運行,后續(xù)硬件系統(tǒng)還可以通過程序下載接口兼容,增加溫度傳感器實時檢測電池溫度,進一步提高電池使用或存放過程中的安全性,報警器系統(tǒng)相關的軟硬件只需簡單升級即可。