


摘? 要:文章所設(shè)計(jì)測(cè)量裝置采用的控制系統(tǒng)是STM32F103C8T6 32位單片機(jī),各種波形經(jīng)過零比較和放大電路處理后,由控制系統(tǒng)的ADC模塊采集波形數(shù)據(jù),通過各種算法的運(yùn)算,用OLED屏將波形顯示出來。該測(cè)量裝置能夠識(shí)別出給定信號(hào)的波形類型(包括正弦波、三角波、矩形波),能夠測(cè)量信號(hào)的參數(shù)(包括峰峰值、頻率、周期、占空比等),還能夠識(shí)別50 mV~10 V電壓以及1 Hz~50 kHz頻率范圍內(nèi)的正弦波、三角波和矩形波。
關(guān)鍵詞:STM32F103C8T6;放大電路處理;過零比較
中圖分類號(hào):TP368.1? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2022)03-0039-06
Design and Implementation of Periodic Signal Waveform Recognition and Parameter Measurement Device
LI Xiaoqin
(Intelligent Electronics Development and Technology Service Center, Ningbo Polytechnic, Ningbo? 315800, China)
Abstract: The control system of the measuring device designed in this paper is STM32F103C8T6 32-bit single-chip microcomputer. After various waveforms are processed by zero crossing comparison and amplification circuit, the ADC module of the control system collects waveform data, and displays the waveform with OLED screen through the operation of various algorithms. The measuring device can identify the waveform type of a given signal (including sine wave, triangular wave and rectangular wave), measure the parameters of the signal (including peak-to-peak value, frequency, period, duty ratio, etc.), and can also identify sine wave, triangular wave and rectangular wave in the voltage range of 50 MV~10 V and in the frequency range of 1 Hz~50 kHz.
Keywords: STM32F103C8T6; amplification circuit processing; zero crossing comparison
0? 引? 言
2021年全國大學(xué)生電子設(shè)計(jì)競(jìng)賽J題要求設(shè)計(jì)一臺(tái)周期信號(hào)波形識(shí)別裝置,能夠識(shí)別出給定信號(hào)的波形類型以及測(cè)量信號(hào)的參數(shù)。題目分為基本要求和發(fā)揮拓展兩個(gè)部分,基本要求為:(1)能夠識(shí)別1 V≤VPP≤5 V、100 Hz≤f≤10 kHz范圍內(nèi)的正弦波、三角波和矩形波信號(hào)并顯示類型。(2)能夠測(cè)量并顯示信號(hào)的頻率f,相對(duì)誤差的絕對(duì)值不大于1%。(3)能夠測(cè)量并顯示信號(hào)的峰峰值VPP,相對(duì)誤差的絕對(duì)值不大于1%。(4)能夠測(cè)量并顯示矩形波信號(hào)的占空比D,D的范圍為20%~80%,絕對(duì)誤差的絕對(duì)值不大于2%。發(fā)揮拓展部分對(duì)這四點(diǎn)提出了更高的要求,測(cè)量波形的峰峰值和頻率范圍更大,反應(yīng)速度要更快,測(cè)量的波形和參數(shù)的種類增加。
1? 系統(tǒng)方案選擇
方案1:采用FPGA和單片機(jī)作為整個(gè)系統(tǒng)的核心控制部分,運(yùn)用硬件描述語言Verilog HDL對(duì)FPGA進(jìn)行程序設(shè)計(jì)。將信號(hào)直接輸入FPGA主控板進(jìn)行A/D轉(zhuǎn)化得到數(shù)字信號(hào),將所得到的數(shù)字信號(hào)輸入單片機(jī)進(jìn)行數(shù)據(jù)分析,最后將經(jīng)過分析的波形和數(shù)據(jù)顯示到液晶屏上。該方案處理速度快,測(cè)量精度高,但總體成本偏高,設(shè)計(jì)難度偏大。
方案2:選用高速單片機(jī)和高速A/D轉(zhuǎn)換電路進(jìn)行波形分析。先用單片機(jī)控制高速A/D轉(zhuǎn)換電路對(duì)信號(hào)進(jìn)行數(shù)字化處理,然后由單片機(jī)對(duì)信號(hào)進(jìn)行分析,選擇合適的放大倍數(shù)放大信號(hào),使其到達(dá)最佳測(cè)量幅值范圍以獲得最佳測(cè)量精度,該方案成本低,測(cè)量精度也可達(dá)到設(shè)計(jì)要求,在圖形顯示及人機(jī)交互方面更加靈活。
綜合考慮,本項(xiàng)目設(shè)計(jì)方案采用方案2。
2? 總體設(shè)計(jì)方案
本系統(tǒng)以STM32嵌入式系統(tǒng)為核心,電源板將AC220V轉(zhuǎn)換成DC±7 V和DC3.3 V,分別為過零比較電路、信號(hào)處理器和STM32系統(tǒng)板供電。MCU采集信號(hào)發(fā)生器輸入的信號(hào)時(shí),在測(cè)量范圍內(nèi)可以直接通過OLED顯示各測(cè)量參數(shù),在測(cè)量范圍外則需要通過過零比較電路和信號(hào)處理電路,將信號(hào)調(diào)整到測(cè)量范圍內(nèi),在MCU程序的控制下,在OLED顯示屏上顯示出各種波形類型以及波形的參數(shù)(包括峰峰值、頻率、占空比等參數(shù)),總體架構(gòu)如圖1所示。
3? 理論分析與計(jì)算
為準(zhǔn)確測(cè)量輸入的波形和各參數(shù),需要對(duì)波形的識(shí)別原理和各參數(shù)的測(cè)量進(jìn)行理論分析和計(jì)算。6AA563F2-6AFC-4CE1-B8DC-5DA37F64F04B
3.1? 波形識(shí)別原理
如何識(shí)別各種波形類型,本系統(tǒng)通過程序編程的方法區(qū)分波形類型,如圖2所示。通過采集一個(gè)周期內(nèi)9個(gè)點(diǎn)的相位幅值來判斷是什么波形,即測(cè)量(0、To、To、To、To、To、To、To、To)。
下面列出四種波形的識(shí)別條件:
(1)方波的識(shí)別條件。一個(gè)周期內(nèi)幅值只有兩個(gè)值,前半個(gè)周期采集的幅值為Ua,后半個(gè)周期采集的幅值為-Ua。
(2)三角波的識(shí)別條件。一個(gè)周期內(nèi),相位為0、?To、To的幅值為0,To、To的幅值為? Ua,?To的幅值為Ua,?To的幅值為-Ua,To、To的幅值為-? Ua。
(3)正弦波的識(shí)別條件。一個(gè)周期內(nèi),相位為0、?To、To的幅值為0,To、To的幅值為0.707 Ua,?To的幅值為0,To、To的幅值為0.707 Ua,?To的幅值為Ua,?To的幅值為-Ua,To、To的幅值為Ua,?To的幅值為-Ua,To、To的幅值為-0.707 Ua。
(4)鋸齒波的識(shí)別條件。一個(gè)周期內(nèi),相位為0、To的幅值為0,?To的幅值是Ua或-Ua。
3.2? 波形識(shí)別原理
根據(jù)周期信號(hào)波形的特點(diǎn),一定時(shí)間內(nèi)其波形是重復(fù)的,因此可以通過測(cè)量N個(gè)周期的時(shí)間T來求出一個(gè)周期。即。
頻率是周期的倒數(shù),即。
3.3? 峰峰值的測(cè)量
峰峰值是最大值減去最小值的差,所測(cè)量的信號(hào)過小時(shí),MCU很難準(zhǔn)確測(cè)量出其峰峰值,因此需要對(duì)信號(hào)進(jìn)行放大處理,再經(jīng)過電平調(diào)整電路,將波形調(diào)整到正值,這樣才能使MCU準(zhǔn)確測(cè)量出峰峰值。
如圖3所示,小信號(hào)的幅值為Ua,峰峰值為2Ua,小信號(hào)經(jīng)過放大后的幅值則為Au · Ua,峰峰值為2Au · Ua,經(jīng)過電平轉(zhuǎn)換后的峰峰值為Ub。處理后的幅值與輸入波形之間的關(guān)系為:Ub=2Au · Ua。
輸入波形的峰峰值與處理后的峰峰值之間的關(guān)系為:2Ua=Ub÷Au。
3.4? 峰峰值的測(cè)量
根據(jù)占空比的算法,占空比,只要測(cè)出高電平脈寬T1和周期T,就可以求出占空比,如圖3所示。
4? 硬件電路設(shè)計(jì)
4.1? 總體設(shè)計(jì)電路圖
根據(jù)設(shè)計(jì)框圖,設(shè)計(jì)了如圖4所示的電路圖,分別是信號(hào)處理電路、過零比較電路、電源供給電路、MCU核心電路。
4.2? 過零比較電路
過零比較器采用一般比較器電路,將信號(hào)與零電位進(jìn)行比較,找出邊沿值,測(cè)量出每一個(gè)周期值,如圖5所示。
4.3? 信號(hào)處理電路
如圖6所示,信號(hào)處理電路由CD4051單8通道數(shù)字控制模擬電子開關(guān)和TL072運(yùn)算放大電路組成,通過程序?qū)D4051不同通道的控制,從而可以輸出不同放大倍數(shù)的電壓。根據(jù)同相比例運(yùn)算放大電路的公式可以得到:
輸入電壓較小時(shí),通過通道選擇TL072反向輸入端2號(hào)腳輸入的電阻RW越小,放大倍數(shù)越大。
輸入電壓較大時(shí),通過通道選擇TL072反向輸入端2號(hào)腳輸入的電阻RW越大,放大倍數(shù)越小。通過信號(hào)處理電路使得所有測(cè)量值都在信號(hào)處理的范圍內(nèi),便于信號(hào)提取和參數(shù)測(cè)量。
5? 程序設(shè)計(jì)
軟件包括主函數(shù)和若干個(gè)中斷函數(shù),其中主函數(shù)完成STM32內(nèi)部功能單元的初始化(ADC、OLED、定時(shí)器等),中斷函數(shù)實(shí)現(xiàn)外部初始化。
程序首先檢測(cè)波形,如果有波形輸入,經(jīng)過邊沿處理和放大電路處理后,用程序捕獲它的上升沿。如果捕獲到上升沿,則開啟AD采集器對(duì)波形進(jìn)行采集,根據(jù)各種算法的運(yùn)算,判斷波形以及測(cè)量波形的參數(shù),如圖7所示。
6? 功能測(cè)試
6.1? 測(cè)試結(jié)果
在信號(hào)處理電路中可以看出,我們?cè)贑D4051中接了8個(gè)電位器,其實(shí)就是將輸入進(jìn)去的電壓010 V分成了8段,每一段都可以設(shè)值一個(gè)合適的放大倍數(shù)。如表1所示,我們把電壓以1.25的倍數(shù)分成8段計(jì)算,在每段中輸入每段范圍的電壓就可以讓Uo輸出0~3.3 V的電壓,這樣就可以讓輸入進(jìn)去的電壓都能給單片機(jī)提供信號(hào),通過單片機(jī)控制CD4051的地址端,用它來自動(dòng)檢測(cè)輸入的電壓,最后在對(duì)應(yīng)的范圍內(nèi)輸出Uo,測(cè)試數(shù)據(jù)如表2所示。
6.2? 測(cè)試結(jié)果分析
由測(cè)試表可知,每種波形都能夠準(zhǔn)確地判斷出來,周期、頻率以及占空比還是比較準(zhǔn)確的,其測(cè)試值和輸入值沒有任何誤差,幅值和峰峰值的測(cè)試值與輸入值之間存在一定的誤差,但能達(dá)到競(jìng)賽題目的基本要求。尤其是在測(cè)試小信號(hào)時(shí),測(cè)出的峰峰值不是很精確,誤差比較大,分析原因是在設(shè)計(jì)信號(hào)處理電路中放大倍數(shù)調(diào)得不太好,導(dǎo)致測(cè)出的數(shù)據(jù)不準(zhǔn)確,后期我們會(huì)設(shè)計(jì)高頻信號(hào)電路,可通過多周期檢測(cè)來提高峰峰值的測(cè)量精度。
7? 結(jié)? 論
本設(shè)計(jì)的周期信號(hào)波形識(shí)別及參數(shù)測(cè)量電路,經(jīng)過電路調(diào)試和測(cè)試,能實(shí)現(xiàn)正弦波、三角波、方波以及各種信號(hào)參數(shù)的數(shù)據(jù)獲取與顯示,能達(dá)到競(jìng)賽的基本要求,對(duì)于小信號(hào)波形的峰峰值測(cè)量,還需要不斷地完善和優(yōu)化,力求設(shè)計(jì)出性能更加優(yōu)良的電路以實(shí)現(xiàn)精準(zhǔn)測(cè)量。
參考文獻(xiàn):
[1] 姚靜.嵌入式控制系統(tǒng)的實(shí)時(shí)性數(shù)據(jù)采集研究 [J].自動(dòng)化技術(shù)與應(yīng)用,2020,39(9):61-63+91.
[2] 全國大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).第九屆全國大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編[M].北京:北京理工大學(xué)出版社,2010.
[3] 高吉祥.模擬電子線路與電源設(shè)計(jì) [M].電子工業(yè)出版社,2019.
[4] 沈健良,賈玉坤,周芬芬,等.STM32F10X系列ARM微控制器入門與提高 [M].北京:北京航空航天大學(xué)出版社,2013.
[5] 姜玉泉,李學(xué)平.波形信號(hào)識(shí)別與頻率測(cè)量技術(shù)研究 [J].單片機(jī)與嵌入系統(tǒng)應(yīng)用,2020,20(1):42-44.
作者簡(jiǎn)介:李小琴(1983—),女,漢族,浙江溫嶺人,副教授,本科,研究方向:智能電子產(chǎn)品的設(shè)計(jì)與制作。6AA563F2-6AFC-4CE1-B8DC-5DA37F64F04B