國 立 勤 益 科 技 大 學...

16
國 立 勤 益 科 技 大 學 電子工程系實務專題報告 mBot 循跡自走車 指導教授:黃國興 教授 學生:四子四甲 3A313048 林祐安 四子四乙 3A313120 何元翔 四子四乙 3A313128 朱奕華 四子四丙 3A313202 陳宜館 107 年 3 月

Upload: others

Post on 25-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

  • 國 立 勤 益 科 技 大 學

    電子工程系實務專題報告

    mBot 循跡自走車

    指導教授:黃國興 教授

    學生:四子四甲 3A313048 林祐安

    四子四乙 3A313120 何元翔

    四子四乙 3A313128 朱奕華

    四子四丙 3A313202 陳宜館

    中 華 民 國 1 0 7 年 3 月

  • 1

    摘要

    本專題利用兩顆超音波感測器,可偵測路徑前進、偵測前方障礙物並閃避,

    由兩顆直流馬達帶動自走車,藉由 Arduino撰寫程式控制超音波感測距離及馬

    達速度與轉向角度。單晶片微控制器採用「mCore」開發板,使用此開發板在程

    式設計上更為簡易,省去許多複雜的宣告及定義。

    目錄 一、緒言………………………………………… 2

    二、簡介………………………………………… 3

    (一)硬體部分…………………………… 3-5

    (二)軟體部分…………………………… 5-7

    三、理論………………………………………… 9

    四、結論………………………………………… 15

    五、參考文獻…………………………………… 16

    圖目錄 圖 1 研究流程圖 ………………………………………………… 2

    圖 2 mBot ………………………………………………………… 3

    圖 3 mCore ………………………………………………………… 3

    圖 4 Me Ultrasonic Sensor …………………………………… 4

    圖 5 Me LED Matrix 8X16 ……………………………………… 4

    圖 6 益眾 CNY70 感測器 ………………………………………… 5

    圖 7 TT減速馬達 ………………………………………………… 5

    圖 8 CNY70 2進制轉 10進制程式 ……………………………… 6

    圖 9 主程式-1 ……………………………………………………… 6

    圖 10 主程式-2 …………………………………………………… 7

    圖 11 主程式-3 …………………………………………………… 7

    圖 12 控制流程圖 ………………………………………………… 10

    圖 13 比賽獎狀 …………………………………………………… 14

  • 2

    一、緒言 (一)研究動機

    科技突飛猛進的時代,講求的就是效率和品質,造就出自動化的工業主流,也造就出高

    性能、高智慧的機器人,且又能不間斷的執行,逐漸取代調人力,因耗時費力且高成本的缺

    點,而為了有效執行,程式控制及機器人的應用是不可或缺的。

    (二) 研究目的

    藉由 Arduino去撰寫程式,以 UNO R3 核心,特過紅外線及光感測器模組去執行功能,

    進而使車體因應環境做出不同的反應,能自動偵測路徑 前進、偵測前方障礙物並閃避,實現

    多功能的自走車。

    (三) 研究流程

    1. 對 UNO R3 的控制及程式進行探討及了解基本工作原理及硬體相關知識。

    2. 透過討論對題目進行分析,並且參考相關資料找出最適合解決方案及辦法。

    3. 規劃系統程式及硬體架構。

    4. 將硬體及軟體做整合, 並測試功能的正確性。

    5. 驗證成品是否符合原設計功能。

    開始

    專題構思

    系統設計

    車體安裝

    動作除錯

    是否成功

    實體完成

    圖 1 研究流程圖

  • 3

    簡介 (一)硬體部分

    (1) mBot

    mBot是一款可以體驗動手編輯程式、學習電子與機器人學的多功能解決方

    案,透過執行完整融合 Scratch 2.0的 mBlock﹐可以使用藍芽或 2.4G無線模組

    與 mBot連線。

    圖 2 mBot

    (2) mBot主控板—mCore

    mCore是專為 mBot設計的主控板,基於 Arduino Uno。mCore可結合各種傳

    感器,可用於不同的應用,如蜂鳴器,光傳感器,RGB LED等等。

    圖 3 mCore

    http://makeblock.com/mbot-v1-1-stem-educational-robot-kit

  • 4

    (3) Me Ultrasonic Sensor 超音波感測器

    使用 RJ25 介面,使用者將更方便的去使用它。Me Ultrasonic Sensor可

    用於感測距離與避障﹐從 3公分到 4公尺之間﹐並且在 30 度角的範圍內。

    圖 4 Me Ultrasonic Sensor

    (4) Me LED Matrix 8X16

    共 128個 LED的表情面板,可以顯示文字、簡單表情、簡單動畫,呈現字

    符的滾動播放等。

    圖 5 Me LED Matrix 8X16

  • 5

    (5) 益眾 CNY70 感測器

    CNY70是一個紅外線尋線感測器。益眾 CNY70整合了 5顆 CNY70。

    圖 6 益眾 CNY70 感測器

    (6) TT減速馬達

    TT 減速馬達額定為直流 6V,轉速為每分鐘 200 轉。

    圖 7 TT減速馬達

  • 6

    (二)軟體部分

    ▲ 圖 8 CNY70 2進制轉 10進制程式

    ▲ 圖 9 主程式-1

  • 7

    ▲ 圖 10 主程式-2

    ▲ 圖 11 主程式-3

  • 8

    三、理論 (一) 利用 mBlock拼裝積木程式來控制 mBot,mBlock相容於非常普遍的

    SCRATCH,所以非常適合各個階層的使用者。

    (二) Scratch 是 MIT(麻省理工學院)發展的一套新的程式語言,可以用來創造

    互動式故事、動畫、遊戲、音樂和藝術。

    適用於八歲以上的兒童學習數學以及計算能力,藉由這些學習也可以加強

    他們對於設計流程的認知。

    Scratch的官方網站 http://scratch.mit.edu/

    Scratch的特色:

    (1)視覺化的程式語言

    (2)積木組合式的程式語言(用拖曳、組合的方法取代打字,免除指令輸入

    錯誤的困擾)

    (3)提升高層次思考能力

    為了能與 mBot溝通,且將寫好的程式編譯成 C語言,mBot所使用的 scratch

    是由 makeblock公司將原版重新修改內容,並重新編譯而成的 mblock版 scratch

    功能與普通的 scratch2.0無異,但是多了 mbot與 arduino的功能。

    http://scratch.mit.edu/

  • 9

    (三) 超音波感測器的原理

    先從超音波這個名詞來做解釋,人耳能聽的到的頻率範圍約在

    20~20KHz(20000Hz)間,而超音波就是泛指超過人耳能聽到的音波,在我們的超

    音波模組上所使用的頻率是 40KHz。

    為什麼超音波能用來偵測距離呢?這邊是利用物體會反射音波的原理,計

    算發射音波到收到反射音波的時間,再把這個時間值除以兩倍音速(因為聲音跑

    了兩倍距離),就能得到與物體的距離了。

    TIP:音速為 340公尺/每秒

  • 10

    (四) 控制流程圖

    圖12 控制流程圖

  • 11

    (五)比賽規則

    1.自走車的規定

    (1) 自走車必須由 Makeblocke 公司所出產的 mBot-All-In-One Robot Kit、表

    情模組和益眾科技的 CNY70 模組組合而成,如[圖 1]所示。 mBot 益眾科技

    產品型號為:A03-M-mBot 表情模組益眾科技產品型號為:A03-M-LEDMatrix

    CNY70 模組益眾科技產品型號為:A03-M-CNY70

    (2)自走車必須能自立行走,不得由操控手使用手動遙控。

  • 12

    2.比賽場地:

    場地如【圖2】所示,為一般的木板貼上大圖印刷的表面,有一條約 2 公

    分寬的黑色軌跡線。軌跡線上會貼上數條 (可能 1 條,可能 10 條)與軌跡線

    相互垂直的 2 公分寬 20 公分長的黑色線條,以下稱計數線。計數線的間隔至

    少 1 公分,第一條計數線的前端的黑色軌跡線會有 10 公分以上與計數線垂直

    且沒有彎曲。黑色軌跡線上會放置 1 個寶特 瓶(圖上圓形綠色處)。寶特瓶的

    容量約 0.6 公 升,圓柱形,不裝瓶蓋,瓶口著地倒立,外表可能有貼產品標

    籤。軌跡線上的紅點距離寶特瓶約 30 公分,由紅色電工膠帶貼成。木板的接

    合處可能有某種程度的不平坦,自走車必須可以克服這樣的障礙。

  • 13

    3.規則:

    (1)每隊限一名操控手下場操控自走車。

    (2)參加隊伍於比賽前由各隊操控手(或選手代表)抽籤決 定出賽次序。

    (3)比賽開始前,所有參賽的自走車均須置放於大會指定的 區域,輪到下場比

    賽的隊伍, 操控手須在裁判示意下拿 取自己的自走車下場比賽。

    (4)比賽時每次一個自走車下場比賽,先就位於起點處,當 裁判發出哨聲後,

    操控手即可 啟動自走車沿著黑色軌跡 線向終點方向行走。

    (5)自走車的表情模組必須顯示偵測到的計數線數量,在出 發時沒有偵測到任何計

    數線, 所以必須顯示 0,經過計 數線時,必須隨即顯示數字。表情模組所顯

    示的數字必須 保 持到該自走車比賽結束。

    (6)自走車行走到寶特瓶前方時,必須繞過寶特瓶,並在紅 點之前行走在黑色

    軌跡上,否則視為脫離黑色軌跡線。

    (7)自走車行走一次的時間不得超過 2 分鐘,除 了避開寶 特瓶外,不能脫離黑

    色軌跡線行走(即從這個圖形跳到 另一個圖形)自走車脫離黑色軌跡線或

    撞倒寶特瓶時,以當時的位置計算比賽成績。

    (8)比賽成績計算方式:每算到 1 條計數線可得 1 分,每多計算 1 條計數線

    扣1 分,計算遺漏不扣分。假設場地有 5 條計數線,如算到 5 條線,則得 5

    分;如算成 6 條線,則因算對 5 條,得 5 分,但因多算 1 條,扣 1 分,

    所以實得 4 分;如算到 4 條,則因算對 4 條,得 4 分。 依此類推,分

    數可為負數。走完全程,並計數正確者以 自走車走完全程的時間為計算標

    準,時間越短者成績越高。以走完全程且計數正確的優先排列名次。走完全

    程但計數錯誤者,計數分數越高者排名越前,若計數成績相同則以自走車走

    完全程的時間為分出先後的標準,越快者排名越前。無法走完全程者,以該

    自走車的行走距離為計算標準,距離越遠者成績越高。

    (9)參加此項競賽的國民小學組及國民中學組,每一隊可下場行走二次,以成績

    較高的一次為比賽成績;高中高職組、大專院校組及社會組每一隊只下場行

    走一次。

    (10)本規則未提及事宜,由裁判在現場根據實際情況裁定。

  • 14

    4.獎勵

    獲得排列名次及佳作的隊伍依本大賽辦法發給指導老師及選手獎狀。

    圖 13 比賽獎狀

    四、結論 現今科技在自走車方面能應用的地方非常多,如救災、探測、自動化駕駛

    等,不過在應用方面的穩定性都還有很多的改善空間。

    本專題藉由單晶片來完成多功能的自走車,並了解感測器的偵測及馬達的

    控制,用以應付各式各樣的情況,如紅外線感測器之數量能使車子偵測更加穩

    定,再來是馬達的鬆緊或軸承的潤滑以及輪胎磨擦係數等,這些都是會影響車

    子的行徑速度或是穩定度,最後就是不斷的調整來讓車子達到最佳狀態。

    本專題利用單晶片控制,讓車子的自動控制能更加靈敏,且遇到障礙時,

    自動避障,自動校正後繼續循跡行駛,若能引入汽車行駛中,相信對汽車的操

    控性更加安全,駕駛有相當的助益,並減少交通事故的產生。

    藉由參與這次的機器人競賽,希望培養機器人自動化及智慧化方面的相關

    領域知識,並透過實體競賽來實現初階目標。

  • 15

    五、參考文獻

    (1) 益眾科技:http://www.icci.com.tw/

    (2) Mackblock:http://www.makeblock.com/cn/

    (3) Arduino:https://www.arduino.cc/

    (4) Arduino wiki:https://zh.wikipedia.org/wiki/Arduino

    (5) 2017 亞洲機器人運動競技大賽-虎尾科大

    http://autoweb.nfu.edu.tw/robot2017/

    http://www.icci.com.tw/http://www.makeblock.com/cn/https://www.arduino.cc/https://zh.wikipedia.org/wiki/Arduinohttp://autoweb.nfu.edu.tw/robot2017/