《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的風(fēng)速監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
基于STM32的風(fēng)速監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
2016年微型機(jī)與應(yīng)用第06期
李長(zhǎng)才1,2,肖金球1,2,張少華1,2
(1. 蘇州科技學(xué)院 電子與信息工程學(xué)院,,江蘇 蘇州 215009,;2. 蘇州市智能測(cè)控工程技術(shù)研究中心,,江蘇 蘇州 215009)
摘要: 為了準(zhǔn)確掌握氣象動(dòng)態(tài),,實(shí)時(shí)可靠獲得風(fēng)速信息,,設(shè)計(jì)了基于STM32微控制器的風(fēng)速監(jiān)測(cè)系統(tǒng),。該系統(tǒng)采用三杯式風(fēng)速傳感器作為傳感設(shè)備,,STM32芯片作為主控制器,SP3485收發(fā)器和HAC-UM數(shù)傳模塊作為通信傳輸模塊,。給出了基于STM32風(fēng)速測(cè)量技術(shù),、硬件設(shè)計(jì)的總體框架以及系統(tǒng)軟件實(shí)現(xiàn)方法。通過STM32定時(shí)器捕獲脈沖頻率,,實(shí)現(xiàn)了對(duì)風(fēng)速實(shí)時(shí)準(zhǔn)確的監(jiān)測(cè),。經(jīng)測(cè)試,該系統(tǒng)具有功耗低,、性能穩(wěn)定,、測(cè)量精度高、功能擴(kuò)展方便等特點(diǎn),。
Abstract:
Key words :

  李長(zhǎng)才1,2,肖金球1,2,,張少華1,2

  (1. 蘇州科技學(xué)院 電子與信息工程學(xué)院,,江蘇 蘇州 215009;2. 蘇州市智能測(cè)控工程技術(shù)研究中心,,江蘇 蘇州 215009)

  摘要:為了準(zhǔn)確掌握氣象動(dòng)態(tài),,實(shí)時(shí)可靠獲得風(fēng)速信息,設(shè)計(jì)了基于STM32微控制器的風(fēng)速監(jiān)測(cè)系統(tǒng),。該系統(tǒng)采用三杯式風(fēng)速傳感器作為傳感設(shè)備,,STM32芯片作為主控制器,SP3485收發(fā)器和HAC-UM數(shù)傳模塊作為通信傳輸模塊。給出了基于STM32風(fēng)速測(cè)量技術(shù),、硬件設(shè)計(jì)的總體框架以及系統(tǒng)軟件實(shí)現(xiàn)方法,。通過STM32定時(shí)器捕獲脈沖頻率,實(shí)現(xiàn)了對(duì)風(fēng)速實(shí)時(shí)準(zhǔn)確的監(jiān)測(cè),。經(jīng)測(cè)試,,該系統(tǒng)具有功耗低、性能穩(wěn)定,、測(cè)量精度高,、功能擴(kuò)展方便等特點(diǎn)。

  關(guān)鍵詞:STM32,;風(fēng)速測(cè)量,;三杯式風(fēng)速傳感器;輸入捕獲

0引言

  江蘇省住房和城鄉(xiāng)建設(shè)廳科技項(xiàng)目(2014JH12),;汽車電子功率元件批量自動(dòng)測(cè)試裝置的研制(XKZ201413)風(fēng)速作為一項(xiàng)關(guān)鍵的氣象要素,,其數(shù)據(jù)的檢測(cè)分析越來越受到人們的重視。在工業(yè),、農(nóng)業(yè),、氣象等領(lǐng)域,也需要對(duì)風(fēng)速信息進(jìn)行實(shí)時(shí)準(zhǔn)確的監(jiān)測(cè),。傳統(tǒng)的風(fēng)速測(cè)量[1]大多采用8/16位單片機(jī),,其在網(wǎng)絡(luò)通信功能、數(shù)據(jù)查詢與存儲(chǔ)以及實(shí)時(shí)性等方面有所欠缺,。本文采用32位ARM處理器,,因其在功耗、可靠性,、實(shí)時(shí)性以及運(yùn)行速度等方面有明顯的優(yōu)勢(shì),,更適合于風(fēng)速測(cè)量。采用三杯式風(fēng)速傳感器具有啟動(dòng)風(fēng)速小,、抗風(fēng)強(qiáng)度好,、線性度和測(cè)量精度高等優(yōu)點(diǎn),因而得到廣泛的應(yīng)用,。本文研究的風(fēng)速測(cè)量系統(tǒng)能夠快速準(zhǔn)確地進(jìn)行風(fēng)速采集,,并將測(cè)量結(jié)果實(shí)時(shí)傳送至上位機(jī)進(jìn)行數(shù)據(jù)分析與保存,,為氣象監(jiān)測(cè)、農(nóng)業(yè)生產(chǎn)及自然災(zāi)害預(yù)防提供有力的幫助,。

