周 蕓,范 麗
(西安工業大學,西安 710021)
堿錳電池作為現代的高性能電池,具有很高的性價比,其發展速度驚人。為了保證其內在質量,在出廠前,對其性能進行檢測是必不可少的。開路電壓和短路電流是檢查堿錳電池最常用的二參數[1]。開路電壓檢測時電池處于高阻態,誤差較小[3]。對于短路電流,測量時,除了電池的內阻外,外接電路的電阻應該等于零。但是這是不可能的,因為如果外接電路電阻為零,就不能測得電流的數值了。經過筆者查閱大量的資料發現,前幾年很多學者研究短路電流時,用的是四線制結合小電阻放電的方法[3],但是并未考慮 GB7112—86中規定的測量短路回路的電阻要小于10mΩ[2]。在此提出了一種全新的堿錳電池檢測方法,采用MAX4070雙向,高邊,緊湊型電流檢測放大器,克服了常規方法的缺點,實現短路電流的高精度測量。基于此將設計一種以STC90C516RD+單片機為控制核心的全自動快速堿錳電池性能檢測儀。
單片機作為高新技術之一,以其體積小,功能強大,價格低廉等優勢,獲得很好的性價比,廣泛應用于各種儀表儀器領域以及工業自動化控制中[2]。堿錳電池性能檢測儀使用單片機作為其核心,主要用于控制檢測裝置的工作,以及和上位機進行通信,將數據通過串口傳至上位機。設計該系統主要用到的相關技術是:單片機接口技術、抗干擾技術、顯示技術、電子線路設計技術。
設計該系統的開發環境包括硬件方面和軟件方面。硬件方面包括:電路原理圖和PCB圖設計軟件Altium designer 09,將程序燒寫入單片機的燒寫軟件STC_ISP_V488;軟件方面包括:單片機程序編寫調試軟件Keil C等。
該裝置的硬件電路包括:電池電流電壓檢測電路、按鍵電路、數據采集電路、LED顯示電路、串口通信電路。硬件電路邏輯圖如圖1。下面主要講述檢測電路和數據采集電路。

圖1 硬件電路邏輯圖
對于電池開路電壓的檢測技術,國內外現已比較成熟,而且誤差也小。但是目前電池短路電流的檢測技術還不是很完善,很難達到GB7112—86里的回路電阻小于10mΩ的要求。前人有研究過,是將十個MOS管并聯,使其回路電阻小于10mΩ[2]。這樣有點浪費成本。因為不同的測量時間就可以得到不同的短路電流。接通時間短,其短路電流讀數就大;接通時間長,則測得的電流就會小一些。而且溫度也能影響短路電流值。并且電池直接短路,對電池的損壞會很大。考慮到以上的影響因素,該設計將對同一批次的電池在相同溫度下進行短路電流測量。其中采用電流檢測放大器MAX4070,可提高測量精度。其響應時間、線性度、漂移等指標均很理想,且能適合大范圍大電流的測量,經過驗證和測試,很好的滿足設計要求。如圖2為開路電壓、短路電流檢測電路[4-6]。參考芯片資料上的推薦組件值,本設計Rsense準備選用5mΩ的康銅電阻(該電阻熱穩定性好,漂移小),當電池符合標準時,在理想情況下短路電流為10A,選用MAX4070的100倍增益得到Vout為5V的標準輸出。而5V是模數轉換器PCF8591的參考電壓值,此情況下,轉換的精度是最高的。由于GB7112—86要求,檢測短路電流的回路電阻需要小于10mΩ,選用上述電阻串聯上兩個并聯的MOS管IRF3205,一個MOS導通電阻為8mΩ,兩個并聯為4mΩ,加起來是9mΩ,所以能滿足國標要求。當然為了獲得更精確的值以及更符合芯片的要求,在設計電路時加上了保護電路,使用兩個肖特基二極管并聯,用于電壓鉗位,來限制該點的電壓值。從而使得輸出電壓更穩定,對電路起保護作用。在MAX4070后,接了一個電壓跟隨器可以提高原來電路帶負載的能力,用作緩沖作用。
MOS管是為了切換開路電壓和短路電流檢測的。當MOS管導通時檢測短路電流,不導通時檢測開路電壓。
數模轉換芯片,運用了PCF8591,它是單電源低功耗8位CMOS數據采集器件,具有4個模擬輸入,一個模擬輸出和串行I2C總線接口。3個地址引腳A0,A1和A2用于編程硬件地址,允許8個器件連接至I2C總線而不需要額外硬件。器件的地址、控制和數據通過兩線雙向I2C總線傳輸。

