基於STM32的新型角度測量系統設計

2021-01-18 電子產品世界

ADXL202的輸出信號是脈寬佔空比調製信號,佔空比T1/T2與被測加速度成正比。0g時,其輸出為50%佔空比,靈敏度為每g所引起的脈寬佔空比變化12.5%。查閱晶片的技術文檔,可以通過電阻RSET來設定DCM的周期:

ADXL202 通過XFILT、YFILT外接電容CX、CY來設定ADXL202的帶寬,這個帶寬決定了它的測量精度,同時電容CX、CY可以去混疊和濾波。為了使脈 寬佔空比的誤差最小,模擬帶寬應比脈寬佔空比的頻率低1/10。對技術文檔提供的表2進行分析,並考慮設定T2為1 ms,脈衝佔空比頻率為1 kHz,為滿足實際需要和DCM誤差最小的要求,選擇0.05μF的濾波電容,此時模擬帶寬為100 Hz。[page]

2.2 ADXL202測角度工作原理

ADXL202水平放置時的傾角如圖5所示。

ADXL202水平放置時,沿X軸和Y軸方向的加速度分量大小與重力的關係為:

AX=g·sin(α), AY=g·sin(β) (3)

式中,AX、AY分別代表加速度計的兩個軸上的分量輸出,g是以重力作為參考的加速度值,而α、β是傾斜角度。由反正弦函數即可以得到傾斜角度為:

α=sin-1(AX/g),β=sin-1(AY/g) (4)


圖5 ADXL202水平放置時的傾角

ADXL202垂直放置時的傾角如圖6所示。


圖6 ADXL202垂直放置時的傾角

加速度傳感器在豎直初始位置時,沿X軸和Y軸方向的加速度分量大小與重力的關係為:

γ=sin-1(AX/g), δ=sin-1(AY/g) (5)

此 角度測量儀的工作原理是:ADXL202將加速度信號轉換為脈寬佔空比輸出,STM32F107接收這個數字脈衝信號,利用STM32F107的輸入捕獲 功能來測量脈衝信號的高電平脈寬。然後,計算出高電平脈寬的準確時間T1,由式(2)得到X、Y方向上的加速度分量A(g)。最後,由式(4)(5)分別 求出晶片在水平狀態或垂直狀態下的傾角。[page]

3 數據處理模塊

STM32F107採 用的是ARM Cortex—M3內核,工作電壓為3.3 V,時鐘頻率達到72 MHz。該晶片系統資源和外圍接口豐富,內部集成專用時鐘、復位以及電源管理模塊,支持多種工作模式。由於STM32F107晶片的性能、成本和功耗方面 的特點,選擇它作為數據處理模塊。更重要的是STM32F107的定時器除了TIM6和TIM7,都有輸入捕獲功能。

3.1 輸入捕獲功能應用於角度測量的工作原理

以 TIM2定時器實現輸入捕獲功能為例。TIM2有4個獨立通道,通過檢測TIM2_CH1通道上的邊沿信號,在邊沿信號發生跳變(比如上升沿/下降沿)的 時候,將當前定時器的值存放到TIM2_CH1的捕獲/比較寄存器裡面,完成一次捕獲。這就是STM32F107所具有的輸入捕獲功能。

將 ADXL202的Xout、Yout引腳輸出接到STM32F107的34、35引腳(PA0、PA1)上,由STM32F107的原理圖可知,34、 35引腳控制TIM2_CH1和TIM2_CH2兩個通道。用TIM2_CH1來捕獲Xout的數字方波信號的高電平脈衝,首先配置此通道的輸入捕獲為上 升沿檢測。當檢測到上升沿時,進入中斷將計數器清零重新開始計數,並配置通道的輸入捕獲為下降沿捕獲;當檢測到下降沿時,進入中斷讀取計數器的值,由計數 值和計數頻率可得到高電平的脈寬,即T1。然後通過以下兩個公式:

A(g)=(T1/T2-0.5)/12.5% (6)

