吳鵬浩 徐夢如 竇浩鵬 戈忠義 吳寶春



摘要:隨著科學技術的快速發展,服務類機器人已經廣泛應用到人們的日常生活中。不僅提高了人們的生活質量,還為人們節省了大量時間。因此,進行掃地機器人的設計與研究工作就具有十分重要的意義。本文以STM32單片機作為核心控制器,通過電源電路、光耦隔離電路、H橋電機驅動電路的設計以及紅外傳感器模塊的應用,設計出一款可以將地上的紙屑等雜物吸入垃圾收納盒的掃地機器人,并且該機器人還具有前方遇障礙物自行躲避,前方懸空可防墜落等功能。
關鍵詞:STM32;光耦隔離:H橋電機驅動:紅外傳感器模塊
0 引言
近年來,隨著科學技術的快速發展,人們生活水平日益提高,人們越來越注重時間成本的節約。因此,家庭服務類智能機器人在人們日常生活中得到了廣泛的應用。本文以STM32單片機作為核心控制器,通過電源電路,光耦隔離電路,H橋電機驅動電路的設計以及紅外傳感器模塊的應用,設計開發了一款具有清掃功能的機器人。
1 系統整體設計
掃地機器人整體設計主要分為結構設計和系統設計。結構設計主要使用SolidWorks制圖軟件設計掃地機器人所需零件。運用3D打印技術和激光雕刻機完成結構的打印以及外形的雕刻。系統設計分為硬件電路設計和軟件程序調試,硬件電路設計主要包含電源電路、光耦隔離電路、H橋電機驅動電路。軟件程序調試主要分為紅外數據采集與處理程序設計和PWM控制電機轉速程序設計。系統整體方案框架如圖1所示。
2 結構設計
結構設計主要使用Solidworks制圖軟件,3D打印機以及激光雕刻機。SolidworLs軟件是一個基于Windows開發的三維CAD系統,3D打印機是一種累積制造技術,即快速成形技術的一種機器,其以數字模型文件為基礎,運用特殊蠟材、粉末狀金屬或塑料等可粘合材料,通過打印一層層的粘合材料來制造三維的物體。激光雕刻機是利用激光技術對物體進行雕刻的一種設備,用此設備雕刻物體可使雕刻處表面光滑,且可以快速降低被雕刻處的溫度,減少被雕刻物體的形變。本文使用SolidWorks軟件完成掃地機器人邊板、垃圾盒、抽氣通道、連接件、底板等相關零件的模型設計,運用3D打印機和激光雕刻機。完成掃地機器人各結構件的打印以及外形的雕刻。最終,根據設計組裝圖,進行零件的裝配以及外形結構的安裝,完成掃地機器人整體結構設計。
3 系統設計
系統設計分為硬件電路設計和軟件程序調試,硬件電路設計主要分為STM32單片機最小系統電路、電源電路、光耦隔離電路和H橋電機驅動電路。軟件程序調試主要包括紅外數據采集與處理程序設計以及PWM控制電機轉速程序設計。
3.1 硬件電路設計
3.1.1 單片機最小系統電路
本系統采用STM32F103單片機作為控制系統的核心控制器,最小系統電路主要包含STM32F103核心控制器、晶振電路、復位電路等。最小系統電路主要完成對采集信號的分析與處理,實現對掃地機器人電機的控制。
3.1.2 電源電路
本文所設計的電源電路由12V鋰電池供電,主要為掃地機器人的光耦隔離電路、STM32最小系統電路,H橋電機驅動電路供電。電源電路可提供+5V、+12V和+3.3V電源。+5V電源主要用于光耦隔離電路,+12V電源主要用于H橋電機驅動電路用于驅動直流電機,+3.3V主要用于STM32單片機最小系統電路。
電源電路采用12V鋰電池,直接為H橋電機驅動電路供電。H橋電機驅動電源電路原理如圖2所示。
78L05是一種固定電壓5V的三端集成穩壓器。12V的電源電壓經過78L05穩壓器轉換為5V電壓,為光耦隔離電路供電。光耦隔離電源電路原理如圖3所示。
3.1.3 光耦隔離電路
光耦隔離電路主要分為輸入端和輸出端兩部分,輸入端一般采用發光二極管。輸出端采用光敏晶體管、集成電路等多種形式,主要對信號實施電一光一電的轉換與傳輸。輸入信號的有無和強弱控制了發光二極管的發光強度,而輸出端接收光信號,根據感光強度輸出信號。光耦隔離電路使被隔離的兩部分電路之間只有光的傳輸,而沒有電的直接傳輸,因此可以防止電流信號的直接傳輸而引起的干擾。特別是當低壓控制電路與高壓控制電路共地時,高壓控制電路就可能會對低壓控制電路產生干擾,影響驅動電路的穩定性。因此采用光耦隔離電路來隔離高壓控制電路和低壓控制電路,有效的解決了電路之間的干擾問題。光耦隔離電路原理如圖5所示。
3.1.4 H橋電機驅動電路
H橋電機驅動電路的形狀類似字母H。因此被稱為“H橋驅動電路”。H橋電機驅動電路由四個場效應管和一個直流電機組成。要使電機運轉,必須使對角線上的一對場效應管導通。當T5場效應管和T8場效應管同時導通時。電流將驅動直流電機沿著一個方向轉動。當另一對場效應管T7場效應管和T6場效應管同時導通時,電流將驅動直流電機沿著另一個方向轉動。因此控制一對場效應管的導通與截至,就可以實現控制電機轉動和停止的目的。H橋電機驅動電路原理如圖6所示。
3.2 軟件程序調試
軟件程序調試分為紅外數據采集與處理程序設計、PWM控制電機轉速程序設計兩部分。單片機通過采集和處理紅外數據實現掃地機器人對障礙物自動檢測的功能。然后通過單片機輸出PWM波控制電機轉速實現掃地機器人對障礙物自動躲避的功能。程序流程如圖7所示。
3.2.1 紅外數據采集與處理程序設計
紅外傳感器模塊通過檢測紅外光束是否被被測物體遮擋或者反射,由其內部電路判斷與被測物體之間距離的一種光電接近開關。可通過計算接收到光的強度大小,計算出掃地機器人與障礙物之間的距離。紅外傳感器模塊具有一個紅外信號發射二極管與一個紅外信號接收二極管,發射二極管發射特定頻率的紅外信號,接收二極管接收與其發射紅外信號頻率一致的紅外信號。當發射二極管發射的紅外信號遇到障礙物后便會被反射,反射后的紅外信號被接收二極管接收,經電路處理后,可得到其相應距離。單片機通過對采集到的紅外數據進行處理,并根據數值做出相應的判斷,改變掃地機器人的運動速度和運動軌跡。
3.2.2 PWM控制電機轉速程序設計
PWM稱為脈沖寬度調制技術,通過改變脈沖占空比來調整電機轉速。從而控制掃地機器人的運動速度和運動方向。而在PWM的具體實時方法中,一般有三種辦法來改變脈沖的占空比,分別為:定寬調頻法、調寬調頻法、定頻調寬法。本文所采用的是定頻調寬法改變PWM波的占空比。通過使用STM32單片機自帶PWM波輸出功能,控制掃地機器人電機轉速,從而實現控制掃地機器人運動速度和運動方向的目的。
PWM調制技術的定頻調寬法的原理是:保持脈沖的頻率不變,利用一個脈沖周期內高低電平所占比例來改變波形的占空比,從而改變一個周期內的平均電壓,進而控制電機的轉速。假設電機一直保持通電狀態及一個周期內脈沖保持高電平,此時電機的最大轉速為Vmax,當改變電機的通電狀態使其在一個周期T時間內,脈沖為高電平的時間為t,則此時的占空比為D=t/T,電機平均轉速為Vd=D*Vmax。具體實現步驟為:
(1)開啟定時器的時鐘,設置IO口的相關模式,進行初始化。
(2)設置自動重裝載寄存器參數和預分頻參數,將其計數模式設置為向上計數。
(3)計數器值與通道捕獲比較寄存器的值進行比較,輸出相應的高低電平。
(4)設置輸入/捕獲通道的輸出極性。
(5)捕獲/比較使能寄存器的CCE1位控制輸出使能電路,信號由此輸出到相應的引腳。PWM的實際頻率是通過預分頻參數和自動重裝載寄存器的參數決定。預分頻的參數決定了計數器的時鐘,自動重裝載寄存器的參數決定了在此時鐘頻率下的周期。
4 結束語
本文以STM32單片機作為核心控制器,利用傳感器技術、電機控制技術以及3D打印技術,給出系統詳細的設計方案。針對設計方案完成掃地機器人的結構設計及控制系統設計,并結合掃地機器人控制方法完成系統程序編寫,實現系統的軟件設計以及整體功能調試,實現了機器人的垃圾清掃、避障及防墜落功能。該設計為后續進行清掃機器人的運動控制以及相關控制算法的研究奠定了基礎。