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

競賽機器人多舵機控制方法的研究與實現

2016-08-06 02:33:04韓玉龍申忠宇王欣然
自動化儀表 2016年7期
關鍵詞:單片機程序動作

韓玉龍 趙 瑾 申忠宇 王欣然

(南京師范大學電氣與自動化工程學院,江蘇 南京 210014)

?

競賽機器人多舵機控制方法的研究與實現

韓玉龍趙瑾申忠宇王欣然

(南京師范大學電氣與自動化工程學院,江蘇 南京210014)

摘要:針對競賽機器人中多舵機的運動控制,研究了以Atmega128為主控芯片的多路舵機控制方法的設計與實現。通過單片機內部定時器匹配中斷和分時復用的方法,實現了多路舵機精準的位置控制,并實時優化多路舵機的最小步長,滿足了多路舵機的速度控制要求。設計了AVR的Bootloader自引導程序,結合Visual Basic 6.0開發了一款簡易的多舵機可視化編程調試軟件,實現了PC機與AVR之間數據通信、下載、更新動作庫等功能。該軟件被成功應用于中國機器人大賽中。

關鍵詞:機器人多舵機單片機上位機PWM分時復用VB

0引言

直流伺服電機,也稱舵機,是一種位置控制伺服直流電機。舵機的控制信號實際上是一種脈沖寬度調制信號(pulse width modulation,PWM)。對于中國機器人大賽中的具有10個自由度的自由體操機器人而言,10個舵機形成了體操機器人的10個不同運動關節,那么對于多舵機的控制就要產生多路獨立的PWM信號[1-3]。利用AVR單片機內部定時器匹配中斷和分時復用的方法,通過單片機普通的數字I/O口,實現了多路脈寬可調的PWM波形輸出,且精度高[4]、成本低、性能穩定[5]。結合自由體操機器人的動作要求,設計了一款競賽機器人控制系統電路,以及基于Visual Basic6.0的簡易編程調試軟件。

1競賽機器人控制系統電路設計

AVR單片機控制系統普遍應用于中國機器人大賽的自由體操機器人的比賽項目中。要完成比賽項目,首先必須通過AVR單片機產生10路PWM周期信號,其次還要確保脈寬隨時可控可調。針對方波的畸變,增加了光耦抗干擾電路設計,使得輸出的PWM精準、可靠性高;結合現場比賽規則和AVR單片機的特點,設計使用RS-232接口實現下位機與上位機的通信。競賽型機器人控制器的硬件均采用模塊化和功能化的結構設計方法。控制系統框圖如圖1所示。

圖1 控制系統框圖Fig.1 Block diagram of the control system

2電路設計

2.1系統電路設計

自由體操競賽機器人的控制器采用ATMEL公司的Atmega128單片機作為主控芯片。該款單片機基于RISC結構,具有8位低功耗CMOS微控制器,最大具有48個可編程的I/O口,非常適合控制多自由度的微小型機器人。該單片機中具有2個16位定時器、2個8位定時器、任選2個定時器,可滿足舵機最大精度的轉角控制。控制器采用外接最高16 MHz的石英晶振來產生系統時鐘,使得系統定時更加精準。

2.2光耦抗干擾電路

通過單片機輸出的PWM經過光電耦合器,提高了抗干擾能力。但輸出的PWM波在傳輸的過程中被反相了,因此從光耦出來的信號必須由反相器HEF40106施密特進行反相。在施密特反相器中對光耦出來的反相PWM進行恢復、整形,并消除上升沿和下降沿的畸變,產生標準的PWM方波信號。

2.3串口通信電路

AVR單片機接收上位機發送數據,上傳、下載應用層代碼,以此來完成機器人的動作。內部配有獨立的波特率發生率,能方便地與PC機實現串行通信。由于USART使用的是CMOS電平,須通過電平轉化才能實現RS-232通信。該電路采用MAX232電平轉換芯片。串行通信工作速率為19 200 bit/s,具體配置模式是1位起始位、8位數據位、1位停止位、無奇偶校驗等。

2.4電源設計電路

