O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Raspberry Pi無線遙控自走車

4.482 visualizações

Publicada em

本專題基於Raspberry Pi 實做出一個多功能之無線遙控自走車,並可使用Web控制。
我們利用H-橋式(H-Bridge)以驅動兩個DC馬達,並分別透過PWM訊號來控制馬達轉速,以達到不同方向及速度控制的目的。
由於車體載重不平均、馬達本身可能的誤差及左右車輪受的摩擦力可能不同,會使車體直線前進變成一個要解決的問題。因此,我們運用了自動控制PID反饋的機制,促使2顆馬達轉速達到一致。
為了量測車輪實際轉速,我們在左右車輸的側邊加裝光遮斷器(Photo Switch),利用計數光遮斷數來推算出車輪轉速。
在我們圓型車體,我們透過個超音波距離感測器,進行前端障礙物偵測。
車體上,利用Raspberry Pi USB界面連接802.11 WIFI Dongle及Webcam,達到遠端即時監看畫面。

Publicada em: Engenharia
  • Login to see the comments

Raspberry Pi無線遙控自走車

  1. 1. 103年韌體工程師人才養成班 專案組員:郭0欣、 王0杰 2015/2/13 1
  2. 2. 摘要 • 本專題基於Raspberry Pi 實做出一個多功能之無線遙控自走車,並可 使用Web控制。 • 我們利用H-橋式(H-Bridge)以驅動兩個DC馬達,並分別透過PWM訊 號來控制馬達轉速,以達到不同方向及速度控制的目的。 • 由於車體載重不平均、馬達本身可能的誤差及左右車輪受的摩擦力可 能不同,會使車體直線前進變成一個要解決的問題。因此,我們運用 了自動控制PID反饋的機制,促使2顆馬達轉速達到一致。 • 為了量測車輪實際轉速,我們在左右車輸的側邊加裝光遮斷器(Photo Switch),利用計數光遮斷數來推算出車輪轉速。 • 在我們圓型車體,我們透過個超音波距離感測器,進行前端障礙物偵 測。 • 車體上,利用Raspberry Pi USB界面連接802.11 WIFI Dongle及 Webcam,達到遠端即時監看畫面。 2
  3. 3. Outlines 一、動機 二、系統架構 三、實作說明 四、軟體功能方塊圖 五、系統流程圖 六、結語 3
  4. 4. 動機 4
  5. 5. 動機 • 全世界第一台無人搬運車早在1954年就實用化了, 而應用功能上代表作應算是美國NASA於1997年 登陸火星探測車旅居者號。 • 因此,我們也想要就自己目前所學的相關知識, 以及課堂中所接觸到的Raspberry Pi ,去實作出 一台由我們自己設計組裝的多功能無線遙控自走 車。 5
  6. 6. 系統架構 6
  7. 7. 系統架構 7 HTML Smart Phone Motor Driver (L293D) LED WiFi USB USB Camera USB Distance Sensor GPIO PWM module (PCA9685) Raspberry Pi(Embedded Linux) I2C Photo Switch GPIO Mobile Power Pack (5V) Micro USB DC motor driver with encoder Left Motor (6V) Right Motor (6V)
  8. 8. 實作說明 8
  9. 9. 實作說明-成品圖 9 Power(5V) WIFI模組 馬達驅動板 Raspberry Pi Camera超音波距離 感測器 電池(6V)
  10. 10. 實作說明 • 車體機構 – 基本元件 – 車體後方方向指示燈 • 馬達控制 – PWM模組 – 馬達驅動電路 • 車體控制器 – Raspberry Pi – 光編碼感測器 – 車體運動平衡控制(PID) 10 • 外加功能 – 網路連結 (WIFI無線傳輸) – 影像擷取 (USB Camera) – 距離偵測 (超音波距離感測器) – 使用者操作介面
  11. 11. 實作說明 • 車體機構 – 基本元件 – 車體後方方向指示燈 • 馬達控制 – PWM模組 – 馬達驅動電路 • 車體控制器 – Raspberry Pi – 光編碼感測器 – 車體運動平衡控制(PID) 11 • 外加功能 – 網路連結 (WIFI無線傳輸) – 影像擷取 (USB Camera) – 距離偵測 (超音波距離感測器) – 使用者操作介面
  12. 12. 車體機構 • 基本元件 12 • M3 x 12mm 銅柱,4 個 • M3 x 8mm 螺絲,6 個 • M3 x 30mm 螺絲,6 個 • M3 螺絲母,6 個 • 測速盤,2 個 • T 型支架,4 個 • 三號電池盒(4節),1 個 • 跑車輪胎,直徑 66mm,4 個 • 萬向輪胎,1 個 • 直流馬達,2 個 • 壓克力底盤,1 個
  13. 13. 車體機構 • 基本元件 13
  14. 14. 車體機構 • 車體後方方向指示燈 – 車體後方增加左右轉的方向指示燈,當車體轉彎時會 開始閃爍,電路圖如下所示。 14 1 2 1,2:Input from PWM module(控制燈光閃爍)
  15. 15. 實作說明 • 車體機構 – 基本元件 – 車體後方方向指示燈 • 馬達控制 – PWM模組 – 馬達驅動電路 • 車體控制器 – Raspberry Pi – 光編碼感測器 – 車體運動平衡控制(PID) 15 • 外加功能 – 網路連結 (WIFI無線傳輸) – 影像擷取 (USB Camera) – 距離偵測 (超音波距離感測器) – 使用者操作介面
  16. 16. 馬達控制 • PWM模組 – 採用IC-PCA9685,透過I2C傳輸PWM訊號,最多可提 供16組PWM訊號。 16 D0 LED1 D1 LED2 VDD SDA SCL EXTCLK A5 OE LED15 LED14 LED13 LED12 LED11 LED10 LED9 LED8Vss LED7 LED5 LED6 LED4 LED3 LED2 LED1 LED0 A4 A3 A2 A0 A1 3.3V PI_SDA PI_SCL Motor_PWM1 Motor_PWM2 MTR+ MTR+
  17. 17. U13 PC817XJ0000F R3 330R 5% Vcc PWM1 Q1 C9014 D1 A - + U1 PC817XJ0000F R1 330R 5% ON/OFF U2 PC817XJ0000F U13 PC817XJ0000F R2 330R 5% R4 330R 5% R5 1K Vcc Vcc Q2 C9014 D2 ON/OFF PWM2 R6 1K Vcc 馬達控制 • 馬達驅動電路 – 原採用馬達驅動電路如下,並以焊接 電路板實現其功能。 – 但自行焊接的電路板在控制上就可能 會因訊號控制的delay而造成BJT燒毀 的危險。 17
  18. 18. 馬達控制 • 馬達驅動電路 – 經搜尋相關資料,以馬達驅動IC-L293D也可以實現其 功能,而且控制上較為容易,同時可達到縮小產品體 積之目的。 18 Vss I4 O4 GND GND O3 I3 E2VS I2 O2 GND GND O1 I1 E1 V_battery 3.3V A - + A - + Motor2_PWM Motor_F Motor_R Motor1_F Motor1_R Motor1_PWM
  19. 19. 實作說明 • 車體機構 – 基本元件 – 車體後方方向指示燈 • 馬達控制 – PWM模組 – 馬達驅動電路 • 車體控制器 – Raspberry Pi – 光編碼感測器 – 車體運動平衡控制(PID) 19 • 外加功能 – 網路連結 (WIFI無線傳輸) – 影像擷取 (USB Camera) – 距離偵測 (超音波距離感測器) – 使用者操作介面
  20. 20. 車體控制器 • Raspberry Pi: – Raspberry Pi 其內部裝有Motion JPEG Stream、 Python等相關軟體,這些軟體主要應用於操控 Raspberry Pi、架設網頁、上傳程式、動態網頁等等功 能。 – 另外亦須於開發板上設置GPIO與I2C通訊,藉以控制外 部硬體。 20
  21. 21. 車體控制器 21 • 光編碼感測器 光編碼感測器
  22. 22. 車體控制器 • 光編碼感測器 – 車輪驅動馬達採用直流馬達,為避免左右輪子的速度不一(車子走 偏),透過光遮斷器偵測測速盤(20(孔/圈))的遮光次數,進而控制兩 個車輪達到相同的速度。 – 基本原理:當發光元件與受光元件之間被物體遮斷時,其光電晶體 的CE端點不導通(即斷路),此時C端的電壓值為Hi;當發光元件與受 光元件之間的物體移開時, CE端點導通,此時接收端的電壓值為 Lo,由 Hi / Lo 信號可偵測出發光元件與受光元件之間是否有物體。 22
  23. 23. 車體控制器 • 光編碼感測器 – 藉由接收端的電壓值為Hi的次數(即光被遮斷的次數),可計算出車 輪的轉速(rpm)。 – 23 )/(1:rmp /:y y 60 rmp sec sec 分鐘圈數 圈數秒 )(1 
  24. 24. 車體控制器 • 車體運動平衡控制(PID) – 透過比例(P型)控制器平衡左右輪的速度。 – 基本原理:若比例增益大,在相同誤差量下,會有較大的輸出,但 若比例增益太大,會使系統不穩定。相反的,若比例增益小,若在 相同誤差量下,其輸出較小,因此控制器會較不敏感的。若比例增 益太小,當有干擾出現時,其控制信號可能不夠大,無法修正干擾 的影響。 24 )t(eK)t(u p  𝐾 𝑝:比例增益 e :誤差(= r-speed) t :目前時間
  25. 25. 實作說明 • 車體機構 – 基本元件 – 車體後方方向指示燈 • 馬達控制 – PWM模組 – 馬達驅動電路 • 車體控制器 – Raspberry Pi – 光編碼感測器 – 車體運動平衡控制(PID) 25 • 外加功能 – 網路連結 (WIFI無線傳輸) – 影像擷取 (USB Camera) – 距離偵測 (超音波距離感測器) – 使用者操作介面
  26. 26. 網路連結 • WIFI無線傳輸 – 使用EW-7811Un USB WIFI模組,透過USB傳輸與 raspberry pi開發板作連結。 – 透過WIFI利用連結至操作介面(HTML網頁),可選擇車 子控制模式,進而控制車子的行進方向,並觀看 Camera所擷取的即時畫面。 26
  27. 27. 影像擷取 • USB Camera – 透過USB video class(UVC),將USB Camera影像擷取, 並傳輸給Raspberry pi開發版連接使用。 – 搭配MJPG-streamer應用程式,影像可透過網頁瀏覽 器傳回。 27
  28. 28. 2 檢測時間(sec)343(公尺/秒) 2 檢測時間(sec)波的傳送速度40KHz超音波的脈 檢測距離     距離偵測 • 超音波距離感測器 – 採用HC-SR04感測器,連接於 Raspberry Pi開發板。 – 基本原理:發出觸發脈波(10us) 到 HC-SR04 模組的trig腳,使 得 HC-SR04 模組產生8個 40KHz(25us)超音波的脈波,接 著Echo腳變為高電位,等待接收 回音信號,Echo腳轉低電位時, 把計時值經由公式轉變為距離。 28
  29. 29. 使用者操作介面 29 • 結合C語言、Javascript與Html等程式語言,設計 出使用者的操作按鈕與Camera的顯示畫面。
  30. 30. 軟體功能方塊圖 30
  31. 31. 軟體功能方塊圖 31
  32. 32. 系統流程圖 32
  33. 33. 系統流程圖 33 • 主流程圖 開始 系統初始化 遙控模式? 1:遙控模式 2.自走模式 接受命令 處理遙控程序 處理自走程序 自走模式? 停止? 結束 N YY Y N N
  34. 34. 系統流程圖 • 自走程序 34
  35. 35. 系統流程圖 • 遙控程序 35 遙控模式 右轉? 直行?左轉? 速度控制 左側馬達啟動 右側馬達停止 左側馬達停止 右側馬達啟動 結束 Y N Y N Y
  36. 36. 結語 36
  37. 37. 結語 • 在本專題中,我們利用Raspberry Pi 實作出多功能之無線 遙控自走車,並且可以使用Web控制,建立了一個小型的 嵌入式系統。 • 但仍有許多的功能可以在日後的擴充加以改善,使自走車 能具有更多功能的運用。 如: – 影像:本專題將影像擷取利用在Web的顯示上,未來若可以增加 影像辨識的功能,便可更進一步的辨別障礙物為何,並且判斷是 否作跟蹤。 – 距離感測:本專題是透過超音波距離感測器使自走車具有閃避前 方障礙物的功能,未來若可以讓自走車更多方向的偵測周遭環境 的狀況,甚至實際應用於汽車的自動駕駛上。 – 在速度平衡控制上:本專題目前是運用了自動控制P反饋的機制進 行速度平衡,未來在控制上亦可實踐完整PID的控制,使其在速度 平衡的控制更精確。 37
  38. 38. 38 Thank you

×