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