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