自由體操機器人選用的舵機工作額定電壓為7.4 V。在額定電壓下,可發揮舵機的最大轉速和扭矩。AVR128單片機供電額定電壓為3.3 V,須對供電電源進行降壓電路設計。本文采用三端穩壓器1117。輸入端C1、C3電容用來抵消輸入、輸出線較長的電感效應,防止電路產生自激振蕩;C2用來濾除輸入電壓的高頻紋波。

3競賽機器人多舵機控制方法

對于多路舵機的同時運動,必須考慮對普通I/O數字端口的擴展,分時復用處理。首先利用了兩個定時器/計數器:一個是周期定時器,選用8位定時器/計數器T0;另一個是脈寬計數器,選用16位定時器T1。其中T1定時器定時周期設為10 μs,因為舵機的每度轉角對應脈寬為(2 500-500)/180=11.11 μs。可以確定的是,采用10 μs定時,可以確保舵機的精度在1°以內。

根據比賽現場的要求,實現了機器人的關節自由度速度配置,即在完成每個動作過程中就可以對每路舵機進行速度調節[6]。對AVR單片機進行了高級應用,對其程序區域固化,能適應自編程更新機制,即進行了自引導程序(bootloader)的實現和驗證。另開發了一款基于VB的可視化調試平臺,便于PC機與AVR單片機實現上傳、下載、更新動作庫等。

3.1舵機的組成及工作原理

模擬舵機由金屬外殼、一個小型直流電機、一組減速金屬齒輪組、一個旋轉電位器和一塊控制板組成。舵機的控制信號由PWM波決定。當PWM信號輸入舵機內部的解調電路,將會獲得一個直流偏置電壓。舵機內部產生一個周期為20 ms,脈寬為1.5 ms的基準信號,將獲得的直流偏置電壓與電位器反饋的電壓進行差運算,得到差值Ue。將此電壓差Ue送入控制電路中,以驅動電機的正反轉。通過級聯齒輪組降低轉速,獲得較大的扭矩,且級聯齒輪組末端連接電位器旋轉,直到Ue等于0,舵機保持穩定狀態,勵磁停轉。

模擬舵機有三根導線,分別是:電源正線、地線、信號線。電源正線、地線為舵機內部直流電機供能,其電壓一般在4~7 V之間。方波的標準周期為20 ms。舵機的轉動角度在0°~180°之間。脈寬的持續時間決定舵機的轉動角度[7]。

3.2多路舵機分時復用控制方法

控制舵機從0°~180°轉角的脈寬為0.5~2.5 ms。出于舵機之間的差異性和安全性的考慮,控制舵機實際的脈寬在0.7~2.3 ms之間。由于其工作的脈寬小于周期的1/8,因此可以利用軟件定時和定時器硬件中斷產生8路穩定的PWM。本方法實際相當于把20 ms的MCU時間作為一個控制周期,將2.5 ms作為每一個時間區間,這樣就可以利用每一個時間區間來調整每一路PWM輸出的脈寬,從而實現了多舵機不同位置在同一周期的控制。

3.3多路舵機分時復用軟件設計

多路舵機分時控制軟件實現過程如下: T0定時器用來產生2.5 ms的周期,并且在每個周期到來時,產生定時匹配中斷,在中斷程序中對應端口配置成高電平;T1定時器用來產生10 μs的定時周期,在每個周期到來時發生匹配中斷,用count來計數10 μs的個數。在主程序中不斷檢測相對應硬件端口脈寬數組中對應的值是否與count相等。如果相等,則拉低該位電平,并完成該端口的脈寬控制,下一次的高電平將在8個2.5 ms之后出現,即完成周期為20 ms的PWM。分時復用軟件流程圖如圖2所示。

圖2 分時復用軟件流程圖Fig.2 Flowchart of the time division multiplexing program

3.4多舵機速度控制軟件設計

對于多路舵機的速度控制,按照機器人動作編排順序,數組a[i]代表每路舵機上一個動作的位置,b[i]代表每路舵機本次動作的位置,c[temp0]是找出舵機最大位置差,c[temp0]/vel的商作為速度控制中舵機所須分段執行的段數,c[i]/temp1為每路舵機最小步長,motion()子函數是調用舵機運動的相關指令。通過分解每個動作中,每路舵機須變化的位移,等分地執行最小步長,并加入延時函數,以此來完成對多路舵機的速度控制。