α=sin-1(Ax/g), β=sin-1(AY/g) (7)

計算得出當前的傾角,之後將結果傳輸給液晶顯示屏顯示結果。式中T2=1 ms。此處僅討論晶片水平放置時的情況,當晶片垂直放置時,用式(5)即可。

3.2 採集和處理數據的方法

ADXL202 有兩路輸出信號Xout、Yout,而且它們是同時工作的,而STM32F107是順序處理器,一個時間點上只能處理一路信號。我們採用分時復用的方法解 決,以1 s為時間點,在這1 s內,STM32F107隻採集處理一條通道內的信號和數據,到下一秒時就採集處理另一條通道上的信號和數據。還應該注意一個問題,計數器在檢測到上升沿 時開始計數,等下降沿到來停止計數的時間內,脈寬過長時計數器會發生溢出,所以必須記錄下溢出次數。在最後計算計數器的值時,將溢出次數乘以計數器的寬度 加上當前計數器的值,即為總的計數值。

4 角度測量儀系統的程序設計

使用STM32F107的輸入捕獲功能,需要通過程序配置內部寄存器的初始狀態,以此來滿足角度測量儀的工作需求。

①開啟GPIO和TIM2的時鐘,通過內部的庫函數RCC_APB2PeriphClockCmd、RCC_APB1PeriphClockCmd來控制兩個時鐘的開啟。為了採集TIM 2_CH1和TIM2_CH2上的高電平脈寬,需配置PA0和PA1為下拉輸入。

②初始化TIM2,設定TIM2的輸入捕獲自動重裝載值為0xfffe,計數頻率為1 MHz。

③使能輸入捕獲、中斷、計數器,通過STM32F107的庫函數能方便地配置。

由角度測量和輸入捕獲原理可得系統的程序流程圖,如圖7所示。


圖7 系統程序流程圖

5 調試和測量結果

在 室溫下進行調試。當角度測量儀沒有傾斜時,液晶屏上顯示的結果並不為零,其原因是ADXL202安裝無法完全水平。晶片安裝後本身存在傾角,這是不可避免 的。雖然調試環境是在室溫下,但是實際使用的環境可能是溫度變化較大的場合,零漂和靈敏度隨溫度的漂移將會很嚴重,直接測量時會導致很大的角度誤差,因 此,必須採取某種形式的溫度補償方法來解決。

當角度測量儀有傾斜時,測量結果與實際值有較大誤差。經分析是輸入捕獲的計數器有誤差。經將幹擾和毛刺計數進來,所以應該添加濾波電路,同時計數器的值採用多次計數取平均值的方法,以此提高計數的精度。

角度測量儀的測量結果如圖8所示。


圖8 角度測量儀的測量結果

結語

本文論述了一種基於ADXL202的高精度角度測量儀的研究和設計方法,對ADXL202的角度測量原理和STM32F107的輸入捕獲功能進行了詳細的介紹。經實驗測試,該測量儀能高精度地完成角度測量,而且可靠性好,對角度測量的研究和設計有著積極的意義。

