蔡小偉,康寶泉,張開燦(龍巖學院 機電工程學院,福建 龍巖 364012)
?
便攜式WiFi虛擬示波器設計
蔡小偉,康寶泉,張開燦
(龍巖學院機電工程學院,福建龍巖364012)
摘要:為解決傳統(tǒng)示波器不能實現(xiàn)測量與觀察分離及在各種現(xiàn)場測試的不便,提出一種基于STM32的WiFi無線通信便攜式虛擬示波器的設計方案.以STM32為核心主控,利用其內(nèi)部A/D電路,完成數(shù)據(jù)處理等;信號調(diào)理模塊,完成前端信號的預處理;WiFi模塊用于與客戶端實現(xiàn)數(shù)據(jù)交換;編寫Android客戶端顯示軟件,用于波形顯示及產(chǎn)生控制信號.經(jīng)測試驗證,本設計思路正確,該示波器性能參數(shù)達到設計要求.
關鍵詞:便攜式虛擬示波器;WiFi;Android;STM32
示波器作為電子測量儀器最常用的儀器之一,已從傳統(tǒng)的模擬示波器過渡到數(shù)字示波器,且出現(xiàn)了虛擬示波器,智能示波器等現(xiàn)代示波器[1-4].傳統(tǒng)的數(shù)字示波器由于體積相對比較大,在現(xiàn)場使用,特別是一些環(huán)境惡劣的工業(yè)現(xiàn)場,存在攜帶、測試等不便.適應市場需求出現(xiàn)了便攜式示波器[5],這種示波器具有體積小、便攜、成本低等優(yōu)勢,使其在示波器領域有著廣闊的發(fā)展前景.然而隨著智能移動終端平臺的發(fā)展,在移動終端系統(tǒng)上開發(fā)虛擬儀器已成為現(xiàn)實,出現(xiàn)了基于Android平臺的虛擬示波器,該類示波器要么以純軟件設計的虛擬示波器[6、7],要么把數(shù)據(jù)采集模塊與Android終端平臺通過USB連接的虛擬示波器[8],這類示波器本質(zhì)上與便攜式示波器沒太大區(qū)別,并不能完全發(fā)揮便攜式示波器與移動終端的特性,在對于一些需要將測試點與觀測點分離的場合便無法實現(xiàn),因此開發(fā)研究一款將便攜式示波器通過無線通信方式與智能移動終端平臺結(jié)合的無線便攜式虛擬示波器已成為新的發(fā)展趨勢[9].
文中設計了一種基于WiFi無線通信便攜式虛擬示波器,該系統(tǒng)具有數(shù)據(jù)采集與波形顯示分離特點.其中數(shù)據(jù)采集部分具有1MSPS實時采樣率、10mV~3V垂直靈敏度、1us~1s的時基范圍以及觸發(fā)電壓可調(diào)的邊沿觸發(fā)方式;波形顯示基于Android平臺開發(fā)的應用程序,可安裝于帶有WiFi通信功能的手機、平板電腦等智能終端.
便攜式WiFI虛擬示波器的總體結(jié)構(gòu)如圖1所示,主要包括耦合電路、信號調(diào)理電路、觸發(fā)電路、電源電路、WiFi發(fā)射模塊、Android顯示客戶端及STM32主控組成.耦合電路用于實現(xiàn)直流耦合、交流耦合及實現(xiàn)數(shù)字地;由主控芯片產(chǎn)生PWM的信號經(jīng)阻容耦合轉(zhuǎn)化成直流電壓,作為觸發(fā)電路中電壓比較器的基準電壓;電源電路主要將電池9V電壓轉(zhuǎn)換成5V、3.3V及-5V電壓;信號調(diào)理電路主要用于對輸入信號的衰減及阻抗匹配,又STM32內(nèi)部自帶的A/D無法對負電壓進行采集,所以在信號調(diào)理電路中設計偏置電路;主控采用STM32F103C8T6負責數(shù)據(jù)的采集、處理及發(fā)送;WiFi發(fā)射模塊主要負責數(shù)據(jù)交互模塊采用 HX—M02 WiFi無線透傳模塊,內(nèi)置兩個協(xié)議分別是無線網(wǎng)絡協(xié)議IEEE802.11協(xié)議棧和TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶嵌入式設備數(shù)據(jù)與無線網(wǎng)絡之間的相互轉(zhuǎn)換的目的;Android顯示客戶端,由基于Android的操作系統(tǒng)編寫,可運行于Android 4.0以的設備,主要向主控模塊發(fā)送觸發(fā)命令,主控模塊會將數(shù)據(jù)打包,并經(jīng)數(shù)據(jù)交互通道的數(shù)據(jù)轉(zhuǎn)換操作后發(fā)送,最終在本客戶設備端進行波形顯示.
圖1 總體結(jié)構(gòu)圖
2.1電源電路
本示波器由內(nèi)部9V電池供電,經(jīng)過LM7805穩(wěn)壓得到直流5V電源,可作WiFi模塊電源及運放LM324的正電源.直流5V電源經(jīng)過AMS1117穩(wěn)壓輸出3.3V直流電壓,可作主控芯片供電.由于輸入信號有正負,所以在本設計中的運放LM324采用正負電源供電,負電源部分由V+先由三極管Q1、電感L2和二極管D1組成的開關電源電路產(chǎn)生負電壓DC-9(V-),再經(jīng)過L1、C25濾波以及79L05穩(wěn)壓后輸出DC-5V(AV-),而開關管S8050(Q1)的通斷則是由STM32輸生的方波信號連接VGEN通過9014(Q2)來驅(qū)動,電路圖如圖2.
圖2 負電源電路
2.2信號調(diào)理電路
信號調(diào)理電路主要衰減電路、阻抗匹配電路及偏置電路組成.衰減電路是為了保證在較大的信號輸入時,能夠在STM32內(nèi)部A/D采樣的范圍之內(nèi),以避免造成信號的失真或是損壞主控芯片.本設計通過兩級的衰減達到衰減的目的,第一級由阻容衰減電路組成,見圖3,本設計選用1倍、1/10倍及1/100倍三種衰減率.如1/10倍衰減選取R4+R7= MΩ,則R4=1.8MΩ,R7=200KΩ.第二級衰減在第一級衰減后經(jīng)過LM324構(gòu)成的電壓跟隨器后使用分壓電路再次衰減,如圖分別選取R3=300Ω,R8=180Ω,R10=120Ω,則可得分壓檔次為1倍、0.5倍與0.2倍.最終可由選擇開關SW2A與SW3A選擇構(gòu)成3×3=9種衰減方式,并得用STM32內(nèi)部A/D分時檢測開關信號,以便得知所選擇的衰減方式.圖中LM324構(gòu)成的電壓跟隨器是為了減少負載對信號的影響與提高負載能力,同時增加對下一級電路的驅(qū)動能力,也能同時增加抗干擾能力.
圖3 衰減電路原理圖
圖4 偏置電路
在信號調(diào)號電路中還有一個關鍵電路,即偏置電路.由于采用的是STM32內(nèi)部自帶的A/D無法檢測負電壓,所以需要將信號電平中點設置在A/D參考電壓的中點.原理圖如圖4.圖中AIN1為衰減電路的輸出端,ADCIN接STM32的A/D輸入端,ADCIN_TRIG為信號源到觸發(fā)電路的輸入端.圖中利用電阻R6與R9分壓得分壓電壓為 (AV-)×R9/ (R6+R9)=-5V×1.5K/(1.5K+3K)≈1.6V.
2.3觸發(fā)電路
觸發(fā)電路的提供的目的是保證每次時基掃描或采集的時候,都是從輸入信號上和自己所定義相同的觸發(fā)條件開始,這樣做的目的就保證了每一次掃描或采集的波形就是同步的,示波器實現(xiàn)了每次捕獲的波形相重疊,這樣一來就能顯示非常穩(wěn)定的波形或保證單次信號的捕獲.為了使示波器工作在觸發(fā)模式,使A/D采樣的波形能夠穩(wěn)定的顯示,系統(tǒng)中需要有個觸發(fā)電平,這里的觸發(fā)電平由比較電路產(chǎn)生,如圖5.由PB8輸出PWM,通過電阻與電容的耦合產(chǎn)生不同的直流電壓與不同輸入電壓信號進行比較,輸出方波信號,方波的上升沿或下降沿觸發(fā)AD進行采樣.
圖5 觸發(fā)電路
2.4WiFi傳輸模塊與數(shù)據(jù)傳輸
WiFi模塊作為傳輸介質(zhì),它從STM32的外設串口中讀取信號,并經(jīng)過數(shù)據(jù)轉(zhuǎn)換后,通過無線WiFi傳遞到移動終端.同時也接收智能端設置的命令,并以多字節(jié)的方式一次性傳遞給串口接口,最后到達STM32處理器.本課程設計采用的是HX-M02WiFi無線透傳模塊,它是一款單面票郵孔式嵌入式WiFi模塊.它是符合WiFi無線網(wǎng)絡標準,其主要是基于UART與SPI接口的嵌入式模塊.HX-M02WiFi里內(nèi)置了兩個協(xié)議分別是無線網(wǎng)絡協(xié)議IEEE802.11協(xié)議棧和TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶嵌入式設備數(shù)據(jù)與無線網(wǎng)絡之間的相互轉(zhuǎn)換的目的.
由于STM32與WiFi模塊通信接口采用的串口通信,為保證數(shù)據(jù)的可靠性傳輸與相關服務,需要定義其通信協(xié)議,本設計采用自己定義通信協(xié)議,其格式如表1.
Android智能設備作為本次設計的通用顯示模塊,主要實現(xiàn)2個功能:(1)數(shù)據(jù)的接收與解析.(2)波形與頻率等的顯示.運用基于Android的Java語言編寫示波器的上層應用程序.該應用程序主要包括顯示界面的設計、菜單模塊的建立、數(shù)據(jù)的交互、波形顯示等功能.最終完成軟件可運行于帶WiFi的Android平臺,具有很好的通用性.開發(fā)的Android軟件界面如圖6.
表1 通信協(xié)議
圖6 Android軟件界面
對設計的樣機與軟件進行測試,圖7為測試對比圖.采用UNI-T型號UTG9020D的信號發(fā)生儀,產(chǎn)生頻率1.234kHz、幅度6V的交流正弦波,對比示波器為DS1102D.示波器測得頻率為 1.225kHz、幅值 6.2V,本機測得1.235kHz、幅值5.9V.分別對輸入不同的頻率與幅值,測得數(shù)據(jù)如表2.通過計算上表測試數(shù)據(jù)的相對誤差顯示,函數(shù)信號發(fā)生器輸出的頻率和手機顯示端讀出的頻率數(shù)據(jù)相對誤差平均在0.0%~0.05%,允許范圍內(nèi),在對比函數(shù)信號發(fā)生器輸出的幅值和手機端人工讀值可知,相對誤差在1.67% ~6.25%,相對誤差比較大.
表2 實驗測試數(shù)據(jù)
圖7 測試對比圖
文中基于STM32單片機進行了便攜式WiFI虛擬示波器設計,并編寫了基于Android的顯示控制軟件,克服了傳統(tǒng)示波器不能實現(xiàn)測量與觀察分離等測試不便問題.設計完成后測試表明該示波器基本能實現(xiàn)示波器功能,具有廣泛的應用前景.
參考文獻:
〔1〕榮軍,周洋,李宏民,丁躍澆.簡易數(shù)字控制存儲示波器設計[J].實驗技術與管理,2014(03):70-74.
〔2〕劉帥,張浩然,.基于STM32的便攜式多功能數(shù)字示波器設計[J].微型機與應用,2015,34(15).
〔3〕周富相,陳德毅,劉培國,魏政霞.基于STM32的數(shù)字示波器設計與實現(xiàn)[J].山西電子技術,2011(02):8-10.
〔4〕丁紅斌,秦會斌,孫順遠.基于STM32的虛擬示波器的設計與實現(xiàn)[J].電子器件,2009(06):1007-1010.
〔5〕徐巧玉,李鵬,王軍委,趙傳鋒.便攜式數(shù)字存儲示波器的設計[J].自動化與儀表,2014(04):19-22.
〔6〕屈歡.基于Android平臺的無線數(shù)字示波器設計[D].電子科技大學,2013.
〔7〕王升.基于Android平臺的虛擬示波器開發(fā)[D].哈爾濱理工大學,2014.
〔8〕趙仕慶.基于Android的虛擬儀器軟件系統(tǒng)設計[D].電子科技大學,2014.
〔9〕肖云.基于WiFi的Android虛擬示波器的軟件設計與實現(xiàn)[D].電子科技大學,2015.
中圖分類號:TN935.3
文獻標識碼:A
文章編號:1673-260X(2016)06-0029-03
收稿日期:2016-03-20
基金項目:福建省大學生創(chuàng)新創(chuàng)業(yè)訓練計劃資助項目《基于wi-fi的手機虛擬數(shù)字示波器設計》(S20141007)