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

?

自平衡兩輪電動車運動控制系統(tǒng)的硬件設(shè)計及實現(xiàn)

2016-06-08 12:00:09王娜孫思遠(yuǎn)
科技視界 2016年14期
關(guān)鍵詞:卡爾曼濾波傳感器

王娜 孫思遠(yuǎn)

【摘 要】兩輪自平衡小車是一種不穩(wěn)定系統(tǒng),只有通過調(diào)節(jié)兩輪的運動快慢和方向才能使其達(dá)到動態(tài)的平衡。本文基于stm32系列單片機,從硬件原理開始分析說明,闡述了控制系統(tǒng)的硬件設(shè)計,對陀螺儀和加速度傳感器測量實際傾角的過程和方法做了仔細(xì)分析說明,并設(shè)計了雙閉環(huán) PID 控制器,同時對系統(tǒng)中涉及的濾波算法和PID控制算法做了理論分析,給出了整個系統(tǒng)的軟件控制流程。通過實驗表明兩輪自平衡小車基本能夠?qū)崿F(xiàn)直立控制。

【關(guān)鍵詞】平衡控制;PID控制器;卡爾曼濾波;STM32;傳感器

0 引言

移動機器人技術(shù)是目前科學(xué)技術(shù)發(fā)展最活躍的領(lǐng)域之一,而兩輪自平衡小車又是移動機器人研究中的一個重要領(lǐng)域[1],兩輪自平衡小車系統(tǒng)具有本質(zhì)不穩(wěn)定、多變量、非線性、強耦合等特點,并且涉及到復(fù)雜的運動學(xué)、動力學(xué)系統(tǒng)和很多控制算法[2]。本文在對該控制理論分析的基礎(chǔ)上通過PID控制和卡爾曼濾波,最終實現(xiàn)對平衡車的系統(tǒng)設(shè)計。

1 自平衡兩輪電動車的運動控制原理

由于該模型是單軸雙輪,所以在車體與豎直方向產(chǎn)生傾角的時候,小車就會在車體重力沿水平方向的分力作用下運動而不能保持靜止,但是我們可以通過電機控制兩個輪子的轉(zhuǎn)速和轉(zhuǎn)向,從而使其抵消其傾斜的趨勢,這樣便可以使兩輪小車保持自平衡。[3]

兩輪自平衡小車的總體控制原理如圖1所示。整個系統(tǒng)的核心是STM32F103C8T6單片機,該系統(tǒng)主要由運動處理傳感器、電機驅(qū)動、電源管理電路、串口通信、直流無刷電機和磁電編碼器組成。MPU6050內(nèi)部集成陀螺儀和加速度計,分別用于測量角速度和角加速度,并將采集到的數(shù)據(jù)存放到FIFO寄存器,通過I2C協(xié)議傳輸給單片機后進(jìn)行卡爾曼濾波,就可以得到正確的傾角。而電機的轉(zhuǎn)速則是由磁電編碼器返回到單片機并計算出一定時間內(nèi)的計數(shù)來判斷車速的大小和方向。電機驅(qū)動則選用TB6612FNG來控制兩個直流電機的正轉(zhuǎn)、反轉(zhuǎn)、制動和調(diào)速功能。串口通信主要是進(jìn)行程序的燒寫。電源模塊的主要作用是提供各電路工作所需的電源。

2 系統(tǒng)的硬件設(shè)計及實現(xiàn)

2.1 單片機選型

主控芯片采用STM32F103C8T6單片機,它作為一種高性能、低成本、低功耗的ARM Cortex-3內(nèi)核單片機,比傳統(tǒng)的51單片機應(yīng)用更加廣泛,體積更加小巧。最高時鐘頻率可達(dá)72MHz,而工作電壓只有3.3V,它的外設(shè)包括10個定時器、4路PWM、兩個12位模數(shù)轉(zhuǎn)換器、兩個12位數(shù)模轉(zhuǎn)換器、兩個I2C接口、五個USART接口和三個SPI端口。新產(chǎn)品外設(shè)共有12條DMA通道,可以用ARM內(nèi)核的Keil工具進(jìn)行編程。

