2013年11月23日 星期六

報廢硬碟的無刷馬達~轉動吧!

4線式 硬碟馬達的控制紀錄....

一開始手上有很多刻壞掉的硬碟,原本只是想看看硬碟內部長得什麼樣子,拆完後發現裡面的無刷馬達還真是順暢,心想著若可以再利用不知道有多有趣...但似乎不是那麼的簡單。



先說無刷,有點類似交流電機,又或者是步進馬達完全靠電子產生磁場相斥推動,省略了電刷的機械構造(因此不會有電刷磨損的問題),而驅動的理論,這有點深奧(我不是本科只是玩玩XD)。

不過上網找資料應該都很多,我其實也看了很多,啥六步方波....頭真的很暈
好在高職有學過8051單晶片,驅動的控制應該只要可以寫入51就行了,我的想法很簡單
還記得8051的跑馬燈程式,這幾乎是最簡單的東西。我們把概念套用一下應該可行!

首先先分屍!~

遇到的第一個問題就是螺絲,硬碟用的螺絲是米字型的但是我沒有用米字型的板手
只好暴力拆解了,拿出斜口鉗用力的夾住,夾至螺絲頭變形在轉動...(反正是壞的硬碟)

螺絲拆解

拆的過程還算順利,用力夾兩手努力轉!

分解後各部份的零件

零件有點雜,我們只需要硬碟的馬達,剩下的先丟在一邊吧。
接下來就是要準備了解一下,這顆馬達通電會作出什麼反應

馬達是四條線

很多硬碟好像都是4線,不像是模型飛機或是船用的無刷只有三線
先把電線焊上去,方便之後的作業

在上頭畫上一個標記,就是等等要觀察的重要資訊

因為馬達內部的繞線方式有點像是三相電機,不過不懂也沒關係,我們知道內部的線圈若是用電表測量不管怎麼量,阻抗因該是都要相同,所以我們來測測

接點測量


首先拿三用電表,把測量A/B點-----得到的數值紀錄一下
在測量A/C-----在記錄一下,A/D....
依序測量(還好只有四條線,不然要量很多次)
1.A/B
2.A/C
3.A/D
4.B/C
5.B/D
6.C/D
接下來你會得到一些數字,你會發現其中3組數字相同另外3組數字相同。
而兩組比較起來剛好是倍數,所以內部線路推測大概是下圖的構造。

A與B有通,測量時電經過2次線圈
A與C有通,測量時電經過2次線圈
A與D有通,測量時電經過1次線圈
B與C有通,測量時電經過2次線圈
B與D有通,測量時電經過1次線圈
C與D有通,測量時電經過1次線圈
這樣我們就大概知道,送電時要將電力傳入哪個線頭內。
答案是A/B/C(取最大的電阻搭配)

接下來我們是要知道送電時,馬達會怎麼動。
依照XXX定律.....(我忘了)
反正就是給電,他就會轉一個角度。
那我們在紙上,依序紀錄送電的線頭號碼與轉動的位子
(要送多少V的電壓?我隨手拿一個三號電池接上任一兩端線他就會動了,所以...試試吧)

這只是先前紀錄的,示意示意而已,不要照著量....
紀錄後我們就可以知道,當AB給電會轉到某個角度,而就可以知道若我要轉到下一個角度是要給誰電力~所以就依此類推..算出轉360度的順序搭配組合
(說到這就已經符合六步方波的送電概念了)。

所以要接上電池就會轉是不太可能的,除非你用超神速的動作快速的接上A/B然後又換B/C然後又......我想這個工作應該留給8051去做就好。(我用華邦W78E52C   1個)

8051怎麼驅動馬達?
記得剛剛講的,依序記錄下來的線頭組合嗎?
在這8051只是扮演著開關切換角色而已,而跑馬燈不是很適合嗎
記得以前寫跑馬燈,會寫入先量第一顆然後等多久在亮下一顆,利用這個方法導通組合1然後2...3...4.....重複的執行。

8051程式大概的範例


寫好就燒進去8051囉!~

由於這裡我是利用了8051的6支I/O腳
3支負責正極
3支負責負極
這又扯到如何接線,基本上8051的訊號電壓是推不動馬達的,我們要借助其他東西,比如MOSFET或是其他的電晶體&開關。
這些東西作用很像繼電器,當有訊號輸入這些mosfet或是電晶體他就會導通輸入與輸出

