伺服電機是工控上常用的東東,本文簡單介紹如何對伺服進行接線,并編寫PLC程序進行簡單位置控制,這里使用武漢華大的邁信ep100交流伺
服電機為例,權(quán)當(dāng)灌水,大家想學(xué)的可以學(xué)學(xué),我不保證我沒有誤人子弟。
一般伺服電機使用的最多的就是位置控制模式,其說明書上的接線示例如圖所示:
不要被嚇到了,cn1是控制端口,cn2是編碼器反饋端口,不用管,有專用線的。
實際上,只用控制cn1的32、33、34、35,4根線就好了,這四根線分兩組,32和33作為脈沖輸入,34和35作為方向輸入。
舉個例子:
我們把32(plus+)接上+24v,把33(plus-)接上0V,
把34(dir+)接上+24v,把35(dir-)接上0V,就接成了最簡單的伺服系統(tǒng),發(fā)現(xiàn)沒有,其實外部三根線就可以了,我們把32和34接在一起,
共用電源正極。
不過,伺服是靠脈沖控制的,我們的線路只給伺服發(fā)了一個脈沖,而本套伺服是10000脈沖/轉(zhuǎn),那么它只轉(zhuǎn)動了360/10000,呵呵,幾乎沒動一
樣,要使它連續(xù)運動,就要給它持續(xù)的脈沖,脈沖快,它轉(zhuǎn)得快,脈沖多,它轉(zhuǎn)得多。那么就用到PLC了。
我這里用的是三菱的plc:
FX1s和Fx1n的都提供了24V的直流電源,引出端是24+和COM,在輸出端,Y0對應(yīng)COM0,Y1對應(yīng)COM1,Y2Y3到Y(jié)5對應(yīng)COM2(我以Fx1s14mr 8入6出
為例)。接線圖如圖所示:
當(dāng)Y0有輸出時,COM0就和Y0接通(內(nèi)部的,據(jù)說是場效應(yīng)管),同理Y2有輸出時,COM2就和Y2接通,那么我們控制Y0和Y2的通斷就可以產(chǎn)生脈
沖信號(0101010101)和方向信號(0000001111111)了。產(chǎn)生脈沖還不容易,用個timer進行alt就行了(alt是三菱plc的一個指令,alt y0,
每執(zhí)行一次,Y0就翻轉(zhuǎn))。實際上還有更簡單和強大的DRVA和DRVI。
DDRVA:絕對位置驅(qū)動
ddrva s1 s2 d1 d2
s1:位置(簡單理解為相對于原點的脈沖數(shù),正負999999之間)
s1:頻率(發(fā)脈沖的速度,越高速度越快,不要超過最高速,一般10k,當(dāng)然也不能低于某個值,和加減速、最高速都有關(guān)系,具體參考編程手
冊,要不然這篇文章寫不完了)
d1:輸出脈沖的out口,我們用的y0
d2:輸出方向的out口,我們用y2
DDRVI:相對位置驅(qū)動,用法一樣,唯一不同的是S1:簡單理解為相對于當(dāng)前位置的脈沖數(shù)。
也許有人要說了,好像很麻煩,不如用alt呢。alt是簡單,可是我沒看到幾個人用alt驅(qū)動伺服。DDRVA的好處是:不用處理脈沖方向,也就是
不用我們?nèi)ス躖2是正還是負,我們只要告訴s1是正是負就好了,是正的話y2自動輸出,是負的話y2不輸出,伺服就自覺的反轉(zhuǎn)了。
還有就是,我們用DDRVA和DDRVI的時候,PLC可以幫我們把發(fā)出的脈通過使用它的特殊寄存器記錄下來,就像這樣:ddrva k1000 k500 y0 y2
(驅(qū)動伺服電機以每秒500脈沖的速度移動1000個脈沖的距離,表達不準(zhǔn)確,自己理解一下),那么D8140就是1000了,D8141還是0,因為它是
高16位,當(dāng)?shù)?6位的D8140滿了以后(16位,要滿的話估計要到665535去了),D8141才開始使用。
注意:Fx1s的高速輸出只有y0和y1,所以為了有效利用資源(有時候要控制兩臺伺服),不是高速的方向信號就交給y2和y3了,一般是y0和y2
配成一對,y1和y3配成一對。
現(xiàn)在寫簡單的測試程序了,梯形圖不好貼,看附件啦:
實現(xiàn)功能:
按下X0,把當(dāng)前位置設(shè)為原點。
按下X1,移動到相對于原點的D0位置
按下X2,從當(dāng)前位置再移動D2個脈沖
按下X3,回到之前設(shè)定的原點。
保護:移動過程中不能設(shè)定原點,相對運動和絕對運動互鎖,但可以隨時回到原點,會原點過程中不能進行相對和絕對運動。