1三杯式風(fēng)速傳感器與測(cè)量技術(shù)

  1.1三杯式風(fēng)速傳感器

  風(fēng)速傳感器的感應(yīng)元件是由3個(gè)處于同一平面,、互成120°的半球形空杯組成的。3個(gè)風(fēng)杯被裝在一個(gè)可以自由轉(zhuǎn)動(dòng)的軸上,,軸上裝有磁棒盤,,在水平風(fēng)力的驅(qū)動(dòng)下風(fēng)杯組旋轉(zhuǎn),帶動(dòng)磁棒盤旋轉(zhuǎn),,產(chǎn)生若干個(gè)旋轉(zhuǎn)磁場(chǎng),通過霍爾磁敏元件感應(yīng)出脈沖信號(hào),,信號(hào)變換電路為霍爾集成電路[23],。

  本系統(tǒng)采用EC91系列風(fēng)速傳感器[4],該系列傳感器具有線性精度高,、互換性好,、測(cè)量范圍寬、抗風(fēng)強(qiáng)度大等特點(diǎn),,啟動(dòng)風(fēng)速小于0.5 m/s,,測(cè)量范圍為0~60 m/s,最大允許誤差±(0.3+0.03V)m/s,,分辨率小于0.1 m/s,,其風(fēng)速轉(zhuǎn)化的計(jì)算公式為:

  υ=0.1×f(1)

  其中,υ為風(fēng)速,,f為脈沖頻率,。

  1.2脈沖信號(hào)測(cè)量技術(shù)

  STM32定時(shí)器輸入捕獲功能不僅能準(zhǔn)確測(cè)量脈沖信號(hào)頻率,而且操作方便,。在測(cè)量低頻信號(hào)時(shí),,可以通過配置PSC預(yù)分頻器對(duì)TIM的時(shí)鐘進(jìn)行分頻,降低計(jì)數(shù)器的計(jì)數(shù)頻率,,獲得合適的頻率測(cè)量范圍,。TIMx_CNT的計(jì)數(shù)范圍為0~65 535,足夠用于測(cè)量傳感器產(chǎn)生的脈沖信號(hào)頻率,。

  風(fēng)速傳感器輸出脈沖信號(hào),,輸入STM32定時(shí)器3的通道1,配置TIM3為輸入捕獲模式,。如圖1所示,,TI1信號(hào)輸入硬件濾波電路[5],通過控制其采樣次數(shù),,濾除因抖動(dòng)等原因產(chǎn)生的高頻脈沖信號(hào),,利用了STM32內(nèi)部資源,,簡(jiǎn)化了外圍電路。設(shè)置通道1邊沿檢測(cè)為上升沿捕獲,,通過觸發(fā)捕獲/比較寄存器,,捕獲TIM3_CNT計(jì)數(shù)器的值到TIM3_CCR1寄存器中,讀取計(jì)數(shù)值,,等待進(jìn)行下一次捕獲,。

  

001.jpg

  若fck_psc經(jīng)預(yù)分頻器(PSC)分頻后的頻率為fck_cnt,如圖2所示,,兩次捕獲完成后得到的計(jì)數(shù)值為N, 則輸入脈沖信號(hào)頻率的計(jì)算公式為:

  f=fck_cnt/N(2)

  其中,,fck_cnt為計(jì)數(shù)器頻率,N為計(jì)數(shù)值?!?/p>

002.jpg

2硬件設(shè)計(jì)

  系統(tǒng)硬件結(jié)構(gòu)主要由ARM處理器,、EC91風(fēng)速傳感器及接口、RS485通信接口,、HACUM數(shù)傳模塊,、LCD顯示、鍵盤和電源等組成,,如圖3所示,。ARM處理器采用STM32F103VC作為核心處理器?!?/p>