相關焦點

  • 13個基於STM32的經典項目設計實例,全套資料~
    今天總結了幾篇電路城上關於STM32 的製作,不能說每篇都是經典,但都是在其他地方找不到的,很有學習參考意義的設計實例。尤其對於新手,是一個學習stm32單片機的“活生生”的範例。
  • 病房呼叫系統的軟體設計_單片機病房呼叫系統的設計 - CSDN
    不會stm32,那你還不好意思來應聘硬體工程師? stm32的學習資料多是零零散散的,電路城先將stm32資料做了一個整合,也將於STM32單片機的精彩設計實例做了一個匯總,適合新手迅速上手,也適合高手做創作。
  • 基於STM32的光功率實時監測系統設計
    設計是基於ST公司Cortex—M3內核的32位ARM產品,以STM32F103ZET6為主晶片設計的一款光功率檢測系統。通過建立TCP連結,實現GPRS數據的傳輸,做到了隨時隨地進行實時監測。同時,系統設計是基於CAN總線的嵌入式功率實時監測系統,不僅能夠智能地監測多個通道的光纖網絡,還具備了其系統的抗幹擾性和可靠性。
  • 基於TMS320X2812的高精度轉角測量系統設計
    1 引言高精度旋轉角測量廣泛應用於精密加工、航空航天和軍事等領域。測量角度和角位移的方法有:水準管式傾角儀,圓光柵以及電阻應變式、電感式、電容式、光電編碼式、磁阻式等角位移傳感器。目前,利用圓光柵方法實現的高精度軸轉角測量系統以其結構簡單,操作方便,測量精度高等特點而得到廣泛應用。
  • 磁阻角度與線性位置測量系統設計方案
    磁阻角度與線性位置測量系統經常會被應用到電機的控制上,應用十分廣泛。下文就給出了該種測量系統的設計方案。包括硬體選型,軟體仿真與測試結果。本文引用地址:http://www.eepw.com.cn/article/201610/308718.htm電路功能與優勢圖1所示緊湊型雙晶片電路提供非接觸式各向異性磁阻(AMR)測量解決方案,可用於角度或線性位置測量。
  • 基於傳感器在新型移動測量系統的應用
    打開APP 基於傳感器在新型移動測量系統的應用 發表於 2018-01-29 18:05:11 最近,在國內與傳感技術應用相關的諸多領域
  • 基於單片機的角度測量儀的設計
    本文分析了基於AT89S51 單片機的角度測量的硬體組成、電路設計原理。給出了主函數的工作流程和原始碼。設計樣機已通過多種環境實驗的測試。  角度測量儀是某控制系統中瞄準裝置的關鍵部件。為了提高控制系統的瞄準精度,在控制系統的瞄準裝置中增加了角度測量儀部件,操作人員瞄準目標後的角度值能夠精確定量地顯示在操作面板上,幫助操作人員更加準確地瞄準目標,因此,極大地提高了控制系統的控制精確度。  角度測量儀利用光電編碼器讀取角度值,採用AT89S51 單片機實現角度值數碼顯示、角度值偏差範圍的發光二極體指示功能(有三個指示燈,分別指示:偏高、偏低、適中)。
  • 基於STM32的直流電機PID調速系統設計與實現
    順應調速系統智能化、簡單化的發展趨勢,本設計採用一款性價比高、功耗低的基於ARMCortex⁃M3內核的STM32單片機為控制核心,結合PID控制技術,實現了直流電機範圍大、精度高的調速性能。 1、系統的總體設計 該調速系統能夠實現對電機的啟動、制動、正反轉調速、測速和數據上傳等功能,可方便地實現直流電機的四象限運行。
  • 基於電磁感應的液體粘度測量系統設計
    第5章 測量系統可行性驗證實驗本論文之前的內容介紹了基於電磁感應的液體粘度測量方法的原理,分析了測量方法的理論基礎,並設計了測量系統的各個模塊。本章根據以上原理和理論基礎,搭建了基於電磁感應的液體粘度測量系統,並進行了測量系統的可行性驗證實驗,且對測量結果進行了數據分析和探討。5.1 系統實驗裝置在前面幾章的基礎上,依據基於電磁感應的液體粘度測量方法的工作原理、理論分析和設計方案搭建了系統試驗平臺。其實物圖如圖5-1所示。
  • 基於ARM的微波頻率自動測量系統設計
    但還存在以下問題:測量時,由手工逐點移動探頭並記錄各點讀數,然後手工計算實驗結果並繪圖。測量項目單一、精度低、測量周期長,操作也較為繁瑣。本文主要研究一種實用的基於Labview的速調管微波頻率自動測量系統。  2.系統整體結構  系統的整體結構如圖2-1所示。由下位機跟上位機構成。
  • 基於單片機的無人機真空速測量系統設計
    摘要:為了測量無人機真空速,設計了基於單片機的無人機真空速>測量系統。本文介紹了一種基於C8051F352單片機的無人機真空速測量系統的設計,該系統測量結果的相對誤差小於4%,能夠滿足無人機飛行控制系統的精度要求。
  • 基於 STM32 的熱敏電阻多路溫度採集系統設計
    基於 STM32 的熱敏電阻多路溫度採集系統設計陳金龍摘要:提出一種應用 STM32 微控制器及負溫度係數熱敏電阻
  • 基於STM32的可攜式人機界面系統
    基於STM32的可攜式人機界面系統 佚名 發表於 2014-07-11 14:42:32   摘要:設計應用於全站儀測量計算的基於
  • 基於STM32的半導體製冷片控制系統設計
    2 模糊PID溫度控制系統的硬體電路設計如圖1,系統主要包括以下幾個部分:1)數字溫度傳感器:DS18B20是一種與傳統的熱敏電阻等測溫元件相比,它是一種新型的體積小、適用電壓寬、與微處理器接口簡單的數位化溫度傳感器,實現溫度的採集。2)控制器:採用STM32模塊和存儲器構成,以其豐富的外部資源和高達72 MHz的主頻完成大量的PID運算。3)加熱模塊:採用驅動晶片DRV8834,是一款雙路橋式步進器或者直流電機驅動器。
  • 一種基於磁電式的角度傳感器設計
    正是基於這些問題,設計一種基於磁電式的角度傳感器,它具有成本低廉,抗幹擾性高,分辨力在0.5° 以內等優點。2.系統總體設計原理整個系統有四部分組成,分別為電源模塊,磁傳感器信號採集模塊、微處理器模塊、信號輸出模塊,硬體框圖如圖1所示。
  • 基於ARM與MEMS器件的微慣性測量裝置設計
    在仿生推進機理的研究中,精確測量魚類尾鰭拍動參數對於魚類仿生推進機理研究及工程應用具有重要的意義;然而,目前研究者大多採用分析高速攝像機拍攝的圖像獲得參數的觀測方法。這種方法受到環境與設備的限制,結果精確度較差。本設計是一種基於MEMS器件的生物運動微慣性測量裝置。
  • 基於互補濾波器的兩輪平衡車姿態角度測量
    其中,兩輪平衡車的姿態角度測量是研究的關鍵問題之一。姿態角度測量是兩輪平衡車運行和控制實現的前提。姿態角度測量的精度和速度,將直接影響兩輪平衡車控制算法的穩定性和可靠性。隨著慣性測量元件的微型化與微處理器運算能力的提高,兩輪平衡車姿態測量普遍採用低成本的慣性測量組合元件(Inertal Measurement Uint,IMU),結合微處理器數據處理算法實現高精度的姿態測量。
  • 基於STM32的多色溫多星等輸出的單星模擬器系統設計
    基於STM32的多色溫多星等輸出的單星模擬器系統星敏感器在各種太空飛行器上大量應用,其性能指標直接影響到測量結果的可信度。單星模擬器是星敏感器的主要地面標定設備之一,所要實現的功能是在實驗室內提供與單顆真實恆星在光度特性、光譜特性等方面趨於一致的模擬恆星[1-2]。傳統單星模擬器大多體積大,精度低,穩定性不夠好,可調節色溫單一,實現星等範圍小[3]。
  • 基於LabWindows/CVI介質復介電常數的測量系統設計
    摘 要:針對介質復介電常數測量自動化的需要,根據微擾法理論設計一套基於LabWindows/CVI的介質復介電常數的測量軟體系統。
  • 採用加速度傳感器的角度測量儀系統硬體電路設計
    在現代控制系統中,角度測量裝置是非常關鍵的需要高精度的部件,其測量精度直接影響著整個系統的性能和精度。目前已有的利用的加速度傳感器實現高精度角度測量的研究,主要側重於單軸的角度測量。本文將重點討論利用雙軸加速傳感器ADXL202實現高精度角度測量的硬體方法。