基于AT89C52電池四參數自動檢測系統設計
發布時間:2007/8/20 0:00:00 訪問次數:440
北極星電技術網 楊明 高占鳳 狄衛國 孫會來
摘 要:介紹了基于AT89C52控制的電池四參數檢測系統,詳細給出了系統的軟硬件結構設計,給出了A/D轉換器MAX197、顯示驅動芯片MAX7219在此系統中的應用方法,及數據處理中使用的數字濾波算法。
關鍵詞:AT89C52;自動檢測;電池;數字濾波
目前,在對普通干電池的出廠檢測中,廠家主要是對電池的開路電壓、負載電壓、短路電流進行質量檢測。而電池容量的檢測,由于具有毀滅性的損害,沒有專門的檢測設備,僅僅采用抽樣的方法來檢測。根據電池特性,其重量參數可以指示其容量參數。故而我們設計開發了基于AT89C52單片機控制的機電一體化智能設備電池四參數自動檢測儀,檢測電池的4個基本參數:開路電壓、負載電壓、短路電流和電池重量,并同時作到電池正、次品的分選統計功能。
1 系統硬件結構設計
如圖1所示,本系統以AT89C52單片機為核心組成一個具備數據采集、對象控制、結果顯示、報警裝置、鍵盤操作等多項功能的復雜完整系統。
1.1微處理器
本系統采用Atmel公司生產的AT89C52芯片作為微處理器。AT89C52與MCS—51系列單片機完全兼容,他采用靜態時鐘方式,可以大大節省耗電量。其內部含有Flash存儲器,在系統開發時可以十分容易地進行程序修改,即使錯誤編程也不會成為廢品。而且在系統工作中,即使突然掉電也能有效地保存一些數據信息。
1.2數據采集部分
數據采集和A/D轉換由MAX197完成。MAX197是MAXIM公司出品的高性能12位A/D轉換器,8通道模擬信號輸入,可以滿足使用1片A/D分時進行多參數測量的要求。MAX197的其中2路通道為電池重量信號的輸入,由壓力傳感器獲取原始信號經運算放大后輸入。其余6路分別為電池相關電壓、電流各參數信號的輸入。MAX197片選信號/CS接AT89C52的P2.7,讀寫控制信號分別接AT89C52的/WR和/RD。引腳HBEN為12位轉換結果選擇端,由P1.6控制。當HBEN為高電平,讀取轉換結果的高4位;當HBEN低電平時讀取低8位。設定MAX197的控制字為01000000B,則其工作方式為正常工作方式/內部時鐘;內部獲取方式;模擬量輸入范圍為0~5 V;使用通道0。改變控制字的最后3位(000~111)可以依次選取MAX197的第0~7通道。MAX197通過片內的三態并行接口與AT89C52進行接口。由于MAX197本身的轉換時間較短,且為固定值,故而在設計時采用了固定延時的方式代替中斷方式,進行轉換結果的讀取,提高了數據的通過率和程序的效率。圖2給出了MAX197與AT89C52的接口電路。
1.3基本I/O部分
電池四參數的標準值由撥碼開關設定,開機直接進行顯示,直觀明了;且可以方便的改變設定值,以滿足不同檔次電池的測量要求。顯示部分采用MAX7219來驅動LED數碼管。MAX7219為MAXIM公司出品的串行輸入輸出、共陰極、8位數字LED顯示驅動器。只須一個外部電阻就可以為所有的LED段電流進行設置,簡化了電路設計,提高了系統的可靠性。其與AT89C52的接口通過一個方便的三線串行接口完成,各個數字均可被尋址和更新,而不需要重寫整個顯示器。
AT89C52的P3.0接MAX7219的串行數據輸入端DIN,在CLK的上升沿,串行數據從DIN裝入到內部16位移位寄存器中。在CLK下降沿的DOUT端數據有效。本系統采用3片MAX7219進行級聯,來驅動24個LED數碼管,分別顯示電池的4個參數值及各分檔測量值的統計結果。圖3為3片MAX7219級聯驅動24個LED數碼管。
1.4對象控制部分
本系統控制的對象有步進電機、電磁閥、機械測量推桿、電子開關等。開機自檢后,由步進電機帶動傳送帶把電池運到檢測位置處,單片機控制測量推桿夾緊電池進行測量,所得數據經處理后與所設定標準值比較,若滿足設定,視為合格產品,由傳送帶帶走;若不滿足,則視為次品,由單片機控制電磁閥打開壓縮空氣,吹走次品電池,達到分檢目的。而當電池為次品或無電池及電池正、負極反置時,蜂鳴器發出報警信號。此系統采用氣動電磁閥,提高了工作速度和設備的使用壽命。
本系統軟件部分采用MCS—51系列匯編語言設計,采用模塊化程序結構,由主程序模塊、鍵盤服務模塊、數據采集模塊、數據處理模塊、輸出控制模塊和顯示模塊等幾大模塊組成。主程序模塊簡潔明了,核心部分為讀鍵、鍵解釋,進而轉向完成不同功能的相應各功能子程序。這樣設計使得程序總體
北極星電技術網 楊明 高占鳳 狄衛國 孫會來
摘 要:介紹了基于AT89C52控制的電池四參數檢測系統,詳細給出了系統的軟硬件結構設計,給出了A/D轉換器MAX197、顯示驅動芯片MAX7219在此系統中的應用方法,及數據處理中使用的數字濾波算法。
關鍵詞:AT89C52;自動檢測;電池;數字濾波
目前,在對普通干電池的出廠檢測中,廠家主要是對電池的開路電壓、負載電壓、短路電流進行質量檢測。而電池容量的檢測,由于具有毀滅性的損害,沒有專門的檢測設備,僅僅采用抽樣的方法來檢測。根據電池特性,其重量參數可以指示其容量參數。故而我們設計開發了基于AT89C52單片機控制的機電一體化智能設備電池四參數自動檢測儀,檢測電池的4個基本參數:開路電壓、負載電壓、短路電流和電池重量,并同時作到電池正、次品的分選統計功能。
1 系統硬件結構設計
如圖1所示,本系統以AT89C52單片機為核心組成一個具備數據采集、對象控制、結果顯示、報警裝置、鍵盤操作等多項功能的復雜完整系統。
1.1微處理器
本系統采用Atmel公司生產的AT89C52芯片作為微處理器。AT89C52與MCS—51系列單片機完全兼容,他采用靜態時鐘方式,可以大大節省耗電量。其內部含有Flash存儲器,在系統開發時可以十分容易地進行程序修改,即使錯誤編程也不會成為廢品。而且在系統工作中,即使突然掉電也能有效地保存一些數據信息。
1.2數據采集部分
數據采集和A/D轉換由MAX197完成。MAX197是MAXIM公司出品的高性能12位A/D轉換器,8通道模擬信號輸入,可以滿足使用1片A/D分時進行多參數測量的要求。MAX197的其中2路通道為電池重量信號的輸入,由壓力傳感器獲取原始信號經運算放大后輸入。其余6路分別為電池相關電壓、電流各參數信號的輸入。MAX197片選信號/CS接AT89C52的P2.7,讀寫控制信號分別接AT89C52的/WR和/RD。引腳HBEN為12位轉換結果選擇端,由P1.6控制。當HBEN為高電平,讀取轉換結果的高4位;當HBEN低電平時讀取低8位。設定MAX197的控制字為01000000B,則其工作方式為正常工作方式/內部時鐘;內部獲取方式;模擬量輸入范圍為0~5 V;使用通道0。改變控制字的最后3位(000~111)可以依次選取MAX197的第0~7通道。MAX197通過片內的三態并行接口與AT89C52進行接口。由于MAX197本身的轉換時間較短,且為固定值,故而在設計時采用了固定延時的方式代替中斷方式,進行轉換結果的讀取,提高了數據的通過率和程序的效率。圖2給出了MAX197與AT89C52的接口電路。
1.3基本I/O部分
電池四參數的標準值由撥碼開關設定,開機直接進行顯示,直觀明了;且可以方便的改變設定值,以滿足不同檔次電池的測量要求。顯示部分采用MAX7219來驅動LED數碼管。MAX7219為MAXIM公司出品的串行輸入輸出、共陰極、8位數字LED顯示驅動器。只須一個外部電阻就可以為所有的LED段電流進行設置,簡化了電路設計,提高了系統的可靠性。其與AT89C52的接口通過一個方便的三線串行接口完成,各個數字均可被尋址和更新,而不需要重寫整個顯示器。
AT89C52的P3.0接MAX7219的串行數據輸入端DIN,在CLK的上升沿,串行數據從DIN裝入到內部16位移位寄存器中。在CLK下降沿的DOUT端數據有效。本系統采用3片MAX7219進行級聯,來驅動24個LED數碼管,分別顯示電池的4個參數值及各分檔測量值的統計結果。圖3為3片MAX7219級聯驅動24個LED數碼管。
1.4對象控制部分
本系統控制的對象有步進電機、電磁閥、機械測量推桿、電子開關等。開機自檢后,由步進電機帶動傳送帶把電池運到檢測位置處,單片機控制測量推桿夾緊電池進行測量,所得數據經處理后與所設定標準值比較,若滿足設定,視為合格產品,由傳送帶帶走;若不滿足,則視為次品,由單片機控制電磁閥打開壓縮空氣,吹走次品電池,達到分檢目的。而當電池為次品或無電池及電池正、負極反置時,蜂鳴器發出報警信號。此系統采用氣動電磁閥,提高了工作速度和設備的使用壽命。
本系統軟件部分采用MCS—51系列匯編語言設計,采用模塊化程序結構,由主程序模塊、鍵盤服務模塊、數據采集模塊、數據處理模塊、輸出控制模塊和顯示模塊等幾大模塊組成。主程序模塊簡潔明了,核心部分為讀鍵、鍵解釋,進而轉向完成不同功能的相應各功能子程序。這樣設計使得程序總體