首先了解plc如何控制伺服電機(jī)
1、 電機(jī)的連線及控制
本應(yīng)用實(shí)例選擇的是位置控制模式,脈沖輸入方式有集電極開路方式和差動(dòng)驅(qū)動(dòng)方式兩種,為了方便的實(shí)現(xiàn)同時(shí)對(duì)兩部電機(jī)的控制,采用差動(dòng)驅(qū)動(dòng)方式。與plc的接線圖如圖所示。
plc與伺服放大器接線圖
圖中l(wèi)+為公共plc端子,接24vdc正端,通過控制內(nèi)部晶體管的開關(guān)使得輸出q呈現(xiàn)不同的電平信號(hào)或發(fā)出脈沖信號(hào)。l+一pg—p lm—l+為脈沖輸入回路,plc控制該回路中的發(fā)光二極管的亮滅,形成脈沖編碼輸入。l+一ng—np一1m— l+為電機(jī)旋轉(zhuǎn)方向控制回路,當(dāng)該回路的發(fā)光二極管點(diǎn)亮?xí)r,電機(jī)正轉(zhuǎn),否則反轉(zhuǎn)。由于伺服放大器內(nèi)部電阻只有100歐,為
了防止電流過大燒壞內(nèi)部的發(fā)光二極管,需要外接電阻r,其阻值的計(jì)算如下:
根據(jù)公式(1),可以選擇r=3.9ko
2、電子齒輪比
數(shù)字交流伺服系統(tǒng)具有位置控制的功能,可通過上位控制器發(fā)出位置指令脈沖。而伺服系統(tǒng)的位置反饋脈沖當(dāng)量由編碼器的分辨率及電機(jī)每轉(zhuǎn)對(duì)應(yīng)的機(jī)械位移量等決定。當(dāng)指令脈沖當(dāng)量與位置反饋脈沖當(dāng)量二者不一致時(shí),就需要使用電子齒輪使二者匹配。使用了電子齒輪功能,就可以任意決定一個(gè)輸入脈沖所相當(dāng)?shù)碾姍C(jī)位移量。具有電子齒輪功能的伺服系統(tǒng)結(jié)構(gòu)如圖3所示。若機(jī)械傳動(dòng)機(jī)構(gòu)的螺距為w,指令脈沖當(dāng)量為△l,編碼器每轉(zhuǎn)脈沖數(shù)為p,又考慮到一般電機(jī)軸與傳動(dòng)絲杠為直接相連, 則位置反饋脈沖當(dāng)量△ =w/4p。
具有電子齒輪功能的伺服系統(tǒng)結(jié)構(gòu)圖
由于脈沖當(dāng)量與反饋脈沖當(dāng)量不一定相等,就需要使用電子齒輪比來建立兩者的關(guān)系。具體計(jì)算公式為:al=3m ×cmx / cdv
。因此根據(jù)一個(gè)指令脈沖的位置當(dāng)量和反饋脈沖的位置當(dāng)量,就可以確定具體的電子齒輪比。三菱該系列伺服電機(jī)的電子齒輪比的設(shè)定范圍
對(duì)于輸入的脈沖,可以乘上其中任意倍率使機(jī)械運(yùn)行。
下面是plc控制私服的具體應(yīng)用
3、pi c控制原理及控制模型
本例采用了西門子s7.200系列cpu226作為主控制器。它是s7.200系列中的高檔plc,本機(jī)自帶24個(gè)數(shù)字輸人口、l6個(gè)數(shù)字輸出口及兩個(gè)rs-422/485串行通訊口,最多可擴(kuò)展7個(gè)應(yīng)用模塊 j。實(shí)際項(xiàng)目中,通過擴(kuò)展em231模擬量輸入模塊來采集電壓信號(hào),輸入的模擬信號(hào)可在0~10v±5v、0~20ma等多種信號(hào)輸入方式中選擇。最終,plc根據(jù)輸入電壓信號(hào)的大小控制脈沖發(fā)送周期的長短,從而達(dá)到控制伺服電機(jī)速度的目的。
3.1 高速數(shù)字脈沖輸出
西門子s7.200系列ac/dc/dc(交流供電,直流i/o)類型plc上集成了兩個(gè)高速脈沖輸出口,兩個(gè)高速脈沖輸出口分別
通過qo.0、qo.1兩個(gè)輸出端子輸出,輸出時(shí)可選擇pwm(脈寬調(diào)制)和pio(脈沖串)方式。pio方式每次只能發(fā)出固定脈沖, 脈沖開始發(fā)送后直到發(fā)送完畢才能開始新的脈沖串;pwm方式相對(duì)靈活,在脈沖發(fā)送期間可隨時(shí)改變脈沖周期及寬度,其中脈沖周期可以選擇微秒級(jí)或毫秒級(jí)。
3.2 pid功能特性
該系列plc可以通過pid回路指令來進(jìn)行pid運(yùn)算,在一個(gè)程序中最多可以用8條pid指令,既最多可同時(shí)實(shí)現(xiàn)8個(gè)pid
控制算法。在實(shí)際程序設(shè)計(jì)中,可用step 7-micro/win 32中的pid向?qū)С绦騺硗瓿梢粋€(gè)閉環(huán)控制過程的pid算法,從而提高
程序設(shè)計(jì)效率。
3.3 控制模型
控制模型方框圖如下圖所示,其中uset為極間電壓給定值(此時(shí)產(chǎn)氣狀態(tài)最佳),uf為極間電壓采樣值,vout為伺服電機(jī)運(yùn)轉(zhuǎn)速度。通過對(duì)電弧電壓采樣值與弧間電壓給定值的比較并經(jīng)過plc的pid調(diào)節(jié)回路控制,可以得出用于控制伺服電機(jī)旋轉(zhuǎn)的脈沖發(fā)送周期t,從而使伺服電機(jī)的送棒速度不停的得到調(diào)整,這樣就達(dá)到了控制兩極間距的目的。保證了兩極間距的相對(duì)穩(wěn)定,也就保證了極間電壓的穩(wěn)定性。
pid調(diào)節(jié)控制原理框圖
根據(jù)極間距對(duì)極間電壓的影響,可以設(shè)定plc的pid調(diào)節(jié)回路調(diào)整策略如下:
uset—uf<0,t 減小;
uset—uf>0,t增大。
通過上述控制方法,能夠比較精確的實(shí)現(xiàn)對(duì)uf的控制。
4、程序設(shè)計(jì)
以下應(yīng)用程序是經(jīng)過簡化的,沒有涉及異常情況。其設(shè)計(jì)以本文前面所述方法及原理為依據(jù),并給出了詳盡的程序注釋 。
4.1 主程序
nerw0rk 1
① ijd sm0.1
//sm0.1=1僅第一次掃描有效
② movw +0,vw450
//pid中斷計(jì)數(shù)器初始化
③ movb 100,smb34
//設(shè)置定時(shí)中斷時(shí)間間隔為looms
④ atch int— pwm — pid ,10
//設(shè)定中斷,啟動(dòng)pid執(zhí)行
⑤ eni
//開中斷
4.2 中斷程序
① network 1
ld sm0.0
//sm0.0=1每個(gè)掃描周期都有效
i cw v vw450
//調(diào)用中斷程序次數(shù)加1
② network 2
ldw > = vw450. + 10
//檢查是否應(yīng)進(jìn)行pid計(jì)算
m0vw +0,vw450
//如果如此,清計(jì)數(shù)器并繼續(xù)
n0t
jmp 0
//否則,轉(zhuǎn)人中斷程序結(jié)尾
③ network 3
//計(jì)算并裝載pid pv(過程變量)
id sm0.0
rps
xorw vw464,vw464
//清除工作區(qū)域
m0vw arw0.vw466
//讀取模擬數(shù)值
a v466.7
m0vw 16#ffff.vw464
//檢查符號(hào)位,若為負(fù)則擴(kuò)展符號(hào)
lrd
dtr vd464.vd396
//將其轉(zhuǎn)化成實(shí)數(shù)并裝載人pv
lpp
/r 32000.0,vd396
//正?;?.0至1.0之間的數(shù)值
④ network 4
id sm0.0
movr vim00,vim00
//vim00為設(shè)定值
⑤
⑥ network 6
id sm0.0
pid vb396,0
//進(jìn)行pid計(jì)算
⑦ network 7
ld sm0.0
m0vr vd404.vd464
//裝載pid輸出至工作區(qū)
+r vd400,vd464
*r 1000.0. vim64
//縮放數(shù)值
trunc vd464,vd464
//將數(shù)值轉(zhuǎn)化成整數(shù)
movw vw 466.vw 1000
//vw1000為plc輸出脈沖周期
⑧ network 8
//伺服電機(jī)右反轉(zhuǎn)控制(pwm)
//smw68/78 lifo周期值
//smw70/80 pwm脈沖寬度
//smd72/82 lifo脈沖計(jì)數(shù)值
ld sm0.0
movb 16# d3.smb77
//輸出脈沖周期為500微秒
movw vw 1000,smw 78
movw vw 1000.vw1 1 18
/i +2.vwl118
movw vw 1118.smw 80
pis 1
⑨ network 9
lbl 0
本例給出了利用西門子plc的高速脈沖輸出及pid控制功能,實(shí)現(xiàn)對(duì)數(shù)字式交流伺服電機(jī)進(jìn)行控制的原理及相應(yīng)編程方法。此控制方法已成功用于水燃?xì)馍a(chǎn)控制系統(tǒng)中,效果良好。