我手上也沒有功率晶體MOSFET只有9013電晶體。
那就用9013來當功率晶體好了(我也不想去買,有點遠)反正會動就達到目的了

9013有三隻腳,在這裡做為一個輸入(接電源源頭,我的源頭是5V/500mA),一個輸出(接馬達),一個接收訊號(接8051的I/O)。
當有訊號給9013他就會導通輸入與輸出,訊號切斷電源就跟著切斷

但是這樣還是推不動..........,所以有2個方式
1.把9013串成達林頓,就可以加大電流
2.用其他更強的代替品

所幸在我零件盒找到一個東西,叫做光耦合器(這也很像繼電器)。
光耦合裡面埋了一個LED還有一個當有感受到光線時就會導通的開關,因此我們只要把內部的LED點亮,輸入與輸出就會通了!

光耦合,這裡我畫簡單一點,示意示意....(我用TLP521-4兩顆)

所以!LED的一隻腳就接8051 I/O腳,一支接負極,當程式告之8051送電囉!
他就會把電源灌到LED,因此開關被照亮,就通了
(所以開關那端,你可以串接上更強的電源比如9V 12V 之類的電源)

至於馬達的三條線要怎麼接,第四條我暫時不管他。

線路大概像下面這樣接


這樣我們就完成了
1.寫程式
2.接線路

準備工作都好了!

OK送電


轉轉轉!!~


後續問題
1.馬達可能會抖,原因是送電切換的時間跟馬達旋轉的速度不對,這就要偵測轉子,並對你的程式切換時間進行修正(微調快一點,或是慢一點,不然都是你送你的電,我轉我的)

2.起轉可能不順利,可能跟電壓或是送電的起始錯誤(換線或是改程式)

最後來個偷吃步
上網買個無刷馬達的電子變速器,接上三條線,搞定!效能會很高喔!只是要花點小錢
不過還是得靠8051,因為電變會偵測輸入的訊號送出轉速高低,所以8051只要寫入步進馬達的程式來控制電變

我覺得這樣比較簡單....

創用 CC 授權條款
kona製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款釋出。
此作品衍生自kona

10 則留言:

  1. 感謝分享,今天教國中一年級的兒子拆硬碟馬達,想讓硬碟馬達轉,不過我不是電子本科,可能沒法讓它轉起來,不過電路板裝回去,用電源供應器給電後,應該可以轉吧!

    回覆刪除
    回覆
    1. 基本上,驅動電路是在板子上沒錯,所以板子沒壞,通常都會動,只是不會加減速而已

      刪除
  2. 太強了!!原來硬碟馬達是這樣驅動的....
    怪不得我直接焊兩條線接12V就是不動。。
    網路上賣的電子變速器都好貴,我只是想廢物利用硬碟的小馬達而已。

    回覆刪除
    回覆
    1. 哈哈,其實我原本是要拿來當小發電機,但效率不是很好。所以就拿來玩玩,拿以前學過的東西來複習一下

      刪除
  3. 不好意思想請問一下
    程式中0x09照你的線路來看應該是P2.0跟2.3吧,但這兩隻腳同時打開的話就會直接回到電池中而不會進到線圈裡吧?

    回覆刪除
    回覆
    1. 你這麼一說,對喔會短路。哈 抱歉!
      不過這個有點年代久遠,這個因該是我程式碼寫錯,我記得...當時搞到很晚。可能弄錯圖,上面的序列我後來有調整。
      不過你有看出錯誤,我想您因該也成功運轉了吧?!

      刪除
    2. 是的~感謝您提供這麼好的經驗分享^^

      刪除
  4. 請問這是步進馬達嗎?是幾相的呢?双極還是單極的呢?我也拆了幾個想廢物利用一下

    回覆刪除
    回覆
    1. 這屬於無刷馬達,控制方式比較複雜一點,因該是三相直流電機。
      y字接法若是四線,其中一線可能是中心抽頭。

      控制我覺的有點類似步進,不斷換相。比較困難的是時機要對。(你要知道轉子現在停在什麼角度,才有辦法推敲下一相的換相時機要提前幾毫秒或是延後)

      你可以先試試光碟機的主軸無刷馬達(轉光碟的那一棵),通常這種馬達都黏在電路板上,且板上都配有霍爾感應,可以藉由感應了解馬達轉置什麼位置,然後準確的換相。

      刪除