姚麗娜



摘要:提出了一種基于STM32嵌入式微處理器的WIFI智能小車設計方案。該設計以uCOS-II為操作系統,利用PC端的WIFI串口通信向小車發送指令,STM32主控制器根據接收到的指令對小車進行操作,從而達到PC端通過無線網絡來控制小車狀態并且能夠顯示小車傳輸圖像的目的,同時實現了紅外避障及溫度采集顯示功能。測試表明該系統成本低,設計合理,能夠實現遠程無線控制,為未來的智能家居及無人探測提供了研究方向。
關鍵詞: STM32微處理器;WIFI小車;嵌入式;串口通信;無線控制
Abstract: The WIFI smart car design scheme based on STM32 embedded microprocessor is proposed. The design uses uCOS-II as the operating system, and uses the WIFI serial communication on the PC to send instructions to the car. The STM32 main controller operates the car according to the received instructions, so that the PC terminal controls the state of the car through the wireless network and can display the car transmission image. At the same time the infrared obstacle avoidance and temperature collection and display functions is realized. Tests show that the system has low cost, reasonable design, and can realize remote wireless control, providing a research direction for future smart home and unmanned detection.
Key words: STM32 microprocessor; WIFI car; embedded; serial communication; wireless control
1 引言
近幾年,人們的生活正在逐漸向智能化轉變,嵌入式技術及一些新技術的快速發展,使人們生活和工作變得越來越智能化[1]。
智能小車可以在所處的環境中通過傳感器自行進行判斷和分析,在無人操作的情況下自主完成任務[2]。本文設計的智能小車通過WIFI實現遠程無線控制,同時具有避障及溫度采集功能,實現了小車的智能化,可以作為研究智能汽車或者其他移動機器人的基礎模型,具有較大的研究空間[3]。
2 設計方案
2.1 系統功能定義
本設計能夠實現無線控制,避障,循跡等功能,由硬件,軟件,無線傳輸三大部分組成,現對以上三部分功能進行具體的敘述[4]。
1)硬件部分:輸出PWM控制電機;檢測障礙物,檢測距離為10cm;串口通信,需要通過串口對智能小車進行調試,串口波特率設置為115200;對接收到的命令進行處理和判斷;通過溫度傳感器檢測環境溫度;連接WIFI模塊及控制WIFI模塊;通過uCOS-II實現多個任務同時執行。
2)軟件部分:操作界面功能;通過SOCKET編程實現聯網,可以連接到WIFI模塊;接收STM32開發板傳輸的數據和發送指令數據;利用攝像頭進行拍照,在小車行駛過程中接收小車傳輸的圖片信息并顯示;實現小車的模式切換,模式1為無線控制行駛模式,模式2為自動行駛模式。
3) WIFI通信功能:與PC端進行聯網連接;實現PC與單片機之間的數據交換功能。
2.2 系統方案設計
本設計采用STM32F103開發板,與51單片機相比,STM32可以搭載小型系統且速度更快,設計方案如圖1所示。STM32開發板作為本設計的控制中心,使用PWM輸出波形驅動電機轉動,通過內部定時器達到控制方向的效果,同時將接收到的數據及命令經過處理器判斷和計算從IO口輸出。本設計利用溫度傳感器采集溫度信息通過串口傳輸到WIFI模塊,在PC端顯示;利用紅外傳感器實現探測障礙和循跡功能。WIFI模塊是PC端和開發板進行數據交互的媒介,PC端的操作指令由WIFI模塊進行發送,開發板和PC端之間設置了相應的數據協議,由此判斷接收到的是哪種類型的命令,小車根據命令執行相應的操作。
3 硬件設計
3.1 WIFI通信電路設計
WIFI通信模塊作為STM32和PC端通信的中介,兩端都通過WIFI模塊進行數據交互,該模塊選用ESP8266芯片[5],其特點就是如果斷開連接,再次連接,模塊會連接到最近一次連接過的熱點[6]。
ESP8266支持三種模式,分別為STA模式,AP模式,STA+AP模式。本設計使用AP模式,使其他網絡能夠連接到ESP8266。本設計使用ESP8266的AP模式,使其他網絡能夠連接到ESP8266,與STM32的引腳連接如表1所示。
3.2 攝像頭電路設計
攝像頭模塊選用OV7670,攝像頭模塊采集的光信號通過內部轉換變為RGB信號,屏幕顯示的為色位信息[7-8]。攝像頭模塊電路如圖2所示,攝像頭模塊數據需要7個引腳進行傳輸,傳輸協議為SCCB[9]。
3.3 定時器
STM32中的通用定時器是由16位的自動裝載計數器構成,通用定時器包括TIM2、TIM3、TIM4和TIM5。定時器可以實現基本定時、輸出4路PWM、輸入捕獲等功能。本設計采用STM32F103開發板,該開發板中除了定時器6和定時器7都可以產生PWM輸出,本設計使用的定時器為TIM3。