【導(dǎo)讀】目前,在對(duì)普通干電池的出廠檢測(cè)中,廠家主要是對(duì)電池的開(kāi)路電壓、負(fù)載電壓、短路電流進(jìn)行質(zhì)量檢測(cè)。而電池容量的檢測(cè),由于具有毀滅性的損害,沒(méi)有專(zhuān)門(mén)的檢測(cè)設(shè)備,僅僅采用抽樣的方法來(lái)檢測(cè)。根據(jù)電池特性,其重量參數(shù)可以指示其容量參數(shù)。
介紹AT89C52控制的電池四參數(shù)檢測(cè)系統(tǒng),詳細(xì)給出了系統(tǒng)的軟硬件結(jié)構(gòu)設(shè)計(jì),給出了A/D轉(zhuǎn)換器MAX197、顯示驅(qū)動(dòng)芯片MAX7219在此系統(tǒng)中的應(yīng)用方法,及數(shù)據(jù)處理中使用的數(shù)字濾波算法。
我們?cè)O(shè)計(jì)開(kāi)發(fā)基于AT89C52單片機(jī)控制的機(jī)電一體化智能設(shè)備電池四參數(shù)自動(dòng)檢測(cè)儀,檢測(cè)電池的4個(gè)基本參數(shù):開(kāi)路電壓、負(fù)載電壓、短路電流和電池重量,并同時(shí)作到電池正、次品的分選統(tǒng)計(jì)功能。
1系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
如圖1所示,本系統(tǒng)以AT89C52單片機(jī)為核心組成一個(gè)具備數(shù)據(jù)采集、對(duì)象控制、結(jié)果顯示、報(bào)警裝置、鍵盤(pán)操作等多項(xiàng)功能的復(fù)雜完整系統(tǒng)。
圖1:系統(tǒng)硬件結(jié)構(gòu)框圖
1.1微處理器
本系統(tǒng)采用Atmel公司生產(chǎn)的AT89C52芯片作為微處理器。AT89C52與MCS—51系列單片機(jī)完全兼容,他采用靜態(tài)時(shí)鐘方式,可以大大節(jié)省耗電量。其內(nèi)部含有Flash存儲(chǔ)器,在系統(tǒng)開(kāi)發(fā)時(shí)可以十分容易地進(jìn)行程序修改,即使錯(cuò)誤編程也不會(huì)成為廢品。而且在系統(tǒng)工作中,即使突然掉電也能有效地保存一些數(shù)據(jù)信息。
1.2數(shù)據(jù)采集部分
數(shù)據(jù)采集和A/D轉(zhuǎn)換由MAX197完成。MAX197是MAXIM公司出品的高性能12位A/D轉(zhuǎn)換器,8通道模擬信號(hào)輸入,可以滿足使用1片A/D分時(shí)進(jìn)行多參數(shù)測(cè)量的要求。MAX197的其中2路通道為電池重量信號(hào)的輸入,由壓力傳感器獲取原始信號(hào)經(jīng)運(yùn)算放大后輸入。其余6路分別為電池相關(guān)電壓、電流各參數(shù)信號(hào)的輸入。MAX197片選信號(hào)/CS接AT89C52的P2.7,讀寫(xiě)控制信號(hào)分別接AT89C52的/WR和/RD。引腳HBEN為12位轉(zhuǎn)換結(jié)果選擇端,由P1.6控制。當(dāng)HBEN為高電平,讀取轉(zhuǎn)換結(jié)果的高4位;當(dāng)HBEN低電平時(shí)讀取低8位。設(shè)定MAX197的控制字為 01000000B,則其工作方式為正常工作方式/內(nèi)部時(shí)鐘;內(nèi)部獲取方式;模擬量輸入范圍為0~5 V;使用通道0。改變控制字的最后3位(000~111)可以依次選取MAX197的第0~7通道。MAX197通過(guò)片內(nèi)的三態(tài)并行接口與AT89C52 進(jìn)行接口。由于MAX197本身的轉(zhuǎn)換時(shí)間較短,且為固定值,故而在設(shè)計(jì)時(shí)采用了固定延時(shí)的方式代替中斷方式,進(jìn)行轉(zhuǎn)換結(jié)果的讀取,提高了數(shù)據(jù)的通過(guò)率和程序的效率。圖2給出了MAX197與AT89C52的接口電路。
圖2:MAX197與AT89C52的接口電路
1.3基本I/O部分
[member]
[page]
電池四參數(shù)的標(biāo)準(zhǔn)值由撥碼開(kāi)關(guān)設(shè)定,開(kāi)機(jī)直接進(jìn)行顯示,直觀明了;且可以方便的改變?cè)O(shè)定值,以滿足不同檔次電池的測(cè)量要求。顯示部分采用MAX7219來(lái)驅(qū)動(dòng)LED數(shù)碼管。MAX7219為MAXIM公司出品的串行輸入輸出、共陰極、8位數(shù)字LED顯示驅(qū)動(dòng)器。只須一個(gè)外部電阻就可以為所有的LED段電流進(jìn)行設(shè)置,簡(jiǎn)化了電路設(shè)計(jì),提高了系統(tǒng)的可靠性。其與AT89C52的接口通過(guò)一個(gè)方便的三線串行接口完成,各個(gè)數(shù)字均可被尋址和更新,而不需要重寫(xiě)整個(gè)顯示器。
AT89C52的P3.0接MAX7219的串行數(shù)據(jù)輸入端DIN,在CLK的上升沿,串行數(shù)據(jù)從DIN裝入到內(nèi)部16位移位寄存器中。在CLK下降沿的 DOUT端數(shù)據(jù)有效。本系統(tǒng)采用3片MAX7219進(jìn)行級(jí)聯(lián),來(lái)驅(qū)動(dòng)24個(gè)LED數(shù)碼管,分別顯示電池的4個(gè)參數(shù)值及各分檔測(cè)量值的統(tǒng)計(jì)結(jié)果。圖3為3片 MAX7219級(jí)聯(lián)驅(qū)動(dòng)24個(gè)LED數(shù)碼管。
1.4對(duì)象控制部分
本系統(tǒng)控制的對(duì)象有步進(jìn)電機(jī)、電磁閥、機(jī)械測(cè)量推桿、電子開(kāi)關(guān)等。開(kāi)機(jī)自檢后,由步進(jìn)電機(jī)帶動(dòng)傳送帶把電池運(yùn)到檢測(cè)位置處,單片機(jī)控制測(cè)量推桿夾緊電池進(jìn)行測(cè)量,所得數(shù)據(jù)經(jīng)處理后與所設(shè)定標(biāo)準(zhǔn)值比較,若滿足設(shè)定,視為合格產(chǎn)品,由傳送帶帶走;若不滿足,則視為次品,由單片機(jī)控制電磁閥打開(kāi)壓縮空氣,吹走次品電池,達(dá)到分檢目的。而當(dāng)電池為次品或無(wú)電池及電池正、負(fù)極反置時(shí),蜂鳴器發(fā)出報(bào)警信號(hào)。此系統(tǒng)采用氣動(dòng)電磁閥,提高了工作速度和設(shè)備的使用壽命。
圖3:3片MAX7219級(jí)聯(lián)驅(qū)動(dòng)24個(gè)LED數(shù)碼顯示管
本系統(tǒng)軟件部分采用MCS—51系列匯編語(yǔ)言設(shè)計(jì),采用模塊化程序結(jié)構(gòu),由主程序模塊、鍵盤(pán)服務(wù)模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、輸出控制模塊和顯示模塊等幾大模塊組成。主程序模塊簡(jiǎn)潔明了,核心部分為讀鍵、鍵解釋?zhuān)M(jìn)而轉(zhuǎn)向完成不同功能的相應(yīng)各功能子程序。這樣設(shè)計(jì)使得程序總體結(jié)構(gòu)緊湊、簡(jiǎn)潔、易懂,且易于設(shè)計(jì)、調(diào)試、維護(hù)和移植。
2.1監(jiān)控程序
由于本系統(tǒng)的子程序調(diào)用條件是多因素的,不僅與外部鍵盤(pán)操作、電信號(hào)等有關(guān),也與系統(tǒng)的當(dāng)前所處的狀態(tài)有關(guān),故而在監(jiān)控程序中引用狀態(tài)分析的方法,采用了一鍵多義的編寫(xiě)方式。分析系統(tǒng)工作時(shí)所有可能所處的狀態(tài),設(shè)定一鍵多義,在不同的狀態(tài)下,鍵解釋的結(jié)果不同,故而轉(zhuǎn)向不同的子程序。本系統(tǒng)設(shè)定了5個(gè)功能鍵和1個(gè)邏輯鍵,其中顯示鍵為多義鍵,不同狀態(tài)下分別顯示設(shè)定四標(biāo)準(zhǔn)參數(shù)、測(cè)量所得正次品電池?cái)?shù)、電池各分檔統(tǒng)計(jì)數(shù)等。邏輯鍵為軟件鍵,定義為30 s延時(shí)。在上述顯示鍵按下后啟動(dòng),若再無(wú)重復(fù)按下,則30 s后恢復(fù)到開(kāi)機(jī)顯示四設(shè)定參數(shù)狀態(tài)。
2.2數(shù)據(jù)采集
原始數(shù)據(jù)采集中,采用了VMOS功率場(chǎng)效應(yīng)管作為電子開(kāi)關(guān)。使用軟件編程的方法,控制電子開(kāi)關(guān)的打開(kāi)和閉合,選通A/D轉(zhuǎn)換器的各模擬輸入通道,從而對(duì)電池的不同參數(shù)進(jìn)行測(cè)量。VMOS管是一種垂直導(dǎo)電型MOS功率場(chǎng)效應(yīng)晶體管,兼具有電子管和晶體管的優(yōu)點(diǎn)。他的開(kāi)關(guān)速度極高,且沒(méi)有“熱崩”和“二次擊穿”,易串并聯(lián)使用。本系統(tǒng)在對(duì)電池短路電流測(cè)量中,由于放電電流較大,故而采用了2個(gè)VMOS管并聯(lián)使用,以達(dá)到分流的作用。
2.3數(shù)據(jù)處理
由于現(xiàn)場(chǎng)各種干擾的存在,使得采樣所得數(shù)據(jù)有一定的誤差。故對(duì)原始數(shù)據(jù)采取了數(shù)字濾波處理。對(duì)本系統(tǒng)中開(kāi)路電壓的測(cè)量,根據(jù)其取值特點(diǎn)在參考值1.5 V左右波動(dòng),首先去除奇異值,即對(duì)所得采樣值序列中明顯偏離參考值的數(shù)據(jù),視為有干擾存在,濾除掉;然后再對(duì)所得數(shù)據(jù)序列采用中位值濾波法進(jìn)行處理,即對(duì)剩余序列排隊(duì),取中間值作為最終濾波結(jié)果。這種數(shù)字濾波的軟件算法,有硬件的功效,卻不需要硬件投資,而且算法靈活多樣,效果往往優(yōu)于硬件濾波電路。應(yīng)用中可根據(jù)被測(cè)參數(shù)實(shí)際情況及所得數(shù)據(jù)規(guī)律,而綜合采用多種算法,以取得更優(yōu)的濾波效果。
結(jié)語(yǔ)
本系統(tǒng)自動(dòng)化程度高,大大提高了生產(chǎn)效率;人機(jī)界面友好,易于操作、存取數(shù)據(jù)。采用了合適的新型芯片,使得系統(tǒng)整體結(jié)構(gòu)可靠性好,精度高。附加的質(zhì)量統(tǒng)計(jì)功能,還可以提供給生產(chǎn)者以決策依據(jù)。實(shí)際應(yīng)用中,取得了很好的效果。