時間:2021-01-15 16:13:23來源:正運動技術(shù)
視頻教程:http://www.zmotion.com.cn/video/yemian/tvideos32.html
今天我們來學習一下,ZMC運動控制器SCARA機械手應(yīng)用快速入門。
控制器接線參考
01 概述
SCARA(Selective Compliance Assembly Robot Arm,中文譯名:選擇順應(yīng)性裝配機器手臂)是一種圓柱坐標型的特殊類型的工業(yè)機器人。SCARA機器人可以被制造成各種大小,最常見的工作半徑在100毫米至1000毫米之間,此類的SCARA機器人的凈載重量在1千克至200千克之間。SCARA系統(tǒng)在x,y方向上具有順從性,而在Z軸方向具有良好的剛度,還具有串接的兩桿結(jié)構(gòu)的特點,適用于搬取零件和裝配工作。故SCARA系統(tǒng)大量用于裝配印刷電路板、電子零部件、集成電路板,此外,塑料、汽車、電子產(chǎn)品、藥品和食品等工業(yè)領(lǐng)域也有廣泛的應(yīng)用。
ZMC運動控制器具有6軸、12軸、20軸、30軸、32軸、60軸、64軸等不同電機軸數(shù)的產(chǎn)品,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設(shè)置、機械手指令等。本文使用ZMC運動控制器,介紹機械手指令CONNFRAME,在SCARA機械手的應(yīng)用。
ZMC運動控制器采用簡單易懂的BASIC程序來二次開發(fā)機械手程序,支持多文件多任務(wù)運行,支持自定義指令,同時提供了強大的ZDevelop開發(fā)環(huán)境,支持PC仿真運行和在線跟蹤調(diào)試,兼容VC的操作習慣,使得復(fù)雜的運動控制變得簡單明了。運動控制器的機械手程序也可以使用常見的PC上位機開發(fā)軟件,例如VC、VB、VS、C++、C#等,根據(jù)不同的開發(fā)環(huán)境,在正運動官網(wǎng)下載PC函數(shù)庫編程資料,找到對應(yīng)的dll連接庫以及相關(guān)文件,編程中使用 ZAux_ Direct_Connframe 和 ZAux_ Direct_Connreframe 指令建立機械手連接。
CONNFRAME指令使得在SCARA機械手運動的實現(xiàn),在編程上簡易、方便;在運動過程中電機運動平滑、精準;客戶對ZMC產(chǎn)品性能及品質(zhì)得到了一致認可,正運動技術(shù)也會對不同客戶的不同需求定制特殊的指令及控制器型號。
02 系統(tǒng)架構(gòu)
01 SCARA 機械手
SCARA機械手支持2-4軸,大關(guān)節(jié)軸+小關(guān)節(jié)軸 [+Z 軸] [+末端旋轉(zhuǎn)軸]。
本系統(tǒng)應(yīng)用于標準4軸SCARA機械手,2個關(guān)節(jié)軸X,Y,一個上下Z軸,及一個末端旋轉(zhuǎn)軸R??刂破餍枰С謾C械手功能,采用脫機的方式將編輯好的程序下載到控制器上(也可以用PC監(jiān)視或者實時發(fā)送指令操作),可利用觸摸屏示教的方式編輯想要運動的軌跡。
02 ZMC 運動控制器
ZMC406總線控制器是正運動技術(shù)推出的新一代網(wǎng)絡(luò)6軸運動控制器(可通過擴展模塊來擴展軸,支持多達32軸),自帶6個脈沖軸接口。
支持RS232,RS485,以太網(wǎng),U盤,CAN, EtherCAT通訊接口。EtherCAT高達500us的刷新周期。通過EtherCAT總線,最多可擴展4096個隔離輸入或輸出口。輸出口輸出電流可達 300mA,可直接驅(qū)動部分電磁閥。每軸輸出脈沖頻率可達10MHz。采用優(yōu)化的網(wǎng)絡(luò)通訊協(xié)議可以實現(xiàn)實時的運動控制。支持編碼器位置測量,可以配置為手輪輸入模式。單臺電腦支持多達256個ZMC控制器同時連接。
此運動控制器與PCI運動控制卡相比
具有如下優(yōu)點:
1 不使用插槽,穩(wěn)定性更好;
2 可以選用MINI電腦或ARM工控電腦,降低整體成本;
3 控制器直接做接線板使用,節(jié)省空間;
4 控制器上可以并行運行程序,與PC只需要簡單交互,降低PC軟件的復(fù)雜性等優(yōu)勢。
ZMC控制器通過 ZDevelop開發(fā)環(huán)境來調(diào)試,ZDevelop 是一個很方便的編程、編譯和調(diào)試環(huán)境。ZDevelop 可以通過串口、485、USB 或以太網(wǎng)與控制器建立連接。
應(yīng)用程序可以使用 VC,VB,VS,C++Builder,C#等軟件來開發(fā)。調(diào)試時可以把 ZDevelop 軟件同時連接到控制器,程序運行時需要動態(tài)庫 zmotion.dll。
03 實現(xiàn)方案
方案采用正運動ZMC406型號控制器,實現(xiàn)了SCARA機械手精準、平滑的運動。
在支持機械手功能的控制平臺上,通過指令建立機械手實際關(guān)節(jié)軸與虛擬軸的連接,給虛擬軸發(fā)送運動控制指令,通過機械手算法自動計算關(guān)節(jié)軸的運動路徑,從而控制關(guān)節(jié)軸運動。
將機械手上的關(guān)節(jié)軸依次接到控制器的脈沖軸接口上。
01 機械手相關(guān)概念
1)關(guān)節(jié)軸與虛擬軸
關(guān)節(jié)軸
關(guān)節(jié)軸是指實際機械結(jié)構(gòu)中的旋轉(zhuǎn)關(guān)節(jié),在程序中一般顯示旋轉(zhuǎn)角度(某些結(jié)構(gòu)也是平移軸)。
由于電機與旋轉(zhuǎn)關(guān)節(jié)會存在減速比,所以設(shè)置UNITS時要按照實際關(guān)節(jié)旋轉(zhuǎn)一圈來設(shè)置,同時TABLE中填寫結(jié)構(gòu)參數(shù)時也要按照旋轉(zhuǎn)關(guān)節(jié)中心計算,而不是按照電機軸中心計算。
虛擬軸
虛擬軸不是實際存在的,抽象為世界坐標系的6個自由度,依次為X、Y、Z、RX、RY、RZ。可以理解為直角坐標系的三個直線軸和三個旋轉(zhuǎn)軸,用來確定機械手末端工作點的加工軌跡與坐標。
2)正解運動與逆解運動
正解
通過操作關(guān)節(jié)坐標,再根據(jù)機械結(jié)構(gòu)參數(shù)可以計算出末端位置在直角坐標系的空間位置,這個過程稱為正解運動,此時操作的是實際關(guān)節(jié)軸,虛擬軸自動計算坐標。
控制器使用CONNREFRAME指令建立正解模式,此指令作用在虛擬軸上,此時只能操作關(guān)節(jié)軸,關(guān)節(jié)軸也可以做各種運動,但實際運動的軌跡不是直線圓弧,正解模式一般用于手動調(diào)整關(guān)節(jié)位置或上電點位回零。
逆解
給定一個直角坐標系中的空間位置,反推出各關(guān)節(jié)軸坐標,這個過程稱為逆解運動,此時操作的是虛擬軸,實際關(guān)節(jié)軸自動解算坐標并運動。
控制器使用CONNFRAME指令建立逆解模式,此指令作用在關(guān)節(jié)軸上,此時只能操作虛擬軸,對虛擬軸發(fā)送運動指令,可以在笛卡爾坐標系中做直線,圓弧,空間圓弧等運動,關(guān)節(jié)軸在CONNFRAME的作用下會自動運動到逆解后的位置。
02 機械手指令
實現(xiàn)指令:CONNFRAME--建立逆解連接
描述:將當前關(guān)節(jié)坐標系的目標位置與虛擬坐標系的位置關(guān)聯(lián);關(guān)節(jié)坐標系的運動最大速度受SPEED參數(shù)的限制;當關(guān)節(jié)軸告警等出錯時,此運動會被CANCEL。
語法:CONNFRAME(frame,tablenum,viraxis0,viraxis1)
frame:坐標系類型,1-scara,(如需針對特殊的機械手類型定制,請聯(lián)系廠家)。
tablenum:存儲轉(zhuǎn)換參數(shù)的TABLE位置,frame=1時,以此存放:第一個關(guān)節(jié)軸長度,第二個關(guān)節(jié)軸長度,第一個關(guān)節(jié)軸一圈脈沖數(shù),第二個關(guān)節(jié)軸一圈脈沖數(shù)。
viraxis0:虛擬坐標系第一個軸
viraxis1:虛擬坐標系第二個軸
實現(xiàn)指令:CONNREFRAME--建立正解連接
描述:將虛擬軸的坐標與關(guān)節(jié)軸的坐標關(guān)聯(lián),關(guān)節(jié)軸運動后,虛擬軸自動走到相應(yīng)的位置。
語法:CONNREFRAME(frame,tablenum,viraxis0,viraxis1)
frame: 坐標系類型, 1- scara,(如需針對特殊的機械手類型定制,請聯(lián)系廠家)。
tablenum: 存儲轉(zhuǎn)換參數(shù)的TABLE位置,frame=1時,以此存放:第一個關(guān)節(jié)軸長度,第二個關(guān)節(jié)軸長度,第一個關(guān)節(jié)軸一圈脈沖數(shù),第二個關(guān)節(jié)軸一圈脈沖數(shù)。
axis0:關(guān)節(jié)坐標系第一個軸
axis1:關(guān)節(jié)坐標系第二個軸
FRAME描述:Frame = 1,SCARA,如下圖,旋轉(zhuǎn)軸為關(guān)節(jié)軸,末端對應(yīng)位置為虛擬的位置。
03 機械手使用操作步驟
1)確認電機轉(zhuǎn)向是否正確。
電機方向及角度范圍定義,各關(guān)節(jié)電機正向如下圖藍色箭頭所示。
2)確認機械手各關(guān)節(jié)軸對應(yīng)到控制器指令參數(shù)的軸次序。
選擇各個關(guān)節(jié)軸軸號和對應(yīng)的虛擬軸軸號。
3) TABLE中設(shè)置好機械結(jié)構(gòu)相關(guān)參數(shù)。
建立機械手連接時,需要將機械結(jié)構(gòu)參數(shù)按照如下次序依次填寫到 TABLE數(shù)組中。
4)設(shè)置關(guān)節(jié)軸參數(shù)及虛擬軸參數(shù)
各軸的軸類型和脈沖當量要設(shè)置正確。機械手的所有虛擬軸和關(guān)節(jié)軸的長度單位要求統(tǒng)一,一般都是 mm單位。
虛擬軸的UNITS跟實際發(fā)送脈沖數(shù)無關(guān),用于設(shè)置運動精度,虛擬軸的一個 mm的脈沖數(shù)一般建議設(shè)置為1000,表示精度為小數(shù)點后3位。
5)移動各關(guān)節(jié)軸到規(guī)定的零點位置。
機械手算法建立時,需要有個零點位置作為參考,同時需要確定好電機轉(zhuǎn)向。
SCARA的零點位置為兩個關(guān)節(jié)軸的零點時成一條直線,此時指向虛擬 X 軸的正向。
坐標方向:當關(guān)節(jié)軸為0零點的位置時,虛擬軸零點的坐標為(L1+L2,0),上下伸縮軸零點位置無特殊要求。
建立逆解連接之后虛擬軸的DPOS坐標自動校正為(L1+L2,0)。
6)使用CONNREFARME指令建立正解模式。
正解模式:
BASE(Viraxis_x, Viraxis_y, [Viraxis_v] [,Viraxis_z])
CONNREFRAME(1,tablenum, Axis_a,Axis_b[, Axis_c][,Axis_d])
WAIT LOADED
建立成功后,虛擬軸MTYPE將顯示為34,IDLE顯示為0。此時只能操作關(guān)節(jié)軸在關(guān)節(jié)坐標系中運動,虛擬軸會自動計算末端工作點位于直角坐標系中的位置。
7)操作關(guān)節(jié)軸調(diào)整機械手姿態(tài),確認在運動中不會發(fā)生干涉(某些結(jié)構(gòu)只有一個姿態(tài))。
機械手姿態(tài)在數(shù)學上來說,是同一組虛擬軸數(shù)值有多組關(guān)節(jié)軸的解。即機械手在笛卡爾坐標系中運動到某一坐標點A,可以有多種運動軌跡,這些運動軌跡就對應(yīng)著不同姿態(tài)。
SCARA機械手有兩個姿態(tài),左手姿態(tài)和右手姿態(tài),只可在正解模式下移動關(guān)節(jié)軸選擇。
當前姿態(tài)通過指令FRAME_STATUS指令查詢。
在逆解模式下運行時,由于機械結(jié)構(gòu)的問題,會產(chǎn)生無法運動到某一位置或剛體干涉的問題,此時就需要進行姿態(tài)的調(diào)整。
機械手姿態(tài)只能在正解模式下操作關(guān)節(jié)軸進行調(diào)整。
8)使用 CONNFARME 指令切換為逆解模式。
逆解模式:
BASE(Axis_a, Axis_b [,Axis_c] [,Axis_d])
CONNFRAME(1,tablenum, Viraxis_x, Viraxis_y, [Viraxis_v] [,Viraxis_z]) WAIT LOADED
建立成功后,關(guān)節(jié)軸 MTYPE 將顯示為 33,IDLE 顯示為 0。此時只能操作虛擬軸在直角坐標系中運動,關(guān)節(jié)軸會自動計算在關(guān)節(jié)坐標系中如何聯(lián)合運動。
9) 選擇虛擬軸,發(fā)送運動指令使用。
BASE(Viraxis_x, Viraxis_y[,Viraxis_v] [,Viraxis_z])
MOVE(dis_x, dis_y [,dis_v] [,dis_z])
04 應(yīng)用例程
例如在某自動焊接設(shè)備上加工如下圖所示的工件,SCARA機械手的2個關(guān)節(jié)軸L1、L2長均為250,需要焊接的軌跡為跑道型,1為初始零點,此時關(guān)節(jié)軸坐標為(0,0),虛擬軸坐標為(500,0)。
由零點運動到起始加工點,在運動第2段時需要起焊,關(guān)節(jié)軸先回到起始位置然后運動到工件上方同時Z軸下降,打開起焊IO,延時50ms(因為焊接的液體打開需要一定時間,否則起始點處會漏焊),然后按軌跡運行。完成跑道焊接后IO關(guān)閉,Z軸上升。
加工指令代碼:
BASE(6,7,8) '啟動逆解連接后,使用運動指令控制虛擬軸運行
MOVEABS(300,0,20) '第1段直線,從零點(500,0,0)運動到(300,0,20)
MOVE_OP(0,1) '打開起焊IO
MOVE_DELAY(50) '延時50ms
MOVEABS(300,100,20) '第2段直線,從起始焊接點(300,0,20)運動到(300,100,20)
MOVECIRCABS(200,100,250,100,0) '第3段圓弧,(300,100,20)運動到(200,100,20)
MOVEABS(200,-100,20) '第4段直線,從(200,100,20)運動到(200,-100,20)
MOVECIRCABS(300,-100,250,-100,0) '第5段圓弧,(200,-100,20)運動到(300,-100,20)
MOVEABS(300,0,20) '第6段直線,從(300,-100,20)運動到(300,0,20)
MOVE_OP(0,0) '加工完成,關(guān)閉IO
MOVEABS(300,0,50) 'Z軸上升
示波器采樣軌跡:
SCARA機械手應(yīng)用例程如下:
'**********電機、機械手參數(shù)定義**********
DIM L1 '大臂長度
DIM L2 '小臂長度
DIM L3 'X方向偏移
DIM ZDis '旋轉(zhuǎn)軸一圈,z軸移動距離
L1=250
L2=250
L3=0
ZDis=0
DIM u_m1 '電機1一圈脈沖數(shù)
DIM u_m2 '電機2一圈脈沖數(shù)
DIM u_mz '電機z一圈脈沖數(shù)
DIM u_mv '電機v一圈脈沖數(shù)
u_m1=3600
u_m2=3600
u_mz=3600
u_mv=3600
DIM i_1 '關(guān)節(jié)1傳動比
DIM i_2 '關(guān)節(jié)2傳動比
DIM i_z '關(guān)節(jié)z傳動比
DIM i_v '關(guān)節(jié)v傳動比
i_1=2
i_2=2
i_z=2
i_v=2
DIM u_j1 '關(guān)節(jié)1實際一圈脈沖數(shù)
DIM u_j2 ' 關(guān)節(jié)2實際一圈脈沖數(shù)
DIM u_jz '關(guān)節(jié)z實際一圈脈沖數(shù)
DIM u_jv '關(guān)節(jié)v實際一圈脈沖數(shù)
u_j1=u_m1*i_1
u_j2=u_m2*i_2
u_jz=u_mz*i_z
u_jv=u_mv*i_v
DIM p_z 'z軸螺距
p_z=1.5
'*************關(guān)節(jié)軸設(shè)置*************
BASE(0,1,2,3) '選擇關(guān)節(jié)軸號
ATYPE=1,1,1,1 '軸類型設(shè)為脈沖軸
UNITS=u_j1/360,u_j2/360,u_jv/360,u_jz/p_z '把z軸units設(shè)成1mm的脈沖數(shù),其余軸設(shè)成1°的脈沖數(shù)
DPOS=0,0,0,0 '設(shè)置關(guān)節(jié)軸的位置,此處要根據(jù)實際情況來修改。
SPEED=100,100,100,100 '速度參數(shù)設(shè)置
ACCEL=1000,1000,1000,1000
DECEL=1000,1000,1000,1000
CLUTCH_RATE=0,0,0,0 '使用關(guān)節(jié)軸的速度和加速度限制
'*************虛擬軸設(shè)置*************
BASE(6,7,8,9)
ATYPE=0,0,0,0 '設(shè)置為虛擬軸
TABLE(0,L1,L2,u_j1,u_j2,u_jv, L3,ZDis) '根據(jù)手冊說明填寫參數(shù)
UNITS=1000,1000 ,u_jv/360,1000 '運動精度,要提前設(shè)置,中途不能變化
SPEED=200,200,200,200 '速度參數(shù)設(shè)置
ACCEL=1000,1000,1000,1000
DECEL=1000,1000,1000,1000
SRAMP=100,100,100,100 'S曲線
MERGE=ON '開啟連續(xù)插補
CORNER_MODE=2 '啟動拐角減速
DECEL_ANGLE=15*(PI/180) '開始減速的角度 15度
STOP_ANGLE=45*(PI/180) '降到最低速度的角度45度
'*************建立機械手連接*************
WHILE 1
IF SCAN_EVENT(IN(0))>0 THEN '輸入0上升沿觸發(fā)
'建立正解,操作關(guān)節(jié)軸調(diào)整機械手姿態(tài)
BASE(6,7,8,9) '選擇虛擬軸號
CONNREFRAME(1,0,0,1,2,3) '第0/1軸作為關(guān)節(jié)軸,啟動正解連接。
WAIT LOADED '等待運動加載
?"正解模式"
ELSEIF SCAN_EVENT(IN(0))<0 THEN '輸入0下降沿觸發(fā)
'建立逆解,操作虛擬軸運行加工程序
BASE(0,1,2,3) '選擇關(guān)節(jié)軸號
CONNFRAME(1,0,6,7,8,9) '第6/7軸作為虛擬的XY軸,啟動逆解連接。
WAIT LOADED '等待運動加載,此時會自動調(diào)整虛擬軸的位置。
?"逆解模式"
BASE(6,7,8) '啟動逆解連接后,使用運動指令控制虛擬軸運行
TRIGGER
MOVEABS(300,0,20) '第1段直線,從零點(500,0,0)運動到(300,0,20)
MOVE_OP(0,1) '打開起焊IO
MOVE_DELAY(50) '延時50ms
MOVEABS(300,100,20) '第2段直線,從起始焊接點(300,0,20)運動到(300,100,20)
MOVECIRCABS(200,100,250,100,0) '第3段圓弧,(300,100,20)運動到(200,100,20)
MOVEABS(200,-100,20) '第4段直線,從(200,100,20)運動到(200,-100,20)
MOVECIRCABS(300,-100,250,-100,0) '第5段圓弧,(200,-100,20)運動到(300,-100,20)
MOVEABS(300,0,20) '第6段直線,從(300,-100,20)運動到(300,0,20)
MOVE_OP(0,0) '加工完成,關(guān)閉IO
MOVEABS(300,0,50) 'Z軸上升
ENDIF
WEND
05 機械手仿真軟件
將程序下載到控制器運行,建立正解或逆解連接之后,打開正運動機械手仿真軟件ZRobotView,點擊“連接”彈出下方窗口,選擇控制器IP,沒有控制器可連接到仿真器查看效果。
選擇控制器IP之后連接即可顯示出如下機械手模型,此時可運行運動指令或手動調(diào)試,查看機械手的運行情況。
機械手仿真軟件的效果參見視頻尾部演示部分。
《ZMC運動控制器SCARA機械手應(yīng)用快速入門》就講到這里。更多學習視頻及圖文詳解請關(guān)注我們的公眾號“正運動小助手”。
本文由正運動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學習,一起提高中國智能制造水平。文章版權(quán)歸正運動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。
標簽:
中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.connectcrack.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20