秋秋
有志者事競成
級別: 家園常客
![]() |
圖片:
![]() 廠里有一臺設(shè)備自動送料的,要我自己動手編程啊,自己又不熟悉,怎么辦啊,有一條1米長的絲桿,絲桿的螺距是10mm 沒有減速比,直接用伺服電機(jī)驅(qū)動機(jī)械手來回左右方向運(yùn)動。有左限位開關(guān)X1和右限位X2做超程保護(hù)。原點開關(guān)X10,PLC上電每次都要求伺服回原點,首先機(jī)械手拿料。拿到料后,前進(jìn)400MM后停止1S,1S后再移動500MM放料,放料后再回原點拿料,如此往復(fù),該怎么實現(xiàn)該功能啊,用什么指令比較合適。臺達(dá)伺服驅(qū)動器編碼器的分辨率是10000,設(shè)伺服電機(jī)轉(zhuǎn)一圈需要1000個脈沖,電子齒輪比是不是這樣算10000除以1000=10嗎?PLC機(jī)發(fā)1個脈沖,到伺服輸出是不是變成10個,請各位師傅幫忙,小弟對伺服不熟悉啊,望多多指教 ![]() |
---|---|
|
秋秋
有志者事競成
級別: 家園?
![]() |
謝謝師傅的指點,是不是當(dāng)碰到原點開關(guān)時把Y0的當(dāng)前脈沖值D8140清0,伺服電機(jī)就停轉(zhuǎn),這一點是不是可以認(rèn)為是原點位置,確定了1個脈沖走0.01MM,那我可以先計算要走400MM的脈沖數(shù)發(fā)給伺服驅(qū)動器,再計算1S后再移動500MM放料的脈沖數(shù),脈沖發(fā)完后在把剛才所走脈沖數(shù)之和用減法SUB K0 D0 D2 ,D0 是400MM和500MM的脈沖總數(shù)放在D2再發(fā)給伺服驅(qū)動器,前進(jìn)多少就退多少,可以這樣嗎,當(dāng)退到x10動作時,就把D8140的當(dāng)前值清零,伺服電機(jī)就讓它停轉(zhuǎn),也就確定了原點,可以這樣嗎?請師傅指點一下,每個脈沖應(yīng)該是10MM除以一圈所需要的脈沖數(shù)1000等于0.01MM每脈沖,對不對。 |
---|---|
|
秋秋
有志者事競成
級別: 家園?
![]() |
謝謝師傅的指點,是不是當(dāng)碰到原點開關(guān)時把Y0的當(dāng)前脈沖值D8140清0,伺服電機(jī)就停轉(zhuǎn),這一點是不是可以認(rèn)為是原點位置,確定了1個脈沖走0.01MM,那我可以先計算要走400MM的脈沖數(shù)發(fā)給伺服驅(qū)動器,再計算1S后再移動500MM放料的脈沖數(shù),脈沖發(fā)完后在把剛才所走脈沖數(shù)之和用減法SUB K0 D0 D2 ,D0 是400MM和500MM的脈沖總數(shù)放在D2再發(fā)給伺服驅(qū)動器,前進(jìn)多少就退多少,可以這樣嗎,當(dāng)退到x10動作時,就把D8140的當(dāng)前值清零,伺服電機(jī)就讓它停轉(zhuǎn),也就確定了原點,可以這樣嗎?請師傅指點一下,每個脈沖應(yīng)該是10MM除以一圈所需要的脈沖數(shù)1000等于0.01MM每脈沖,對不對。 |
---|---|
|
秋秋
有志者事競成
級別: 家園常客
![]() |
你現(xiàn)在的控制還沒走完脈沖直接用原點感應(yīng)復(fù)位了,那他沒有減速停止,相當(dāng)于急停,那馬達(dá)本身有慣性,還有感應(yīng)器靈敏都,還有PLC接受時間等影響,你每次走得肯定都不一樣,你這樣控制還不如用2個感應(yīng)器用速度控制(跟變頻器減速停止一樣控制),用脈沖指令位置控制就毫無意義了。你現(xiàn)在好比要走360個脈沖是一圈,就同樣用DRVI K360 K3000 Y1 M99等發(fā)完后用原點感應(yīng)點個好比Y3給伺服清零,那下次要走就同樣重復(fù)就好了。 |
---|---|
|
秋秋
有志者事競成
級別: 家園?
![]() |
你的停止方式是急停,而不是曲線控制,馬達(dá)沒有減速過程,由于慣性的影響,難免出現(xiàn)誤差,并且復(fù)位用的傳感器多少都存在一定的誤差,可能反應(yīng)快一點,也可能反應(yīng)慢一點,這樣每次走的脈沖數(shù)都不一樣了,根本就沒有用到脈沖精確定位的功能。 你應(yīng)該用DRVI(相對定位指令)(相當(dāng)于JOG運(yùn)行)驅(qū)動馬達(dá)走一圈,計算一下馬達(dá)走一圈需要多少個脈沖(也可以通過計算得到),然后在實際的定位控制中采用DRVA指令,讓你的馬達(dá)每一次都走固定的你計算所得到的脈沖數(shù),這樣就能達(dá)到你的要求了。 |
---|---|
|
秋秋
有志者事競成
級別: 家園?
![]() |
用DDRVI 移動脈沖數(shù)為-99999999,到定義原點時停止,再清零D8140就可以了.省了了近點開關(guān) |
---|---|
|
秋秋
有志者事競成
級別: 家園?
![]() |
我暈,無論你遠(yuǎn)點在哪一端,你只要找到一端了,在相對運(yùn)動到另一個你需要的位置原點這個時候你在吧計數(shù)器清零,這樣就完成了原點搜索了 |
---|---|
|
秋秋
有志者事競成
級別: 家園常客
![]() |
FX1N支持這個位置控制指令,回原點,相對定位,絕對定位。而2N的只有連續(xù)脈沖輸出指令 |
---|---|
|
秋秋
有志者事競成
級別: 家園?
![]() |
好的,師傅 |
---|---|
|
秋秋
有志者事競成
級別: 家園常客
![]() |
回原點的原理基本上常見的有以下幾種。 一、伺服電機(jī)尋找原點時,當(dāng)碰到原點開關(guān)時,馬上減速停止,以此點為原點。這種回原點方法無論是選擇機(jī)械式的接近開關(guān),還是光感應(yīng)開關(guān),回原的精度都不高,受溫度、噪音、粉塵、電源波動等等的影響,信號的反應(yīng)時間會每次有差別,再加上從回原點的高速突然減速停止過程,可以百分百地說,就算排除機(jī)械原因,每次回的原點差別在絲級以上。 二、回原點時直接尋找編碼器的Z相信號,當(dāng)有Z相信號時,馬上減速停止。這種回原方法一般只應(yīng)用在旋轉(zhuǎn)軸,且回原速度不高,精度也不高。 三、應(yīng)用在數(shù)控機(jī)床上比較精準(zhǔn)的方式:電機(jī)先以第一段高速去找原點開關(guān),有原點開關(guān)信號時,電機(jī)馬上以第二段速度尋找電機(jī)的Z相信號,第一個Z相信號一定是在原點檔塊上(所以你可以注意到,其實高檔的數(shù)控機(jī)床及中心機(jī)的原點檔塊都是機(jī)械式而不會是感應(yīng)式的,且其長度一定大于電機(jī)一圈轉(zhuǎn)換為直線距離的長度)。找到第一個Z相信號后,此時有兩種方試,一種是檔塊前回原點,一種是檔塊后回原點(檔塊前回原點較安全,歐系多用,檔塊后回原點工作行程會較長,日系多用)。以檔塊后回原為例,找到檔塊上第一個Z相信號后,電機(jī)會繼續(xù)往同一方向轉(zhuǎn)動尋找脫離檔塊后的第一個Z相信號。一般這就算真正原點,但因為有時會出現(xiàn)此點正好在原點檔塊動作的中間狀態(tài),易發(fā)生誤動作,且再加上其它工藝需求,可再設(shè)定一偏移量;此時,這點才是真正的機(jī)械原點。此種回原方法是最精準(zhǔn)的,且重復(fù)回原精度高。 |
---|---|
|