摘要
本次設計是實現自動避障、根據指定的軌跡行走和通過手機APP來進行藍牙遙控小車等功能。選用STM32f103單片機作主控芯片,超聲波模塊的型號選用HY-SRF05,同過3個超聲波模塊,來檢測小車周圍的是否有障礙物,通過算法,進行智能避障。通過紅外模塊檢測軌跡,進而使小車在指定的軌跡行走。電機驅動模塊的型號是L293N ,通過STM32f103單片機發送相關的信號,來控制驅動,進而控制電機的轉動,使小車能前進、后退、原地左轉、原地右轉、大左轉和大右轉。藍牙模塊的型號是HC-05,通過藍牙模塊,小車可以與小車取得信息交流,用戶在手機端可以查看小車的相關信息和對小車進行控制。電源部分采用兩節3.7V鋰電池供電。采用C語言模塊化編程,提高開發效率。經實踐驗收測試,該智能小車的電路結構簡單,調試方便,系統反映快速、靈活,設計方案正確、可行,各項指標穩定、可靠。
,
關鍵詞 STM32f103單片機、自動避障、指定的軌跡行走、手機APP遙控
Abstract This design isto realize the functions of automatic obstacle avoidance, walking according tothe specified trajectory, and carrying out bluetooth remote control car throughmobile APP. Choose STM32f103 microcontroller as main control chip, ultrasonicmodule model HY - SRF05, with three ultrasonic module, to detect the car aroundthe obstacles, the algorithm, the intelligent obstacle avoidance. The track isdetected by infrared module, so that the car can walk on the specified track.Motor driver module type is L293N, sent via STM32f103 microcontroller relatedsignal, to control the drive, and then control the motor rotation, can make thecar forward, backward, turn left in situ, first turn right, turn left and turnright. The model of the bluetooth module is hc-05. Through the bluetoothmodule, the car can get information exchange with the car, and users can checkrelevant information of the car and control the car on the mobile phone. Thepower supply is powered by two 3.7v lithium-ion batteries. Modular programmingin C language is adopted to improve development efficiency. Through thepractical acceptance test, the circuit structure of the intelligent car issimple, the debugging is convenient, the system reflects quickly and flexibly,the design scheme is correct and feasible, all the indicators are stable andreliable.
Key words STM32f103 single-chip microcomputer,automatic obstacle avoidance, specified trajectory walking, mobile APP remotecontrol
目 錄目 錄...................................................................................................................... IV
1. 前言.............................................................................................................. 1
1.1. 系統研究背景....................................................................................... 1
1.2. 系統研究的意義和目的....................................................................... 3
2. 系統概述...................................................................................................... 4
2.1. 系統的結構........................................................................................... 4
2.2. 系統的功能........................................................................................... 5
2.3. 開發環境............................................................................................... 5
3. 系統實現...................................................................................................... 9
3.1. 相關技術技術....................................................................................... 9
3.2. 硬件實現............................................................................................... 9
3.3. 軟件實現............................................................................................. 15
4. 系統使用說明............................................................................................ 16
5. 總結............................................................................................................ 20
6. 參考文獻.................................................................................................... 21
1. 前言1.1. 系統研究背景隨著機器人技術的發展,自主移動機器人以其活性和智能性等特點,在人們的生產、生活中的應用來越廣泛。自主移動機器人通過各種傳感器系統感知外界環境和自身狀態, 在復雜的已知或者未知環境中自主移動并完成相應的任務。小車的智能避障模式,設計中的理論方案、分析方法及特色與創新點等可以為自動運輸機器人、采礦勘探機器人、家用自動清潔機器人等自動半自動機器人的設計與普及有一定的參考意義。同時小車可以作為玩具的發展對象,為中國玩具市場技術含量的缺乏進行一定的彌補,實現經濟收益,形成商業價值。
智能小車系統最誘人的前景就是可用于未來的智能汽車上了,當駕駛員因疏忽或打瞌睡時這樣的智能汽車的設計就能體現出它的作用。如果汽車偏離車道或距障礙物小于安全距離時,汽車就會發出警報,提醒駕駛員注意,如果駕駛員沒有及時作出反應,汽車就會自動減速或停靠于路邊。 智能小車可以理解為機器人的一種特例,它是一種能夠通過編程手段完成特定任務的小型化機器人。與普遍意義上的機器人相比,智能小車制作成本低廉,電路結構簡單,程序調試方便,具有很強的趣味性,為此其深受廣大機器人愛好者以及高校學生的喜愛。全國大學生電子設計競賽每年都設有智能小車類的題目,由此可見國家對高校機器人研究工作的重視程度。
藍牙屬于短距離內進行無線控制和收發的通信技術,伴隨著科技的飛躍性發展,也讓藍牙找到了發展的空間,它可以代替和取代落后的數字化硬件設備之間繁瑣的電纜連接。在藍牙創造的初期,沒有人預料到藍牙會有如此大的潛力和前景,而現在的發展也是完全超出了我們的預期,因為藍牙的安全性高,制造成本低廉和所消耗的功率也是同類產品中最低的,所以被很多人使用,越來越受到了廣大消費者的歡迎,基于藍牙技術的產品也在不斷的更新和投入市場。
藍牙技術是近年來出現的新技術是一種短距離無線通信和信息傳輸的新型通訊科技,它使數據線的硬件設備接收更方便快捷。它可以廣泛應用于世界各地,是一個藍牙設置一個通用的范圍,頻率調制技術的使用,以防止外部干擾和多一些。低成本,低功耗和小輻射,和加密設置,讓藍牙的安全性更高;應用范圍廣,這些特點使得藍牙技術被廣泛的應用在我們日常生活中的藍牙也支持一對一和一對多傳輸的通信連接,和多個藍牙成為微網,也有網絡的特點。
在現在的智能時代,小車智能的控制,方便了人們的使用。
1.2. 系統研究的意義和目的本設計的智能小車有自動避障、根據指定的軌跡行走和通過手機APP來進行藍牙遙控小車等功能。同構小車的自動避障功能,為今后的智能自動駕駛做下基礎,如果汽車偏離車道或距障礙物小于安全距離時,汽車就會發出警報,提醒駕駛員注意,如果駕駛員沒有及時作出反應,汽車就會自動減速或停靠于路邊。根據指定的軌跡行走的功能,在現在的自動送快遞的小車中得到應用,例如在學院中通多基站定位和設置黑白路線就能初步實現自動送快遞了。
因為無線技術的廣泛使用,我們在研究無線和有線通信技術的方法中了解到藍牙系統的小區域性有很大的技術突破,在國際上也得到了廣泛的采納,在市場上也有很大的需求。這也使藍牙技術的發展成為了趨勢之一,藍牙可以發送和接受語音和數據,滿足了大多數人的需求,它也融合了其他相關產品的特點,也是這樣技術變得更多樣性。然而,藍牙的安全性不足,而且在小區域范圍內的一點對多點的通信受到了很大的限制,這些都是其本身需要改進和完善的
可以使人們更方便,更簡單的控制小車。實現了無線控制小車,擺脫了有線控制的不方便,更智能。
2. 系統概述2.1. 系統的結構本設計的系統主要由自動避障部分、軌跡行走部分和手機APP藍牙控制部分組成的。中央控制用到STM32f03單片機,它的處理能力很強和穩定性很好,適合作為小車的控制芯片。
系統的結構.png (113.51 KB, 下載次數: 90)
下載附件
2018-10-9 19:21 上傳
自動避障部分中,是由3個超聲波模塊、電機驅動L298和STM32f03單片機組成的,通過布置3個超聲波模塊在小車的前、左、右的方向,然后測出各個方向的相對距離,進而判斷出各個方向的是否有障礙物,通過算法,讓小車選擇最好的路線來走。
軌跡行走部分中,是由2個紅外模塊、電機驅動L298和STM32f03單片機組成的,通過紅外模塊的放送管光的發送和接收管接收反射的光,進而判斷出是否有黑線軌跡,從而知道大概的軌跡路線,通過算法,讓小車可以按照軌跡來行走。
手機APP藍牙控制部分,由藍牙模塊HC-06、電機驅動L298和STM32f03單片機組成的,用戶通過在手機端下載一個APP(藍牙串口助手),就可以在手機端進行對小車控制了,分別可以使小車能前進、后退、原地左轉、原地右轉、大左轉和大右轉。還可以選擇相應的模式,例如自動避障模式、軌跡行走模式和手動控制模式。
2.2. 系統的功能本設計的系統實現的功能有自動避障功能、軌跡行走功能和手機APP藍牙控制功能。
自動避障功能:超聲波傳感器利用一對超聲波發射與接收管,發射管發射出超聲波,當檢測方向遇到障礙物(反射面)時,接收管接收到反射波,判斷前方是否有障礙物。通過超聲波傳感器來測出物體和旅行箱的距離,當檢測到有物體離旅行箱的距離小于 10cm 時,和結合算法,來避開障礙物。
2.3. 開發環境STM32F103xx增強型系列由意法半導體集團設計,使用高性能的 ARMCortex-M332 位的 RISC內核,工作頻率為 72MHz,內置高速存儲器 (高達 128K字節的閃存和 20K 字節的SRAM),豐富的增強 I/O 端口和聯接到兩條 APB總線的外設。所有型號的器件都包含 2 個 12 位的 ADC、3 個通用 16 位定時器和一個 PWM 定時器, 還包含標準和先進的通信接口: 多達 2 個 I2C和SPI、3 個 USART、一個 USB和一個 CAN。
STM32f03單片機的原理圖:
STM32f103原理圖.jpg (206.15 KB, 下載次數: 81)
下載附件
2018-10-9 19:21 上傳
STM32f03單片機的實物圖:
STM32f03單片機的實物圖.jpg (295.53 KB, 下載次數: 82)
下載附件
2018-10-9 19:22 上傳
STM32 微處理器基于 ARM 核,所以很多基于 ARM 嵌入式開發環境都可用于 STM32開發平臺。開發工具都可用于 STM32 開發。選擇合適的開發環境可以加快開發進度,節省開發成本。本章將先對 STM32 常用的開發工具 Keil MDK 和 IAR EWARM 進行簡單介紹,然后結合 STM32_SK 仿真評估板和 STM32F103C 的開發板講解 STM32 片上資源使用,最后給出一個基于 STM32 的數據采集器的應用實例。
5.1 Keil MDK 介紹
Keil 是德國知名軟件公司 Keil(現已并入 ARM 公司)開發的微控制器軟件開發平臺,是目前 ARM 內核單片機開發的主流工具。 Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器在內的完整開發方案,通過一個集成開發環境uVision )將這些功能組合在一起。 uVision 當前最高版本是 uVision3, 它的界面和常用的微軟 VC++ 的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。因此很多開發 ARM 應用的工程師,都對它十分喜歡。
5.1.1 開發過程及集成開發環境簡介
1. Keil 的軟件開發周期使用 Keil 來開發嵌入式軟件, 開發周期和其他的平臺軟件開發周期是差不多的, 大致有
以下幾個步驟:
1. 創建一個工程,選擇一塊目標芯片,并且做一些必要的工程配置。
2. 編寫 C 或者匯編源文件。
3. 編譯應用程序。
4. 修改源程序中的錯誤。
5. 聯機調試。
聯機調試.png (495.08 KB, 下載次數: 70)
下載附件
2018-10-9 19:23 上傳
3. 系統實現3.1. 相關技術技術超聲波自動避障技術,紅外軌跡行走技術,藍牙通訊技術,驅動電機技術。
3.2. 硬件實現超聲波模塊
采用HY-SRF05 超聲波模塊傳感器,超聲波發射器向某一方向發射超聲波,在發射的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。聲波在空氣中的傳播速度為 340m/s,根據計時器記錄的時間 t,就可以計算出發射點距障礙物的距離 s,即:s=340m/s× t / 2。這就是時間差測距法。
基本工作原理:本模塊使用方法,一個控制口發一個 10US 以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計時,當此口變為低電平時就可以讀定時器的值,此時就為此次測距的時間,方可算出距離.如此不斷的周期測,即可以達到你移動測量。
超聲波原理如圖所示:
超聲波原理.jpg (103.7 KB, 下載次數: 63)
下載附件
2018-10-9 19:23 上傳
超聲波的實物圖:
超聲波實物圖.jpg (40.75 KB, 下載次數: 59)
下載附件
2018-10-9 19:23 上傳
紅外模塊
傳感器的紅外發射二極管不斷發射紅外線,當發射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,紅外接收管一直處于關斷狀態,此時模塊的輸出端為高電平,指示二極管一直處于熄滅狀態;被檢測物體出現在檢測范圍內時,紅外線被反射回來且強度足夠大,紅外接收管飽和,此時模塊的輸出端為低電平,指示二極管被點亮。于是,在有黑色軌跡的白色跑道上,裝有尋跡傳感器模塊小車就能自己按照軌跡來向前走,這樣的小車就叫循跡小車。
紅外模塊原理圖:
紅外模塊原理圖.jpg (28.99 KB, 下載次數: 82)
下載附件
2018-10-9 19:24 上傳
紅外模塊實物圖:
紅外模塊實物圖.jpg (21.39 KB, 下載次數: 82)
下載附件
2018-10-9 19:25 上傳
HC-06藍牙模塊
其TX接單片機的RX,RX接單片機的TX,VCC接5V(或3.3V),GND接單片機的地。HC-06藍牙模塊是通過一款手機APP(藍牙串口助手)作為中間媒介,在藍牙串口助手發送相關的數據到串口,串口再把相關信息送到藍牙模塊,藍牙模塊再把相關信號送到單片機中。
藍牙模塊.png (177.78 KB, 下載次數: 88)
下載附件
2018-10-9 19:25 上傳
藍牙模塊連接.png (114.32 KB, 下載次數: 77)
下載附件
2018-10-9 19:26 上傳
L298N電機驅動模塊,
該該電機可以驅動2路直流電機,使能端ENA,ENB,為高電頻有效,
通過單片機的輸入信號給IN1和IN2來控制左輪,輸入信號給IN3和IN4來控制右輪。IN1和IN2,分別給0,1 :正轉
IN1和IN2,分別給1,0 :反轉
IN1和IN2,分別給1, 1 :停止
IN1和IN2,分別給0,0 :停止
IN3和IN4,分別給0,1 :正轉
IN3和IN4,分別給1,0 :反轉
IN3和IN4,分別給1, 1 :停止
IN3和IN4,分別給0,0 :停止
L298N的主要引腳功能如下:
+5V:芯片電壓5V;
VCC:電機電壓,最大可接50V;
GND:共地接法;
Output1—Output2:輸出端,接電機1;
Output3—Output4:輸出端,接電機2;
EN1、EN2:高電平有效,EN1、EN2分別為 IN1和IN2、IN3和IN4的使能端;
Input1~ Input4:輸入端,輸入端電平和輸出端電平是對應的;
L298N原理圖.png (304.36 KB, 下載次數: 78)
下載附件
2018-10-9 19:26 上傳
3.3. 軟件實現
程序流程.png (77.01 KB, 下載次數: 79)
下載附件
2018-10-9 19:27 上傳
系統測試
小車能實現了自動避障功能、軌跡行走功能和手機APP藍牙控制功能,能實現基本功能,成功地用藍牙控制小車。測試了一段時間,單片機工作穩定,藍牙穩定的控制,小車較好的按照控制方向行走。
4. 系統使用說明1. 為小車裝上兩節鋰電池,來供電。
2. 打開總開關,在手機端,打開一個藍牙通訊助手(在手機應用商店可以找到下載),連接上此小車的藍牙(HC-06)。
3. 選擇小車模式,有自動避障模式、軌跡行走模式和手機APP藍牙控制模式,如圖所示:
APP.jpg (140.14 KB, 下載次數: 77)
下載附件
2018-10-9 19:27 上傳
4. 選擇了控制模式,然后就可以在手機端按相應的前進,后退,左轉,右轉,停止等,如圖:
手機端按相應的前進.jpg (153.11 KB, 下載次數: 75)
下載附件
2018-10-9 19:28 上傳
解析:前進,后退,左轉,右轉,停止,都對應著程序中相應的信息,如圖;
當手機端發送 0x02 給藍牙模塊,就會執行 forward()函數; 小車會向前走
當手機端發送 0x08 給藍牙模塊,就會執行 back();函數;,小車會向后走
當手機端發送 0x01 給藍牙模塊,就會執行 left();函數;,小車會向左走
當手機端發送 0x03 給藍牙模塊,就會執行 right()函數;,小車會向右走
當手機端發送 0x05 給藍牙模塊,就會執行stop()函數;,小車會停止
具體的編輯如圖:
具體的編輯.jpg (68.63 KB, 下載次數: 70)
下載附件
2018-10-9 19:28 上傳
file:///C:/Users/pu/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg 5. 選擇了軌跡行走模式,小車會按照黑色的軌跡來行走的。
軌跡.jpg (94.16 KB, 下載次數: 72)
下載附件
2018-10-9 19:29 上傳
軌跡行走模式展示圖2:
軌跡行走模式展示圖2.jpg (83.84 KB, 下載次數: 73)
下載附件
2018-10-9 19:29 上傳
最后這是小車的整體模型;
最后這是小車的整體模型.jpg (207.84 KB, 下載次數: 76)
下載附件
2018-10-9 19:30 上傳
5. 總結本設計采用的是STM32f103單片機,這主要是因為該單片機的穩定性比較好和執行指令的速度很快。還可以采用其它系列的單片機。電機驅動采用L293N ,穩定電壓,充足地向直流電機供電和穩定控制;電源部分采用兩節3.7V鋰電池供電,電壓穩定,電流充足,還可以循環充電,節能環保。采用C語言模塊化編程,提高開發效率.藍牙控制功能.用按鍵或遙控器來控制小車,簡單方便經過自己不斷的搜索努力以及老師的耐心指導和熱情幫助,本設計已經基本完成。
過這次課程設計,使我深刻地認識到學好專業知識的重要性,也理解了理論聯系實際的含義,并且檢驗了大學兩年的學習成果。雖然在這次設計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學習中繼續努力、不斷完善。這兩個月的設計是對過去所學知識的系統提高和擴充的過程,為今后的發展打下了良好的基礎。
由于自身水平有限,設計中一定存在很多不足之處,敬請各位批評指正.
6. 參考文獻1. C語言程序設計:清華大學出版社 作者:譚浩強
2. 杜春雷.ARM體系結構與編程.清華大學出版社,2003
3. 周立功等.ARM嵌入式系統實驗教程[M].北京:北京航空航天大學出版社,2005.1.
4. 羅忠輝,黃世慶.提高超聲測距精度的方法[J].機械設計與制造.2005,1:109
5. 吳斌方,劉民,熊海斌.超聲波測距傳感器的研制[M].湖北工學院學報.2004,19(6):2628
6. 符艷輝. 基于單片機控制的超聲波測距儀的設計
7. 劉迎春 葉湘濱編著《傳感器原理設計與應用》[M].國防科技大學出版社 2004
8. .Kim EJ, Yangida Y,Haruyama T, etal.Immunosensing.system for a-fetoprotein coupled with adisposable amperometric glucose oxidase sensor & actuators B, 2001.
9. 羅茜文:藍牙技術聯盟未來將大力推廣低功耗、高速率藍牙技術 移動通信 2008-10-30
10. 徐小濤、熊華、高泳洪、田鋮:藍牙技術標準的最新發展 電信工程技術與標準 化 2008/09