機(jī)械社區(qū)
標(biāo)題: 步進(jìn)電機(jī)控制問題 [打印本頁]
作者: 苗子YJ 時間: 2018-10-13 11:16
標(biāo)題: 步進(jìn)電機(jī)控制問題
請教大佬幾個簡單的控制問題,
背景:如下圖,步進(jìn)電機(jī)驅(qū)動絲杠帶動平臺上下移動,有上限位和下限位開關(guān),下限位是原點位,上限位是目標(biāo)位。
電機(jī)任意位置時回原點的動作是不是這樣的:連續(xù)給脈沖驅(qū)動絲杠帶動平臺碰到下限位時脈沖可以自動停止讓電機(jī)停止,然后平臺上升也是連續(xù)給脈沖使平臺碰到上限位時脈沖可以自動停止讓電機(jī)停止。
問題:電機(jī)是不是可以通過限位開關(guān)來控制,我無限連續(xù)給脈沖型號,只要限位開關(guān)被觸發(fā)了就停止脈沖。也就不存在失步的現(xiàn)象了,直到觸碰限位開關(guān)才停止。
還是說電機(jī)只能按程序給多少個脈沖就走多少個脈沖,不接受第三方指令。
作者: 嗜血之翼 時間: 2018-10-13 11:27
你程序接收開關(guān)指令不就可以控制脈沖了。。。。
作者: 520zjwtcabc 時間: 2018-10-13 12:27
限位開關(guān)一般不做目標(biāo)位和原點位。限位開關(guān)原意只是為了保護(hù)而設(shè)。當(dāng)然你表達(dá)的意思是可以的,這樣不需要考慮丟步。
作者: 苗子YJ 時間: 2018-10-13 13:54
嗯。謝謝!
不使用限位開關(guān)來做原點位,那一般靠什么方式來回原點?
電機(jī)一般是給多少個脈沖來走到目標(biāo)位。限位開關(guān)裝在目標(biāo)位的上面,為了防止不受控制時超出最大極限位嗎?
如果我直接用限位控制脈沖停止來達(dá)到目標(biāo)位,那是不是就不用在極限位再加限位開關(guān)了,因為目標(biāo)位的限位已經(jīng)觸發(fā)了脈沖停止,不會再往上移動了。
作者: shentu 時間: 2018-10-13 14:22
你說的可以實現(xiàn)。
作者: 制造商 時間: 2018-10-13 15:40
觸發(fā)感應(yīng)器之后再走N步,這樣位置是靠程序控制而不是靠調(diào)整光電開關(guān),這樣也有減速時間,防止過沖丟步。
作者: 去缸活塞泵 時間: 2018-10-13 17:39
在數(shù)控里限位開關(guān)的意義是觸發(fā)后標(biāo)記了一個點,你可以編程后續(xù)動作,比如制動,減速,或者再次觸發(fā)后停止等等
作者: duanyz 時間: 2018-10-13 20:22
你是想弄懂控制的原理自己編程,還是想應(yīng)用現(xiàn)成的控制器?
一般回原點是一個命令,執(zhí)行后就會一邊按設(shè)定的方向移動一邊檢測原點位置,檢測到了就停。
給固定脈沖數(shù)是另一個命令,給多少它就走多少
作者: Cavalier_Ricky 時間: 2018-10-14 10:10
樓主,先把機(jī)械慣性對設(shè)備的影響和步進(jìn)電機(jī)的加減速考慮好了再想這個問題。
因為,樓主提的問題,仔細(xì)閱讀控制卡之類的說明書,差不多都有理論性答案的。
但,怎么把這些理論性原理結(jié)合到鐵疙瘩的運動里去,這就需要考慮負(fù)載和機(jī)械慣性。
限位,理論上,就是一堵墻,不論怎么編的運動程序,只要啟用這個限位開關(guān),運動件不會碾壓過去這個位置。
當(dāng)然,我買的控制卡,可以啟用和關(guān)閉限位功能,不當(dāng)限位開關(guān)用,那個端口,還可以當(dāng)普通輸入點來用。
原點位,理論上就是程序認(rèn)為的基準(zhǔn)點,運動件,可以正負(fù)方向跨過原點運動。
理論和實際的差別,比如樓主的情況:檢測到了就停?怎么個“就停”法,得看負(fù)載和慣性了吧。一考慮這個,程序的分叉口就多了去了。
作者: DianGongN 時間: 2018-10-14 19:30
本帖最后由 DianGongN 于 2018-10-14 19:40 編輯
先簡單說一下步進(jìn)電機(jī)控制原理,然后回答LZ的問題。
常用的步進(jìn)電機(jī)有A相和B相兩個繞組,所以有4個引線。
改變A、B繞組電流的方向,可以前進(jìn)或者后退1個步距角,比如1.8°。對1.8°進(jìn)行32細(xì)分,可以得到0.05625°的理論精度。細(xì)分通過改變A、B繞組電流的比值來實現(xiàn)。通常采用成品步進(jìn)電機(jī)驅(qū)動器來控制步進(jìn)電機(jī),一般都有細(xì)分功能。細(xì)分?jǐn)?shù)值一般通過微型撥動開關(guān)設(shè)定,也可以軟件設(shè)定。一般可設(shè)為16、32、64、.....256。過大的細(xì)分?jǐn)?shù)值沒什么意義,實際精度達(dá)不到。
控制器的控制信號有2個:
1、方向信號,比如高電平=正向,低電平=反向;
2、脈沖信號,每個脈沖走0.05625°。(假定步距角=1.8°,32細(xì)分)
回答LZ問題1:
Q:“問題:電機(jī)是不是可以通過限位開關(guān)來控制,我無限連續(xù)給脈沖型號,只要限位開關(guān)被觸發(fā)了就停止脈沖。也就不存在失步的現(xiàn)象了,直到觸碰限位開關(guān)才停止。”
A:直接通過限位開關(guān)來控制原理上可行,實際很少見,一般用程序控制。限位開關(guān)作為輸入信號進(jìn)入cpu。控制算法:上限位到達(dá)時,如果方向信號也是向上,則禁止脈沖信號。上限位到達(dá)時,如果方向信號是向下,則允許脈沖信號。下限位算法類似。
可見直接通過限位開關(guān)來控制,必須增加邏輯電路才能實現(xiàn)。LZ所說“停止脈沖”,將使運動完全停止,無法脫離限位。
回答LZ問題2:
Q: ‘還是說電機(jī)只能按程序給多少個脈沖就走多少個脈沖,不接受第三方指令。”
A:一般的控制器,就是接受方向信號和脈沖信號,只要能夠提供這2個信號即可,無論用程序還是其他方式都可以。比如可以簡單的用1個乒乓開關(guān)產(chǎn)生高電平和低電平來控制方向,用1個按鈕來產(chǎn)生脈沖信號控制走多少個0.05625°,每按1次按鈕產(chǎn)生1個脈沖。
如果沒有控制器,只要有電源,也能直接控制步進(jìn)電機(jī)的運動,這需要一定的電路知識。
作者: 蘇州裝配工 時間: 2018-10-15 08:51
下限位是原點位,上限位是目標(biāo)位。
-------------
都是程序的事情 細(xì)說很麻煩
簡單先說下限位說就是初始位置和程序歸零要匹配,假如初始位置可能在0外 程序又是一個方向找0 就完蛋了
說上限,你這么用上限一般工況來看是瞎胡鬧 工作位置和限位位置一樣 有啥意義,到極限位你要不要報警了,報警要不要停機(jī),停機(jī)位置和工作位置一直機(jī)器聽誰的,沒得玩,除非你的是經(jīng)過論證我就是這么個工況,自己做的控制了。不是的話,說個例子,還是程序走10限位做到大于10的位置,出現(xiàn)干擾或者其他壞情況及時沖過工作位置10 也有限位做電器安全保證,再失效就撞機(jī)械限位吧
作者: jiangsuwanhua 時間: 2018-10-15 15:16
不太懂 學(xué)習(xí)一下
作者: fiyu1314 時間: 2018-10-15 15:49
控制步進(jìn)電機(jī) 有3個信號 一個是脈沖 一個是使能 一個是正反轉(zhuǎn) 脈沖讓步進(jìn)電機(jī)走 使能 是停了 是否有保持現(xiàn)狀的力 你用行程開關(guān)的信號 來控制正反轉(zhuǎn) 信號大概就是你的意思 至于是否丟步 這個要在程序上解決了。
作者: 唯風(fēng)文和 時間: 2018-10-15 17:00
低速低負(fù)載的情況可以 開關(guān)輸入中斷,輸出使能否,后轉(zhuǎn)向。
一般推薦為 開關(guān)輸入中斷,進(jìn)行減速,減速距離必須小于限位開關(guān)到碰撞的距離,同時記錄減速脈沖數(shù),減速至靜止后,反向發(fā)送記錄的減速脈沖數(shù),以免丟步。
作者: xy0225 時間: 2018-10-16 12:06
講的真好,不錯學(xué)習(xí)了
作者: 苗子YJ 時間: 2018-10-16 13:42
謝謝!
作者: 苗子YJ 時間: 2018-10-16 13:48
好的,謝謝!
作者: 苗子YJ 時間: 2018-10-16 13:48
謝謝!
作者: 苗子YJ 時間: 2018-10-16 13:53
就是想知道我這樣利于感應(yīng)器來控制位移量能不能行。
作者: 苗子YJ 時間: 2018-10-16 14:09
謝謝!請問需要加什么樣的邏輯電路可以實現(xiàn)。
控制步進(jìn)方向是改變電平高低的啊,學(xué)習(xí)了。
作者: DianGongN 時間: 2018-10-16 15:08
限位信號直接控制的話,用控制器上的使能比較好。使能信號=高電平,允許控制器工作;使能信號=低電平,禁止控制器工作。我一直程序控制,未用此信號,把這個信號忘記了,前面社友提起才發(fā)現(xiàn)。
邏輯關(guān)系是:如果到達(dá)上限位,方向信號向上,則使能信號=低電平;如果到達(dá)上限位,方向信號向下,則使能信號=高電平;
如果到達(dá)下限位,方向信號向下,則使能信號=低電平;如果到達(dá)下限位,方向信號向上,則使能信號=高電平。
假設(shè),
輸入信號3個
上限位信號T, T=1表示到達(dá);T=0表示未到
下限位信號B, B=1表示到達(dá);B=0表示未到
方向信號D, D=1表示向上,D=0表示向下
輸出信號1個
使能信號E, E=1表示允許,E=0表示禁止
控制邏輯 E = not ( (T and D) or (B and not D) ) 或者文字描述 E=( (T與D) 或 (B 與 D非) )非
作者: duanyz 時間: 2018-10-17 22:47
大多數(shù)現(xiàn)成的簡易控制器就有這個功能的,買時咨詢下。
歡迎光臨 機(jī)械社區(qū) (http://www.ytsybjq.com/) |
Powered by Discuz! X3.5 |