【mind+用戶庫】AFMotor電機驅動扣展板使用教程

【mind+用戶庫】AFMotor電機驅動扣展板使用教程

在這裏插入圖片描述

介紹

電機擴展板作爲Arduino平臺最爲流行的擴展板之一具有連接便利,功能豐富的特點。之前一直想在mind+平臺使用這款電機擴展板,可惜官方一直沒用出,學會了怎麼編寫用戶庫,只能自給自足了!本教程主要向讀者介紹一下:AFMotor用戶庫的使用方法。

AFMOTOR電機擴展板主要功能特點

  • 可最多驅動4個模型直流電機
  • 可最多驅動2個28BYJ-48步進電機
  • 可最多驅動2個舵機(Arduino的9號和10號引腳來驅動舵機)
  • 板載兩塊L293D芯片負責電機驅動的核心工作
  • 可配合Arduino Uno/Mega開發板使用(本擴展主要針對Uno開發板進行開發)

端口介紹

在這裏插入圖片描述

外接電源供電

如下圖所示,AFMotor電機擴展板上配有外接電源接口。該接口所連接的直流電源可以爲電機和Arduino開發板供電。
在這裏插入圖片描述
使用AFMotor電機擴展板驅動電機時,首要考慮的問題就是如何爲擴展板供電。如果電源輸出功率達不到驅動電機的要求,那麼電機是無法正常工作的。在考慮如何選擇電源時,我們需要重點關注兩個方面 ,一個是電源電壓,一個是電源電流。

注意:外接電源極性千萬不要接反,否則會對擴展板造成損壞!

外接電源電壓要求

AFMotor擴展板中起關鍵作用的芯片是L293D。該芯片所允許的直流電源電壓範圍是4.5V ~25V。因此AFMotor擴展板外接電源接口允許我們連接的電源也是4.5V ~25V。請注意:這是一個很寬泛的電壓指標。具體我們應該連接的電源電壓有多大,這是由被驅動的電機工作電壓來決定的。

外接電源電流要求

與上面提到的電源電壓要求相同,外接電源的電流要求也是由被驅動的電機來決定的。通常我們使用AFMotor電機擴展板所驅動的電機就是普通的模型電機(如以上電源講解中的圖片所示)。對於這一類型的電機,它們的工作電流大約是500mA左右,因此我們只要爲擴展板配一個500 mA~1000 mA的外接電源就足夠了。請注意,假如您所驅動的電機工作電流超過500mA,那麼就要考慮爲擴展板上的L293D加裝芯片了。

擴展板跳線的作用

在以上兩種工作方式裏,我們對電機擴展板上的跳線採取了不同的操作方法。該跳線的作用是控制Arduino開發板是否通過外接電源來供電。當跳線移除的時候,外接電源不會爲Arduino開發板供電。相反當跳線安置在插針上,外接電源將會爲Arduino供電。

因此在程序開發過程中,當Arduino與電腦通過USB線連接時,我們需要將跳線從插針上移除。假如我們不移除該跳線,Arduino會有兩路供電。而這兩路電源同時工作會產生問題,嚴重的可能會造成開發板以及擴展板的損壞。

關於直流電機引線

可能有些朋友會感到好奇,直流電機有兩根引線,這兩根引線在連接到AFMotor擴展板電機端口時有沒有順序呢?這個問題的答案是“既有順序也無順序”。

如果您只是單純的想要讓電機轉起來,那麼這兩根引線連接到擴展板端口上是沒有順序的。但如果您發現電機旋轉的方向與您所期待的相反,您可以將這兩根電機引線從擴展板上斷開,然後交換順序再接到擴展板端子上,這時您會看到電機旋轉的方向就反過來了。

未佔用的引腳

Arduino開發板的模擬輸入輸出引腳(A0~A5)沒有被AFMotor擴展板所佔用。
Arduino引腳2 和引腳13都沒有被AFMotor電機擴展板所佔用。如果您手中有AFMotor擴展板,您可以在擴展板的正面靠近2號引腳的位置找到一個沒有焊接插針的預留孔。這個預留孔就是用於焊接額外插針以便於您使用引腳2的。與上面所提到的模擬引腳一樣,引腳2預留孔也沒有預先焊好插針。如果要用到此引腳,需要您自行焊接插針。