003.jpg

  2.1CPU模塊

  CPU模塊是整個(gè)系統(tǒng)的控制中心,,控制各部分分別完成數(shù)據(jù)采集、計(jì)算,、顯示,、通信以及存儲(chǔ)等功能。STM32搭載ARM公司的具有先進(jìn)架構(gòu)的CortexM3內(nèi)核[6],,具有多達(dá)8個(gè)定時(shí)器,,每個(gè)定時(shí)器有4個(gè)用于輸入捕獲或脈沖計(jì)數(shù)的通道。STM32具有獨(dú)立時(shí)鐘的滴答定時(shí)器,,產(chǎn)生系統(tǒng)運(yùn)行的節(jié)拍,,不占用CPU資源。本系統(tǒng)利用STM32的DMA通道實(shí)現(xiàn)內(nèi)存風(fēng)速數(shù)據(jù)與USART外設(shè)的數(shù)據(jù)傳輸,,速度快,,節(jié)省CPU資源;關(guān)閉沒有使用的STM32管腳時(shí)鐘,,把功耗降至最低,;利用滴答定時(shí)器分配各模塊執(zhí)行順序,提高程序的執(zhí)行效率。

  2.2信號(hào)采集模塊

  如圖4所示,,D1為3144單極開關(guān)型的霍爾傳感器[7],,只感應(yīng)南極磁場(chǎng),電平翻轉(zhuǎn)為低電平的條件是南極磁場(chǎng)的強(qiáng)度大于其設(shè)定的開啟點(diǎn),。它采用半導(dǎo)體集成技術(shù)制造的磁敏電路,,其輸入為磁感應(yīng)強(qiáng)度,輸出是一個(gè)數(shù)字電壓信號(hào),,波形為方波信號(hào),。LM393電壓比較器對(duì)電壓信號(hào)處理后,輸出為穩(wěn)定的TTL電平,,可直接輸入STM32第31引腳,,進(jìn)行信號(hào)頻率測(cè)量?!?/p>

004.jpg

  2.3通信模塊

  系統(tǒng)提供兩種通信方式:一種是短距離無線通信,,采用無線傳輸提高應(yīng)用的靈活性并節(jié)省鋪線成本;另一種是RS485通信方式,,最大傳輸距離標(biāo)準(zhǔn)值可達(dá)3 000 m,抗噪聲干擾性好,,具有多站能力,可方便地建立起通信網(wǎng)絡(luò),。

  無線通信采用HACUM數(shù)傳模塊,此模塊具有可靠性高,、體積小,、重量輕的特點(diǎn),具有多信道,、智能數(shù)據(jù)控制的優(yōu)勢(shì),。硬件連接如圖5所示,STM32的68管腳(RXD)和69管腳(TXD)分別與數(shù)傳模塊的TXD和RXD連接,,利用串口通信,,實(shí)現(xiàn)無線傳輸功能?!?/p>

005.jpg

  RS485通信采用SP3485作為收發(fā)器,,最大傳輸速度可達(dá)10 Mb/s,支持32個(gè)節(jié)點(diǎn),。如圖6所示,,RO是接收輸出端,連接STM32的第26管腳,;DI 是發(fā)送數(shù)據(jù)收入端,,連接STM32的第25管腳;RE是接收使能端(低電平有效);DE是發(fā)送使能端(高電平有效),。D1~D5是瞬態(tài)電壓抑制二極管,,用于浪涌保護(hù)、防雷擊,,保護(hù)SP3485芯片及內(nèi)部接口電路,。

  

006.jpg

007.jpg

  軟件設(shè)計(jì)包括初始化程序、主程序,、定時(shí)器輸入捕獲子程序,、LCD顯示子程序、RS485通信子程序,、HAC-UM數(shù)傳模塊無線通信子程序,。系統(tǒng)主程序流程如圖7所示。系統(tǒng)軟件采用C語言開發(fā),,使程序便于閱讀,、修改與維護(hù),編輯環(huán)境為Keil MDK4.10,,而且可采用JTAG或者ISP在線下載與調(diào)試,。

  STM32的初始化程序主要是對(duì)系統(tǒng)時(shí)鐘大小進(jìn)行配置,對(duì)USART1,、USART2的傳輸模式及波特率進(jìn)行設(shè)置,,對(duì)TIM3工作模式、計(jì)數(shù)器時(shí)鐘頻率進(jìn)行配置,,對(duì)DMA通道目標(biāo)地址與源地址,、傳輸方向等進(jìn)行設(shè)置。LCD顯示子程序主要是進(jìn)行LCD驅(qū)動(dòng)程序的編寫,,主程序中調(diào)用LCD顯示函數(shù),。

