2016年1月24日 星期日

遙控小車-吳志文老師研發版V2-mblock馬達與超音波測試篇

遙控小車-吳志文老師研發版V2-mblock馬達與超音波測試篇

安裝程式


  1. 安裝Arduino的驅動程式(影片)
  2. 因為下載板用的是CH304晶片,因此要另外安裝驅動程式(影片)
  3. 安裝mblock的軟體(影片)

連接mblock與小車

  1. 將小車的下載板、USB連接線、杜邦排線接妥,如圖1,檢查電腦是否抓到小車的驅動程式,並檢查其與電腦的連接窗口代號,如圖2,開啟mblock軟體,設定UNO板、串列窗口,並上傳韌體,如圖3,按下使用馬達的Switch,如圖4,並將小車架高使車輪懸空。(影片)

圖片1:連接下載板、電腦、小車


圖片2:檢查驅動與通訊窗口

圖片3:確認mblock與小車連接

測試馬達運作


先拉出「設置數位腳位積木」並將其設定成10、高電位,然後拉出「設置PWM腳位積木」,設定為5、0,將其兩個積木連接在一起後,快點兩下滑鼠左鍵後你會發現右輪全速向前旋轉;接下來修改第5腳輸出為50、100、150、200,你會發現速度會越來越慢,255時會停止,你也可以手動輸入0~255其中任何數值,例如20、89、241...,最後你會發現當第10腳是高電位時,第5腳的PWM數字越小,轉動越快,這是因為它們(D10到D5)的電位(電壓)差比較大,而第5腳的PWM數字越大,轉動越慢,這是因為它們的電位差比較小;












圖5:右輪正轉速率調整

※P.S.電位差小於某個數值時,馬達無法啟動,因為馬達在啟動的瞬間需要比較大的動能,類似最大靜摩擦力的概念,當已經在轉動時,電位差即使小,也還會轉動,就像動摩擦力比最大靜摩擦力小的意思一樣。

接下來,將10設為低電位,調整5的PWM在0~255之間,你會發現,10設低電位,輪胎會倒轉,5腳PWM的數字越高,則轉動越快,越低,則轉動越慢。

圖6:右輪逆轉速率調整

知道原理以後,你可以再測試左輪,左輪的使用方式和右輪相同,不再贅述。之後我們得出一個左右輪運作的列表:(P.S.使用L293模組的會跟這種方式不同)



左輪
右輪
前進
D11 高電位
D10 高電位
前進時功率調整
D6  0最快←→255停止
D5  0最快←→255停止
後退
D11 低電位
D10 低電位
後退時功率調整
D6  255最快←→0停止
D5  255最快←→0停止


然後我們要想像一下,如果車要前進,就是兩輪一起向前,向後倒退,就是兩輪一起後退,而左轉(原地旋轉)就是左輪後退右輪前進,而右轉(原地旋轉)就是右輪後退左輪前進,停止則是將兩腳位設定成一樣是低電位,或一樣是高電位即可;因此我們可以利用“廣播功能積木”將車子的前進、後退、停止、左轉、右轉的功能組合出來,而且因為每一顆馬達的輸出不一定會相同,因此也能在這裡做微調,如下圖:


圖7:各個輪子的控制


圖8:車子的控制


超音波感測器的使用

這裡的超音波用的是SR-04,mblock裡有專屬的積木,可以測試前方障礙物的距離,單位是公分,最遠約到160公分左右;但是S4A就無法使用了,這也沒辦法,無法兩邊兼顧,因此如果是S4A的使用者,只好自己另購U-016了

超音波感測器部分:Trig/D2、Echo/D4


圖9:超音波感測器的控制

殘念


  1. P.S.因為mblock支援UNO的部分BUG其實還很多,在按下綠旗旁的停止按鈕時會造成右輪仍然持續轉動,還是得手動按一下程式中的右輪停止。(用S4A沒這問題)
  2. 至於紅外線的部分也是,mblock對於連續讀取A0~A5的輸入,好像非常的不穩定(單一個又好像可以),又很當,因此無法測試...
  3. mBlock支援自家的產品mBot很穩定,可惜支援開放硬體的部分好像沒有很積極改進,許多地方不是很穩定,不管是輸出的控制、或是輸入的偵測,總是有許多狀況,這就是我還不敢在學校推行mBlock的理由,畢竟目前還是S4A最穩!
待續
  1. 最近(105.02.01)在宜蘭的研習見識到Webduino,很適合拿來做進階感測器的使用和上雲端互動,除了沒有S4A的多媒體和mBlock的燒錄外,進階的感測器、元件的控制、與雲端的結合超級簡單,雖然是新公司(慶奇科技),到是很值得關注。
  2. 至於吳組長自製的感測器,他尚未大量生產,工程樣本測試起來很正常,請稍待文章與影片...
  3. 另外由於這車子是UNO的標準擴充座,因此UNO能玩的他都可以用,我建議國中小買一下通用的感測器擴充板V5,來連接各式各樣的感測器和元件;或是購買motoduino即將出版的第二代S4A學習板,作為一般教學的擴充,畢竟.... Arduino不是只有機器人一條路,可以用在生活上很多的創意!






1 則留言: