Re: [問題] 步進馬達如何歸零

作者: wisdom   2017-10-17 22:49:29
不管你是要用霍爾元件還是光電開關(或是更便宜的極限開關也可以)
目的都只有一個
讓馬達轉子帶著一個凸出物轉動,然後把感測元件固定在某個位置
凸出物的目的是當馬達旋轉時會觸發你選擇的感知器
這樣就可以知道馬達到達某個特定的角度
感測器要接回你的控制器的DI
程式上的寫法,歸零時先讓馬達往固定方向旋轉,
一邊旋轉一邊監控DI,一旦監控到DI觸發,就停止轉動
這時DI有兩個可能
Active : 表示觸發物停在感測器的感測範圍內
Inactive : 表示觸發物過頭離開感測器範圍
不管哪一種,下一個動作是緩慢的讓馬達逆轉,步進可以每下一步命令就掃瞄一次DI
一直到DI重新Inactive 的同時,視為歸零完成
當下的位置為參考點。你可以自定義這個參考點為任何位置(最簡單就定義為0)
然後就可以重新使用你的程式去觀測轉動一定步數後,是否會停在正確的位置
另外提醒你一點
你這種寫法,如果馬達轉速慢還無仿
但如果設定的頻率太快,等於沒有給馬達加減速時間
你如果把你的命令畫成V-t圖,就會發現你給的是一個矩形命令
加、減速 = 無窮大
加減速能力是看馬達的轉矩,因為馬達轉矩不可能無窮大
所以實際的加減速曲線會偏向梯形曲線
因此可以肯定你下的命令跟實際馬達的表現肯定不匹配
只是差多少的問題
這種不管加減速直接丟目標速度頻率的作法,是不能要求馬達的追隨性的
等於是不介意起步、煞車過程的條件。可以用在速度控制的場合
或是有外部感測器的PTP位置控制
但就是不能單純的用命令丟的步數去預測馬達應該要轉多少度
※ 引述《kennykobe (鳳山下智久)》之銘言:
: 目前參考了這個網站,想採用第2種方式
: http://www.555motor.com/news/821.php
: 想請問各位大大有沒有做過呢? 需要準備什麼東西呢?
: 還是有網站或教學影片呢? Thanks!!
作者: duser ( )   2017-10-17 23:15:00
高手
作者: woodsy (鎮神退駕百舉待廢)   2017-10-18 13:13:00
回歸過程中會有理論步數,但通常快到的時候,就會降速然後靠最後的不管是感應還是碰撞來確認最後位置在高速急煞下 通常可能會被慣性影響 沒有必要這樣冒險

Links booklink

Contact Us: admin [ a t ] ucptt.com