伺服馬達Servo motor的目的是在於讓我們的電路可以順利地驅動一些機械裝置,而且它可以藉由指定角度以控制馬達的轉動,對於需要轉動到指定位置的應用而言非常實用
任何的開發板最有趣的實習之一就是驅動伺服馬達,因為方法簡單而且實用,可以用來驅動許多的裝置,因為在這一篇文章中就來教各位同學如何利用micro:bit驅動伺服馬達。伺服馬達有許多種型號,每一種能夠接受的電壓、電流以及驅動力各有不同,在網路上都可以找到相關的數據,如果不清楚的話,一定要先看一下規格喔。
在使用伺服馬達之前有一點要留意的就是它的電源供應,因為馬達本身所需要的電流較大,因此大部份的伺服馬達是沒有辦法直接由micro:bit上的電源直接驅動的,在很多的情況下我們需要使用的是外部的電源。而在使用外部電源的時候,儘管馬達不是由micro:bit驅動,但是它們(馬達和micro:bit)的接地仍然要接在一起。
一般來說,我們都是在麵包板上做實驗,因此要連接使用外部電源的話,請儘量善用麵包板上的電源匯流排。也就是先把外部電源的正負電接到麵包板的匯流排上,然後也把micro:bit的GND連接到麵包板的負匯流排,如下所示:
在我們的實習套件中有附了一個黑色的微型伺服馬達,如下:
這個伺服馬達的驅動力非常小,但是可以直接使用micro:bit驅動,也算是它的優點。但是,想要拿它來驅動一些結構裝置的話不太切實際,因此在大部份的應用上,我們會選用下面這個小型的伺服馬達SG-90:
大部份的伺服馬達都需要3條線,其中兩條分別是接電源的正極及負極,而另外一條則是信號線。因為它的接線是母的,為了要能夠接到麵包板上,所以我們使用了3條雙公頭的杜邦線連接上去,連接完成的畫面如下:
接著就可以把信號線和電源線接到麵包板上,如下所示:
請留意,在這個例子中,我們還保留了之前開箱文中所使用的LED驅動電路,我們把驅動LED的部份接到P0,而馬達則是接到P1,另外把GND連接到麵包板右側的負極,從另外一個角度看起來如下所示:
但是之前我們有提到過,micro:bit板上的電源電力並不足驅動這個伺服馬達,那電源從哪裡來呢?習慣上我們都會另外準備如下所示的變壓器:
此類型的變壓器有各種不同的規格,支援的電流大小也不一樣,可以自行選用,我們在這裡使用的是5V5A的變壓器,如上圖所示,左側兩個接點是連接到110V的交流電源,而右側則是5V正負極的輸出,直接把它們分別連接到麵包板上的+/-匯流排即可。線路連接完畢之後,可以編輯以下的程式:
這個程式很單純,就是一邊讓LED閃爍,而一邊改變伺服馬達的角度,其操作結果如下面這個影片:
也可以透過按鈕來控制如下:
還記得micro:bit本身就有溫度顯示的功能了嗎?我們可以讀取溫度,然後依照溫度的值去設定伺服馬達的角度,如此就可以製作出一個指針式溫度計了,程式碼如下:
因為電源夠力,接著把LED的電路移除,使用micro:bit來控制具有兩個MG-996R伺服馬達的雲台,由於這個馬達是金屬齒輪有滿大的扭力,可以驅動非常多的結構部件。以下是此雲台的上方:
以及雲台的底座:
兩個伺服馬達當然就有兩組線,如下所示:
我們分別把它們的信號線連接到P0和P1,然後使用以下的程式碼,讓按了A按鈕之後基座轉到0度,而按了B按鈕之後轉到180度,如果A和B同時被按下時,則轉動上方的馬達:
程式執行的結果如以下的影片所示: