基于AVR的筆記本電池檢測儀
普通電池僅有作為電源向負載供電的功能.而智能電池是由電池組、電池管理芯片、充放電電路、保護電路等共同組成的。智能電池不僅可以提供電源,而且由于電池管理芯片中內置了微處理器和通信接口,它還可以向外部提供電池當前電壓、當前電量、溫度、門檻電壓、充放電次數、生產廠商、生產日期等動態(tài)信息和設計信息。筆記本電池就是一種智能電池.它采用SMBUS向操作系統(tǒng)提供當前電池電量的余量、還能使用多長時間等數據。
筆記本電池在生產完成后。要老化電池。也就是測試電池是否能夠正常工作。檢測的步驟通常分步進行.首先讀取電池的各種設計信息檢查是否正確.其次對電池充放電檢查是否可充放.最后校正電池電壓、電流和溫度。本文提出一種自動流程的筆記本電池檢測儀.它自動比較電池信息.當發(fā)現(xiàn)錯誤信息后,寫入正確信息,避免了手工輸入,可有效提高工作效率2倍以上。
1 硬件電路的實現(xiàn)
筆記本測試儀是基于AVR單片機ATMEGA88實現(xiàn)的。ATMEGA88是ATMEL公司研制的高性能、低功耗8位微處理器,它采用RISC結構,最高速度達16M,28個可配置的引腳,lK內部SRAM.8K程序存儲器.還具有512字節(jié)的EEPROM。ATMEG88還具有豐富的外設。如三個定時器、六通道PWM、10位ADC、USART接口、SPI總線、TWI總線等,這些特性十分適合智能電池的需要可以使控制器外圍電路減至最少。因此本文選用了ATMEGA88。本文實現(xiàn)的筆記本電池檢測儀可檢測以TI公司BQ2060、BQ20270、Bq20280、BQ20290四個系列的電量計量芯片組成的智能電池。
1.1 SMBUS總線
SMBUS總線最早由Intel公司提出的。目前在個人電腦、工業(yè)測控、智能儀器儀表得到了廣泛的應用。TI公司的BQ系列電鼉計量芯片都提供了SMBUS通訊接口供用戶使用。SMBUS協(xié)議與12C總線類似,它是由兩根信號線來傳輸數據的,一個是時鐘傳輸線SCL。一個數據傳輸線SDA,SMBUS最高傳輸速度為100Kbps,當總線上接入速度不同的器件時。可以采用延長SCL低電平的時間來同步數據通信。SMBUS既可以由硬件接口實現(xiàn).也可以由軟件模擬實現(xiàn).但在電路上這兩根信號必須是漏極開路或集電極開路的,兩根信號通過一個1OK的上拉電阻接到+5V電源上.這樣在無數據傳輸時.兩根信號線總是在高電平以使智能器件能檢測到總線空閑。SMBUS總線上的設備有主設備和從設備兩類,兩類設備傳輸模式有收發(fā)兩種,這樣共有四種傳輸模式.無論哪一種通訊時都是由主設備發(fā)起和結束的。智能電池是SMBUS總線的上的從設備.它的寫地址是0x16.讀地址是Oxl7,SMBUS的一次寫命令傳輸過程如圖1所示。
圖1 SMBUS時序圖
在SCL為高電平時。主設備在SCL為高時把SDA從高拉低產生一個起始位。傳輸數據開始.緊跟其后的是地址尋址的8bit數據,最后一位0代表寫操作。1代表的是進行讀操作。隨后傳輸是8bit數據是智能電池內部的命令字.根據電池芯片版本的不同有所不同。接下來的兩個字節(jié)數據分別的命令內容的低字節(jié)和高字節(jié),最后由主設備在SCL為高時把SDA從低拉高結束操作。在SMBUS讀數據的時候要先時電池進行寫入操作,再對電池進行讀尋址,這一點和I2C還有所不同。ATMEG88的TWI總線是完全兼容SMBUS的,并且它的引腳可配置內部上拉電阻,可以省去外部的兩個電阻。
1.2充放電電路
由ATMEGA88控制的可調電流的充放電電路能對電池進行充放電測試,TI公司的BQ計量芯片對電池計量具有自學習功能,計量建立在一個充放電的完全循環(huán)上的,因此電路必須要實現(xiàn)完全充電和完全放電。
圖2充電電路圖
充電電路如圖2所示.LM317組成了一個恒壓源.LM317的輸入是1.25V.Si4953是一個N溝道的MOS管.它的柵極接在三極管8050的集電極上。源極和漏極與充電電路串聯(lián)。三極管8050的作用是來關斷和打開Si4953。它的基極接在ATMEG88的一個端口上。ATMEGA88置高電平,8050發(fā)射極正偏,集電極反偏,8050飽和導通,Si4593柵極為低電平,MOS截止相當于電路開路,電源不能給電池的正極充電。當要對電池進行充電時.ATMEG88將此引腳置低電平,8050截止,Si4953導通電源通過LM317給電池的正極充如1.25A的電流。改變ATMEGA88的這個引腳的占空比可以很改變充電電流的大小。在充電過程中.ATMEGA88每秒鐘讀一次電池的門檻電壓.如果門檻電壓到了電池的最大充電電壓并能維持2分鐘.說明電池已經充滿。電池充滿后.不能再繼續(xù)充電,否則會造成電芯過充損壞.電量計量芯片會在電池充滿后打開內部的FET保護電路.斷開充電通路保護電芯。ATMEG88在電池充滿后.讀取電池的保護位.如果已經打開說明電池工作正常。
評論