劉葉鋒
(廣西科技師范學(xué)院,廣西來(lái)賓,546100)
本文采用信息化的手段,實(shí)現(xiàn)了實(shí)時(shí)的采集電壓,并且在上位機(jī)進(jìn)行顯示,可以及時(shí)的發(fā)現(xiàn)突發(fā)的電壓異常,排除安全隱患。
本系統(tǒng)主要由上位機(jī)和下位機(jī)構(gòu)成[1],上位機(jī)包括PC端顯示,下位機(jī)包括電源模塊、主控芯片、AD模塊、串口模塊、電壓檢測(cè)探針。系統(tǒng)通過(guò)電壓檢測(cè)探針檢測(cè)電壓點(diǎn)位,然后AD模塊進(jìn)行模數(shù)轉(zhuǎn)換,主控芯片進(jìn)一步處理后,通過(guò)串口傳送到上位機(jī)顯示。實(shí)時(shí)電壓檢測(cè)系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 實(shí)時(shí)電壓檢測(cè)系統(tǒng)結(jié)構(gòu)圖
控制電路主要由stmf103主控芯片,復(fù)位電路,下載電路,電源電路,串口電路,啟動(dòng)模式選擇電路幾部分電路構(gòu)成,控制電路圖如圖2所示。
圖2 控制電路圖
下載電路這里采用的JTAG接口,STM32還有SW接口,且SW接口所需的管腳更加少,SW接口和JTAG接口可以共用,這里只需要接上JTAG選擇SWD模式即可。
下位機(jī)主要負(fù)責(zé)電壓的采集和數(shù)據(jù)的預(yù)處理,主控芯片在接收到上位機(jī)發(fā)出的開(kāi)始采集命令后,首先對(duì)命令進(jìn)行判斷,在程序中已經(jīng)預(yù)先設(shè)定好開(kāi)始采集和結(jié)束采集命令所對(duì)應(yīng)的字符分別是0x7a和0x88,必須字符正確才能開(kāi)始采樣,命令正確后,stm32利用內(nèi)部的12位AD采集數(shù)據(jù)[2],由于這里AD是12位AD,為了數(shù)據(jù)處理方便,這里利用過(guò)采樣技術(shù)將12位提升到16位,每提高一位AD分辨率,需要增加4倍的采樣率,即增加4位,也就是需要增加256倍采樣率,所以這里采用256次循環(huán)采樣,循環(huán)采樣的次數(shù)通過(guò)TIM3的時(shí)間定時(shí)器中斷來(lái)控制,每256次采樣累加的結(jié)果求平均后算做一次采樣值[3]。下位機(jī)控制流程圖如圖3所示。
圖3 下位機(jī)控制流程圖
上位機(jī)主要完成和下位機(jī)的對(duì)接,以及接受數(shù)據(jù),處理數(shù)據(jù),顯示數(shù)據(jù)。上位機(jī)程序流程圖如圖4所示。
在圖4中,上位機(jī)和下位機(jī)初始化的過(guò)程[4],就是上位對(duì)接下位機(jī)的過(guò)程,在對(duì)接程序中,也選擇使用特殊字符進(jìn)行對(duì)接,在上位機(jī)發(fā)出開(kāi)始采集命令后,首先向串口空間發(fā)送0x63,下位機(jī)查詢到上位機(jī)發(fā)出0x63后,返回0x63和0x70,上位機(jī)查詢到0x63和0x70則返回串口索引。根據(jù)返回的串口索引識(shí)別到被連接的串口后,向指定串口發(fā)送0x7a,下位機(jī)收到0x7a后,開(kāi)始數(shù)據(jù)采集,并把數(shù)據(jù)送入串口空間,上位機(jī)不斷的從串口空間讀出數(shù)據(jù),由于讀出的數(shù)據(jù)是字符串的形式,這里我們先轉(zhuǎn)換為數(shù)值,然后再除以AD的分辨率得到電壓值,最后用波形實(shí)時(shí)顯示[5]出來(lái)。
圖4 上位機(jī)程序流程圖
由于系統(tǒng)開(kāi)始運(yùn)行后,先檢測(cè)下位機(jī)是否初始化成功,所以需要先啟動(dòng)下位機(jī)開(kāi)發(fā)板,然后再運(yùn)行上位機(jī),測(cè)試電壓的時(shí)候只需要把探針?lè)胖玫叫枰獪y(cè)試的電壓點(diǎn)位即可,觀察上位機(jī)界面是否能實(shí)時(shí)顯示電壓的波動(dòng)變化,上位機(jī)電壓顯示界面如圖5所示。
圖5 上位機(jī)電壓顯示界面
啟動(dòng)下位機(jī)后,運(yùn)行上位機(jī)labview,點(diǎn)擊開(kāi)始采集則能收到下位機(jī)實(shí)時(shí)發(fā)送上來(lái)的數(shù)據(jù),在波形顯示的同時(shí),給出實(shí)際電壓值和串口接受的數(shù)據(jù),可以方便用戶清晰的看到當(dāng)前的電壓值變化情況。
文章以stm32f103作為主控制器,結(jié)合labview實(shí)現(xiàn)對(duì)電壓的實(shí)時(shí)采集和實(shí)時(shí)顯示,stm32作為主控制器,利用內(nèi)部的AD模塊進(jìn)行電壓的采集,然后把采集的數(shù)據(jù)通過(guò)串口發(fā)送給labview設(shè)計(jì)的上位機(jī)進(jìn)行實(shí)時(shí)的顯示,stm32穩(wěn)定可靠低價(jià),labview開(kāi)發(fā)快速,拓展簡(jiǎn)單,界面直觀,結(jié)合兩者的優(yōu)點(diǎn)可以很好的幫助用戶實(shí)時(shí)監(jiān)控設(shè)備的電壓波動(dòng),提早發(fā)現(xiàn)異常,防患于未然。該系統(tǒng)有這較低的成本,和良好的可靠性,適合應(yīng)用的場(chǎng)景廣泛,有一定的社會(huì)意義和使用價(jià)值。