2.2 系統(tǒng)電源的設(shè)計

本系統(tǒng)的電源共涉及三個電壓值,分別為12V、5V、3.3V。12V用于驅(qū)動電機,3.3V作為單片機和傳感器的邏輯電平,5V則作為驅(qū)動電機的電平,而且在供電設(shè)計時的壓降也不宜過大,否則容易使芯片發(fā)熱量過大。利用軟包電池組或者其他電池作為12V直流電源,先通過LM2596穩(wěn)壓芯片將12V轉(zhuǎn)換為5V,再通過AMS1117-3.3將5V轉(zhuǎn)換為3.3V電源。其應(yīng)用方式均可在相應(yīng)芯片資料中得到。

2.3 測速系統(tǒng)的設(shè)計

測速設(shè)計采用的是AB相增量式霍爾編碼器,其原理是采用磁阻或者霍爾元件對變化的磁性材料的角度或者位移值進(jìn)行測量,磁性材料角度或者位移的變化會引起一定電阻或者電壓的變化,通過放大電路對變化量進(jìn)行放大,通過單片機處理后輸出脈沖信號或者模擬量信號,達(dá)到測量的目的。

其核心代碼如下:

Encoder_TIM= (short)TIM2 -> CNT; TIM2 -> CNT=0;

通過一段時間內(nèi)計數(shù)器的計數(shù)個數(shù)來判斷速度大小,其具體速度值還需要進(jìn)一步處理。

2.4 電機控制芯片選型

電機控制采用芯片TB6612FNG,它有6路輸入8路輸出,可控制兩個直流電機,邏輯電平輸入為5V,驅(qū)動電壓為12V。每四個輸出控制一個電機,每三個輸入都可以實現(xiàn)一組電機的正轉(zhuǎn)、反轉(zhuǎn)、制動。而速度的調(diào)節(jié)則由單片機的計時器提供的PWM波實現(xiàn)。

3 車身傾角的獲取

3.1 運動處理傳感器的選取和編碼

對于車身傾角的獲取采用MPU6050運動處理傳感器,它內(nèi)部包含GYRO(陀螺儀)用于采集角速度和ACCEL(加速度計)用于采集加速度,由于陀螺儀的溫漂還集成了溫度傳感器。采集后的數(shù)據(jù)存入FIFO寄存器,可以輸出6軸旋轉(zhuǎn)矩陣,分別對應(yīng)xyz軸的角度和角加速度。其并不需要AD轉(zhuǎn)換的步驟,而是利用I2C同步通訊與單片機傳輸數(shù)據(jù),提高了系統(tǒng)運行效率。

其采集數(shù)據(jù)的核心代碼為:

MPU6050_FIFO[i][j-1]=MPU6050_FIFO[i][j];

該數(shù)組表示對第i個軸上的第j-1個數(shù)據(jù)進(jìn)行更新,通過循環(huán)即可得到一段時間內(nèi)的i*j的矩陣。為了減小噪聲干擾,可以取多組數(shù)據(jù)平均值即為該時刻的運動狀態(tài)。

3.2 傳感器數(shù)據(jù)的處理

在傳感器采集到數(shù)據(jù)后,就會通過I2C傳輸給單片機進(jìn)行下一步處理,此時就可以得到FIFO寄存器中的數(shù)據(jù)。加速度計可以測量動態(tài)和靜態(tài)的線性加速度,則加速度計輸出的加速度與車身傾角的關(guān)系為:

?茲=tan-1(Ax/Ay)

其中Ax為x軸方向上的加速度,Ay為y軸方向上的加速度。在C程序中可以用math.h里面的函數(shù)計算,其代碼為:

angle_Y=atan2(Accel_X,Accel_Z)*180/PI;

根據(jù)小車模型及焊接方向即可確定傾角的旋轉(zhuǎn)軸,此處以y軸為例,為了計算簡便最好在設(shè)計之初確定好MPU6050的軸向。

