999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的機器人運動精確控制系統設計

2018-06-30 06:20:08謝邵春陳楊彭友玉張雯麗鄭辰雅
科技創新與應用 2018年16期

謝邵春 陳楊 彭友玉 張雯麗 鄭辰雅

摘 要:針對機器人運動控制不精確,如實際轉向與控制轉向有偏差,導致調整麻煩,通常需要傳感器(如使用光電編碼器)進行反饋控制。若輪子直徑不一樣,會造成控制量上的累積誤差。為了解決該問題,設計了一個基于STM32微控制器的機器人運動精確控制系統,對由于直徑不同導致的誤差進行標定補償,實現機器人行走,尤其是轉向時角度的精確控制。該設計,以PID為基本控制算法,STM32F4單片機為控制核心,使用其通用定時器的輸入捕獲功能來采集光電編碼器的輸出,進而產生受PID算法控制的PWM脈沖,對直流電機的轉速進行控制,實現機器人精度高的運動性能控制。

關鍵詞:STM32;PID控制;運動精確控制;PWM

中圖分類號:TP242 文獻標志碼:A 文章編號:2095-2945(2018)16-0035-03

Abstract: In view of the imprecise motion control of the robot, such as the deviation between the actual steering and the control steering, which leads to the adjustment trouble, it usually needs the sensor (such as using photoelectric encoder) to carry on the feedback control. If the wheel diameter is different, it will cause the cumulative error on the control quantity. In order to solve this problem, a precise control system of robot motion based on STM32 microcontroller is designed. The error caused by different diameters is calibrated and compensated to realize the precise control of the robot's walking angle, especially when it is steering. This design takes PID as the basic control algorithm and STM32F4 single chip microcomputer as the control core, uses the input and capture function of its universal timer to collect the output of the photoelectric encoder, and then produces the PWM pulse controlled by the PID algorithm. The speed of DC motor is controlled to realize the motion performance control of robot with high precision.

Keywords: STM32; PID control; precise motion control; PWM

引言

直流電動機應用于實際多個領域內,因為它具有較好的調速性能、啟動轉矩大、控制性能優等特點[1-2]。單片機的應用使直流調速進入一個更加智能與可靠的新階段[3]。

現有的直流調速系統在應用于機器人行走控制時,一般存在控制不精確的缺點。本設計基于一款性價比高、功耗低的STM32單片機為控制核心,結合PID控制技術,將電機轉速控制作為研究對象,以掃地機器人為依托平臺,微控制器產生的PWM脈沖受PID程序算法控制,以實現對直流電機轉速的控制,同時使用光電編碼器實時測量旋轉的角度,反饋到單片機中,實現角度的閉環控制,進而實現對機器人轉向活動的精確控制。

1 系統結構

根據設計的目的和要求,給出了如圖1所示的總體系統框圖。圖中STM32單片機為系統的核心控制器件,負責旋轉角度的模糊控制。針對轉向控制,在編程時把每個預定角度對應電機所需旋轉的圈數輸入單片機中,機器人在運轉時,旋轉角度信息通過光電編碼器輸出到單片機輸入捕捉通道內,由高低電平的變化數目,可換算成實際轉過的角度,再與預設定角度對比得出偏差值,用PID算法調整控制STM32單片機中通用定時器的PWM生成模塊,改變PWM脈沖的占空比,再將PWM脈沖送到L298N電機驅動模塊中,控制直流電機轉速。由此可得到電機需要的實時轉速,從而實現機器人轉向角度的精確控制。

2 硬件設計

2.1 STM32F4微控制器

經過分析對比各種型號的微控制器,最終選定了ALIENTEK探索者STM32F4單片機作為此設計的微控制器,選擇理由有:(1)接口種類豐富。開發板提供多種標準接口,如不同電壓的電源接口,方便外設的供電。(2)功能滿足設計需求。板載多種定時器(如高級定時器TIM1和TIM8,通用定時器TIM2到TIM5)可用于各種用途,包括輸入捕捉,或者生成輸出波形(輸出比較、PWM和帶死區插入的互補PWM)。

2.2 直流電機驅動模塊