008.jpg

  定時(shí)器輸入捕獲子程序是軟件設(shè)計(jì)中的關(guān)鍵部分,脈沖頻率的測(cè)量,、風(fēng)速的計(jì)算與存儲(chǔ)都是在其中斷函數(shù)中實(shí)現(xiàn)的,。程序流程圖如圖8所示,中斷函數(shù)如下:

  float speed[256];//全局變量存儲(chǔ)風(fēng)速數(shù)據(jù)

  void TIM3_IRQHandler(void)

  {

  static u8 CaptureNumber = 0;//捕獲次數(shù)

  static u8 i = 0;

  static u16 IC3Value0 = 0;

  //定義第一次輸入捕獲值局部變量

  static u16 IC3Value1 = 0;

  //定義第二次輸入捕獲值局部變量

  float freq = 0;//脈沖頻率

  u16 counter = 0;//計(jì)數(shù)值

  if(CaptureNumber == 0)

  {

  CaptureNumber = 1;

  IC3Value0 = TIM_GetCapture1(TIM3);

  //第一次捕獲

  }

  else if(CaptureNumber == 1)//處理第二次捕獲

  {

  if(TIM_GetFlagStatus(TIM3,TIM_FLAG_Update) != SET)//沒有溢出的處理

  {

  IC3Value1 = TIM_GetCapture1(TIM3);//讀取捕獲值

  counter = IC3Value1- IC3Value0;//計(jì)算兩次捕獲的計(jì)數(shù)值

  }

  else

  {

  TIM_ClearFlag(TIM3,TIM_FLAG_Update);//產(chǎn)生了更新事件

  counter=0xFFFF-IC3Value0+TIM_GetCapture1(TIM3)+1;//有溢出的處理

  }

  CaptureNumber = 0;

  if(couter!=0)

  {

  freq= 120000/counter;//計(jì)算頻率

  speed[i] = 0.1 * freq;//轉(zhuǎn)化成風(fēng)速

  i++;

  if(i ==255)

  i = 0;

  }

  }

  TIM_ClearITPendingBit(TIM3, TIM_IT_CC1);

  //清除TIM3中斷標(biāo)志位

  }

  圖8捕獲中斷程序流圖RS485通信子程序和無線通信子程序?qū)崿F(xiàn)數(shù)據(jù)向上位機(jī)傳輸,。應(yīng)用STM32的DMA功能模塊[8-9],,通過DMA控制器實(shí)現(xiàn)內(nèi)存中的風(fēng)速數(shù)據(jù)直接通過總線傳輸至USART的數(shù)據(jù)寄存器進(jìn)行數(shù)據(jù)發(fā)送。傳輸過程不經(jīng)過CPU處理,,大大提高了軟件系統(tǒng)運(yùn)行的效率,。

  主程序中,通過掃描按鍵來選擇通信方式,,通過使能無線通信或RS485通信實(shí)現(xiàn)向上位機(jī)的數(shù)據(jù)傳輸,。

4結(jié)論

  本文針對(duì)風(fēng)速測(cè)量系統(tǒng)的應(yīng)用要求,設(shè)計(jì)了基于STM32三杯式風(fēng)速傳感器的風(fēng)速監(jiān)測(cè)系統(tǒng)。系統(tǒng)充分發(fā)揮了STM32芯片的優(yōu)勢(shì),,創(chuàng)新性地使用了STM32定時(shí)器輸入捕獲功能,,檢測(cè)輸入脈沖頻率,提高了系統(tǒng)的可靠性,。巧妙地利用了STM32的DMA模塊進(jìn)行數(shù)據(jù)傳輸,,提高了系統(tǒng)運(yùn)行效率。此外,,利用豐富的片上資源,,簡(jiǎn)化了外圍接口設(shè)計(jì),實(shí)現(xiàn)了對(duì)風(fēng)速實(shí)時(shí)準(zhǔn)確的測(cè)量,,擁有很好的應(yīng)用價(jià)值,。

  參考文獻(xiàn)

  [1] 程啟明,,程伊曼,,汪明媚,等. 風(fēng)力發(fā)電中風(fēng)速測(cè)量技術(shù)的發(fā)展[J].自動(dòng)化儀表, 2010,31(7):14.

 ?。?] 胡少堅(jiān),,夏冠群,馮明,,等. GaAs霍爾開關(guān)集成電路的研制[J]. 功能材料與器件學(xué)報(bào), 2003,9(1):4346.

 ?。?] Huang Le, Xu Huilong, Zhang Zhiyong, et al. GrapHene/Si CMOS hybrid Hall integrated circuits[J]. Scientific Reports, 2014,4:5548.

  [4] 劉愛華, 滿寶元. 傳感器原理及應(yīng)用[M]. 北京: 人民郵電出版社, 2006.

 ?。?] 李彥迪,李文瑞,陳碩爍,,等.基于FPGA的自適應(yīng)濾波器的研究與開發(fā)[J].微型機(jī)與應(yīng)用, 2013, 32(14):3234,40.

 ?。?] 藍(lán)杰,張浩然.基于STM32的微型步進(jìn)電機(jī)驅(qū)動(dòng)控制器設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(1):4346.

 ?。?] 王金艷. 霍爾傳感器轉(zhuǎn)速檢測(cè)系統(tǒng)的設(shè)計(jì)與研究[D]. 哈爾濱: 黑龍江大學(xué), 2010.

  [8] WALTON S, HUTTON A, TOUCH J. Highspeed data paths in hostbased routers [J].Computer, 1998, 31(11): 4651.

 ?。?] 李軍偉,戴紫彬,南龍梅,等.密碼SoC中嵌入式鏈?zhǔn)紻MA的研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(1):5659.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。