小型六自由度的工業(yè)機(jī)械手的控制設(shè)計(jì)_第1頁(yè)
小型六自由度的工業(yè)機(jī)械手的控制設(shè)計(jì)_第2頁(yè)
小型六自由度的工業(yè)機(jī)械手的控制設(shè)計(jì)_第3頁(yè)
小型六自由度的工業(yè)機(jī)械手的控制設(shè)計(jì)_第4頁(yè)
小型六自由度的工業(yè)機(jī)械手的控制設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、小型六自由度的工業(yè)機(jī)械手的控制設(shè)計(jì)1、系統(tǒng)設(shè)計(jì)目的及意義工業(yè)機(jī)器人,又稱機(jī)械臂,在現(xiàn)代化工業(yè)生產(chǎn)中正發(fā)揮著越來(lái)越重要的作用,它被廣泛應(yīng)用到流水生產(chǎn)線上,代替人類從事焊接、噴涂、搬運(yùn)等許多較繁重的勞動(dòng),這不僅大大提高了生產(chǎn)效率,同時(shí)也極大地提高了產(chǎn)品的加工精度和產(chǎn)品質(zhì)量。隨著時(shí)代的進(jìn)步,機(jī)器臂技術(shù)的應(yīng)用越來(lái)越普及,已逐漸滲透到軍事、航天、醫(yī)療、日常生活及教育娛樂(lè)等各個(gè)領(lǐng)域,可以說(shuō)工業(yè)機(jī)器人的應(yīng)用對(duì)現(xiàn)代工業(yè)的發(fā)展起到了巨大的推動(dòng)作用。論文圍繞哈爾濱工程大學(xué)自動(dòng)化學(xué)院學(xué)生創(chuàng)新實(shí)驗(yàn)室購(gòu)買(mǎi)的教學(xué)用小型六自由度機(jī)械臂,完成對(duì)其關(guān)節(jié)控制系統(tǒng)的設(shè)計(jì)開(kāi)發(fā),開(kāi)發(fā)內(nèi)容包括硬件系統(tǒng)和軟件系統(tǒng)。從而使其能夠達(dá)到一定的控

2、制精度,為后續(xù)的控制算法的研究提供一個(gè)完整的平臺(tái)。2、主要研究?jī)?nèi)容論文的主要內(nèi)容包括:對(duì)機(jī)械臂結(jié)構(gòu)的改進(jìn)、安裝合適的控制系統(tǒng)、數(shù)學(xué)建模、運(yùn)動(dòng)學(xué)分析,軌跡規(guī)劃研究、控制算法研究和三維仿真研究等部分。 圖2.1 機(jī)械臂系統(tǒng)研究?jī)?nèi)容圖2.1、機(jī)械臂結(jié)構(gòu)改造創(chuàng)新實(shí)驗(yàn)室購(gòu)買(mǎi)的教學(xué)用六自由度機(jī)械臂存在以下兩個(gè)明顯不足,需要對(duì)其進(jìn)行較大的改動(dòng):(1)原機(jī)械臂包括爪子在內(nèi)共六個(gè)自由度,實(shí)際上爪子是機(jī)械臂的末端執(zhí)行器,它不影響位置和姿態(tài),不能作為一個(gè)獨(dú)立自由度;(2)原機(jī)械臂的關(guān)節(jié)執(zhí)行器使用的是6個(gè)舵機(jī),各關(guān)節(jié)處沒(méi)有任何反饋裝置,只能做簡(jiǎn)單開(kāi)環(huán)控制,生產(chǎn)廠家的技術(shù)人員證實(shí)了這一點(diǎn)。為了完成本次論文的立題要求,需

