|
本帖最后由 超級狗 于 2014-5-22 09:21 编辑
0 @* ^6 C8 D4 q4 r& U% c1 ?2 `1 L1 ^8 s
樓主︰
) @. f( O4 K k8 [* ^
0 t) [0 a# n) t# k' ?* U5 M2 d您講這是個步進馬達,我好像有點懂了。你看那個相勵磁順序表,應該表示這個馬達有八個步階。2 R+ o1 b) m8 D5 M$ K! N. e9 c
( w" R1 j4 ]& ? q
- 紅線永遠接電源沒錯。
- 第一個步階把黑線接地。
- 第二個步階把黑、黃線接地。
- .……以此類推,循環控制狀態,馬達應該就能轉動了。
- 要馬達反轉就把相勵磁順序反過來就行。
- 因為不需要反轉電流,所以還是不需要全橋(Full Bridge)電路,控制一個馬達只要四個三極管就成。) i) V6 K5 Q( [+ ^
3 V6 L4 M0 r1 _; X f: x0 u a
" k- Z) h. R4 g這種一般是用 PWM 做控制沒錯,但也不一定非要用 PWM 不可,只是用 PWM 軟件比較不用費那麼大的勁,效率會好一些、MCU 空出來的時間還能做其它事。, ^; r5 O3 h5 K3 v# ]
5 |" u0 k: v4 r& [1 G H
我唯一還不懂的是,一個馬達通常只有正轉和反轉兩個方向,您需要上下左右轉,所以是不是需要兩個這樣的步進馬達?還是一個這樣的步進馬達就能做到?
. D1 R4 F" V0 a# }# e2 Q* `' r& N$ O/ l" y5 S1 c
: J1 |# s! h2 f' q9 i% o
GPIO 不足的問題
! p3 ?7 i- P7 d: l% L
% L% K9 Q$ u* v5 j方法一︰
( }1 m/ ~1 K+ I7 I# y+ x5 H有一種芯片叫 I/O Expander,可以用 I2C 或 SPI Bus 再擴充出 8 ~ 16 個 I/O。GPIO 也可以用軟件模擬成 I2C 或 SPI,唯一要注意的是軟件模擬成 I2C 或 SPI MCU 比較費工,我不知道你用甚麼樣的 MCU,也不知道你的 MCU 還剩多少效能做這件事,是不是夠快自己要評估一下。( K' G# L, S. Q+ k* ~
- y& ?" y2 h; g6 ^ f, {" b8 D, C
方法二︰
. a- ]8 N+ e0 n4 g- H) `因為相勵磁順序是固定的,所也你可以借助一顆 CPLD 或 FPGA 設計一個步階控制器。只要兩個 GPIO 就可以產生步階號,啟動╱停止 和 前進╱後退兩個訊號。即便是要控制兩個步進馬達,四個 GPIO 也剛好夠用。
& c1 M0 Q' d- Z+ K6 o9 h- o* Y& P4 l) ?8 x1 K- z
|
|