|
本帖最后由 超級狗 于 2014-5-22 09:21 编辑
4 l! G% g6 @1 `* m
8 d7 z- a3 I+ a2 [0 h樓主︰6 [) ^5 F% X" L4 q [1 I% d( D- y
1 j# E0 J# q( z- T, U您講這是個步進馬達,我好像有點懂了。你看那個相勵磁順序表,應該表示這個馬達有八個步階。' D N1 O% @, J: A' y
7 H; n7 H. v/ A+ g9 o. |- 紅線永遠接電源沒錯。
- 第一個步階把黑線接地。
- 第二個步階把黑、黃線接地。
- .……以此類推,循環控制狀態,馬達應該就能轉動了。
- 要馬達反轉就把相勵磁順序反過來就行。
- 因為不需要反轉電流,所以還是不需要全橋(Full Bridge)電路,控制一個馬達只要四個三極管就成。$ r0 Y. T, q8 @+ Z
' @6 H- H# j6 }* H9 a m5 j6 H( }: B
這種一般是用 PWM 做控制沒錯,但也不一定非要用 PWM 不可,只是用 PWM 軟件比較不用費那麼大的勁,效率會好一些、MCU 空出來的時間還能做其它事。
. c2 H4 H6 t4 c" }/ z* X( {3 ]
% w7 X6 z7 `5 A t+ V我唯一還不懂的是,一個馬達通常只有正轉和反轉兩個方向,您需要上下左右轉,所以是不是需要兩個這樣的步進馬達?還是一個這樣的步進馬達就能做到?
( I$ X, R7 w `4 R9 _' e0 |+ h/ u" L- m5 d
* u6 Q# H9 _0 g* X$ X; t& e. e1 jGPIO 不足的問題, x+ j7 H. l6 D& Z1 [
; l+ B! r- J, ~7 ]7 h
方法一︰: B2 Q7 I! A4 r) B
有一種芯片叫 I/O Expander,可以用 I2C 或 SPI Bus 再擴充出 8 ~ 16 個 I/O。GPIO 也可以用軟件模擬成 I2C 或 SPI,唯一要注意的是軟件模擬成 I2C 或 SPI MCU 比較費工,我不知道你用甚麼樣的 MCU,也不知道你的 MCU 還剩多少效能做這件事,是不是夠快自己要評估一下。" W8 @6 b' x& D% R9 x
- w. W6 Y/ |1 }. w" x0 P+ Q) o- y方法二︰. u) J5 A# d- T, {/ i
因為相勵磁順序是固定的,所也你可以借助一顆 CPLD 或 FPGA 設計一個步階控制器。只要兩個 GPIO 就可以產生步階號,啟動╱停止 和 前進╱後退兩個訊號。即便是要控制兩個步進馬達,四個 GPIO 也剛好夠用。, ~/ [8 X/ H+ r4 p% o
( Y8 g% `0 n. y; ]. K+ W) Q
|
|