基于AVR單片機(jī)的可充電電池的放電監(jiān)測
摘 要:本文介紹avr單片機(jī)attiny12的主要性能特點(diǎn),并利用它實(shí)現(xiàn)了可充電電池放電的自動(dòng)監(jiān)測。
關(guān)鍵詞:單片機(jī);可充電電池;自動(dòng)監(jiān)測
avr是增強(qiáng)型risc、內(nèi)置flash的高性能8位單片機(jī)。設(shè)計(jì)上采用低功耗cmos 技術(shù),而且在軟件上有效支持c語言及匯編語言。其型號較多,可供不同場合選用。在8位mcu市場上,avr單片機(jī)具有最高的mips/mw能力。本文介紹attiny12單片機(jī)的主要性能特點(diǎn)及其在實(shí)際中的應(yīng)用。attiny12單片機(jī)簡介
avr核將32個(gè)工作寄存器和豐富的指令集聯(lián)結(jié)在一起。所有的工作寄存器都與算術(shù)邏輯單元alu直接相連,允許在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行的單條指令同時(shí)訪問2個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)提高了代碼效率,使avr得到了比普通cisc單片機(jī)高將近10倍的性能。
attiny12工作于空閑模式時(shí),cpu將停止運(yùn)行,而定時(shí)器/計(jì)數(shù)器和中斷系統(tǒng)將繼續(xù)工作;掉電模式時(shí)振蕩器停止工作,所有功能都被禁止,而寄存器內(nèi)容得到保留。只有外部中斷或硬件復(fù)位才可以退出此狀態(tài)。引腳電平變化中斷的特點(diǎn)使得attiny12對外部事件有很高的響應(yīng)性,同時(shí)具有掉電模式的低功耗優(yōu)點(diǎn)。
attiny12內(nèi)部集成有rc振蕩器,其固定頻率為1mhz。它還可以通過xtal1和xtal2引腳外接晶體振蕩器或陶瓷振蕩器。當(dāng)使用外部時(shí)鐘時(shí),xtal2應(yīng)懸空。通過熔絲位控制,可以有多種時(shí)鐘選擇。attiny12應(yīng)用于電池的放電監(jiān)測
圖1為放電監(jiān)測電路圖,其功能是對6v/10ah鉛酸免維護(hù)電池的放電進(jìn)行實(shí)時(shí)監(jiān)測。電路中使用了tlc549,用于采集可充電電池的電壓。tlc549是8位串行adc芯片,可與通用微處理器、控制器通過clk、cs、dout三條線進(jìn)行串行連接。它具有4mhz片內(nèi)系統(tǒng)時(shí)鐘和軟、硬件控制電路,轉(zhuǎn)換時(shí)間最長17ms,允許的最高轉(zhuǎn)換速率為40,000次/s??偸д{(diào)誤差最大為±0.5lsb,典型功耗值為6mw。采用差分參考電壓高阻輸入,抗干擾,可按比例量程校準(zhǔn)轉(zhuǎn)換范圍,vref接地,vref+-vref-≥1v,可用于較小信號的采樣。
attiny12使用其內(nèi)部上電復(fù)位、內(nèi)部rc振蕩器,其pb2與tlc549的cs連接,作為片選信號端口;pb1與dout連接作為數(shù)據(jù)接收端口;pb0與clk連接作為脈沖時(shí)鐘端口。pb3接一個(gè)蜂鳴器,pb5接一個(gè)發(fā)光二極管,它們用于聲光報(bào)警,在可充電電池電壓低于5.5v時(shí),蜂鳴器報(bào)警,而發(fā)光二極管也開始閃爍。pb3控制繼電器jrc的關(guān)/閉,通過控制繼電器來控制外部電源的供給,當(dāng)可充電電池電壓低于5.4v時(shí),將切斷對外部電路的電源供給,以保護(hù)6v/10ah鉛酸免維護(hù)電池,否則將導(dǎo)致過度放電,降低電池壽命。
電路中還用了一個(gè)穩(wěn)壓器tps7250。tps7250具有低漏失(ldo)電壓、微功耗和小型化封裝的優(yōu)點(diǎn)。此穩(wěn)壓器的特點(diǎn)和一般ldo穩(wěn)壓器相比有特別低的漏失電壓和靜態(tài)電流。模塊中運(yùn)用它來給單片機(jī)attiny12和tlc549提供穩(wěn)定的+5v電壓。當(dāng)可充電電池的電壓低于5.4v時(shí),停止給外部供電,但還會(huì)給adc與單片機(jī)供電,不過adc將不再工作,而單片機(jī)繼續(xù)工作(發(fā)出警報(bào))。通過開關(guān)s1可切斷內(nèi)部供電。軟件設(shè)計(jì)
軟件程序流程如圖2所示。與mcs-51系列單片機(jī)不同,開機(jī)后首先要對attiny12的b口進(jìn)行初始化,定義每一個(gè)pb腳是輸入口還是i/o口。初始化結(jié)束后直接啟動(dòng)adc。通過它采集到的電壓信號是可充電電池的實(shí)際電壓值,若此電壓值小于5.4v,則關(guān)閉繼電器jrc,a/d轉(zhuǎn)換也不再進(jìn)行,可發(fā)光二極管led快速閃爍,蜂鳴器beep發(fā)出警報(bào)聲音(頻率較高),告訴工作人員可充電電池已經(jīng)不再給外部供電了,需要充電。若此電壓值不小于5.4v,再看它是否低于5.5v,如果低于5.5v,則發(fā)光二極管led慢速閃爍,蜂鳴器beep發(fā)出警報(bào)聲音(頻率較低),告訴工作人員可充電電池電壓不足,但是此時(shí)adc還在繼續(xù)工作,可充電電池也還在給外部供電。若電壓值高于5.5v,警報(bào)停止,可充電電池給外部電路正常供電。結(jié)語
本設(shè)計(jì)的軟硬件很簡單,而且功耗比較低,價(jià)格低廉,所以對于可充電電池的放電監(jiān)測非常實(shí)用?!鰠⒖嘉墨I(xiàn)
1 德根,宋建國,馬潮等編著. avr高速嵌入式單片機(jī)原理與應(yīng)用.北京航空航天大學(xué)出版社,2002
2 吉雷主編. 電子電路設(shè)計(jì)師protel 99完全手冊. 四川電子音像出版社,2000