圖2 開路電壓,短路電流檢測電路圖
檢測電路中,MOS管電路和MOS管的驅動部分如果處于同一個電源系統下,當MOS管電路發生意外時,就有可能影響到驅動部分的電路,從而影響整個系統的工作。所以考慮用光耦將MOS管電路部分與MOS管驅動部分相隔開,那么即使MOS管部分有問題也不會影響到其他部分的問題出現。如圖3,R45和R44,Q3三個元件來驅動光耦,用三極管的主要目的是提供給光耦開啟所需的充足電流。當P1.4口為高電平時,Q3三極管導通,光耦內部二極管被導通,有電流流過二極管內部,光耦右側的三極管被導通,所以CTL_TEST端被拉低,檢測電流電路中的MOS管不被導通,開始檢測開路電壓。反之就開始檢測短路電流[5]。
該設計為了節省光耦器件和I/O口資源,采用了74LS148這種8-3編碼器,只有當EI低,有按鍵按下時才開始編碼,因為設計中只需要六個鍵盤,所以0、7輸入口不使用給以高電平處理。根據真值表可以確定如果按下K1鍵,則輸入口就是1011111,則輸出為110,導通兩個光耦,單片機的 P1.3,P1.2,P1.1口的電平為001,則單片機識別第一個鍵盤被按下,執行相應的動作。以此類推。按鍵電路如圖4[4]。

圖3 信號隔離電路圖
另外,編碼器的輸出口和單片機的I/O口用光耦器件相連,起到一個隔離作用。

圖4 按鍵電路
該設計通過Keil uVision4集成開發環境設計實現單片機控制程序,簡單測試系統,編譯后生成Hex文件寫入單片機進行硬件部分工作。
單片機控制部分由初始化模塊、按鍵管理模塊、電池參數檢測模塊、AD轉換模塊、顯示模塊等五部分組成。軟件流程總框圖如圖5所示。
(1)初始化模塊是在單片機上電復位后,首先進行系統參數,I/O口、各變量存儲單元、狀態變量等初始化。
(2)鍵盤模塊,采用74LS148編碼器,節省I/O口,并且軟件編程極為方便。當按下哪個鍵時,對應單片機的I/O就是哪個數字。
(3)電池參數檢測模塊采用P1.4口來控制短路電流和開路電壓的檢測,P1.4口為高電平時,MOS管不導通,電路處于開路狀態,檢測的是開路電壓;P1.4為低電平時,MOS管導通,電路處于短路狀態,檢測的是短路電流。
(4)AD轉化模塊,本模塊采用的數模轉換器是PCF8591。它是靠I2C總線的數據線SDL和時鐘線SCL與CPU聯系,由軟件決定電壓和電流數據的采集時間和數據的存儲以及送去顯示。執行代碼如下:
(5)選用八位共陰極數碼管動態顯示電池的開路電壓和短路電流值,還可以顯示當時的電池總數和正次品數。段選是用74HC573來控制的,因為單片機可以控制鎖存器的鎖存端,進而控制鎖存器的數據輸出。鎖存器的鎖存端由單片機的P1.0口來控制。位選使用74LS138譯碼器來驅動,38譯碼器可以節省單片機的I/O口,它的三個輸入端分別由單片機的 P2.2,P2.3,P2.4 口來控制。
該系統在軟件中還采用了數字濾波技術中的算術平均濾波,來提高抗干擾性。

圖5 軟件流程總圖
該堿錳電池檢測儀操作簡單,測量精度高,開路電壓的測量范圍:0-1.8V,開路電壓分辨率為0.008V。短路電流的測量范圍:2-10A,短路電流的測量分辨率為0.04A。并且本系統采用AT24C02的掉電保護功能,防止數據丟失,以及采用了軟硬結合的抗干擾技術,提高系統的可靠性。
[1]王力臻,馬鳳菊,谷書華,等.短路電流極其影響因素[J].電池,1999,26(6):1 -2.
[2]于海峰.電池性能快速檢測系統的研究[D].哈爾濱:東北林業大學,2001.
[3]楊明.堿錳電池在線質量檢測技術研究[D].天津:河北工業大學,2002.
[4]Sergio Franco.Design with Operational Amplifiers and Analog Integrated Circuits[M].Xi’an:Xi’an jiaotong University Press,2009.
[5]郭天祥.新概念51單片機C語言教程[M].北京:電子工業出版社,2008.
[6]華成英,童詩白.模擬電子技術基礎[M].北京:高等教育出版社,2006.