根據設計要求,電機驅動電路使用L298N集成電路。L298N為雙全橋式驅動芯片,其設計可接受標準TTL邏輯電平信號。一個L298N芯片可驅動2個46V,2A以下的電機。驅動電路如圖2所示。OUT1,OUT2和OUT3,OUT4之間可分別接電動機,且可以直接通過接收前段信號來調節輸出電壓,控制直流電機轉速。ENA,ENB接PWM控制使能端,控制電機的停轉狀態[4]。

2.3 光電編碼器

作為角度測量模塊,用來反饋當前旋轉角度值,且就本設計而言要求測量精度較高,故選擇具有較高精度的光電編碼器作為角度傳感器,其部分參數分別如表1,表2所示。實物圖如圖3所示。

表1 碼盤技術參數

黃色和藍色的兩根信號線,其輸出為TTL電平信號,可以直接連接單片機。測電機正反轉即用這兩個電平進行區分。

設AB為信號線,A先有脈沖,證明是正轉;B先有脈沖,證明是反轉。標定時確定好車輪旋轉一圈編碼器輸出高低電平的變化數目,為后面編程控制旋轉角度提供數據。

3 軟件設計

3.1 PID算法

本系統設計的核心算法為PID算法,PID控制原理簡單,是一種穩定、使用很廣泛的控制方法。采用增量式PID控制算法控制PWM脈沖的占空比,該算法不需要對誤差進行累加,可以避免計算溢出,防止積分飽和。它根據本次采集的數據與設定值進行比較得出偏差e(k),對偏差進行PID運算,最終利用運算結果改變PWM脈沖的占空比,以實現對電機電壓的調節,進而控制電機轉速。移動機器人的左右兩個輪子由兩個獨立直流電機分別控制,對這兩個電機的PID控制系統結構是相同的。式(1)為增量式PID控制算式:

?駐U(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)](1)

其中,Kp、Ki、Kd分別為比例、積分、微分增益。通過設置合適的參數可達到較好的控制精度。PID控制系統結構如圖4所示

圖中Vin為預定角度值、Vout為實際已旋轉的角度。把每個特定角度對應電機所需旋轉的圈數編程輸入單片機中,在機器人運轉時,用單片機輸入捕捉高低電平的變化,則可知實際已轉過的角度,與預設定角度對比,由PID算法公式算出當前電機需要的轉速,從而達到精確控制角度的目的。

機器人前段平均分布5個紅外線避障傳感器,按相對位置可分為:右側、右上、前方、左上、左側。其中預設障礙情況分為4種,對應角度規則有:

(1) 無障礙:左側(右側)、前方均無障礙物,規則為:直行。

(2) A類障礙:右側、右上方有障礙物,規則為:左轉90°。

(3) B類障礙:左側、左上方有障礙物,規則為:右轉90°。

(4) C類障礙:左側、右上方均有或前方、左右側均有障礙物,規則為:右轉180°。

3.2 減少系統誤差的方法

在機器人移動過程中,對控制結果影響比較大的誤差主要是系統誤差。對移動機器人而言系統誤差是無法避免的,在機器人制造裝配完成時就作為一種物理屬性而存在,雖然在之后的使用過程中機器人的一些機械特性會發生變化,但從總體來看,系統誤差的變化不大,近似可看成一個定值。故可在一開始使用時即進行消除或補償。

在上述系統誤差中,兩個車輪的直徑不同是引起系統誤差的主要因素。針對該系統誤差,有如下的解決方法:在使用前,單獨對兩個車輪分別進行檢查標定,即行走相同的距離或旋轉相同的弧度,觀察光電編碼器旋轉的圈數(角度)是否一致,差值分別是多少,記下后在之后的編程中對其差值進行補償,保證機器人行走時兩個車輪運行同步。

3.3 程序流程圖

在已知補償量的前提下,開始時硬軟件進行初始化,機器人啟動行走,當碰到障礙物時,根據5個紅外傳感器的狀態執行對應的避障程序,開始旋轉預定的角度,此時旋轉角度信息通過光電編碼器輸出到單片機輸入捕捉通道內,由高低電平的變化數目,可換算成實際轉過的角度,再與預設定角度對比得出偏差值,若偏差不為0,則調用PID算法調整控制STM32中通用定時器的PWM生成模塊,改變PWM脈沖的占空比,再將PWM脈沖送到L298N電機驅動模塊中,控制直流電機轉速,控制機器人繼續旋轉直至角度偏差接近0。之后初始化軟硬件,等待下一次避障控制。PID算法流程圖如圖5所示:

4 結論

基于STM32微控制器的機器人運動精確控制系統,對由于直徑不同導致的誤差進行標定補償,實現了機器人行走,尤其是轉向時角度的精確控制。該設計,以PID為電機控制算法,同時使用光電編碼器實時測量旋轉的角度,實現角度的閉環反饋控制,從而實現機器人轉向角度的較高精度控制。對機器人的運動控制設計具有一定導參考價值。但是對如何降低轉向時的響應延遲時間以及選擇更加合理的PID參數以達到更高的控制精度,還需要做進一步探討。

參考文獻:

[1]徐麗春.基于模糊PID的直流電機控制系統研究[J].煤礦機械,2014,35(08):45.

[2]趙正黎,于惠鈞,張發明,等.基于模糊PID控制的直流電機調速系統[J].湖南工業大學學報,2015,29(2):38.

[3]直流電機PID調速系統[D].陜西:陜西理工學院,2012.

[4]尹慧,詹新生.基于單片機控制的角度自動調整系統設計[J].電子設計工程,2012,20(2):132-134.

[5]王國宇.基于STM32的無刷直流電機控制系統設計及仿真研究[D].廣西:廣西師范大學,2016.

[6]張益平.基于PID控制的直流電機調速系統設計[J].2009,9(4):60-61.

[7]史罕初.移動機器人在未知環境下自定位導航和地圖創建[D].浙江:浙江工業大學,2006.

主站蜘蛛池模板: 国产精品成人一区二区不卡| 自拍偷拍欧美日韩| 亚洲一区二区三区麻豆| 久青草免费在线视频| 欧洲在线免费视频| 国产喷水视频| 男人天堂伊人网| 日韩东京热无码人妻| 国产成人综合久久| 一本久道久久综合多人| 久久窝窝国产精品午夜看片| 色老头综合网| 亚洲熟妇AV日韩熟妇在线| av手机版在线播放| 久久黄色视频影| 成年人福利视频| 伊人成人在线| 亚洲区欧美区| 视频一区视频二区日韩专区| 欧美α片免费观看| 亚洲高清中文字幕| 免费看一级毛片波多结衣| 国产在线高清一级毛片| 伊人天堂网| 少妇精品在线| 国产一区在线视频观看| 国产激爽大片高清在线观看| 五月综合色婷婷| 日本免费福利视频| 伊人无码视屏| 国产成熟女人性满足视频| 国产白浆在线观看| 一级成人a做片免费| 在线观看国产黄色| 亚洲天堂网在线观看视频| 国产在线观看人成激情视频| 国产麻豆aⅴ精品无码| 国产福利免费视频| 伊大人香蕉久久网欧美| 亚洲欧美h| 爱爱影院18禁免费| 国产午夜福利片在线观看| 久久99国产综合精品1| 久久精品亚洲专区| 国产福利小视频高清在线观看| 91九色国产porny| 欧美日韩第三页| 思思热在线视频精品| 美女潮喷出白浆在线观看视频| 无套av在线| 99久久无色码中文字幕| 亚洲天堂首页| 国产精品hd在线播放| www.youjizz.com久久| www.日韩三级| 亚洲无限乱码一二三四区| 国产成人亚洲欧美激情| 日韩a在线观看免费观看| 91麻豆精品国产91久久久久| 亚洲色图综合在线| 人妻21p大胆| 亚洲精品无码不卡在线播放| 精品一区二区三区中文字幕| 国产亚洲第一页| 91在线视频福利| 曰韩免费无码AV一区二区| 亚洲美女一区| 久久天天躁夜夜躁狠狠| 久久77777| 好久久免费视频高清| 久久99国产精品成人欧美| 三级毛片在线播放| 亚洲国产精品一区二区高清无码久久| 黄色三级网站免费| 91极品美女高潮叫床在线观看| 国产91导航| 在线免费看片a| 久久精品丝袜| 亚洲中文字幕97久久精品少妇| 美女被操91视频| 国产精品视频观看裸模| 婷婷综合色|