void setspeed(unsigned int vel)

{

Signed int i,k,m,temp0=0,temp1=0;

For(i=0;i<10;i++)

{

c[i]=b[i]-a[i];

If (fabs(c[temp0]) fabs(c[i]))

temp0=j;

}

temp1=fabs(c[temp0]/vel);

temp1++

for(j=0;j<10;j++)

{c[j]=(c[j]*32)/temp 1;

d[j]=a[j]*32;}

for(j=0;j<10;j++)

{

d[j]=d[j]+c[j];

a[j]=(d[j]/32);

}

motion();啟動多路舵機動作

}

}

部分程序和流程圖如圖3所示。

圖3 程序流程圖Fig.3 Flowchart of the program

3.5多舵機可視化編程軟件設計

綜合自由體操機器人的比賽情況,分時復用的方法僅限于AVRstudio等編程環境,采用C語言編程,動作修改難度大、耗時較長。因此,設計了一款針對競賽機器人的多舵機可視化編程軟件。這款可編程軟件是基于VisualBasic6.0環境下生成的可執行文件,可在WindowsXP、Win7下運行簡易可編程軟件,能方便地實現PC機與AVR通信、下載動作指令等。

3.5.1AVR自引導程序軟件設計

AVR具備引導加載支持的用戶程序自編程功能,它提供了一個真正的由MCU本身自動下載和更新(采用讀/寫同時“Read-While-Write”進行的方式)程序代碼的系統程序自編程更新的機制[8]。利用AVR的這個功能,可以實現在應用編程(IAP)以及系統程序的遠程自動更新。IAP的本質就是,MCU可以靈活地運行一個常駐Flash的引導加載程序,以實現對用戶應用程序的在線自編程更新。如給出一個實際的BootLoader程序,可以使用RS-232的數據接口和相關的協議讀取代碼,或者從程序存儲器中讀取代碼,然后將代碼寫入(編程)到Flash存儲器中。

3.5.2VB可編程軟件設計

VisualBasic6.0是一款可視化軟件開發平臺,利用VB提供的MSComm串行控件,可實現與AVR單片機的串口通信,參數初始化為“19 200,N,8,1”,即波特率為19 200,無奇偶校驗,8位數據位,1位停止位。水平滾動條HScrollbar配置成舵機0°~180°的轉角。Timer定時器提供了各個舵機運動的延時,整體控制時序。比如上位機代碼Axis[i](j)指令調用到上位機解析代碼,i解析成舵機號,j解析成具體的位置控制。

4結束語

自由體操機器人控制系統是由ATmega128單片機來實現的,其充分利用了單片機內部的定時器、USART等片內資源模塊,將分時復用的方法引入到單片機控制中,實現了對多路舵機的變速控制。試驗證明,該方法可行、穩定,實現了對機器人的精準控制。下一步是尋求精度更高的控制策略,引入舵機的新型

控制算法[9-10],實現舵機的最優控制等。

參考文獻:

[1] 紀浩,吳友強,鄒力涵.一種輪式移動機器人運動控制系統的實現[J],自動化儀表,2013,34(11):26-29.

[2] 候華,馮波,宋彬.自適應智能光電循跡系統的設計與實現[J],自動化儀表,2014, 35(3):77-81.

[3] 韓慶窯,洪草根,朱曉光,等.基于AVR單片機的多舵機控制系統設計及仿真[J].計算機測量與控制,2011:19(2):332-334.

[4] 蔣辰飛,劉子龍,胡少凱,等.基于AVR單片機的多舵機控制精度的研究[J].信息技術,2014(3):35-37.

[5] 付麗,劉衛國,尹強.單片機控制多路舵機用PWM波產生方法[J].微特電機,2006(2):28-33.

[6] 柯文德,彭志平,蔡則蘇,等.防人機器人相似性運動軌跡跟蹤控制研究[J].自動化學報,2014,40(11):2404-2413.

[7] 李霞,蘇淵博.基于AVR單片機的電動舵機控制器設計[J].單片機與嵌入式系統應用,2013(5):63-69.

[8] 邵子揚.AVR單片機應用專題精講[M].2版.北京:北京航空航天大學出版社,2013:76-92.

