国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

兩輪自平衡車實驗平臺的設(shè)計

2015-11-26 13:09:42王恒沈夢嬌
物聯(lián)網(wǎng)技術(shù) 2015年11期
關(guān)鍵詞:數(shù)據(jù)融合卡爾曼濾波

王恒++沈夢嬌

摘 要:兩輪自平衡小車具有重要的應(yīng)用與理論研究意義。文中設(shè)計了兩輪自平衡小車的實驗平臺,系統(tǒng)分為5個模塊:電源管理模塊,微處理器模塊,電機驅(qū)動模塊,姿態(tài)傳感器數(shù)據(jù)采集模塊,以及藍(lán)牙無線通訊模塊。本設(shè)計從硬件電路,軟件設(shè)計對系統(tǒng)的5個模塊分別進(jìn)行了詳細(xì)設(shè)計。最后,制作了兩輪自平衡小車的原型,并給予了初步運動控制驗證。該實驗平臺能夠初步實現(xiàn)自平衡功能,后續(xù)的研究將著重于對控制算法在該平臺的驗證研究。

關(guān)鍵詞:兩輪自平衡小車;數(shù)據(jù)融合;卡爾曼濾波;STM32

中圖分類號:TP242.3 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2015)11-00-04

0 引 言

兩輪自平衡小車(two-wheeled self-balanced vehicle)或兩輪自平衡機器人(two-wheeled self-balanced robot)是一種類似人類直立姿態(tài)的平衡控制系統(tǒng),其核心問題是如何保證在各工況下運動姿態(tài)的平衡控制及導(dǎo)航[1]。兩輪自平衡小車或機器人系統(tǒng)是一個高階次、不穩(wěn)定、多變量、非線性、強耦合的系統(tǒng)[2]。其系統(tǒng)設(shè)計不僅要考慮機械結(jié)構(gòu)的運動學(xué)設(shè)計[3] ,也要考慮動力學(xué)設(shè)計[2]、能量設(shè)計[4]、控制系統(tǒng)的參數(shù)辨識、控制系統(tǒng)的濾波處理[5]等,然后建立相應(yīng)的控制策略,設(shè)計確實可行的控制器[6],實現(xiàn)自平衡小車在各工況下的運動平衡控制。

兩輪自平衡小車在實踐應(yīng)用上,可用于軍事領(lǐng)域中的偵查、排雷、單兵載人等,或作為日常生活中的短途交通工具[7]。然而,目前兩輪自平衡小車更多的是其理論研究的意義,它是檢驗各種控制理論控制性能的一個較好的實驗平臺[8]。目前國內(nèi)不少院校都對兩輪自平衡小車進(jìn)行了研究,主要為哈爾濱工業(yè)大學(xué)趙杰團隊[8],西安電子科技大學(xué)屈勝利團隊[9],北京工業(yè)大學(xué)阮曉剛團隊[1, 2]等。國外也對兩輪自平衡小車有研究,如Sayidmarie[10]等對兩輪自平衡機器人上坡的平衡控制進(jìn)行了研究,Slavov[11]等人基于線性二次型控制(linear-quadratic regulator, LQR)對兩輪機器人進(jìn)行了研究,Larimi[12]等構(gòu)建了反作用輪系輔助的兩輪小車的新型的穩(wěn)定算法,Kim[13]等建立了兩輪自平衡移動機器人的動態(tài)模型等。這說明兩輪自平衡小車不僅僅在應(yīng)用需求上,尤其在學(xué)科理論需求上,對其研究都具有重要的意義。因此,作為進(jìn)行各種平衡控制理論研究的第一步,對兩輪自平衡小車的實驗平臺的研制具有非常重要的意義。

