暢達學術論文網歡迎您光臨!
學術論文發表
《電子制作》雜志論文

基于STM32單片機的寢室掃地機器人

2019-5-28 13:30:00 | 瀏覽1036次 | 《電子制作》論文 | 全部雜志

  摘要:寢室掃地機器人技術的研究與設計旨在通過科技改變學生的日常生活。本文介紹了該寢室掃地機器人的驅動系統、感知系統、清掃系統、控制系統和校正系統。硬件上以STM32F103ZET6為微控制器,通過超聲波模塊、紅外傳感器、MPU6050傳感器和光電編碼器反饋的信息來確定位置信息和下一步工作。結合學生寢室固定環境采用固定模式清掃。采用閉環控制系統使掃地車盡可能走直線,提高清掃覆蓋率。通過光電編碼器和直流電機的差速控制實現任意固定角度的轉彎,并記錄小車直線行駛的路程信息。前方的超聲波傳感器判斷該掃地車離墻壁和障礙物距離,紅外傳感器檢測墻壁和障礙物,避免發生碰撞。通過固定的轉彎反應動作實現避障。針對寢室固定環境,該掃地機器人具有較強應用價值。

  關鍵詞:STM32單片機;傳感器;掃地機器人;閉環控制

  0引言

  隨著科學技術的進步和社會發展,特別是受生活節奏加快和工作壓力增大的影響,人們希望從繁瑣的日常清潔事務中解脫出來。同樣在學生寢室也是如此,為解決學生寢室這一市場訴求,一款輕便、噪音小、低成本的掃地機器人必不可少。本文設計的基于STM32單片機的掃地機器人,利用多種傳感器的信息采集與反饋來控制掃地車正常工作。有機地將移動機器人與清掃裝置相融合,將其應用于特定環境來滿足學生對寢室衛生打掃的需求,是對當今掃地機器人應用的一個有效嘗試。

  1總體設計方案

  寢室掃地機器人的主要構件有:行走裝置、清掃裝置、垃圾收集裝置、傳感檢測裝置、電源裝置等,如圖1所示[1]。

  圖1系統總體結構圖

  ■1.1掃地功能設計

  該掃地機器人外形采用市面上常見的圓形結構主要是為了避免其在轉彎的過程中卡住。在寢室掃地車的底盤的靠前的方位,設計一個由直流減速電機驅動的單方向旋轉掃帚,工作時電機時刻旋轉。掃帚是一個圓柱體形狀的毛刷機構,盡可能的靠近地面,選定合適的電機旋轉速度帶動掃帚,形成將垃圾往清掃裝置中清掃的動作將垃圾清掃到垃圾收集裝置中存儲。

  ■1.2垃圾收集裝置

  垃圾收集裝置安裝于智能掃地車底部,其前端有一塊緊貼在地面上的薄的刀片狀塑料,緊挨清掃裝置的后方,便于及時將垃圾掃入收集裝置中,避免垃圾從下方漏過,有效的保證行進路線上垃圾的清掃效率。

  ■1.3驅動裝置、移動機構

  單片機微處理器使用PWM控制方式,通過L298N電機驅動模塊實現電機驅動,來控制電機轉速和轉向。使用兩個帶光電編碼器的直流減速電機放置于掃地車的后方,提供足夠大的驅動力讓掃地車前進、后退和轉彎。并采用防滑的輪胎避免小車打滑。通過光電編碼器記錄并計算小車行進路程,清楚地知道其位置狀態信息。前面使用兩個固定方向的小輪(不適合使用萬向輪),盡可能的使小車能夠趨于直線行駛。通過一個電機停轉一個電機轉動的方式實現差速轉彎,利用光電編碼器即可實現任意角度轉向。

  ■1.4傳感檢測裝置模塊

  傳感檢測模塊包括2個光電編碼器、2個紅外傳感器、2個超聲波傳感器和1個MPU6050模塊,主要用于避障、位置分析和車輪打滑檢測。

  (1)紅外傳感器。2個紅外傳感器分別安裝在掃地車的左側和右側,并正對相應方向。利用遇到物體要反射的性質來檢測障礙物和墻壁,通過ADC采樣返回電壓來計算障礙物距離。左側紅外傳感器用于判斷掃地車避障時是否繞過障礙物,適當使該模塊靠近地面,使略小的障礙物也能檢測到其距離信息。并且兩側的紅外傳感器也可判斷掃地車直行時車身左右距離墻壁距離,能判斷是否清掃結束。

  (2)超聲波傳感模塊。2個超聲波傳感器放置于前方合適位置,同樣可以用于判斷障礙物和墻壁的距離,使用它的原因在于該方法使用單片機定時器的中斷捕獲功能測量的距離更加準確。通過一定時間間隔定時發射超聲波,此時單片機開始計時,當收到反射回來的超聲波后,停止計時,得到超聲波來回的時間t,再根據波在空氣中的傳播速度v即以得到掃地車與障礙物的距離s=(v·t)/2。

  (3)光電編碼器。光電編碼器的的計數值遠高于霍爾編碼器使得計量更加的精確,通過編碼器計數值反饋信息實現PID控制,使掃地車走直線。記錄掃地車直行時電機轉動的圈數N,結合車輪的周長C算出掃地車直行距離S=N·C。寢室布局類似于一個長方形,知道其寬度再結合超聲波傳感器再適當的路程后測量墻壁的距離即可判斷準確的掉頭位置。

  (4)MPU6050模塊。MPU6050模塊即三軸陀螺儀與三軸加速度計一體化傳感器,它提供三個方向的瞬時加速度、旋轉的角度值,可利用其瞬時加速度積分方式來計算距離,但誤差較大且MPU6050漂移明顯,不推薦使用。通過MPU6050得到的水平面旋轉角度與光電編碼器時刻記錄的轉向角信息對比判斷掃地車車輪是否打滑。

  ■1.5電源裝置

  考慮到寢室掃地車的電源不影響學生在寢室中的正常生活,不適合采用拖線的方式,因此為掃地車配備輕巧易拆取的可充電電池,方便掃地車四處行動。因此,本系統采用12V鋰電池來為寢室掃地車供電,且該鋰電池具有熱保護、帶過流保護、過充保護、欠壓保護功能,保證學生寢室安全。

  2寢室掃地車的控制設計

  寢室掃地車的控制設計主要包括:避障控制、直行控制、路徑規劃和車輪打滑校正控制。控制流程圖如圖2所示。

  圖2控制系統流程圖

  ■2.1掃地車的主體電控設計

  整個設計分為硬件和軟件兩部分。硬件部分采用STM32F103ZET6單片機作為可編程芯片,它是由意法半導體公司出品的中低端32位ARM微控制器,其內核是Cortex-M3。軟件部分用C語言作為設計語言,通過軟件編程控制可編程器件STM32F103ZET6,實現對時間的控制、調整和定時,以及對傳感器反饋信息做處理,對掃地車實時工作狀態進行控制。

  ■2.2掃地車避障控制的實現

  通過測量可得掃地車驅動輪間的間距L和輪子的周長C,若想使掃地車轉動R°的角度,則可得掃地車車輪所需轉動的圈數N,即N=(R·π·L/180)/C,依照此公式設定左轉彎90°和右轉彎90°程序。當前方超聲波傳感器檢測到設定距離內的障礙物時,統一向右側轉彎躲避障礙物,整個避障過程分為三個階段:第一階段,掃地車右轉90°后緩慢直行,左側的紅外傳感器檢測是否繞開障礙物,繞開障礙物時結束直行,記錄此段直行距離為X1;第二階段,掃地車向左轉彎90°后緩慢直行,同樣,左側的紅外傳感器模塊檢測是否繞開障礙物,繞開障礙物時結束直行,記錄此段直行距離為X2;第三階段,掃地車左轉彎90°后直行X1距離,再右轉彎90°回到原線路繼續工作。在避障過程中,由于每進行一次90°轉彎都會使掃地車相對向前移動L/2的距離,整個避障總共包括四次轉彎,則相對向前行駛的距離為2L,加上第二階段直行距離X2(即2L+X2),這即是掃地車避障中相對向前移動的距離,此距離即作為每次避障向前移動的總距離。避障路線如圖3所示[2]。

  圖3避障控制路線圖

  ■2.3驅動控制設計

  寢室布局大致可看做長方形,在掃地車能盡可能走直線的前提下,通過類似于S形的清掃可使掃地車的清掃范圍全覆蓋。但在不加閉環控制的情況下我們不能保證掃地車能直行。掃地車走不直的原因有:第一,兩個電機本身的驅動特性不可能完全相同,且兩個電機外形大小不可能是完全一致,組裝時精度也會出現差異;第二,輪胎在滾動時打滑、遇到細小的障礙物等因素都會造成左右輪的速度出現差異,從而導致掃地車走不直。開環控制是無法消除左右輪的速度誤差的,因為上述的擾動是隨機的。若要想小車走一條直線,唯有實現閉環控制。當小車受到擾動時能及時對左右輪給予反饋,修正兩輪的速度偏差,從而可以走出一條直線。PID算法就是一種閉環控制算法,實現PID算法需存在負反饋,所以該掃地車采用帶光電編碼器的電機,及時將兩個輪子的轉速反饋給微處理器,讓微處理器控制轉速快的電機轉動慢些,即可使掃地車跑直線,有效的控制掃地車行走的精度,使線路準確。通過設定的固定轉角的轉彎程序,掃地車通過兩次同方向轉彎實現掉頭,兩次直行中間含有一小段直行距離。初始時,將掃地機器人順著寬度方向放置在寢室角落的起始位置,即長方形區域左下角,等待各模塊初始化,當MPU6050初始化成功并且其數值穩定后,記錄初始角度,控制掃帚的電機開始轉動,掃地車開始工作。初始時i值等于0,通過編碼器記錄路程信息,當直行距離接近于寢室寬度的適當距離時向右側進行掉頭(避障時直行距離單獨計算),掉頭后i值加一,當直行距離相應距離后向左側掉頭,即通過判斷i%2的值,若其值等于0則右轉,反之左轉,每次掉頭之后i值加一,直到紅外傳感器直行時檢測到左右墻壁,結束清掃。掃地車清掃路徑如圖4所示。

  圖4掃地車行走路線

  ■2.4檢測車輪打滑與校正

  由于涉及到閉環控制,掃地車車輪打滑時車輪的轉動同樣會被記錄,這將嚴重影響掃地車的閉環控制導致其偏離直線行駛,掃地車工作異常。通過檢測MPU6050角度,與光電編碼器所采集的偏差角度相比較,假若兩者偏差較大則說明發生了車輪打滑。此時通過轉向并結合MPU6050所測方向使掃地車回到正常方向重新開始工作[3]。

  3總結

  本文設計的寢室掃地機器人能有效解決學生寢室日常生活中地面上的垃圾問題。掃地車的整個系統采用閉環控制,利用反饋調節使掃地車工作穩定,有效的提高清掃覆蓋率。該掃地車同時擁有良好的避障能力和一定的自我校正能力,當發生車輪打滑影響閉環控制時可以進行自我校正,使系統工作更加穩定。該掃地機器人能很好的應用于學生寢室。

  參考文獻

  *[1]孔德平.基于AVR單片機的智能掃地機器人的設計[J].科技創新與應用,2017(16):81.

  *[2]萬軍,張郭,楊代強.基于STM32的智能掃地機器人避障系統設計的研究[J].中國高新區,2017(13):22.

  *[3]簡毅,高斌,張月.一種室內掃地機器人全遍歷路徑規劃方法研究[J].傳感器與微系統,2018,37(01):32-34.

  *[4]李泉溪,趙帥鵬,武文琪.掃地機器人車輪打滑檢測與修正研究[J].制造業自動化,2015,37(21):12-13+18.

  *[5]徐勝華.基于STM32的智能掃地機器人研究與設計[D].廣西師范大學,2016.

  *[6]汪洋.掃地機器人定位算法設計與嵌入式系統實現[D].中國科學技術大學,2016.

  *[7]李雪艷.智能掃地車系統設計與研究[J].機電信息,2015(33):179-180.

  (西南科技大學智能機器人創新實踐班,四川綿陽,621000)

  基金項目:西南科技大學大學生創新基金項目精準資助專項資助(項目編號:JZ17-049)。

    投稿咨詢 劉編輯 qq:1144672229 微信:gg1144672229
本文是《電子制作》雜志正式刊出的論文,僅供個人學習參考,請勿轉載、抄襲或作其他用途!
上一篇:記憶型機械手臂的設計與制作 [優秀論文]
下一篇:沒有了