張海兵++郭峰++岳彩浩++溫艷


摘 要:本文旨在基于STM32單片機設計一款處理速度快、精準循跡、行駛穩定的智能小車。對于路面狀況信息的采集,我們采用光電對管的技術來實現;同時利用光電開關設置來采集障礙物信息;對于單片機不能識別的信息,我們用單片機內部自帶的模數轉換來識別。單片機處理這些信息,然后對各個模塊進行控制,實現小車的智能巡線。
關鍵詞:STM32;智能巡線小車;PWM控制
DOI:10.16640/j.cnki.37-1222/t.2017.07.137
1 引言
近年來,隨著科技的快速發展,關于智能車的研究越來越受人關注,該設計可以應用于運輸,機器人,醫療器械等許多方面,現實意義很強。智能巡線小車,它集成機械、電子、計算機控制于一體,在倉庫智能管理、高壓線路除冰等領域有著廣闊的應用前景。小車通過紅外收發對管采集預先已鋪好的路徑信息,通過后輪電機驅動前進和前輪舵機控制前進方向驅動小車行駛,從而實現小車的巡線功能。
2 基于STM32的智能巡線小車的總體設計方案
STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核。小車系統以STM32為主控芯片,利用紅外收發對管采集道路信息,充分利用STM32串口資源和高速的運算、處理能力來實現巡線功能;通過調節PWM占空比實現調節電機的轉速,根據傳感器采集到的路徑位置計算偏差,通過PD算法調整舵機轉動的角度,從而實現精確巡線。
系統采用2種供電方式。由于STM32需要3.3V恒壓供電,而現有的充電電池隨著用電時間會有所變化,勢必會影響芯片的正常工作,因此本設計采用7.2V 充電電池和低壓差穩壓芯片TPS7350和TPS7333,以達到3.3V恒壓的目的;后輪采用飛思卡爾B車電機,供電電源采用7.2V充電電池和升壓芯片B0512使電壓達到12V。
3 硬件電路設計
硬件電路是由電源模塊、單片機最小系統模塊、循跡模塊和電機驅動模塊組成的。下面分別介紹下電源模塊、循跡模塊和單機驅動模塊。
3.1 電源模塊電路
整個供電系統是通過一節飛思卡爾專用7.2V充電電池供電,STM32單片機需要3.3V電源,循跡模塊需要5V電源,電機用電池直接供電,所以采用壓降比較小的TPS7350和TPS7333穩壓到5V和3.3V。
3.2 循跡模塊電路
小車循跡模塊是由發射電路、接收電路及比較電路組成。按照跑道線行進的前提是能檢測到跑道信息,跑道采用黑色絕緣膠帶。發射電路發出紅外光線,經地面(白底、黑線)反射后被接收管接收,采用帶有差動輸入的4運算放大器LM393為核心器件判斷小車所處的位置。
3.3 電機驅動模塊電路
電機驅動模塊是由可以承受大電流的MOS管和驅動芯片IR2104構成的,單片機輸出PWM波形給驅動芯片,驅動芯片經過處理控制電機的正轉,反轉以及停止。
4 軟件代碼調試
系統開始工作,首先初始化IIC、UART串口、PWM、外部中斷,初始化結束程序進入大循環。首先對循跡模塊進行初始化,當循跡模塊采集道路信息放給單片機后,單片機會把信息進行處理同時對電機驅動模塊輸出PWM波。
5 結論
本文針對智能巡線小車的設計,對其控制原理、結構,軟件設計及其硬件設計做了充分的介紹。通過軟硬件的修改、參數的整定,實現了送貨小車自主送貨的基本的功能。在此過程中學習了硬件結構,軟件調試、了解了各種結構和功能。通過這段時間的學習,給了我在智能車的這條道路上繼續探索的信心。另外,讓我能夠體會到發明創造給我帶來的收獲,帶動了我的興趣,讓我能夠在這條道路上學習到許多書本上沒有的知識。
參考文獻:
[1]李維軍,韓小剛,李晉.基于單片機用軟件實現直流電機PWM調速系統[J].機電一體化,2004,10(05):49-51.
[2]藍厚榮.單片機的PWM控制技術[J].工業控制計算機,2010,23(03):97
-98.
[3]蔣華龍.基于單片機的輪式機器人設計[D].成都:電子科技大學,2009:30-40.
[4]周淑娟.基于單片機智能循跡小車的設計方案[J].工業技術與職業教育,2011,9(02):12-18.
[5]譚浩強.C程序設計(第四版)[M].清華大學出版社.
基金項目:省級大學生創新創業項目:基于STM32單片機的智能巡線小車(編號201610379131)
作者簡介:張海兵(1996-),男,安徽淮南人,學生。