3、要至少在一個(gè)關(guān)節(jié)上做成閉環(huán)控制。針對(duì)以上兩點(diǎn)不足,在不破壞機(jī)械臂的前提下,作者對(duì)機(jī)械臂的結(jié)構(gòu)和控制部分做了以下相應(yīng)改動(dòng):(1)去掉爪部關(guān)節(jié),另外增加兩個(gè)關(guān)節(jié),使機(jī)械臂達(dá)到六個(gè)自由度,同時(shí)利于建立其數(shù)學(xué)模型;(2)將底座舵機(jī)換成直流減速電機(jī),增加一定的機(jī)械結(jié)構(gòu)來(lái)安裝角度反饋裝置,從而使機(jī)械臂能夠完成一定的閉環(huán)控制,滿足論文的立題要求。圖2.2 改裝后的六自由度機(jī)械臂實(shí)物圖2.2、數(shù)學(xué)建模六自由度鏈?zhǔn)?6R機(jī)器臂是具有六個(gè)關(guān)節(jié)的空間機(jī)構(gòu),為描述末端執(zhí)行器在空間的位置和姿態(tài),可以在每個(gè)關(guān)節(jié)上建立一個(gè)坐標(biāo)系,利用坐標(biāo)系之間的關(guān)系來(lái)描述末端執(zhí)行器的位置。一般采用Denavit-HartenBerg 法(

4、D-H法 建立坐標(biāo)系并推導(dǎo)機(jī)械臂的運(yùn)動(dòng)方程。D-H 法是1995年由Denavit 和HartenBerg 提出的一種建立相對(duì)位姿的矩陣方法。利用齊次變換描述各個(gè)連桿相對(duì)于固定參考坐標(biāo)系的空間幾何關(guān)系,用一個(gè)4×4的齊次變換矩陣描述相鄰兩連桿的空間關(guān)系,從而推導(dǎo)出末端執(zhí)行器坐標(biāo)系相對(duì)于基坐標(biāo)系的等價(jià)齊次坐標(biāo)變換矩陣,建立機(jī)械臂的運(yùn)動(dòng)方程。依據(jù)D-H 法,相鄰兩坐標(biāo)系之間的關(guān)系表示為: n -1T n =A =Rot (z , q n 創(chuàng)Trans (0,0,d n Trans (a n ,0,0 Rot (x , a n 輊cos q -sin q n cos a n sin q n

5、 sin a n犏n 犏sin q cos q n cos a n -cos q n sin a n =犏n犏0sin a n cos a n 犏犏000臌a n cos q n a n sin q nd n 0參數(shù)定義如下(參考圖3坐標(biāo)系):a n 表示繞x n 軸線由z n -1軸到z n a n 表示沿x n 軸方向z n -1軸與z n 軸之間的距離;d n 表示沿z n -1軸方向x n -1軸到x n 軸的距離;q n 表示繞z n 軸由x n -1軸所旋轉(zhuǎn)的角度;軸到x n 軸所旋轉(zhuǎn)的角度。 圖2.3 六自由度機(jī)械臂坐標(biāo)系圖2.3、運(yùn)動(dòng)分析 2.3.1正運(yùn)動(dòng)學(xué)分析正運(yùn)動(dòng)學(xué)的求解過(guò)

6、程是根據(jù)已知關(guān)節(jié)變量q 1,q 2,q 3,q 4,q 5,q 6求末端抓持器相對(duì)于參考坐標(biāo)系的位姿的過(guò)程。要對(duì)機(jī)械臂進(jìn)行分析,首先要對(duì)機(jī)械臂建q 1=0,q 2=0,q 3=0,q 4=0,立坐標(biāo)系,其坐標(biāo)系如圖3所示,各個(gè)關(guān)節(jié)變量分別是:q 5=90,q 6=0。將參考坐標(biāo)系設(shè)在6R 機(jī)械臂的基座上,于是可以從基座開(kāi)始變換到第一關(guān)節(jié),然后到第二關(guān)節(jié), 最后到末端抓持器。若把每個(gè)變換定義為A n ,那么6R 機(jī)械臂的基座和手之間的總變換為:RT H =R T 00T 11T 22T 33T 44T 55T H =A 0A 1A 2A 3A 4A 5A HA0為基座坐標(biāo)系到坐標(biāo)系0(關(guān)節(jié)一)之

7、間的變換矩陣;A1為坐標(biāo)系0到坐標(biāo)系1之間的變換矩陣;A2為坐標(biāo)系1到坐標(biāo)系2之間的變換矩陣;A3為坐標(biāo)系2到坐標(biāo)系3之間的變換矩陣;A4為坐標(biāo)系3到坐標(biāo)系4之間的變換矩陣;A5為坐標(biāo)系4到坐標(biāo)系5之間的變換矩陣;AH 為坐標(biāo)系5到坐標(biāo)系H 之間的變換矩陣。輊1犏犏0犏A 0=犏0犏犏0臌輊C 1犏犏S 1A 1=犏犏0犏犏0臌10000001L 10100010S 10-C 11000輊C 2-S 2犏犏S 2C 2A 2=犏犏00犏犏00臌輊C 3-S 3犏犏S 3C 3A 3=犏犏00犏犏00臌0C 2L 20S 2L 21001 0C 3L 30S 3L 31001輊C 40-S 4C

8、 4L 4犏犏S 40C 4S 4L 4犏A 4=犏0-100犏犏0001 臌輊C 50S 50犏犏S 50-C 50A 5=犏犏0100犏犏0001 臌輊C 6-S 6犏犏S 6C 6A H =犏犏01犏犏00臌00000L 501根據(jù)六個(gè)關(guān)節(jié)角度以及機(jī)械臂的參數(shù),通過(guò)以上7個(gè)矩陣相乘即可得出期望矩陣:輊n x 犏犏n y RT H =犏犏n z 犏犏0臌o xo y o z 0a x a y a z 0p x p y p z1 ,p z 表示空間位置。列向量n ,o ,a 表示姿態(tài),p x ,2.3.2正運(yùn)動(dòng)學(xué)仿真p yMATLAB 在7.1版本中增加了Robotics Toolbox工具

9、箱,利用該工具箱可以對(duì)鏈?zhǔn)浇Y(jié)構(gòu)的機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)仿真。正運(yùn)動(dòng)學(xué)仿真過(guò)程如下:l1=link(pi/2 0 0 L1,'standard' l2=link(0 L2 0 0,'standard' l3=link(0 L3 0 0,'standard' l4=link(-pi/2 L4 0 0,'standard' l5=link(pi/2 0 0 0,'standard' l6=link(0 0 0 L5,'standard' r=robot(l1 l2 l3 l4 l5 l6; =

10、9;6R_Rrobotarm'q=0.430437 0.102693 -1.28542 1.7628 1.33703 -1.24998; drivebot(r,q;l1,l2,l3,l4,l5,l6表示各連桿,L1,L2,L3,L4,L5表示連桿長(zhǎng)度,具體值由實(shí)際機(jī)械臂參數(shù)決定,standard 表示采用標(biāo)準(zhǔn)的D-H 建模方法,robot 函數(shù)將各連桿連接起來(lái),q 向量表示各關(guān)節(jié)的初始角度,均為弧度值,drivebot 是繪制機(jī)q 2=1.2145,q 3=1.0256,械臂函數(shù)?,F(xiàn)設(shè)定:L1=2,L2=4,L3=4,L4=2,L5=2;q 1=2.5632,q 4=1.2105,q

11、5=1.5809,q 6=1.1078。仿真結(jié)果如圖: 圖2.4 基于MA TLAB Robot Toolbox工具箱的機(jī)械臂正運(yùn)動(dòng)學(xué)仿真正運(yùn)動(dòng)學(xué)的仿真數(shù)據(jù)在實(shí)際機(jī)械臂上運(yùn)行結(jié)果如下: 圖2.5 機(jī)械臂正運(yùn)動(dòng)學(xué)實(shí)物圖2.3.3逆運(yùn)動(dòng)學(xué)分析逆運(yùn)動(dòng)學(xué)的求解過(guò)程是根據(jù)已知的末端抓持器相對(duì)于參考坐標(biāo)系的位姿,求關(guān)節(jié)變量q 1,q 2,q 3,q 4,q 5,q 6的過(guò)程,它是機(jī)器人運(yùn)動(dòng)規(guī)劃和軌跡控制的基礎(chǔ),也是運(yùn)動(dòng)學(xué)最重要的部分。然而運(yùn)動(dòng)學(xué)逆解的求解要比正解求解復(fù)雜得多,要建立通用算法是相當(dāng)困難的,許多人為此付出巨大的努力,做了大量的工作。有關(guān)機(jī)器人運(yùn)動(dòng)學(xué)逆解的求解方法很多,其中主要有解析法、幾何法、

12、符號(hào)及數(shù)值方法、幾何解析法。由于逆運(yùn)動(dòng)學(xué)求解非常復(fù)雜,這里不再給出,只是引用已有結(jié)論,在后面的三維仿真和運(yùn)動(dòng)規(guī)劃時(shí)使用。給出機(jī)械臂期望位姿為:輊n x 犏犏n y RT H =犏犏n z 犏犏0臌可以計(jì)算出各關(guān)節(jié)角的解析式為:o xo y o z 0a x a y a z 0p x p y p z1q 1=arctan(p y -a y L 5p x -a x L 5或 q 1=q 1+pq 234=arctan(a z或 q 234=q 234+pC 1a x +S 1a yC 3=(p x -a x L 5 C 1+(p y -a y L 5 S 1-C 234L 42+p z -L 1-

13、a z L 5-S 234L 42-L 22- L 322L 2L 3S 3=? q 3=arctan(S 3C 3q 2=arctan(C 3L 3+L 2 +(p z -L 1-a z L 5-S 234L 4 -S 3L 3(p x -a x L 5 C 1+(p y -a y L 5 S 1-C 234L 4(C 3L 3+L 2(p x -a x L 5 C 1+(p y -a y L 5 S 1-C 234L 4+S 3L 3(p z -L 1-a z L 5-S 234L 4q 4=q 234-q 2-q 3q 5=arctanC 234(C 1a x +S 1a y +S 23

14、4a zS 1a x -C 1a yq 6=arctan-S 234(C 1n x +S 1n y +C 234n z -S 234(C 1o x +S 1n y +C 234o z六自由度機(jī)械臂在相同的位姿下可能有8組解,根據(jù)實(shí)際情況選擇其中最合適的一組解即可。 2.3.4逆運(yùn)動(dòng)學(xué)仿真同樣利用MATLAB 中的Robotics Toolbox 工具箱,先建立六自由度機(jī)械臂模型,再使用逆解函數(shù)ikine 求出期望位姿下的6個(gè)關(guān)節(jié)角度值。具體過(guò)程如下:L1=link(pi/2 0 0 2,'standard' L2=link(0 4 0 0,'standard'

15、L3=link(0 4 0 0,'standard' L4=link(-pi/2 2 0 0,'standard' L5=link(pi/2 0 0 0,'standard' L6=link(0 0 0 2,'standard' r=robot(L1 L2 L3 L4 L5 L6; ='6R_Robotarm'q=-1.3402 1.0145 0.8256 1.0986 1.5809 2.1078; drivebot(r,q;T=fkine(r,q; q1=ikine(r,T;fkine 是求機(jī)械臂的正

16、解函數(shù),q 向量為機(jī)械臂的六個(gè)關(guān)節(jié)角變量,ikine 是求逆解函數(shù),T 為正運(yùn)動(dòng)學(xué)算出來(lái)的位姿,如果仿真結(jié)果正確,計(jì)算的q1應(yīng)該與q 相同。程序運(yùn)行后:q1 =4.9430 -4.4431 18.0240 1.9242 -10.9855 8.3910 將q1轉(zhuǎn)換到-pi,pi可以發(fā)現(xiàn)q 與q1完全相同。 圖2.6 基于MA TLAB Robot Toolbox工具箱的機(jī)械臂逆運(yùn)動(dòng)學(xué)仿真逆運(yùn)動(dòng)學(xué)仿真數(shù)據(jù)在實(shí)際機(jī)械臂上的運(yùn)行結(jié)果如下: 圖2.7 機(jī)械臂逆運(yùn)動(dòng)學(xué)實(shí)物圖2.4、軌跡規(guī)劃研究軌跡是機(jī)械臂位姿關(guān)于時(shí)間的函數(shù),軌跡規(guī)劃是給出一條無(wú)沖突路徑,求出沿這條路徑機(jī)械臂的位置和姿勢(shì)的時(shí)間經(jīng)歷。軌跡規(guī)劃

17、既可以在關(guān)節(jié)空間也可以在笛卡兒空間中進(jìn)行。在關(guān)節(jié)空間中進(jìn)行軌跡規(guī)劃優(yōu)點(diǎn)是直接用運(yùn)動(dòng)時(shí)的受控關(guān)節(jié)變量來(lái)規(guī)劃軌跡,這樣容易做到實(shí)時(shí)控制,缺點(diǎn)是難以確定各桿和末端抓持器的位置。而這正是面向笛卡兒坐標(biāo)空間軌跡規(guī)劃的優(yōu)點(diǎn),但是現(xiàn)在還沒(méi)有可用于笛卡兒坐標(biāo)測(cè)量末端抓持器位置的傳感器,所以算法都是建立在關(guān)節(jié)坐標(biāo)基礎(chǔ)上的。論文將分別討論關(guān)節(jié)空間中的三次多項(xiàng)式插值算法和笛卡爾空間中的空間直線插補(bǔ)算法。2.4.1關(guān)節(jié)空間三次多項(xiàng)式插值軌跡規(guī)劃三次多項(xiàng)式共有四個(gè)待定系數(shù),需要四個(gè)約束條件來(lái)唯一確定。如果把三次多項(xiàng)式看做關(guān)節(jié)角度的時(shí)間函數(shù),那么三次多項(xiàng)式的一階倒數(shù)可以看作關(guān)節(jié)角速度的時(shí)間函數(shù)。q (t =C 0+C 1

18、t +C 2t 2+C 3t 3q (t =C 1+2C 2t +3C 3t 2·為求出C 0,C 1,C 2,C 3四個(gè)系數(shù),同時(shí)對(duì)起始點(diǎn)和目標(biāo)點(diǎn)的角度和角速度給出約束條件,列出四個(gè)方程式:q (t 0 =C 0+C 1t 0+C 2t 02+C 3t 03q (t f =C 0+C 1t f +C 2t f 2+C 3t f 3q (t 0 =C 1+2C 2t 0+3C 3t 02·q (t f =C 1+2C 2t f +3C 3t f 2將起始時(shí)間設(shè)為0,即t 0=0,解得系數(shù)為:·C 2=3(q (t f -q (0-(q (0+q (t f t ft

19、 f2販販C 3=-2(q (t f -q (0+(q (0+q (t f t ft f 3··對(duì)于起始點(diǎn)和目標(biāo)點(diǎn)來(lái)說(shuō),它們的速度為零,即q (0=0,q (t f =0, 帶入解得:C 0=q (0C 1=0C 2=3(q (t f -q (0t f2C 3=-2(q (t f -q (0t f3將以上四個(gè)系數(shù)帶回原三次多項(xiàng)式即可求出關(guān)節(jié)角的時(shí)間函數(shù)。但是,三次多項(xiàng)式的約束條件只考慮了角度和角速度,沒(méi)有考慮角加速度,因此三次插補(bǔ)算法不能保證角加速度的連續(xù)性和平滑性。為了獲得更好的控制特性,需要保證角加速度的平滑性,因此可以采用五次多項(xiàng)式插值算法。 2.4.2笛卡爾空間直線

20、插補(bǔ)軌跡規(guī)劃空間直線插補(bǔ)是給定直線始末兩點(diǎn)的位姿,求軌跡中間點(diǎn)(插補(bǔ)點(diǎn) 的位姿。直線插補(bǔ)時(shí),機(jī)械臂的姿態(tài)變化按照給定的步長(zhǎng)從初始姿態(tài)均勻向末端點(diǎn)姿態(tài)變A =(x 1, y 1, z 1 B =(x 2, y 2, z 2化。己知直線始末兩點(diǎn)的坐標(biāo)值為, 可以通過(guò)以下步驟進(jìn)行直線軌跡的定步長(zhǎng)插補(bǔ): (1)首先給定插補(bǔ)周期T s ; (2)求兩點(diǎn)空間之間的距離 L:L =(3)求出插補(bǔ)總時(shí)間T ; (4)計(jì)算插補(bǔ)次數(shù)N :輊輊T T N = 或 N =+1T s T s 臌臌(5)計(jì)算插補(bǔ)增量:D x =(x 2-x 1 /N D y =(y 2-y 1 /N D z =(z 2-z 1 /N(6

21、)計(jì)算第i 個(gè)插補(bǔ)點(diǎn)的坐標(biāo)值:x i =x 1+i 碊xy i =y 1+i 碊yz i =z 1+i 碊z(7)求出齊次變換矩陣,用齊次變換矩陣乘已新坐標(biāo)下的點(diǎn)坐標(biāo),就可以得到空間點(diǎn)相對(duì)于基坐標(biāo)系下的坐標(biāo)值。再經(jīng)過(guò)運(yùn)動(dòng)學(xué)反解,就可以得到各個(gè)點(diǎn)的關(guān)節(jié)角。2.5、軌跡規(guī)劃三維仿真為了驗(yàn)證以上規(guī)劃算法的正確性,利用基于Vc+MFC和OpenGL 的三維仿真工具,對(duì)三次插補(bǔ)算法和空間直線插補(bǔ)算法進(jìn)行了三維仿真,仿真過(guò)程如下:void display( / 建立機(jī)械臂三維模型glClear (GL_COLOR_BUFFER_BIT;glMatrixMode(GL_MODELVIEW;glPushMat

22、rix(; /保存原點(diǎn)坐標(biāo)base(;arm_1(;arm_2(;arm_3(;arm_4(;arm_5(;zhua(;glPopMatrix(; / 還原原點(diǎn)坐標(biāo)glutSwapBuffers(; 圖2.8 六自由度機(jī)械臂三維仿真圖 圖2.9 三維仿真控制界面軌跡規(guī)劃代碼太多,這里不再給出,可以參見(jiàn)附件,里面有詳細(xì)的代碼。仿真結(jié)果表明,關(guān)節(jié)空間軌跡規(guī)劃只能使機(jī)械臂末端執(zhí)行器在兩點(diǎn)間平滑過(guò)渡但不能保證運(yùn)行路線,而直線插補(bǔ)可以使機(jī)械臂末端執(zhí)行器按照直線路徑在兩點(diǎn)間過(guò)渡。2.6、控制系統(tǒng)硬件設(shè)計(jì)控制系統(tǒng)的主要任務(wù)是接收上位機(jī)根據(jù)機(jī)械臂期望的終端位置坐標(biāo),通過(guò)軌跡規(guī)劃和運(yùn)動(dòng)學(xué)逆解得出的各關(guān)節(jié)角度,以

23、接收的角度作為期望角度,通過(guò)系統(tǒng)控制器的控制,使各關(guān)節(jié)達(dá)到預(yù)期的位置,從而完成機(jī)械臂終端位置的改變。硬件系統(tǒng)主要包括STC89C52RC 主控電路、電機(jī)驅(qū)動(dòng)電路、角度檢測(cè)電路、通信電路等四部。 圖2.10 機(jī)械臂控制系統(tǒng)硬件原理框圖2.6.1主控制器電路單片機(jī)是數(shù)字集成器件,正常工作時(shí)離不開(kāi)時(shí)鐘,因此外圍電路必須提供適當(dāng)?shù)臅r(shí)鐘電路;另外還要有復(fù)位電路,以便單片機(jī)工作中可以正常復(fù)位。這些就構(gòu)成了單片機(jī)正常工作的最基本條件單片機(jī)最小系統(tǒng)。為了通信方便,該最小系統(tǒng)采用11.0592MHz 的時(shí)鐘晶振,時(shí)鐘電路電容33pf ;復(fù)位電路電解電容10uf ,電阻值1k 。原理圖如下: 圖2.11 控制器最

24、小系統(tǒng)原理圖2.6.2電機(jī)驅(qū)動(dòng)電路機(jī)械臂底座關(guān)節(jié)使用的是直流減速電機(jī),要想對(duì)直流電機(jī)進(jìn)行控制,需要有專門(mén)的直流電機(jī)驅(qū)動(dòng)器,以實(shí)現(xiàn)PWM 控制。STC89C52RC 單片機(jī)自身沒(méi)有集成的PWM 模塊,因此需要外接電機(jī)驅(qū)動(dòng)芯片。綜合分析市場(chǎng)上常用的直流電機(jī)驅(qū)動(dòng)芯片的性能和價(jià)格后,選擇L298n 作為機(jī)械臂底座電機(jī)的驅(qū)動(dòng)器。L298n 管腳圖如圖2.12,功能表見(jiàn)表2.1。 圖2.12 L298n 管腳圖表2.1 L298n功能表 電機(jī)的控制信號(hào)由單片機(jī)產(chǎn)生,而電機(jī)的驅(qū)動(dòng)電路直接引入16v 的電壓,如果電路出現(xiàn)問(wèn)題,電流會(huì)直接進(jìn)入單片機(jī),對(duì)單片機(jī)和其他外圍控制電路造成損害,所以所有的控制信號(hào)以及反饋

25、信號(hào)必須由光電隔離器件進(jìn)行隔離,使控制電路和驅(qū)動(dòng)電路隔離開(kāi)來(lái),從而形成對(duì)控制電路的保護(hù)。圖2.13 驅(qū)動(dòng)電路與單片機(jī)的接口框圖實(shí)際接口電路中可能存在外部干擾,可行的解決辦法是增加濾波電路,即在PWM 信號(hào)端增加對(duì)地濾波電容,電容大小視具體情況而定。如果干擾很小則可略掉濾波電路。下圖為接口電路的原理圖,PWM 信號(hào)可由5腳7腳產(chǎn)生,也可由使能端6腳產(chǎn)生,具體由軟件程序決定。 圖2.14 驅(qū)動(dòng)模塊與單片機(jī)的接口電路原理圖2.6.3角度檢測(cè)電路位置檢測(cè)元件是控制系統(tǒng)的一個(gè)重要組件,由控制理論知,系統(tǒng)反饋通道的誤差將直接影響系統(tǒng)控制精度??紤]到機(jī)械臂系統(tǒng)的實(shí)際情況,決定采用高精度旋轉(zhuǎn)電位計(jì)作為角度傳感

26、器,電位計(jì)測(cè)量電機(jī)轉(zhuǎn)角,輸出05v的模擬電壓,而單片機(jī)處理的是數(shù)字信號(hào),因此需增加A/D轉(zhuǎn)換模塊,將采樣模擬信號(hào)轉(zhuǎn)換為單片機(jī)可以處理的數(shù)字信號(hào)。旋轉(zhuǎn)電位計(jì)采用WDD35D-4,AD 采樣模塊采用ADC0809模數(shù)轉(zhuǎn)換芯片。 圖2.15 電位計(jì)原理圖 圖2.16 ADC0809管腳圖ADC0809內(nèi)部沒(méi)有時(shí)鐘電路,其逐次比較使用的時(shí)鐘須由外部電路經(jīng)CLK 管腳提供,時(shí)鐘頻率400kHz640kHz之間,典型值為500kHz 。單片機(jī)使用的晶振為11.0592MHZ ,單片機(jī)內(nèi)部將該頻率六分頻后由ALE 腳輸出,大小為1.8432MHZ 。該頻率可作為源時(shí)鐘頻率,經(jīng)三次分頻電路分頻后即可得到合適的

27、時(shí)鐘頻率。74LS161十六進(jìn)制計(jì)數(shù)器和74LS00與非門(mén)電路組合成三進(jìn)制計(jì)數(shù)器可作為三次分頻電路使用,電路原理圖如圖: 圖2.17 ADC809時(shí)鐘電路原理圖單片機(jī)P2.7腳接ADC0809的ST 腳,用于啟動(dòng)模數(shù)轉(zhuǎn)換;P2.6腳接ADC0809的EOC 腳,用于查詢轉(zhuǎn)換是否結(jié)束;P2.5腳接ADC0809的OE 腳,用于控制是否允許數(shù)據(jù)輸;P3.5,P3.6,P3.7腳選擇模擬通道(程序中選擇的是0通道),轉(zhuǎn)換結(jié)束后數(shù)據(jù)送到單片機(jī)P0口。接口電路原理圖如圖 2.18圖2.18 ADC0809與單片機(jī)接口圖2.6.4通信電路通信電路的主要任務(wù)是接收上位機(jī)(PC )的控制信號(hào)并將采集到的角度信

28、號(hào)送到上位機(jī)處理。單片機(jī)和PC 機(jī)之間的通信常采用串行異步通信,采用這種通信方式的主要優(yōu)點(diǎn)是設(shè)備簡(jiǎn)單,控制容易;缺點(diǎn)是傳輸速率較慢,但是對(duì)于一般的傳輸速度(例如9600bit/s)這種通信方式完全可以滿足。異步工作模式USART 是進(jìn)行產(chǎn)品開(kāi)發(fā)和系統(tǒng)設(shè)計(jì)中最常用的模式,這種模式就是常說(shuō)的RS232C 。RS232C 電平是負(fù)邏輯電平(邏輯0:5V 15V ,邏輯1:15V 5V ),PC 的串口就是RS232C 電平的。而單片機(jī)的串口是TTL 電平的,TTL 為正邏輯電平(帶負(fù)載時(shí),邏輯1:+5V+12V,邏輯0:-5V -12V 。不帶負(fù)載時(shí),邏輯1:2.4V ,邏輯0:0.4V ),所以單

29、片機(jī)和PC 機(jī)進(jìn)行通信時(shí),兩者之間必須有一個(gè)電平轉(zhuǎn)換電路。常用的RS232C 電平和TTL 電平轉(zhuǎn)換芯片是MAX232,封裝結(jié)構(gòu)如圖2.19: 圖2.19 MAX232封裝圖我們?cè)谶@里采用了三線制連接串口:PC 機(jī)的9針串口只連接其中的3根線:第5腳的GND 、第2腳的RXD 、第3腳的TXD 。連接方法:MAX232的第10腳和單片機(jī)的P3.1連接,第9腳和單片機(jī)的P3.0連接,第15腳和單片機(jī)的GND 連接。如圖: 圖2.20 MAX232接線圖2.7、控制系統(tǒng)軟件設(shè)計(jì) 2.7.1電機(jī)驅(qū)動(dòng)程序電機(jī)驅(qū)動(dòng)程序是指PWM 信號(hào)的生成和調(diào)制程序。驅(qū)動(dòng)器L298n 需要三個(gè)輸入,即正反轉(zhuǎn)控制和使能端

30、控制,分別接單片機(jī)的P2.0、P2.3、P2.2管腳。PWM 信號(hào)由使能端P2.2腳通過(guò)延時(shí)產(chǎn)生,改變使能端高低電平的延時(shí)時(shí)間即可對(duì)PWM 信號(hào)進(jìn)行調(diào)制。主要代碼如下:sbit PWM=P22; / PWM輸出腳 sbit P2_0=P20; / M1 sbit P2_3=P23; / M1 while(!kPWM=1;delay_nus (speed+1000;PWM=0;delay_nus(9500-speed; 2.7.2角度檢測(cè)程序角度檢測(cè)程序主要指ADC0809的驅(qū)動(dòng)程序,ADC0809的ST 管腳接收到控制脈沖的上升沿時(shí)清空內(nèi)部寄存器,并在脈沖下降沿啟動(dòng)AD 轉(zhuǎn)換;轉(zhuǎn)換結(jié)束后,AD

31、C0809在EOC 輸出高電平表明轉(zhuǎn)換結(jié)束;單片機(jī)可以通過(guò)外部中斷或查詢方式訪問(wèn)EOC 腳,獲得轉(zhuǎn)換結(jié)束信號(hào)后給ADC0809的OE 腳一個(gè)高電平即可輸出轉(zhuǎn)換數(shù)據(jù)。主要代碼如下:OE=0;ST=0; /啟動(dòng)AD 轉(zhuǎn)換 ST=1; ST=0; delay_nus(60; while(!EOC ; OE=1;2.7.3串口通信程序單片機(jī)串口通信程序使用定時(shí)器中斷實(shí)現(xiàn),該通信程序采用9600bit/s波特率,8位數(shù)據(jù)位,1位停止位,沒(méi)有校驗(yàn)位。主要代碼如下:void com_initialize(void /初始化串行口和UART 波特率/等待轉(zhuǎn)換結(jié)束/輸出使能P1=P0; /數(shù)據(jù)輸出TMOD |=

32、0x20; /定時(shí)器工作在方式2 TH1=0xfd; TR1=1; SCON=0xd8; ES=1; static void com_isr(void interrupt 4 using 1 /串口中斷 char c;if(RI /接收數(shù)據(jù)中斷 if(TI /發(fā)送數(shù)據(jù)中斷 2.7.4上位機(jī)控制界面程序上位機(jī)控制界面的主要功能是:發(fā)送控制方式和期望角度給下位機(jī),同時(shí)實(shí)時(shí)接收下位機(jī)采樣得到的角度值,并在“繪制實(shí)時(shí)曲線區(qū)域”繪制實(shí)際曲線,用以觀察控制效果和對(duì)比控制算法。由于代碼太多,這里不再給出。下面只給出編制完成后的控制界面: 圖2.21 上位機(jī)控制界面2.7.5 系統(tǒng)軟件流程圖 圖2.22 系統(tǒng)

33、流程圖3、系統(tǒng)調(diào)試和結(jié)果分析3.1 硬件調(diào)試 3.1.1 驅(qū)動(dòng)模塊調(diào)試編寫(xiě)一個(gè)簡(jiǎn)單的驅(qū)動(dòng)程序,通過(guò)單片機(jī)的P2.0腳和P2.3腳的高低電平控制電機(jī)正反轉(zhuǎn),在P2.2腳利用延時(shí)函數(shù)產(chǎn)生PWM 波,PWM 占空比通過(guò)外部按鍵可調(diào)。用示波器觀察L298n 的OUT1和OUT2之間是否產(chǎn)生相應(yīng)的PWM 波形,如果波形的占空比與預(yù)期一致且可調(diào),說(shuō)明驅(qū)動(dòng)模塊正確。下面是示波器觀察到的波形:圖3.1 占空比50% 圖3.2 占空比80%首先,外部直流電源調(diào)節(jié)為16v ,通過(guò)按鍵設(shè)置PWM 占空比為50%。用示波器觀察L298n 的OUT1和OUT2腳,其波形輸出如圖5.1所示,占空比與設(shè)定值一致,同時(shí)用萬(wàn)用

34、表電壓檔測(cè)量OUT1和OUT2腳間的電壓,輸出值為7.8v , 與理論輸出基本一致。然后,通過(guò)外部按鍵改變占空比為80%,用示波器觀察上述管腳,波形如圖5.2所示,用萬(wàn)用表測(cè)量?jī)赡_間電壓為12.8v ,與理論輸出一致。測(cè)量結(jié)果表明,驅(qū)動(dòng)電路設(shè)計(jì)良好,工作正常。 3.1.2 角度檢測(cè)模塊調(diào)試編寫(xiě)ADC0809的驅(qū)動(dòng)程序,令A(yù)DC0809每20ms 對(duì)0通道進(jìn)行一次采樣,用示波器觀察ADC0809的ST 腳,EOC 腳及OE 腳,看是否有信號(hào)脈沖產(chǎn)生, 同時(shí)觀察脈沖時(shí)序是否正確。下面是示波器觀察到的波形:圖3.3 ST腳 圖3.4 EOC腳 圖3.5 OE腳 單片機(jī)通過(guò)P2.7腳向ADC0809的

35、ST 腳發(fā)送一個(gè)脈沖,在脈沖的上升沿ADC0809清空寄存器,在脈沖的下降沿啟動(dòng)AD 采樣。大約100us 后采樣結(jié)束,ADC0809的EOC 腳發(fā)出一個(gè)高電平信號(hào),通知單片機(jī)采樣結(jié)束。接到采樣結(jié)束信號(hào)后,單片機(jī)向ADC0809的OE 腳發(fā)送高電平信號(hào),表示允許采樣輸出,采樣數(shù)據(jù)送到P0口。示波器顯示波形與整個(gè)采樣過(guò)程的時(shí)序相同,證明采樣模塊設(shè)計(jì)正確。為了檢測(cè)采樣數(shù)據(jù)的準(zhǔn)確性,分別測(cè)量ADC0809各數(shù)據(jù)輸出管腳的高低電平,并將電平值轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù)。同時(shí)用萬(wàn)用表測(cè)量電位計(jì)輸出的模擬電壓值,將該值轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù),兩個(gè)數(shù)據(jù)進(jìn)行對(duì)比。測(cè)試時(shí),電位計(jì)模擬電壓輸出為2.7v ,對(duì)應(yīng)十六進(jìn)制的89

36、H ,ADC0809的管腳輸出電平同樣為89H 。實(shí)驗(yàn)結(jié)果表明,該采樣模塊設(shè)計(jì)合理,工作正常,采樣數(shù)據(jù)準(zhǔn)確。 3.1.3 通信模塊調(diào)試RS232串口通信的調(diào)試可以通過(guò)串口調(diào)試助手完成,為了同時(shí)檢驗(yàn)接收與發(fā)送功能都正確,編寫(xiě)單片機(jī)程序,令單片機(jī)接收到上位機(jī)發(fā)送的數(shù)據(jù)后,將該數(shù)據(jù)原樣發(fā)回上位機(jī),通過(guò)串口調(diào)試助手觀察數(shù)據(jù)知否正確。 圖 3.6 串口助手顯示結(jié)果 實(shí)驗(yàn)時(shí),下位機(jī)采用的是 11.0592MHZ 的時(shí)鐘晶振,通信波特率設(shè)置為 9600bit/s,數(shù)據(jù)幀格式為 1 位起始位,8 位數(shù)據(jù)位,1 未停止位,沒(méi)有校驗(yàn)位。 串口助手的通信波特率和幀格式與單片機(jī)相同。 令串口調(diào)試助手以十六進(jìn)制的形 式

37、向下位機(jī)發(fā)送“12 34 56 78” ,單片機(jī)接到數(shù)據(jù)后立即將數(shù)據(jù)原樣發(fā)回上位機(jī), 串口助手接收數(shù)據(jù)并顯示,顯示結(jié)果為“12 34 56 78” 。實(shí)驗(yàn)結(jié)果表明通信模塊 設(shè)計(jì)合理,能夠在設(shè)定的波特率和幀格式下正常收發(fā)數(shù)據(jù)。 3.2 軟件調(diào)試 3.2.1 下位機(jī)軟件調(diào)試 將下位機(jī)程序下載到單片機(jī)中,驅(qū)動(dòng)一個(gè)空載(未安裝在機(jī)械臂上)的直流 減速電機(jī),這樣做是為了設(shè)備安全考慮。在試驗(yàn)?zāi):刂扑惴ê湍:?PID 控制 算法的程序時(shí),發(fā)現(xiàn)電機(jī)出現(xiàn)嚴(yán)重抖動(dòng),只能“爬行”旋轉(zhuǎn)。 仔細(xì)對(duì)比分析后發(fā)現(xiàn), 基于誤差 E 和誤差變化率 EC 的雙輸入模糊控制器對(duì) 位置閉環(huán)控制不是很合適,特別是位置誤差很大的情況。這主要基于以下原因: 雙輸入模糊控制器可以等效為 PD 控制,在位置閉環(huán)控制時(shí),起始位置誤差 E 很 大(本系統(tǒng)為-255 +255) ,位置誤差變化率很?。ū鞠到y(tǒng)為-5 +5) ,這樣 E 和 EC 由基本論域轉(zhuǎn)換到模糊論域的過(guò)程中無(wú)疑放大了 EC 的作用,即微分作用被 加強(qiáng)。我們已經(jīng)知道,微分的作用主要是加快系統(tǒng)響應(yīng)速度,但是微分作用過(guò)強(qiáng) 會(huì)使系統(tǒng)出現(xiàn)震蕩。 特別是在控制的起始階段,很容易發(fā)生因?yàn)槲⒎肿饔眠^(guò)強(qiáng)而 出現(xiàn)微分飽和的現(xiàn)象。針對(duì)這種情況,可以采取以下措施: 1、采用雙模模糊控制器,即制作兩個(gè)模

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。