[9] 吳正興,喻俊志,蘇宗帥,等.仿生機器魚S形起動的控制與實現[J].自動化學報,2013,39(11):1914-1922

[10]吳正興,喻俊志,譚明.兩類仿鲹科機器魚倒游運動控制方法的對比研究[J].自動化學報,2013,39(12):2032-2042.

中圖分類號:TH-3;TP242

文獻標志碼:A

DOI:10.16086/j.cnki.issn1000-0380.201607012

Research and Implementation of the Multiple Steering Engine Control Method for Competition Robot

Abstract:In view of the motion control of multi-steering engine in competition robots,the design and implementation of the control method with Atmega128 as the main control chip are studied for multi-steering engine.With the features of timer matching interrupt and time division multiplexing in single chip computer,the precise position control of multi-steering engine is realized,and the minimum step length of multi-steering engine is optimized in real time,which satisfies the speed control for multi-steering engine.The Bootloader for AVR is designed,and the visualized programming and debugging software is developed with help of Visual Basic 6.0 to meet the requirements of implementing functions of data communication between PC and AVR,download and update action library.The method has been applied in China Robocup.

Keywords:RobotMulti-steering engineSinglechipUpper computerPWMTime division multiplexingVB

修改稿收到日期:2015-12-29。

第一作者韓玉龍(1989—),男,現為南京師范大學控制理論與控制工程專業在讀碩士研究生;主要從事機器人控制方向的研究。

猜你喜歡
單片機程序動作
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
動作描寫要具體
“程序猿”的生活什么樣
畫動作
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
動作描寫不可少
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 久久频这里精品99香蕉久网址| 亚洲男人天堂网址| 亚洲美女操| 91成人在线免费视频| 久久男人资源站| 成人在线观看不卡| 日本欧美中文字幕精品亚洲| 亚洲区第一页| 国产性生交xxxxx免费| 无码综合天天久久综合网| 毛片a级毛片免费观看免下载| 综合色在线| 国产一区二区人大臿蕉香蕉| www.国产福利| 国产精品无码AⅤ在线观看播放| 亚洲免费福利视频| 97久久人人超碰国产精品| 日韩无码一二三区| 国产精品林美惠子在线观看| 99爱视频精品免视看| 2022国产无码在线| 久久免费成人| 国产香蕉在线视频| 波多野结衣的av一区二区三区| 国产精品xxx| 国产视频 第一页| 伊人中文网| 91在线无码精品秘九色APP| 精品精品国产高清A毛片| 日本一区二区三区精品视频| 久久国产精品麻豆系列| 国内精品视频在线| 91精品国产自产91精品资源| 亚洲性日韩精品一区二区| 色偷偷av男人的天堂不卡| 亚洲成网站| 国产一级片网址| 国产精品污视频| 欧美日韩高清| 欧美精品啪啪| 高清无码一本到东京热| 国产永久在线观看| 国产91无毒不卡在线观看| 中文字幕亚洲第一| a级毛片免费在线观看| 午夜人性色福利无码视频在线观看| 欧洲熟妇精品视频| 日韩一级毛一欧美一国产| 国产理论最新国产精品视频| 久久香蕉国产线看观看式| 欧美国产日产一区二区| 成人欧美日韩| 国产一级毛片网站| 国产欧美亚洲精品第3页在线| 久久激情影院| 色婷婷狠狠干| 特黄日韩免费一区二区三区| 亚洲精品福利网站| 无码福利日韩神码福利片| 99精品视频播放| 日本www色视频| 国产精品亚洲五月天高清| 91在线一9|永久视频在线| 成人国产三级在线播放| 免费在线成人网| 国产午夜精品一区二区三| 一级毛片高清| 九色视频线上播放| 在线永久免费观看的毛片| 日本精品一在线观看视频| 亚洲色图另类| 国产高清又黄又嫩的免费视频网站| 全免费a级毛片免费看不卡| 日本AⅤ精品一区二区三区日| 国产精品人人做人人爽人人添| 成人免费一区二区三区| 91尤物国产尤物福利在线| 欧美v在线| 国产精品爆乳99久久| 国产精品免费p区| 亚洲中文字幕手机在线第一页| 美臀人妻中出中文字幕在线|