當前位置: 首頁 > 工業電子產品 > 其他電子產品 > 開發板,套件,編程器 > 開發板
發布日期:2022-10-14 點擊率:56
檢物體傾角的一種常用方法是對陀螺儀輸出的角速度進行積分。雖然這種方法直截了當,但誤差會隨著積分時間的增加而快速累積。在某些應用中,若整個時間范圍內物體運動緩慢(忽略慣性力等因素的影響,物體只受重力作用),那么可以使用加速度計來測量物體的傾斜角度。該方法利用重力矢量及其在加速度計軸上的投影來確定傾斜角度。
以兩輪平衡小車(倒立擺模型)為例,當檢測到傾角存在時要控制小車以一定的加速度運動,才能維持平衡而不至于倒下。因此傾角的測量成為控制小車直立的關鍵。而在實際小車運動過程中,由于小車本身的運動所產生的加速度會產生很大的干擾信號疊加在上述測量信號上,使得輸出信號無法準確反映車模的傾角(加速度計輸出值除了重力加速度的部分也可能會將小車前進的加速度也包含在內,導致難以區分哪一部分是重力加速度)。
小車運動產生的加速度使得輸出電壓在實際傾角電壓附近波動,雖然可以通過數據平滑濾波將其濾除。但是平滑濾波也會使得信號無法實時反映小車傾角的變化,從而減慢對于車輪的控制,使得小車無法保持平衡,這種情況就需要結合使用陀螺儀來測量。而在其他要求不高的情況下則可以對原始加速度信號進行處理,移除信號中的高頻成分,因此一定程度的交流分量也是可以接受的。
在使用慣性傳感器檢測物體運動姿態時,最直觀的想法是通過加速度傳感器直接測量角度,通過陀螺儀測量角速度,但實際使用中由于傳感器本身的特性會存在很多干擾。
常用的解決方法是結合加速度計和陀螺儀各自的優勢進行互補濾波(陀螺儀:動態特性好,積分計算姿態有累積誤差;加速度計:動態響應差,但沒有累積誤差)。它們在頻域上特性互補,可以采用互補濾波提高測量精度和系統的動態性能。另一種常見的方法是采用卡爾曼濾波。
使用單軸數據計算傾角
如下圖所示,假設X軸上測到的加速度值為ax,則傾角α的值為:α = arcsin(ax/g). 如果傾角只在很小的范圍內變化,則可以使用近似公式sinα≈α,于是α ≈ k·(ax/g),比例系數k用于傾角的線性近似計算。
X軸指向旋轉360°,ax讀數將在-1g~1g變化。從曲線可以看出,在接近±90°的位置處,輸出值靈敏度很低(同樣角度變化引起的讀數改變較?。?,而在0°附近靈敏度最高。另外也可以看出正弦曲線在[0° 45°], [135° 225°]和[315° 360°] 的線性度較好。
使用單軸數據測量傾角除了靈敏度問題外,另一個限制是僅使用單軸數據無法進行360°的測量。因為在傾角N°時加速度計的讀數與傾角180°?N°時的加速度讀數相同。
使用雙軸數據計算傾角
如下圖所示,加速度傳感器在X-Y平面內旋轉,由于X軸與Y軸正交,X軸檢測到重力加速度的正弦分量,Y軸檢測到重力加速度的余弦分量。旋轉時隨著一條軸的靈敏度下降,另一條軸的靈敏度將會上升。
這時傾角可以通過計算X軸和Y軸比值的反正切來得到:
如果操作數ax/ay為正值,反正切函數會返回第一象限中的值;如果操作數為負值,則反正切函數會返回第四象限中的值(標準反正切函數atan的值域是-90°~90°,也就是它只處理第一、四象限)。而通過使用C語言標準庫中的另一個反正切函數atan2(ax , ay),可以計算出原點至點(ax,ay)的方位角,可以理解為復數ax+ayi的輻角,取值范圍為(-180°,180°]。因此,增加一個軸的好處之一是,能夠區分各個象限并在整個360°范圍內測量傾角。
使用雙軸數據計算傾角的另一個優勢是:與單軸解決方案不同,增加一個軸后,即使第三個軸上存在傾斜,也可以測出精確值。通過下圖來進行說明:如果XY平面不是嚴格的平行于重力方向,而存在一個較小的偏差角β(β角無法準確測出),此時第三根軸即Z軸將承受一部分重力的分力。如果只是用單軸數據來測量,則根據公式有α = arcsin(ax/(g·cosβ)),β較小時cosβ接近1。由此看出,只是用單軸數據會造成一定的誤差。如果運用X和Y軸的數據,通過反正切來求α,則可以消除偏差角β的影響。
使用3軸數據計算傾角
假設傳感器的X軸與水平面xy之間的夾角為α(稱為俯仰角,pitch),Y軸與水平面間的夾角為β(稱為滾轉角,roll),Z軸與重力方向夾角為γ。
重力加速度在XYZ三個軸上的投影即為三個軸傳感器的讀數,因此可計算出:
根據三個軸加速度的矢量和等于重力加速度,即:
可以推導出計算三個角度的另一種表達式:
由于采用反正切函數和加速度之比,因此具有雙軸示例中提及的優勢。
下一篇: PLC、DCS、FCS三大控
上一篇: 了解不同類型的傳感器