劉葉鋒
(廣西科技師范學院,廣西來賓,546100)
本文采用信息化的手段,實現了實時的采集電壓,并且在上位機進行顯示,可以及時的發現突發的電壓異常,排除安全隱患。
本系統主要由上位機和下位機構成[1],上位機包括PC端顯示,下位機包括電源模塊、主控芯片、AD模塊、串口模塊、電壓檢測探針。系統通過電壓檢測探針檢測電壓點位,然后AD模塊進行模數轉換,主控芯片進一步處理后,通過串口傳送到上位機顯示。實時電壓檢測系統結構圖如圖1所示。

圖1 實時電壓檢測系統結構圖
控制電路主要由stmf103主控芯片,復位電路,下載電路,電源電路,串口電路,啟動模式選擇電路幾部分電路構成,控制電路圖如圖2所示。

圖2 控制電路圖
下載電路這里采用的JTAG接口,STM32還有SW接口,且SW接口所需的管腳更加少,SW接口和JTAG接口可以共用,這里只需要接上JTAG選擇SWD模式即可。
下位機主要負責電壓的采集和數據的預處理,主控芯片在接收到上位機發出的開始采集命令后,首先對命令進行判斷,在程序中已經預先設定好開始采集和結束采集命令所對應的字符分別是0x7a和0x88,必須字符正確才能開始采樣,命令正確后,stm32利用內部的12位AD采集數據[2],由于這里AD是12位AD,為了數據處理方便,這里利用過采樣技術將12位提升到16位,每提高一位AD分辨率,需要增加4倍的采樣率,即增加4位,也就是需要增加256倍采樣率,所以這里采用256次循環采樣,循環采樣的次數通過TIM3的時間定時器中斷來控制,每256次采樣累加的結果求平均后算做一次采樣值[3]。下位機控制流程圖如圖3所示。

圖3 下位機控制流程圖
上位機主要完成和下位機的對接,以及接受數據,處理數據,顯示數據。上位機程序流程圖如圖4所示。
在圖4中,上位機和下位機初始化的過程[4],就是上位對接下位機的過程,在對接程序中,也選擇使用特殊字符進行對接,在上位機發出開始采集命令后,首先向串口空間發送0x63,下位機查詢到上位機發出0x63后,返回0x63和0x70,上位機查詢到0x63和0x70則返回串口索引。根據返回的串口索引識別到被連接的串口后,向指定串口發送0x7a,下位機收到0x7a后,開始數據采集,并把數據送入串口空間,上位機不斷的從串口空間讀出數據,由于讀出的數據是字符串的形式,這里我們先轉換為數值,然后再除以AD的分辨率得到電壓值,最后用波形實時顯示[5]出來。

圖4 上位機程序流程圖
由于系統開始運行后,先檢測下位機是否初始化成功,所以需要先啟動下位機開發板,然后再運行上位機,測試電壓的時候只需要把探針放置到需要測試的電壓點位即可,觀察上位機界面是否能實時顯示電壓的波動變化,上位機電壓顯示界面如圖5所示。

圖5 上位機電壓顯示界面
啟動下位機后,運行上位機labview,點擊開始采集則能收到下位機實時發送上來的數據,在波形顯示的同時,給出實際電壓值和串口接受的數據,可以方便用戶清晰的看到當前的電壓值變化情況。
文章以stm32f103作為主控制器,結合labview實現對電壓的實時采集和實時顯示,stm32作為主控制器,利用內部的AD模塊進行電壓的采集,然后把采集的數據通過串口發送給labview設計的上位機進行實時的顯示,stm32穩定可靠低價,labview開發快速,拓展簡單,界面直觀,結合兩者的優點可以很好的幫助用戶實時監控設備的電壓波動,提早發現異常,防患于未然。該系統有這較低的成本,和良好的可靠性,適合應用的場景廣泛,有一定的社會意義和使用價值。