本文主要設(shè)計了兩輪自平衡小車的實驗平臺。設(shè)計采用STM32F103C8T6為核心處理器進(jìn)行控制,姿態(tài)檢測選用MPU6050運動處理傳感器,數(shù)據(jù)融合采用卡爾曼濾波算法,結(jié)合陀螺儀的快速響應(yīng)特性和加速度傳感器的長時間穩(wěn)定特性,得到小車的傾角。然后通過PID算法使小車能夠處在一個相對平衡的位置,從而保持直立的姿態(tài)。系統(tǒng)控制參數(shù)的選擇采用系統(tǒng)辨識的方法,在Matlab仿真平臺得到系統(tǒng)的優(yōu)化參數(shù),并寫入編寫好的C語言軟件,通過HC-06藍(lán)牙模塊可以使用Android手機控制小車實現(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等動作模式。

1 系統(tǒng)設(shè)計

本設(shè)計采用模塊化設(shè)計思想,系統(tǒng)總體功能框圖如圖1所示,分為五個模塊,分別為:電源管理模塊,微處理器模塊,電機驅(qū)動模塊,姿態(tài)傳感器數(shù)據(jù)采集模塊,以及藍(lán)牙無線通訊模塊。電源管理模塊負(fù)責(zé)整個系統(tǒng)的供電,微處理器模塊為系統(tǒng)的控制與數(shù)據(jù)處理核心,姿態(tài)數(shù)據(jù)采集模塊為采集小車的姿態(tài)(包括加速度和角速度),然后通過微處理器控制算法后,再驅(qū)動電機控制模塊運動以保持平衡,而藍(lán)牙通訊模塊則通過手機設(shè)備控制系統(tǒng)的運行,同時,系統(tǒng)運行的數(shù)據(jù)也可以上傳到手機或電腦上。

圖1 系統(tǒng)功能框圖

2 硬件電路設(shè)計

2.1 電源管理模塊

系統(tǒng)主要使用的電平為12 V,5 V,3.3 V共三種電平,其中STM32F103C8T6、MPU6050、HC-06主要采用3.3 V供電,電機驅(qū)動模塊用12 V和5 V供電。所以,本設(shè)計總電源使用12 V的鋰電池供電,采用LM2576將鋰電池進(jìn)行降壓為5 V,再利用LM1117把得到的5V電平降為3.3 V。

2.2 STM32F103微處理器模塊

系統(tǒng)采用STM32F103C8T6意法半導(dǎo)體(ST)的32位ARM Cortex-M3 內(nèi)核的微處理器。該處理器正常工作主頻為72 MHz,具有12 bit 分辨率的ADC,以及16 bit 電機控制PWM定時器,2個I2C接口(SMBus/PMBus)。該處理器可應(yīng)用于電機驅(qū)動,應(yīng)用控制,醫(yī)療手持設(shè)備,游戲,GPS平臺等多種場合,所以,本設(shè)計采用STM32F103C8T6具有一定的合理性。其最小系統(tǒng)電路圖如圖2所示。

2.3 電機驅(qū)動模塊

自平衡小車的驅(qū)動電機為兩個無刷直流電機(電機A為左側(cè)電機,電機B為右側(cè)電機)。采用L298N芯片作為電機驅(qū)動電路的主芯片,小車的不同狀態(tài)運動通過電機的三種轉(zhuǎn)動方式(正轉(zhuǎn),反轉(zhuǎn),停止)實現(xiàn),具體如表1所列。電機驅(qū)動電路原理圖如圖3所示。L298N的VSS接5 V電源,VS接12 V電源。IN1、IN2、IN3、IN4分別接STM32的PB1、PB0、PB6和PB5,ENA接PA0,ENB接PA1,此接法不是唯一的,可以根據(jù)程序中的端口設(shè)置進(jìn)行相應(yīng)的更改。具體的控制過程:角速度和加速度經(jīng)過閉環(huán)控制之后產(chǎn)生一個結(jié)果,其運算結(jié)果用來改變PWM脈沖的占空比,進(jìn)而分別控制了左電機和右電機的轉(zhuǎn)速。在兩個電機之間加入二極管主要是為了保護電路的安全運行。

表1 引腳狀態(tài)電機制動電機A IN1 IN2 電機B IN3 IN4

正轉(zhuǎn) 1 0 正轉(zhuǎn) 1 0

反轉(zhuǎn) 0 1 反轉(zhuǎn) 0 1

停止 0 0 停止 0 0

—— 1 1 —— 1 1

2.4 姿態(tài)傳感器模塊

為了得到高精度的角度檢測,系統(tǒng)采用Invensense 公司的MPU6050,該姿態(tài)傳感器同時集成了3軸加速度和3軸陀螺儀,自帶16位AD轉(zhuǎn)換,加速度測量范圍為±16 g(實際應(yīng)用僅為±2 g范圍),傾角角度測量范圍不到1度。所以不需要分別使用加速度計和陀螺儀,以及相應(yīng)的ADC電路,但此處數(shù)據(jù)不能簡單采集使用,還需要經(jīng)過微處理器卡爾曼濾波融合算法才可得到傾角。姿態(tài)傳感器模塊電路如圖4所示。

2.5 藍(lán)牙無線通訊模塊

自平衡小車系統(tǒng)可以通過無線方式和上位機或者手機進(jìn)行通訊,實現(xiàn)手機控制小車運行,并同時把數(shù)據(jù)上傳到手機上。本設(shè)計采用的是藍(lán)牙模塊HC-06,此模塊波特率可變,串口電壓為3.3 V或者5 V,可以進(jìn)行主從機切換,并且可以通過AT指令改變一些出廠的基本設(shè)置,如名字和密碼等。HC-06主要用來接收安卓手機發(fā)送的指令,接收到之后,把指令通過串口發(fā)送給主控芯片,再由單片機控制電機,根據(jù)不同的指令來實現(xiàn)小車的左轉(zhuǎn)、右轉(zhuǎn)、前進(jìn)和后退。HC-06原理圖如圖5所示。

圖3 電機驅(qū)動電路

圖4 MPU6050電路原理圖

3 系統(tǒng)軟件設(shè)計

系統(tǒng)的控制流程圖如圖6所示,主要包括:STM32的初始化,MPU6050初始化,姿態(tài)(傾角)信息的采集,卡爾曼濾波,傾角PID控制,PWM控制電機輸出。系統(tǒng)軟件開發(fā)為基于CMSIS架構(gòu)的固件庫開發(fā)平臺,軟件版本為MDK V4.12,它支持常見的ARM7,ARM9和ARM最新內(nèi)核的CM3系列微處理器。

圖6 系統(tǒng)控制流程圖

STM32的初始化主要包括時鐘初始化、延時初始化以及中斷初始化。時鐘初始化采用SystemInit()。STM32是CM3內(nèi)核的,所以其內(nèi)部有一個SysTick定時器,而使用的延時函數(shù)就是以這個定時器為基準(zhǔn),delay_init()函數(shù)主要是配置SysTick的中斷時間,以及延時初始化fac_us和fac_ms兩個參數(shù)。NVIC_Configuration()函數(shù)主要用來設(shè)置搶占優(yōu)先級和響應(yīng)優(yōu)先級。

MPU6050要根據(jù)裝配位置,通過I2C讀取各個軸角速度和各個軸的加速度,再進(jìn)行卡爾曼濾波處理進(jìn)行數(shù)據(jù)融合,然后得到融合后的傾角。數(shù)據(jù)讀取函數(shù)、卡爾曼濾波函數(shù)分別為IIC_6050()、Kalman()。濾波器參數(shù)通過模型仿真與實驗結(jié)合的方式得到。并寫入到軟件代碼中。

電機控制可采用方波或正弦波控制。雖然正弦波相比有效率的多,但考慮到系統(tǒng)實現(xiàn)的復(fù)雜度和效率,本文采用方波來實現(xiàn)電機控制。設(shè)計采用TIM2的通道一和通道二產(chǎn)生PWM波輸出,使用TIM2并設(shè)置其為定時器模式,脈沖寬度調(diào)制模式2,通過代碼產(chǎn)生頻率為18 kHz占空比可變的PWM,其中占空比由獲取到的角速度和角度來控制,使用函數(shù)TIM_SetCompare()來驅(qū)動電機。

本設(shè)計的手機顯示界面如圖7所示。設(shè)計沒有使用查詢而是使用中斷接收指令,因此中斷服務(wù)函數(shù)是整個串口模塊的核心。當(dāng)收到不同的指令時,通過控制電機轉(zhuǎn)向進(jìn)行不同的操作。需要注意的是每次控制電機之后都要調(diào)用一個清除緩沖區(qū)的函數(shù),否則緩沖區(qū)的指令會保持不變,只能保持一個狀態(tài)。串口不斷接收從藍(lán)牙傳過來的指令,串口接收到的指令都是由Android程序控制的。程序分為兩個部分,一個是XML文件,XML是布局文件,對此文件進(jìn)行修改可以改變手機顯示的界面,設(shè)計使用Button控件。另外一個是Java文件,真正的行為控制是Java文件來做的,首先要實例化Button,然后定義藍(lán)牙地址變量,使之固定不變。本設(shè)計藍(lán)牙設(shè)備的地址為00:21:13:07:BC,找到地址之后就要發(fā)送指令,這些指令都是由一些藍(lán)牙架包實現(xiàn)的,最后把message發(fā)送出去。本設(shè)計中若message指令為G,則向前,若為B則后退,S為停止,L為左轉(zhuǎn),R為右轉(zhuǎn)。

圖7 手機界面

4 自平衡小車原型實物

本設(shè)計采用兩個無刷直流電機控制,選擇飛思卡爾競賽使用的C型車模進(jìn)行改裝得到小車機械結(jié)構(gòu),底盤使用一塊面包板來代替,板子和支架部分固定在一起。小車的傾角傳感器MPU6050,電機控制模塊L298,鋰電池模塊,降壓模塊,STM32核心板,藍(lán)牙模塊等都安裝在面包板上面。完整車體如圖8所示。通過手機控制界面,可以遙控兩輪自平衡小車的運動,同時可以把采集數(shù)據(jù)上傳到手機上。

圖8 自平衡小車原型

5 結(jié) 語

本文對兩輪自平衡小車實驗平臺進(jìn)行了設(shè)計,作為較為理想的驗證各種控制理論的實驗平臺,進(jìn)行了系統(tǒng)的硬件平臺設(shè)計、軟件平臺設(shè)計以及機械平臺設(shè)計。系統(tǒng)主要以STM32F103 32 位 ARM控制器為核心,采用卡爾曼融合濾波算法對MPU6050姿態(tài)傳感器進(jìn)行數(shù)據(jù)處理,通過PWM控制左、右電機的運動,該系統(tǒng)能夠初步實現(xiàn)小車的運動平衡控制。后期的研究將著重理論控制算法的仿真,與參數(shù)融合優(yōu)化方面。

參考文獻(xiàn)

[1] 阮曉鋼, 趙建偉. 基于Hopfield網(wǎng)絡(luò)的柔性兩輪自平衡機器人控制 [J]. 機器人, 2010, 32(3): 405-413.

[2] 阮曉鋼, 任紅格. 兩輪自平衡機器人動力學(xué)建模及其平衡控制 [J]. 計算機應(yīng)用研究, 2009, 26(1): 99-101.

[3] 彭楠. 兩輪自平衡電動車機械結(jié)構(gòu)設(shè)計與有限元分析 [D]. 鄭州:鄭州大學(xué), 2010.

[4] 王曉宇, 閆繼宏, 秦勇, 等. 基于改進(jìn)遺傳算法的兩輪自平衡機器人能量優(yōu)化策略 [J]. 吉林大學(xué)學(xué)報(工學(xué)版), 2009(3): 830-835.

[5] 劉二林, 姜香菊. 基于卡爾曼濾波的兩輪自平衡車姿態(tài)檢測 [J]. 自動化與儀器儀表, 2015 (2): 52-54.

[6] 陳波. 基于神經(jīng)網(wǎng)絡(luò)PID控制的兩輪自平衡小車研究 [D].成都:西南交通大學(xué), 2014.

[7] 王曉宇. 兩輪自平衡機器人的研究 [D].哈爾濱:哈爾濱工業(yè)大學(xué), 2007.

[8] 秦勇, 閆繼宏, 王曉宇, 等. 兩輪自平衡機器人運動控制研究 [J]. 哈爾濱工業(yè)大學(xué)學(xué)報, 2008 (5): 721-726.

[9] 程剛, 屈勝利, 劉學(xué)超. 兩輪自平衡小車可控角度的推導(dǎo)研究 [J]. 機床與液壓, 2009,37(5): 115-116.

[10] Sayidmarie O K, Agouri S A, Tokhi M O. Balancing and Control of a Two-Wheeled Robot on Inclined Surface [Z]. Mobile Service Robotics, 2014.

[11] Slavov T, Kralev J, Petkov P. Linear-Quadratic Control of a Two-Wheeled Robot [J]. Cr Acad Bulg Sci, 2014, 67(8): 1153-1158.

[12] Larimi S R, Zarafshan P, Moosavian SAA. A New Stabilization Algorithm for a Two-Wheeled Mobile Robot Aided by Reaction Wheel [J]. J Dyn Syst-T Asme, 2015, 137.

[13] Kim S, Kwon S. Dynamic Modeling of a Two-wheeled Inverted Pendulum Balancing Mobile Robot [J]. Int J Control Autom, 2015, 13(4): 926-933.

猜你喜歡
數(shù)據(jù)融合卡爾曼濾波
基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
基于數(shù)據(jù)融合的家庭遠(yuǎn)程監(jiān)護系統(tǒng)研究
融合K—T和K—L數(shù)據(jù)的洽川濕地水體提取
價值工程(2016年31期)2016-12-03 00:01:51
船舶動力定位中的數(shù)據(jù)融合技術(shù)文獻(xiàn)綜述
科技視界(2016年14期)2016-06-08 13:24:00
基于模糊卡爾曼濾波算法的動力電池SOC估計
基于信源編碼的數(shù)據(jù)融合隱私保護技術(shù)
科技視界(2016年3期)2016-02-26 19:57:53
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
基于自適應(yīng)卡爾曼濾波的新船舶試航系統(tǒng)
特克斯县| 台湾省| 天全县| 米易县| 克山县| 海宁市| 太仓市| 仁怀市| 屯昌县| 嘉鱼县| 滨海县| 德钦县| 全椒县| 陆川县| 汪清县| 东源县| 香格里拉县| 榆社县| 武隆县| 孙吴县| 巨野县| 苍溪县| 凤冈县| 乐昌市| 玉环县| 余姚市| 崇义县| 清苑县| 仁化县| 巴林左旗| 卓资县| 三台县| 辉南县| 木里| 福州市| 蒲江县| 巧家县| 新河县| 彰化县| 甘德县| 沛县|