北方工業(yè)大學(xué)電子信息工程學(xué)院通信工程系 代 勇
基于單片機(jī)的多功能測量儀的設(shè)計(jì)
北方工業(yè)大學(xué)電子信息工程學(xué)院通信工程系 代 勇
單片機(jī)作為檢測儀器在嵌入式中應(yīng)用十分廣泛。隨著時(shí)代的發(fā)展,單片機(jī)的功能越來越強(qiáng)大?;趕tm32系列開發(fā)板的豐富的外圍設(shè)備,使我們對于各種系統(tǒng)的仿真模擬也越來越廣泛。本系統(tǒng)則是利用stm32作為控制核心,利用其自帶的外圍設(shè)備進(jìn)行模擬多功能測量儀的實(shí)現(xiàn)。在誤差允許的前提下可以進(jìn)行幅度,頻率,以及占空比等測量,在檢測pwm波時(shí)還可以進(jìn)行倍頻輸出的功能。
嵌入式;倍頻輸出;頻率測量,幅度測量
目前利用單片機(jī)進(jìn)行測量各種模擬信號的數(shù)字特性已不再稀奇,畢竟目前嵌入式和最小系統(tǒng)甚是流行且發(fā)展極快。體積小,性能強(qiáng),功耗低已經(jīng)是嵌入式器件的代名詞。嵌入式系統(tǒng)將先進(jìn)的半導(dǎo)體技術(shù),計(jì)算機(jī)技術(shù)和電子技術(shù),以及各個(gè)行業(yè)結(jié)合,是一個(gè)技術(shù)精密,學(xué)科交叉和不斷創(chuàng)新的知識集成系統(tǒng)。本系統(tǒng)具有更高的集成度,更加方面快捷,足以滿足我們?nèi)粘5纳钚枨蟆?/p>
2.1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)主要由以下模塊組成,采集信號模塊,通信模塊,定時(shí)器模塊,人機(jī)交互模塊等,由圖1所示。本系統(tǒng)的工作的原理大致為:首先幾路信號經(jīng)過調(diào)理電路調(diào)理后進(jìn)入模擬通道1和2等。然后在測量電壓時(shí),經(jīng)過模數(shù)轉(zhuǎn)化器轉(zhuǎn)化為數(shù)字信號。在一定時(shí)間內(nèi)比較出最大值,即為信號幅值。在測量頻率時(shí),利用定時(shí)器中斷測量頻率,即上升沿和下降沿的時(shí)間來計(jì)算出信號的頻率與占空比。再利用通用定時(shí)器發(fā)出雙倍頻的信號。開關(guān)輸入的變量是通過后I/O輸入,stm通過中斷的方式讀取。數(shù)據(jù)處理后可由LCD屏幕直接顯示。為了是數(shù)據(jù)顯示更加直觀,通過USB轉(zhuǎn)串口與上位機(jī)相連。
圖1 系統(tǒng)原理
圖2 MCU主控模塊的管腳原理圖
2.2 STM32的片上資源
本設(shè)計(jì)的微控制器采用STM32單片機(jī)。STM32系列單片機(jī)是基于ARM公司Cortex-M3內(nèi)核設(shè)計(jì)的是專門設(shè)計(jì)于滿足集高性能 、低功耗、實(shí)時(shí)應(yīng)用、具有競爭性價(jià)格于一體的嵌入式領(lǐng)域的要求。本次系統(tǒng)采用的是32F103RBT6主控模塊(如圖2所示),其中芯片具備有內(nèi)置的128KB的Flash2X12位的ADC、4X16位TIMER以及2XSPI(18Mbit/s),3XUART,通訊接口等多種資源。另外其A DC 為逐次逼近型模數(shù)轉(zhuǎn)換器 , 各通道的轉(zhuǎn)換可以單次 、連續(xù) 、掃描或間斷模式執(zhí)行 ,轉(zhuǎn)換結(jié)果以左對齊或右對齊方式存儲在 16 位數(shù)據(jù)寄存器中。通用定時(shí)器是一個(gè)通過可編程預(yù)分頻器驅(qū)動的16位自動裝載計(jì)數(shù)器構(gòu)成,每個(gè)定時(shí)器都是完全獨(dú)立的,沒有互相共享任何資源。它們可以一起同步操作。并且通用定時(shí)器可以設(shè)置為向上、向下、向上/向下自動裝載計(jì)數(shù)。模擬輸入管道的。
2.3 頻率(PWM)采集模塊
本次實(shí)驗(yàn)使用了通用定時(shí)器TIM2和TIM3,他們捕獲通道都是圍繞著一個(gè)捕獲寄存器,包括捕獲的輸入部分(數(shù)字濾波、多路復(fù)用和預(yù)分頻器),和輸出部分(比較器和輸出控制)。在這里只展示了通道一的輸入部分。下面幾張圖是一個(gè)捕獲通道概覽。當(dāng)前工作在輸入捕獲模式下,輸入的部分對TL1信號進(jìn)行采樣,TL1F則表示濾波后的信號。利用邊緣檢測器產(chǎn)生一個(gè)TL1FP1的信號,利用此信號,從模式控制器可以產(chǎn)生輸入觸發(fā)或作為捕獲控制。當(dāng)通道檢測到ICx信號上相應(yīng)的上升或下降沿后,計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值被鎖存到捕獲寄存器TIM2_ CCRX中,當(dāng)連接TL1上時(shí)寫入寄存器TIM2_CCR1中,連接TL2時(shí)寫入寄存器CCR2中。倍頻輸出則是采用的脈沖寬度調(diào)制模式,在此模式下可以產(chǎn)生一個(gè)可以確定的頻率和占空比的信號。
圖3 MCU通道1的輸入部分
2.4 交流(余弦波)信號的頻率檢測
由于交流信號沒有有效的上升沿和下降沿,所以應(yīng)該在進(jìn)入檢測模塊之前經(jīng)過過零檢測電路。如圖4所示,利用LM358N構(gòu)成檢零器,當(dāng)輸入信號大于0V時(shí),輸出高電平,當(dāng)輸入信號小于0V時(shí),輸出低電平。這樣就可以利用MCU進(jìn)行頻率檢測。
圖4
圖5
軟件部分,則利用本系統(tǒng)的STM32本身的庫函數(shù)方式編寫,簡潔直觀相對于寄存器便攜較為簡單,但是不靈活。不過針對本系統(tǒng)已經(jīng)向足夠,而且?guī)旌瘮?shù)據(jù)有快速開發(fā)便于閱讀的特點(diǎn)。利用定時(shí)器捕獲進(jìn)行頻率測量,利用ADC進(jìn)行頻率測量。而且對于常見的pwm和交流信號都適合。
利用Keil4編寫STM32程序,并通過J-Link進(jìn)行下載和調(diào)試,調(diào)試完成后程序可以達(dá)到預(yù)期的功能。如圖6所示:
圖6
由以上結(jié)果可以看出,本次的系統(tǒng)可以正常工作,可以測量某些波形的頻率和幅度,并且能在誤差允許的范圍內(nèi)得到正確的結(jié)果.隨著測量技術(shù)的發(fā)展,對于數(shù)據(jù)采樣精度的發(fā)展越來越高,我們可以在此基礎(chǔ)上進(jìn)一步改進(jìn)系統(tǒng),可以對輸入信號進(jìn)行傅里葉變換,更加精確地分析其諧波的特征。
[1]曹圓圓.基于STM32 STM32的溫度測量系統(tǒng)[J].儀器儀表與分析檢測,2010(01):16-18.
[2]洪俊峰,卜文強(qiáng),張榕鑫,程恩,袁飛.基于STM32PWM的正弦信號發(fā)生器設(shè)計(jì)[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2014(02):189-190.
[3]張哲,陳天鷹,陳光達(dá).基于STM32微控制器的自動發(fā)藥機(jī)發(fā)藥裝置的控制與實(shí)現(xiàn)[J].科技風(fēng),2017(02):3-4.
[4]郭書軍,王玉花.ARM Cortex-M3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2013:82-83.
[5]陳志旺.STM32嵌入式微控制器快速上手[M].北京:電子工業(yè)出版社,2014:207-209.
[6]張旭,亓學(xué)廣,李世光,芮昱,邱彪.基于STM32 電力數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子測量技術(shù),2010,33(11):90-92.
代勇(1994—),河南商丘人,大學(xué)本科,現(xiàn)就讀于北方工業(yè)大學(xué)。