本帖最后由 DianGongN 于 2018-10-14 19:40 編輯
先簡單說一下步進電機控制原理,然后回答LZ的問題。
常用的步進電機有A相和B相兩個繞組,所以有4個引線。
改變A、B繞組電流的方向,可以前進或者后退1個步距角,比如1.8°。對1.8°進行32細分,可以得到0.05625°的理論精度。細分通過改變A、B繞組電流的比值來實現。通常采用成品步進電機驅動器來控制步進電機,一般都有細分功能。細分數值一般通過微型撥動開關設定,也可以軟件設定。一般可設為16、32、64、.....256。過大的細分數值沒什么意義,實際精度達不到。
控制器的控制信號有2個: 1、方向信號,比如高電平=正向,低電平=反向; 2、脈沖信號,每個脈沖走0.05625°。(假定步距角=1.8°,32細分)
回答LZ問題1: Q:“問題:電機是不是可以通過限位開關來控制,我無限連續給脈沖型號,只要限位開關被觸發了就停止脈沖。也就不存在失步的現象了,直到觸碰限位開關才停止。” A:直接通過限位開關來控制原理上可行,實際很少見,一般用程序控制。限位開關作為輸入信號進入cpu。控制算法:上限位到達時,如果方向信號也是向上,則禁止脈沖信號。上限位到達時,如果方向信號是向下,則允許脈沖信號。下限位算法類似。 可見直接通過限位開關來控制,必須增加邏輯電路才能實現。LZ所說“停止脈沖”,將使運動完全停止,無法脫離限位。
回答LZ問題2: Q: ‘還是說電機只能按程序給多少個脈沖就走多少個脈沖,不接受第三方指令。” A:一般的控制器,就是接受方向信號和脈沖信號,只要能夠提供這2個信號即可,無論用程序還是其他方式都可以。比如可以簡單的用1個乒乓開關產生高電平和低電平來控制方向,用1個按鈕來產生脈沖信號控制走多少個0.05625°,每按1次按鈕產生1個脈沖。 如果沒有控制器,只要有電源,也能直接控制步進電機的運動,這需要一定的電路知識。
|