基于STC89C52單片機(jī)直流紋波測試儀的設(shè)計(jì)與實(shí)現(xiàn)
摘要:提出了一種以STC89C52單片機(jī)為核心的直流電壓與紋波測量系統(tǒng),給出相關(guān)的軟件程序設(shè)計(jì)。該測量系統(tǒng)主要包括量程選擇、電壓分離、A/D采樣以及數(shù)據(jù)處理和顯示電路,大大提高測量精度。在實(shí)際應(yīng)用中,系統(tǒng)對某些工業(yè)現(xiàn)場的直流電壓進(jìn)行實(shí)時(shí)反饋,可以有效地對紋波進(jìn)行實(shí)時(shí)監(jiān)測。
關(guān)鍵詞:紋波;直流電壓;MCU;數(shù)據(jù)采集
0 引言
在一些實(shí)際的工業(yè)現(xiàn)場中,經(jīng)常會用到對于電壓穩(wěn)定性要求高的直流電壓,例如汽車的直流蓄電池的智能充電電源等,但由于工業(yè)現(xiàn)場負(fù)載復(fù)雜,存在許多不穩(wěn)定的因素而導(dǎo)致電壓的上下浮動,即紋波。理論上說,紋波是直流電壓中的交流成分,它的成分較復(fù)雜,對電網(wǎng)系統(tǒng)存在一定的威脅,為了不影響負(fù)載正常的工作,需要對電壓進(jìn)行精確的實(shí)時(shí)測量。
本文所設(shè)計(jì)的直流電壓紋波測試系統(tǒng)最大量程為600 V,精度達(dá)1%,可以滿足絕大多數(shù)直流電場合的應(yīng)用,對一些需求較高的直流用電設(shè)備,也具有一定的監(jiān)測作用。
1 系統(tǒng)原理
系統(tǒng)的總體方框圖如圖1所示。
該測試系統(tǒng)主要包括量程選擇、電壓分離、A/D采樣以及數(shù)據(jù)處理和顯示電路。系統(tǒng)分為六個(gè)量程,主要特點(diǎn)是根據(jù)采樣電壓大小自動切換所用量程;其次是電壓分離電路,系統(tǒng)采用光耦來隔離供電電壓與測試系統(tǒng),以保證測量的安全。
工作原理如下:首先要測量電壓數(shù)據(jù),根據(jù)電壓大小自動選擇量程,然后對電壓和紋波分別進(jìn)行測量,對于紋波要多次采集取其平均值,通過A/D電路采樣轉(zhuǎn)換后送入單片機(jī)進(jìn)行數(shù)據(jù)處理,通過液晶和打印機(jī)輸出。
2 硬件設(shè)計(jì)
系統(tǒng)主要采用單片機(jī)技術(shù),硬件結(jié)構(gòu)包括:數(shù)據(jù)采集模塊、數(shù)據(jù)處理控制模塊(CPU)、數(shù)據(jù)輸出(打印機(jī))模塊、數(shù)據(jù)顯示(液晶)模塊、輔助電路模塊?;窘Y(jié)構(gòu)圖如圖2所示。
2.1 直流電壓與紋波的測量
2.1.1 電壓的測量
系統(tǒng)待測電壓端和電壓傳感器LV25與控制系統(tǒng)連接,單片機(jī)通過繼電器來控制電壓的測量與否。當(dāng)繼電器接通時(shí)開始測量,傳感器將待測電壓轉(zhuǎn)換并送入A/D芯片進(jìn)行轉(zhuǎn)換后送入單片機(jī)進(jìn)行處理,最后輸出到顯示系統(tǒng),如圖3所示。
2.1. 2 紋波的測量
系統(tǒng)采用PKD01,PKD02芯片采集紋波的峰峰值,由于紋波電壓是mV級,信號非常微弱,必須送入OP07進(jìn)行放大后將信號送入A/D芯片進(jìn)行轉(zhuǎn)換,如圖4所示。
為了保證測量的精度,系統(tǒng)采用多次測量求平均值的方法來將一些錯誤值濾掉,保證測量的準(zhǔn)確性。
2.2 數(shù)據(jù)采集
數(shù)據(jù)采集采用TI公司12位開關(guān)電容逐次逼近模/數(shù)轉(zhuǎn)換器,此款A(yù)/D轉(zhuǎn)換芯片體積小,轉(zhuǎn)換速度快,工作溫度為0~70℃,能夠適應(yīng)室內(nèi)或者是室外的工作環(huán)境。
單片機(jī)與A/D芯片的連接電路如圖5所示,圖中的電源端串接一個(gè)104的電容,保證信號的穩(wěn)定。
2.3 數(shù)據(jù)輸出
系統(tǒng)采用液晶顯示,包括日期、時(shí)間、直流電壓值、紋波值;對于需要保存的數(shù)據(jù)采用打印機(jī)輸出。系統(tǒng)輸出通過CPU P0外擴(kuò)三個(gè)74HC 573來控制。74HC573是一個(gè)八進(jìn)制三態(tài)非反轉(zhuǎn)透明鎖存器,當(dāng)它的鎖存使能端為高時(shí),這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步);當(dāng)鎖存使能端為低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會被鎖存。74HC573帶有保護(hù)電路,以免被高的靜態(tài)電壓或電場損壞。系統(tǒng)分別用74HC573_00,74HC573_01,74HC573_02控制液晶控制接口、數(shù)據(jù)接口和打印機(jī)接口。
3 軟件設(shè)計(jì)
系統(tǒng)以STC89C52為核心來控制整個(gè)系統(tǒng),STC89C52是一種帶8 KB閃爍可編程可擦除只讀存儲器(FPEROM-Falsh Programmable and Erasa ble ReadOnly Memory)的低電壓,高性能CMOS 8位微處理器,該器件采用STC高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。STC89C52可以按照常規(guī)的方法進(jìn)行編程,其將通用的微處理器和FLASH存儲器結(jié)合在一起,特別是可反復(fù)擦寫的FLASH存儲器可有效地降低開發(fā)成本。
程序設(shè)計(jì)時(shí)采用5 ms定時(shí)中斷采集,每次中斷到來時(shí)采集現(xiàn)場電壓信號。當(dāng)所得電壓信號滿足指定條件,則將有效數(shù)據(jù)保留,送入單片機(jī)處理,然后輸出顯示。主控模塊程序是用C語言編寫,具體流程圖如圖6所示。
系統(tǒng)首先要對CPU進(jìn)行初始化,主要是根據(jù)實(shí)際需要重設(shè)定時(shí)器的初值和工作方式,待初始化完成后進(jìn)入工作循環(huán)程序,首先判斷鍵按下標(biāo)志,若為真則轉(zhuǎn)入鍵設(shè)置處理程序模塊。通過調(diào)用鍵處理程序完成電壓和紋波值上下限設(shè)置,日期和時(shí)間設(shè)置以及查詢已存儲的電壓和紋波值等功能。若鍵按下標(biāo)志為否則調(diào)用數(shù)據(jù)采集模塊,將采集的值送到CPU。CPU對所采集的數(shù)據(jù)處理進(jìn)行去偽存真,將假數(shù)據(jù)舍棄,真數(shù)據(jù)送到數(shù)據(jù)處理模塊進(jìn)行顯示和保存。
4 結(jié)語
該紋波測量系統(tǒng)采用電壓傳感器、峰值檢測器和單片機(jī),實(shí)現(xiàn)了對高壓直流電壓和紋波的測量。具有智能化、操作簡單等優(yōu)點(diǎn)。本系統(tǒng)已經(jīng)應(yīng)用到實(shí)際的工業(yè)現(xiàn)場當(dāng)中,并取得了很好的經(jīng)濟(jì)效益。