昨天很開心上了吳老師的線上課程,學習如何做一個可以追太陽的裝置,
組裝的部份我就跳過了,如果下次再拿到一組為組裝的材料,再跟大家分享
今天的主題是:伺服機馬達
那就開始吧!
要製作一個雲台基本上會需要兩個伺服機馬達,一個是控制水平旋轉,另一個控制垂直旋轉
伺服機馬達又可稱為舵機,市面上有相當多種不同的規格,最常用的應該就是SG90塑膠齒輪的版本,雖然扭力不大,但對於製作專題來說已經算很多應用了,這次汯鉅的追光裝置採用的是金屬齒輪,這樣會比較耐用一點
擴充板是用V1版本,但基座上也可以鎖V2版本擴充板,接下來說明一下如何接線
水平移動的舵機需要接在擴充板上的PWM2的位置,PWM2的顏色為橘色、紅色和黑色,剛好對應伺服機馬達的橘色、紅色和棕色
垂直移動的伺服機馬達需要接在PWM3的位置,其接法同上
兩個伺服機馬達接上之後我們就可以進入積木的部分,開啟ePy線上實驗室開始coding
這邊要稍微提醒大家,水平旋轉伺服機馬達是接在PWM2,但積木要選「伺服馬達3」,垂直旋轉的伺服機馬達接在PWM3,積木要選「伺服馬達4」
測試的方式很簡單,就直接寫上數字之後作執行的動作,伺服機就會開始旋轉
這邊可以用的積木很多,我比較喜歡使用的是:
它可以讓伺服機在自訂的時間內移動,有點省略迴圈的方式比較簡單,這就是積木的好處
接下來我們要測試馬達的旋轉角度
每批伺服馬達不見得可以從0度旋轉到180度,但就我自己的觀察應該是說每批伺服馬達可以旋轉的角度是有限的,這點跟伺服機他自己的脈衝有關,詳細的說明大家可以觀看黃信惠老師的說明。
看完黃信惠老師的影片後在往下做喔!
因此在不知道自己的伺服機馬達可旋轉的角度下,安全的旋轉範圍基本上會落在30~150度之間,如果你發現你的伺服機馬達在極限的角度會出現抖動,那就代表其實已經超出他可以旋轉的範圍,這時候再縮小範圍即可,就這樣不斷地重複測試
接下來還會有第二個問題。大家再輸入「角度」的時候,明明輸入0~90度,但視覺上就只轉了30度,或是更小,總之就不到「直角」的感覺。可能輸入0~150之後,視覺上才有旋轉90度的感覺....
雖然我不太清楚真正的問題是甚麼,但大家可以試著去調整範圍,找到最適當的數值和範圍後記錄下來
搭配兩個方式不停地測試,你就會找到你手上這顆伺服機馬達的最適當的旋轉角度和輸入的數值
這次使用的材料吳老師已經幫我們計算好了,輸入數值為0~280對應的角度為0~180度。
所以在角度上要先做歸一化
如果我要旋轉90度,這樣數值和旋轉的較度會比較直觀囉
吳老師也分享了一個不錯的方式,這個方式就很適合國二資訊科技提到的教學內容:模組化程式設計
模組化的好處就是讓主程式變得乾淨,這樣閱讀程式碼會比較容易。
我們要使用下圖的積木,要回傳數值
從積木的齒輪拉出一個變數,可以把x命名為angle,這是我們要回傳到主程式的數值
接下來把運算放入,這邊的MotorAngle就是要胃給伺服機馬達的數值,接下來就試在主程式中呼叫
將函式放入伺服機馬達的積木中,下圖中的90就是我想要讓伺服機馬達旋轉的角度
執行之後,伺服機馬達就會開始旋轉90度囉