2007年9月1日 星期六

用 8051 控制四線式步進馬達

本文在 2007/09/01 21:33 發表於 Yahoo!奇摩部落格 
因Yahoo!奇摩部落格將於2013年12月26日終止服務故遷移至此

老闆要我示範 8051 控制步進馬達
剛聽到時...還好嘛
就信號編碼,然後送出
應該很簡單
於是又死了XD

到電料行看到一堆馬達
恩.....實驗用嘛,當然拿最便宜的
會動就好
結果拿到四線式的
網路上找到的資料都是六線式的
它就是那種信號編碼送出即可的
四線式的就不一樣了
它必須用兩個方向的電流來產生反向磁場
然而,數位電路只有 0 和 1
沒有 -1
只好靠別的策略來補足
話說用中文上網找還真難找
只看到討論區的求救文
於是查了一下原文再找
馬上就有了



Control of Stepping Motors
http://www.cs.uiowa.edu/~jones/step/

裡面很清楚的描述了其構造
不過他提供的控制電路看起來很危險
要用邏輯閘來預防短路
看起來頗麻煩
於是我想起了 DZ 的遙控音量模組
那也是 8051 的應用
一查就有解了
該電路片段如下 :


MOT1, MOT2 為兩 8051 I/O 輸出
也就是控制腳位
用兩隻輸出來產生不同方向的電流
藍色表示 MOT1 = 1, MOT2 = 0 時電流的方向
紅色表示 MOT1 = 0, MOT2 = 1 時電流的方向
用互補的電晶體就可以省去邏輯閘
而且當 MOT1, MOT2 同為 0 或 1 時
電流的方向為 Vcc to Vcc 或是 GND to GND
安全得很,相當不錯
這樣一組可以讓馬達一組線圈產生兩種相反的磁場
而四線式就是有兩組線圈
因此需要兩組電路
搭上 Control of Stepping Motors 一文中說的控制順序

1 | +000 +000 ...
2 | 00+0 00+0 ...
3 | 0+00 0+00 ...
4 | 000+ 000+ ...

它就會開始旋轉
成品 :


一堆電晶體,一堆兩極體,組成一片樹XD

實驗時發現每對晶體的 NPN 部分似乎相當燙
馬達算是有點大電流的裝置 (至少和邏輯 IC 比算不小)
推算一下電流為晶體忍受上限的 1/5
不知道是不是因為這樣而燙...可是這樣應該還好啊...
不過至少它會工作就是了,沒有冒煙XD

用 8051 只是為了展示 timer 和 I/O 的用法
其實控制信號應該用 2 計數器 + 555 就可以控制
(一個計數器每數 4 就跳一次,另一個則是漣波計數器)
不需要用這麼貴的 8051 才是XD

下篇 懶人方案(?) : 透過 L297 / L298 控制四線式步進馬達

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。