Arduino第二十課(電腦裡的馬達)

Arduino第二十課(電腦裡的馬達)
宜蘭竹林國小 陳金助老師

學校如果有電腦淘汰掉,報廢後不要急著回收,可以讓學生拆解,看看裡面的構造,也可以將裡面堪用的零件拆解下來做實驗,拆完剩下的再交給回收商。

打開電腦一眼就看到這四個跟馬達有關的主要零件。

電腦的硬體結構請參考:

電腦構造牆 (http://blog.ilc.edu.tw/blog/blog/868/post/10898/549521)

將零件拆下來,用刷子將灰塵刷乾淨。

一、直流馬達

機殼風扇和CPU風扇都是直流馬達,一般都是12V供電,三條接線。

黑色接負級,紅色接正極,另一條(黃、綠…..)色是偵測風扇轉動速度。

下圖是正常運作的CPU風扇,透過軟體可以監測到轉速。

PS:有些電腦可以依據CPU的溫度,自動調整CPU風扇轉速

這個風扇需要12V供電,Arduino板只能提供5V,不過,還是可以試試看。

接線:

黑色線接GND,紅色線接D11,另一條(黃、綠…..)色線接類比腳A0。

使用[說類比腳位A0]指令,可以在螢幕上觀察接收到的訊號

(PS:類比腳A0輸入值為0~1023,實際轉速要經過轉換)

設置數位腳位D11的PWM輸出值,利用模擬輸出電壓可以調整風扇轉速。

1.PWM輸出為0:理論上沒有輸出,風扇沒有轉動,A0接收到的應該為0,可是卻收到363的訊號。(應該是飄移訊號)

2.PWM輸出為50,電壓輸出太小,風扇轉不動,A0接收到的為0

3.PWM輸出為255,風扇轉動,A0接收到的值變動很大,看不清楚。

4.改變一下程式

將一段時間的轉速平均一下,再觀察。

新增兩個變數,將轉速累加50次後,再求取平均值

5.PWM輸出為255,風扇轉動,A0接收到的值平均約在30左右。

6.PWM輸出為150,風扇轉動,A0接收到的值平均約在20左右。

7.PWM輸出為50,風扇轉不動,A0接收到的值平均小於1。

PWM輸出為模擬電壓非真正電壓。

二、硬碟 

硬碟內部構造請參考:http://blog.ilc.edu.tw/blog/blog/868/post/10898/570043

硬碟內部有一個主要轉動磁片的馬達,大家一定不會想放過它。

硬碟的馬達是 [ 3相無刷直流馬達 ],所以拆下來會看到四個接點,直流電是無法直接讓它轉動的。

馬達種類繁多,實在是門大學問。有興趣的老師請參考:http://www.edom.com.tw/vender/techdoc/SFF_MotorControl_revFINAL_TC.pdf

硬碟背面

硬碟馬達有四個接點,其中一個是共用腳位,另外三個分別控制三個相位。

使用三用電表來找出共用腳位

DSC_0726 DSC_0721DSC_0722DSC_0723DSC_0724DSC_0725

 

硬碟腳位1

用三用電表量各個點之間的電阻,會發現其中一個點不管是跟那一個點之間的電阻都是比較小

例如:上圖中的A點。

DSC_0734 DSC_0735DSC_0736DSC_0737DSC_0738

硬碟腳位

例如:上圖中的A點。

每一台硬碟的電阻都不大一樣。

因為Arduino提供的電力不足以讓硬碟轉動,因此需要外接動力。

這裡使用一個L298N 馬達驅動板來協助。

L298N 馬達驅動板

L298N 馬達驅動板接線

12V連接外部電源,可以連接Arduino板的Vin

GND接Arduino板的GND

5V接Arduino板的5V

IN1~IN4分別接Arduino板的數位腳,例如:D8~D11

OUT1~OUT4分別接硬碟的連接點A、B、C、D

利用D8~D11的訊號控制硬碟A、B、C、D的電位,來驅動硬碟轉動。

使用程式控制激磁方式來讓馬達轉動,簡單的分為一相激磁和一/二相激磁兩種。

1.一相激磁

將上面的[Arduino主程式]積木換成[當綠旗被點一下],可以立刻看到執行結果

一相激磁,將等待時間去掉

如果將程式上傳離線執行,會發現沒有等待時間的程式,無法讓馬達轉動

推測應該是上傳後執行時間太快。

2.一/二相激磁

程式上傳,離線執行外接電源

外接電源

將上面的[Arduino主程式]積木換成[當綠旗被點一下],可以立刻看到執行結果

[當綠旗被點一下],將等待時間去掉

如果將程式上傳離線執行,會發現沒有等待時間的程式,無法讓馬達轉動。

檔案上傳後硬碟沒有轉動,因為USB提供的電力不足以讓馬達啟動。

註:光碟機裡面有3顆馬達,下一節介紹。 

—————————————–

相關連結:

國中小學生外部感應器初體驗:Arduino軟硬體選擇建議
http://blog.ilc.edu.tw/blog/blog/868/post/93477/626724

Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771

Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681

Arduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599732

文章來源:Arduino第二十課(電腦裡的馬達) 由 roc 發表。

作者: roc

宜蘭縣國小資訊小站