引腳13雖然沒有被AFMotor擴展板佔用,但是擴展板上沒有將該引腳引出。使用引腳13需要您自行焊接額外引線才能使用。

(–轉自太極創客網站

準備階段

安裝方法:

1、直接搜索導入(推薦)
這是最推薦的方式,在用戶庫中搜索“hockel”,即可添加 AFMotor模塊。
在這裏插入圖片描述
2、網絡加載方式安裝:
打開mind+ 選擇上傳模式->用戶庫:在搜索欄中輸入:https://gitee.com/hockel/AFMotor
回車後出現下圖,雙擊導入即可。
在這裏插入圖片描述
3、離線包安裝
4*4矩陣鍵盤擴展庫離線安裝包下載地址:鏈接: 鏈接: https://pan.baidu.com/s/1HAOcWVSSuym-isQ64Qr7RQ 提取碼: 5ie6
首先下載離線安裝包:hockel-afmotor-thirdex-V0.0.1.mpext,將它保存到電腦任意位置,然後打開 Mind+ 軟件,選擇用戶庫,點擊“導入文件”,如下圖所示:
在這裏插入圖片描述
選擇剛剛下載的離線安裝包hockel-afmotor-thirdex-V0.0.1.mpext,點擊打開即可:
在這裏插入圖片描述

積木列表

在這裏插入圖片描述

示例程序(驅動4個電機)

電路連接

在這裏插入圖片描述
https://detail.tmall.com/item.htm?spm=a230r.1.14.23.3c45467b97EsSw&id=600108071245&ns=1&abbucket=6

在開發時,Arduino的電源是由電腦通過USB線提供的。但由於電機運行所需的電源功率遠遠超過Arduino能提供的電源功率,因此Arduino是無法爲電機供電的。要想讓電機獲得充足的電源供應,我們就需要在擴展板的外接電源端口接上直流電源來爲電機供電。在這種情況下,擴展板上的跳線一定要移除。否則可能會損壞Arduino開發板以及電機擴展板!請務必注意!

另外,當擴展板上的跳線沒有安置插針時,如果我們不給擴展板外接電源,而只是將Arduino開發板連接在電腦USB端口上。由於Arduino開發板輸出的電能遠遠無法滿足電機正常運行的要求,所以雖然看到電機也在動,但是動起來很沒有力氣。要想讓電機以正常的方式運行,還是需要給擴展板連接外接直流電源的,這樣電機纔有充足的動力來運行。

程序代碼

在這裏插入圖片描述

示例程序(驅動2個步進電機)

電路連接

在這裏插入圖片描述

程序代碼

在這裏插入圖片描述
相關積木介紹:

步進電機初始化積木塊:後面括號中的兩個參數分別代表了步進電機旋轉一週的步數以及步進電機連接在擴展板上的端口號。如AF_Stepper motor1(2048, 1)語句中參數2048代表motor1旋轉一週需要走2048步。假如您的電機旋轉一週需要32步,那麼請在第一個參數位置輸入32這一數字參數。
括號中第二個參數1代表motor1連接在M1和M2端口。對於motor2對象,它括號中的參數2代表motor2連接在M3和M4端口。
第三個參數:AFMotor的onestep庫函數運行模式:

  • SINGLE - 全步進模式(單線圈)。電機每走一步,擴展板只給一相線圈供電。
  • DOUBLE - 全步進模式(雙線圈)。電機每走一步,擴展板會同時給兩相線圈供電。
    此模式運行的電機比SINGLE模式下的扭矩要更大,但是電機耗電也會更多。
    INTERLEAVE - 半步進模式。這種模式是SINGLE和DOUBLE的混合。電機每走一步,擴展板對線圈供電方式
    在一相和兩相之間交替切換。舉例來說,電機走第一步時,只有一相線圈通電。
    走第二步時,會有兩相線圈供電,然後又是一相,再兩相…這樣交替通電。
    這種控制模式的優點是電機運行更流暢,但是缺點是運行速度大打折扣。
  • MICROSTEP - 微步進模式。此模式下的電機運行更光滑,但缺點是扭矩會打折扣。

總結

值針對了常用積木塊寫了簡單的教程,更多玩法其他網友自行開發。最新教程歡迎關注個人博客:www.hockel.club

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章