首頁>Club>
設計微控制器軟體,完成步進電機單三拍脈衝分配,假定要求時間間隔為1ms。
3
回覆列表
  • 1 # 一起學微控制器

    具體的引數不清楚,所以說說我的做法。

    瞭解電機的轉向關係,如圖,是要正轉還是反轉。三相單三拍不如三相單雙六拍控制好。因為丟失任意一個節拍電機不會停轉。所以按6拍畫出通電順序圖。用微控制器的IO口輸出來控制三極體等功率器件驅動電機對應繞組。按照埠計算節拍的賦值,如0X0E,0X0C,0X0D,0X09,0X0B,0X03.用定時器產生1毫秒的中斷,每進一次中斷給埠按順序賦節拍值,迴圈往復,步進電機就按照需要的轉向不停運轉了。

    當然你也可以透過程式,改變電機的轉向,或者控制電機的圈數或角度,控制這個,就要根據硬體結構計算一圈的節拍數,透過軟體控制節拍數來達到你需要的角度。

  • 2 # 調戲微控制器

    從題主的意思來看,所指步進電機應該是一個三相步進電機,假設分別為A相、B相、C相,其工作原理如下圖所示。

    我們從電源正極+V出發開始,電流經過開關KA後流經A相的兩個繞組,然後到達地線上。另外兩相也仍然如此。

    微控制器需要做的事情就是按一定的時序依次切換KA、KB、KC三個開關即可讓電機正轉或反轉。可以用微控制器的三個IO口來分別控制這三個開關,至於硬體如何實現不是本問題的重點,在此不詳說了。

    下圖是A、B、C三相的控制波形:

    圖中步進時鐘是微控制器軟體內部為程式設計方便所設定的一個軟體時鐘,週期為1ms。A相波形、B相波形、C相波形均為電流波形。

    假設控制KA的微控制器IO口為高電平時,對應KA開關閉合,A相電流就有電流流過,電機就轉一個步距角;然後KA斷開,KB閉合,電機再轉一個步距角;依次時序按A→B→C→A的順序,電機就連續轉起來了。

    如果要讓電機反轉,就按A→C→B→A的通電順序就可以了。

    需要注意的是,電機在啟動時由於慣性力矩的存在,軟體必須讓脈衝時鐘頻率從慢逐漸增加到所需的頻率,如果一開始就用很快的速度啟動,步進電機容易失速。

    本人從事微控制器開發工作十多年,積累了豐富的微控制器開發經驗,我會不定期地給大家分享微控制器開發方面的實用乾貨。

  • 中秋節和大豐收的關聯?
  • 印尼的貓屎咖啡最正宗,你怎麼看?