Try   HackMD

實驗使用 MPU6050 與 arduino nano 製作球型感測器

這實驗來自於 成大資訊 訊號與系統 ,由 蘇文鈺 老師發想
並且由修課學生 李東霖,張文瑋,江家銘,趙韓信 共同製作

目的

期望可以測量 球的速度、轉速與角度

器材

  • Arduino Nano
  • GY-521 (MPU6050) 六軸感測器(三軸加速度 + 三軸角速度)
  • HC05 藍芽模組 (可替換成 HC06)
  • 麵包版
  • 9V 電池
  • 9V 電池座
  • 9V 轉 5V 穩壓晶片
  • 透明球殼 (可參考這裡)

使用軟體

  • Arduino IDE
  • Process IDE

詳細程式碼在 github

實驗過程

硬體接線圖

如何重現實驗

  1. 先將 ardunio code 燒進 Arduino Nano
    記得在 ardunio IDE 上選擇燒錄對象是 Nano

  2. 將藍芽模組使用 AC指令 進行設定,將 baud rate 設定成 115200
    如果想要更改名稱或配對密碼都可以,要確保之後電腦能夠正確連上藍芽模組並工作
    這部份如果遇到困難,可以先用 USB 進行 serial 傳輸
    另外不附上操作教學,是因為各個相同型號模組在操作上有所不同,請上網搜尋或詢問賣方

  3. 將硬體進行接線,因為怕圖不夠清楚,用文字加以敘述

Nano TX1 藍芽模組 RX
Nano RX0 藍芽模組 TX
Nano 5V 藍芽模組 Vcc
Nano A4 GY521 SDA
Nano A5 GY521 SCL
Nano pin 2 GY521 INT
Nano Vin GY521 VCC + 穩壓晶片 Vout
Nano Gnd GY521 Gnd + 藍芽模組 Gnd + 穩壓晶片 Gnd

  1. 最後在電腦上連接藍芽並檢查是否有 serial 的傳輸訊號
    可以使用 ardunio 本身附帶的序列埠監控畫面,先選取正確的序列埠
    使用裝置管理員看藍芽連上後是哪一個 COM

  2. 執行 Process 程式,運用方向左右鍵選取顯示模式
    顯示模式有

    A. 加速度&速度

    B. 角度

    C. 角速度&轉速

    可點擊滑鼠左鍵,重置數值

如果執行 Process 出現問題,請檢查程式是否有連接到正確的 COM
或是那個 COM 正在被使用的話,執行也會出現問題

實驗數據與結果

  • 角速度測量:

    測量方式:
    將事先量好為0.5公尺的繩子綁在球體頂端,並利用圓周運動原理可以輕易算出球到達底端理論值的角速度,再與實際測量數據做比較。
    利用簡易物理公式可以推得理論角速度:
    mgL=12mv21

    Fc=mv2L=mLw22

    將1式代入2式可以求得角速度為:
    w=2gL

    因此以半徑0.5m之繩子綁著球做此運動可以算出理論底端之角速度為 6.26 rad/s = 358.729 o/s。
    *利用角速度也可推得球體的切線速度:
    v=Lw

    理論速度為:3.1305 m/s

十次實驗得到數據:

次數 得到數據(o/s) 次數 得到數據 推算速度(m/s)
1 374.44 6 337.04 2.9412
2 353.77 7 404.42 3.5292
3 407.38 8 415.21 3.6233
4 438.50 9 473.32 4.1304
5 421.16 10 391.12 3.4131
平均 401.639 誤差 42.91

誤差推測:藍芽傳輸速率為0.1秒傳送一筆資料,推測在實驗過程可能會每次記錄到的位置差異有點大,因此我們試著多做幾次實驗來減少誤差。

  • 速度測量:
    由於上次的實驗並未利用藍芽模組將數據傳出,因此這次我們補充上一次的實驗。
    測量方式:
    繼續沿用上個實驗0.5公尺的繩子,將球自由落體0.5公尺,可以算出理論值速度,再與得到的數據做比較。
    V2=V02+2gS

    V=2gS

    理論速度為:3.1305 m/s

十次實驗得到數據:

次數 得到數據(m/s) 次數 得到數據(m/s)
1 1.082 6 1.180
2 0.999 7 1.100
3 1.094 8 1.160
4 1.060 9 1.082
5 1.188 10 1.041
平均 1.0986 誤差 -2.0319

誤差推測:由於得到的結果與理論值誤差過大,因此我們推斷是因為藍芽傳送速率的關係,由於每0.1秒傳送一筆資料,若用加速度積分取速度會少計算到許多資料。

參考資料

訊號與系統第3組 hackmd