mBlock & Arduino(16)控制步進馬達 | arduino藍芽控制步進馬達
步進馬達這東西的學問真不少,就結論而言,控制步進馬達最好的方式,就是找到與手邊步進馬達可以配合的程式庫來使用。ArduinoIDE不是有Stepper程式庫可以使用嗎?嗯!它是可以用一些步進馬達上,不過,不見得能完全發揮步進馬達應有的控制能力,控制某些馬達則會有些問題,正巧,我手上這顆28BYJ-485VDC就是!…XD在Arduino官方網站的Arduino-Stepper[1]文件中,談到了步進馬達的兩個基本分類:單極步進馬達(UnipolarStepper)與雙極步進馬達(BipolarStepper)。那麼就從這兩個分類開始認識!單極步進馬達是提供單一方向的電流來驅動...
步進馬達這東西的學問真不少,就結論而言,控制步進馬達最好的方式,就是找到與手邊步進馬達可以配合的程式庫來使用。Arduino IDE 不是有 Stepper 程式庫可以使用嗎?嗯!它是可以用一些步進馬達上,不過,不見得能完全發揮步進馬達應有的控制能力,控制某些馬達則會有些問題,正巧,我手上這顆 28BYJ-48 5V DC 就是!… XD
在 Arduino 官方網站的 Arduino - Stepper[1] 文件中,談到了步進馬達的兩個基本分類:單極步進馬達(Unipolar Stepper)與雙極步進馬達(Bipolar Stepper)。那麼就從這兩個分類開始認識!
單極步進馬達是提供單一方向的電流來驅動馬達,例如:
在上圖中,可以看到線圈各有一個共同接點,通常接電源,只要改變其他接點的電壓訊號,就可以產生電流,而電流都是固定的方向,而由於有四個線圈,這樣的馬達被稱為四相(Phase)馬達。
雙極步進馬達的電流則是雙向的,例如:
這類馬達在驅動時,需要改變電流的方向來達到不同激磁的效果,而由於有兩個線圈,這樣的馬達被稱為二相馬達。
馬達的相數除了二向、四相之外,還有單相、三相、五相等,這是為了達到不同程度的控制,馬達的控制是運用電流通過線圈會產生磁場,並與另一永久磁鐵產生作用,來達到轉動的效果,以四相步進馬達為例:
如果做為定子的線圈激磁後,面對轉子一面是 S 極,就會吸引轉子的 N 極,只要依順序對各相線圈激磁,就會產生轉動效果,像上面這種一次激磁一個線圈的方式,稱為一相激磁,因為每次只激磁一個線圈,電力消耗小,不過缺點是振動大、轉距小。
常見的激磁方式是二相激磁,顧名思義,一次激磁兩相,由於有兩相用以吸引住轉子,因此振動小、轉距大:
也有一相、二相輪流激磁,稱為一/二相激磁,順序其實就是上面兩張圖的結合:
可以看出這種激磁方式,每次轉動的角度為一相或二相激磁的一半,可以得到更精確的控制。
步進馬達需要比較高的電壓或電流驅動,在 Arduino 官方網站的 Arduino - Stepper[2] 文件中,有 Unipolar Steppers[3] 及 Bipolar Stepper...