陀螺儀的直接輸出值是相對靈敏軸的角速率,角速率對時間積分即可得到圍繞靈敏軸旋轉(zhuǎn)過的角度值,在C程序中利用累加即可完成。

4 整體的控制流程

首先對整個電路的工作方式進(jìn)行設(shè)置,包括系統(tǒng)時鐘初始化、中斷初始化、ADC初始化、傳感器初始化等。然后傳感器開始工作,采集到的加速度經(jīng)過公式轉(zhuǎn)換為角度值,而角速度經(jīng)過積分得到角度或者直接進(jìn)行濾波,這里采用互補濾波。

其中Ti表示積分時間常數(shù);Td表示微分時間常數(shù)。經(jīng)過濾波后的角度值為PD控制,而對編碼器返回的速度值為PI控制,最后輸出的增量值賦值給相應(yīng)寄存器來調(diào)節(jié)PWM占空比,最后驅(qū)動電機轉(zhuǎn)動,使小車達(dá)到平衡。

5 結(jié)論

實際試驗表明我們的設(shè)計基本實現(xiàn)了控制小車防傾倒和行動的目的,對濾波算法和PID算法進(jìn)行了說明,同時降低了硬件成本和能耗。我們將會在此基礎(chǔ)上做更進(jìn)一步的深入研究,相信未來兩輪自平衡車技術(shù)也將會得到更大的發(fā)展。

【參考文獻(xiàn)】

[1]徐國華,譚民.移動機器人的發(fā)展現(xiàn)狀及其趨勢[J].機器人技術(shù)與應(yīng)用,2001,14(3):7-14.

[2]鄭曉偉,陳萬米.基于DSP的兩輪自平衡小車系統(tǒng)的研究[J].工業(yè)控制計算機,2012,25(9):33-35.

[3]楊亞龍,劉金棟,孫玉環(huán),丁婷.基于 STC12C5410AD 單片機的兩輪自平衡小車的系統(tǒng)設(shè)計[J].電子設(shè)計工程,2013,10(20):162-164.

[4]張洋,劉軍,嚴(yán)漢宇.原子教你玩STM32(庫函數(shù)版)[M].北京:北京航天航空大學(xué)出版社,2013.

[5]李寧.ARM MCU開發(fā)工具M(jìn)DK使用入門[M].北京:北京航天航空大學(xué)出版社,2012.

[6]歐陽駿,李英芬,王小強,等.瘋狂STM32實戰(zhàn)講學(xué)錄[M].北京:中國水利水電出版社,2013.

[7]陳海宴.51單片機原理及應(yīng)用——基于Keil C與Proteus(第2版)[M].北京:北京航天航空大學(xué)出版社,2010.

[8]何欽銘,顏暉.C語言程序設(shè)計[M].北京:高等教育出版社,2012.

[責(zé)任編輯:王偉平]

猜你喜歡
卡爾曼濾波傳感器
康奈爾大學(xué)制造出可拉伸傳感器
簡述傳感器在物聯(lián)網(wǎng)中的應(yīng)用
電子制作(2019年22期)2020-01-14 03:16:52
“傳感器新聞”會帶來什么
傳媒評論(2019年5期)2019-08-30 03:50:18
跟蹤導(dǎo)練(三)2
基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
基于模糊卡爾曼濾波算法的動力電池SOC估計
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
基于自適應(yīng)卡爾曼濾波的新船舶試航系統(tǒng)
天峨县| 荔浦县| 宜兰市| 江孜县| 政和县| 阳曲县| 潼关县| 临邑县| 玉树县| 辽中县| 玉林市| 芷江| 日照市| 韶关市| 咸丰县| 陆川县| 沂南县| 福清市| 内乡县| 磐安县| 正定县| 板桥市| 南丹县| 关岭| 旺苍县| 原阳县| 建湖县| 东乡族自治县| 航空| 中牟县| 安国市| 长垣县| 库尔勒市| 山丹县| 平阳县| 中江县| 南木林县| 大名县| 阿克苏市| 张家川| 攀枝花市|