,因為同時只有一組電池可以充電,所以必須依序?qū)?/span> STANDY BY的電池充電。在電池充電完成時,只要在電池未取下,就不將充電電池設(shè)為 STANDY BY,避免重複對以充飽的電池充電。 鎳鎘及鎳氫充電電池放電時,我們以0.1C電流放電,當(dāng)電池電壓放到低於2.2V時,將自動轉(zhuǎn)為充電狀態(tài),鋰電池則無須放電。
鎳鎘及鎳氫電池充電曲線說明如下圖
1: 若是充電電池電壓小於0.3V時,則不做充電,當(dāng)電壓大於0.3V時,則以0.1C定電流充電,當(dāng)電池充電到2.5V時,則以1C定電流充電,當(dāng)偵測有VPEAK現(xiàn)象或是ΔV發(fā)生時,則表示電池已經(jīng)充飽。
2: 若是充電電池電壓大於VMAX,(VMAX=4.8V),則表示充電電池電壓過大,原因可能為使用者放錯電池,充電器停止充電,避免發(fā)生危險。
3: 若是充電時間到達80分鐘,則表示電池容量太大,必須要充超過80分鐘以上才會充飽,還有一個原因是電池特性不好,沒有偵測到VPEAK現(xiàn)象或是ΔV,但是電池已經(jīng)充飽,設(shè)定充電時間到達80分鐘停止充電,也有避免電池因過度充電,而損害電池及預(yù)防危險的一個保護措施。
鋰電池充電曲線說明如下圖
1: 若是鋰充電電池電壓小於0.3V時,則不做充電,當(dāng)電壓大於0.3V時,則以0.1C定電流充電,當(dāng)電池充電到2.5V時,則以1C定電流充電,當(dāng)電壓到達4.1V時,則以定電壓4.1V對鋰電池充電,充電電流此時會慢慢下降,當(dāng)充電電流小於0.1C時,則表示電池已經(jīng)充飽,停止對鋰電池充電。
2: 若是充電電池電壓大於4.8V,則表示充電電池電壓過大,原因可能為使用者放錯電池,充電器停止充電,避免發(fā)生危險。
3: 若是充電時間到達80分鐘,則表示電池容量太大,必須要充超過80分鐘以上才會充飽,還有一個原因是電池電壓充不上去,設(shè)定充電時間到達80分鐘停止充電以避免危險。
HT46R47微控制器應(yīng)用實例
以下就對於該微控制器做一個簡單扼要的說明,我們先看此微控制器的方塊圖﹕
以下為該微控制器腳位圖
從整個方塊圖及腳位圖,我們就可以大略了解此顆微控制器所提供的功能:
一: HT46R47使用盛群半導(dǎo)體的8位元精簡指令集微控制器,內(nèi)含63個功能強大的精簡指令,有6層硬體做成的堆疊(STACK),在呼叫副程式時,可以呼叫到6層之多。內(nèi)建一個看門狗計時器(WDT),可以預(yù)防微控制器誤動作時,將微控制器重新RESET,一個低電壓偵測器(LVR),當(dāng)電壓過低時,會自動將微控制器RESET,避免微控制器的誤動作。程式記憶體(PROGRAM MEMORY)的空間有2K可以使用,對於寫程式來說,有很大的應(yīng)用空間,另外也提供OPTION ROM,提供OPTION在燒錄的時候,視需求來選擇哪一種功能,內(nèi)建有64 bytes的資料記憶體(DATA MEMORY)空間,在中斷部分提供了三種中斷,外部中斷接腳的中斷,內(nèi)部計時器或外部計數(shù)器的中斷,還有一個是9位元ADC的中斷。
二: 輸入數(shù)出腳共有13根,其中PA有8根,PB有4根,PD有1根,其中PA3與PFD輸出共用接腳,PA4與外部計數(shù)器輸入腳共用,PA5與外部中斷輸入腳共用,PD0與PWM輸出共用接腳,PB0~PB3與ADC類比輸入腳AN0~AN3共用﹔其中PA3與PFD輸出功能共用,PD0則與PWM共用,是由燒錄程式時,由OPTION項目所選擇的,我們也可以只選擇使用一般的I/O功能就好。PA4當(dāng)外部計數(shù)器輸入腳時,PA4必須設(shè)為輸入腳,PA5當(dāng)外部中斷輸入腳時, PA5也必須設(shè)為輸入腳。至於PB0~PB3與AN0~AN3 ADC類比訊號輸入,可以由軟體選擇要當(dāng)類比或是數(shù)位訊號輸入。
三: 8位元的計時計數(shù)器輸入,可以選擇由外部計數(shù)器輸入腳輸入,或是選擇內(nèi)部計時器當(dāng)計時的參考頻率。由系統(tǒng)頻率經(jīng)過一個預(yù)除器,可以選擇8個參考計時頻率給8位元的計時計數(shù)器,這8個計時頻率,從系統(tǒng)頻率到系統(tǒng)頻率除以128。選擇適當(dāng)?shù)念l率給計時計數(shù)器,使用可以較彈性。另外PFD的輸出頻率,也是由8位元計時計數(shù)器來控制,PFD的頻率為8位元計時計數(shù)器溢位的頻率除2,假設(shè)8位元計時記數(shù)器的輸入為1μ秒,假設(shè)我們設(shè)定8位元計時計數(shù)器內(nèi)容為6,則計數(shù)250次就會發(fā)生溢位,則PFD輸出的週期為 1μ秒×(256-6)×2=500μ秒, 所以PFD的頻率為 1/500μ秒 = 2kHz ,由以上可知只要設(shè)定8位元計時計數(shù)器的頻率,就可決定PFD的輸出頻率。
四:提供PWM之功能,對於電流的控制提供一個佳的解決方案,電流的控制可以參考HT46R47規(guī)格書上所附錄的應(yīng)用線路如下
PD0/PWM接腳輸出串聯(lián)一個電阻及電容接到一個NPN電晶體,來控制上面PNP電晶體是否導(dǎo)通,在PWM輸出高準位時,NPN及PNP皆在導(dǎo)通的狀態(tài),12V電壓對電感充電。當(dāng)PWM輸出低準位時,NPN及PNP皆在不導(dǎo)通的狀態(tài),12V電壓不對電感充電,電感經(jīng)由蕭特基二極體放電。當(dāng)控制PWM輸出的DUTY,可以讓電感儲存的電流能量,維持在一定的大小,由此來做定電流控制。
當(dāng)使用PWM功能時,需要在OPTION選項選擇使用PWM功能,當(dāng)寫入PWM 暫存器之?dāng)?shù)值改變時則PWM輸出之DUTY隨之改變,該注意的是,PWM之頻率是不可調(diào)整,其頻率是固定系統(tǒng)頻率除以64(其PWM輸出是(6+2)模式,其定義為PWM輸出之頻率為一般輸出的4倍,其原理為將 PWM輸出分為四段,輸出低準位的部分及輸出高準位的部分,平均各分為四段,若是無法分為四段的餘數(shù),就補在其中的一段。),若是要改變PWM之頻率,只能改變系統(tǒng)頻率來改變PWM之頻率。要讓PWM之輸出由PD0/PWM輸出,必須將PD0輸出設(shè)定為輸出腳,且必須寫1到PD0暫存器的位置,寫0會讓PD0/PWM接腳,輸出在LOW的狀態(tài)。
請看下圖的說明:
五:4通道的9位元ADC,提供4個類比訊號的輸入與I/O接腳共用,使得產(chǎn)品的開發(fā)更具有彈性,ADC轉(zhuǎn)換的時脈來源有三個選擇,可以依實際需求的ADC轉(zhuǎn)換速度來使用,若是只需要8位元的ADC,也可以直接當(dāng)成8位元的ADC來使用,而不需要經(jīng)過轉(zhuǎn)換。
一般在做ADC轉(zhuǎn)換時,需注意到在轉(zhuǎn)換時電源的處理,輸出腳盡可能不要改變,以防止在ADC轉(zhuǎn)換受到干擾時造成誤差,在ADC轉(zhuǎn)換完成之後再恢復(fù)原來的狀態(tài),在電源及ADC類比訊號輸入腳位加上一個RC濾波電路,是解決ADC轉(zhuǎn)換受雜訊干擾而產(chǎn)生誤差的有效解決辦法,一個電阻加上一個電容的低階濾波器,應(yīng)是一個常用簡單又有效的解決辦法,在PCB板上的LAYOUY需注意電源與地線的拉線和ADC 類比訊號輸入的拉線,要避免受到雜訊的干擾,建議在VDD與VSS接一個 0.1μF的電容,來減低電源雜訊的干擾。
盡可能以滿足規(guī)格的慢速度來做ADC轉(zhuǎn)換,ADC 時脈來源選擇1MHz以下,可有較好的精確度,ADC的轉(zhuǎn)換特性與ADC時脈的速度有關(guān),速度愈快轉(zhuǎn)換的精確度比轉(zhuǎn)換速度慢的精確度較差。
介紹完盛群半導(dǎo)體公司的微控制器之後,我們就以其產(chǎn)品的規(guī)格書上的一個應(yīng)用線路,來做一個2組2顆鎳氫,鎳鎘電池快速充電器或是鋰充電電池的快速充電器,規(guī)格如下:
1: 雙槽充電器
2: 兩個DIP SW;
3: 每一槽由兩個LED燈代表其狀態(tài);
一 原理 : 在做電池充電器之前,我們先瞭解各種充電電池的特性,其中鎳鎘及鎳氫電池充飽時,有幾個判斷的依據(jù),一個是電池電壓會瞬間下降,一是電池溫度會上升,電池溫度上升,因為周遭環(huán)境溫度變化不同,而有可能產(chǎn)生誤判,所以我們以電池電壓瞬間下降,來做電池充飽的依據(jù),是較可靠的一種方法。我們又加上定時的保護,只要超過80分鐘沒有充飽,我們也停止充電,以防止過度電而損害電池。鋰電池充飽時,電壓會維持在4.1V,所以我們以鋰電池在4.1V時,以定電壓充電,充電電流小於50mA來當(dāng)鋰電池充飽的依據(jù),同時也加上定時的保護,只要80分鐘沒有充飽,我們也停止充電。
若是以鎳氫鎳鎘電池充電,還需要一個開關(guān)來表示在充電之前是否要放電,偶爾以先放電方式再充電,可以消除電池的記憶效應(yīng)。鋰電池則沒有記憶效應(yīng),所以可不放電,直接充電,以鎳氫鎳鎘電池充電,必須串聯(lián)兩顆電池,否則無法正常充電。
二 充電電流 : 以500mA 快速充電及50mA 慢速充電,以電池電壓是否大於2.5V來做分隔,充電電池電壓若大於2.5V 則以500mA 做快速充電,若是充電電池小於2.5V 則以50mA電流充電,等充到電壓大於2.5V時再以500mA電流充電。充電電流的控制方式,可以以HT46R47的PWM功能再加上一個類比轉(zhuǎn)數(shù)位電壓輸入腳位,來做一個定電流的控制功能。
三 應(yīng)用線路分析,我們對照充電器的電路分析如下:
對電池0充電時,需將電池0放電電路關(guān)掉,並將電池1之充電及放電電路關(guān)掉。 LED顯示對電池0充電的狀態(tài),PD0 輸出PWM 訊號,藉由PB2/A2的電壓值,算出對充電電池0充電的電流,若是得到的電流,小於我們設(shè)計的充電電流,則可以增加PWM值,來增加對電感的電流,相對的對電池0充電的電流也會增加。若是得到的電流大於我們設(shè)計的充電電流,則可以減少PWM值,來減少對電感的電流,相對的對電池0充電的電流也會減少。一直控制電流在我們設(shè)計的範圍之內(nèi),維持定電流充電。至於控制50mA或是500mA電流充電,其原理都相同,只是PB2/AN2的電壓值和PWM值不同而已。 每充電1秒,放電10m秒,然後偵測電池0的電壓,每次得到的電壓都和之前的三組電壓作平均,然後在判斷電池是否充飽,充飽時停止充電,並顯示充飽訊息,沒充飽就繼續(xù)充電。
對電池0放電時,需將電池0充電電路關(guān)掉,並將電池1之充電及放電電路關(guān)掉。 LED顯示對電池0放電的狀態(tài),一直放電,放到電池0的電壓小於2.2V,就去執(zhí)行電池0充電的動作。 電池1的動作與電池0充電的動作類似,可以以同樣的流程來做。鋰電池的充電方式除了不需放電及充飽的依據(jù)不同之外,其他動作與鎳鎘鎳氫電池充電方式大同小異。
四:4個LED及2個開關(guān)的輸入,可以用其他未使用的I/O接腳來做,計時器可以用來做VPEAK 維持1分鐘的計時及充電時間80分鐘的計時。系統(tǒng)頻率為4MHz RC 震盪器。
五:在做充電器之前,我們先要選擇使用HT46R47的哪些功能:
PB0/AN0 : 充電電池電壓,槽的輸入腳,使用當(dāng)作類比ADC輸入的功能。
PB1/AN1 : 充電電池電壓,**槽的輸入腳,使用當(dāng)作類比ADC輸入的功能。
PB2/AN2 : 充電時充電電池的偵測,使用當(dāng)作類比ADC輸入的功能。
PB3/AN3和PA7 : 兩個輸入開關(guān),使用當(dāng)作數(shù)位輸入的功能。
PA4,PA5和PA6 : 以掃描方式做4個LED燈顯示,使用當(dāng)作輸出的功能。
PA0 : 控制對**槽的電池充電,由一個電晶體做開關(guān),使用當(dāng)作輸出的功能。
PA1 : 控制對槽的電池充電,由一個電晶體做開關(guān),使用當(dāng)作輸出的功能。
PA2 : 控制對槽的電池放電,由一個電晶體做開關(guān),使用當(dāng)作輸出的功能。
PA3 : 控制對**槽的電池放電,由一個電晶體做開關(guān),使用當(dāng)作輸出的功能。
PD0/PWM : 控制充電電流的大小,由一個電晶體做開關(guān),使用當(dāng)作PWM輸出的功能。
TIMER : 計時每0.04秒中斷一次,做計時及掃描顯示LED。
看門狗計時器*(WDT) : 避免程式執(zhí)行錯誤做一個保護的動作。
低電壓重置功能啟動 : 只要電壓小於3V 微控制器就不動作。
系統(tǒng)頻率選擇RC震盪器的方式 : OSC1 接一個75kΩ的電阻到地,頻率約4MHz。
實做的充電器電路如下:
以上對充電器微控制器就簡單介紹到此,希望對讀者能對充電器的原理及製作有些助益。
作者: 劉溫良
畢業(yè)於逢甲大學(xué) 電子工程學(xué)系
目前服務(wù)於 盛群半導(dǎo)體 微控制器應(yīng)用部