国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的智能循跡小車設(shè)計

2019-09-10 07:22于雷支語睿朱一凡
關(guān)鍵詞:循跡智能小車

于雷 支語睿 朱一凡

摘要:為了滿足高校機器人相關(guān)課程教學(xué)和日常訓(xùn)練的要求,采用STM32嵌入式芯片設(shè)計了一款智能循跡小車.該小車通過光敏傳感器采集跑道的數(shù)值,結(jié)合PID經(jīng)典算法,實現(xiàn)循跡的功能,同時又預(yù)留了一些端口,可以實現(xiàn)測距、避障以及無線傳輸?shù)裙δ?實踐表明,該小車具有低功耗、低成本、高穩(wěn)定性、易于擴展等特點,能夠滿足教學(xué)、訓(xùn)練及一些比賽的需求.

關(guān)鍵詞:循跡;智能小車;PID算法

中圖分類號:TP273;TP212? 文獻標識碼:A? 文章編號:1673-260X(2019)04-0108-03

0 引言

智能循跡小車是一個融合了傳感器技術(shù)、自動控制技術(shù)、無線通信技術(shù)及人工智能技術(shù)于一身的綜合系統(tǒng).智能尋跡小車,也稱為輪式機器人,在每年的機器人比賽中都是不可缺少的一個賽項,從中也體現(xiàn)了高校在電子設(shè)計、自動化控制等多方面的水平,因此,除了用于參加比賽以外,在平時的單片機、自動控制等學(xué)科的教學(xué)過程中也是一項必不可少的訓(xùn)練項目.目前,智能循跡小車大多數(shù)采用的是51系列單片機進行設(shè)計的,功能簡單,也有采用MSP430、PIC、AVR系列單片機,在功耗和性能上都有很大的改進,但在占用指令空間大以及資料有限等方面也存在著不足;綜合考慮,本文采用目前主流的STM32系列嵌入式芯片作為控制器,設(shè)計了一款具有循跡、測距、避障以及無線傳輸?shù)裙δ艿闹悄苎E小車.

1 整體設(shè)計

智能循跡小車控制系統(tǒng)主要包括控制器模塊、電源模塊、循跡模塊、避障模塊、電機控制模塊、無線通信模塊等,如圖1所示.在控制系統(tǒng)中,控制器模塊根據(jù)循跡模塊對路線的采集數(shù)據(jù)進行分析處理,通過電機驅(qū)動模塊控制電機的正反轉(zhuǎn),并由舵機實現(xiàn)車子的方向控制,為了能夠?qū)崿F(xiàn)避障,采用了超聲測距模塊對障礙物的距離進行測量,另外可擴展光電檢測模塊,實現(xiàn)對接力棒的檢測,從而實現(xiàn)賽事中兩車接力的功能.

2 硬件設(shè)計

2.1 主控制模塊

本文選用STM32F103VET6芯片作為主控制器,該主控器是基于Cortex-M3內(nèi)核的32位處理器,最高工作頻率可以達到72MHz,具有高性能、低成本和低功耗等特點;STM32F103VET6片上不僅集成了256k~512k字節(jié)的閃存程序存儲器、64k字節(jié)的SRAM存儲器、3個12位模數(shù)轉(zhuǎn)換器和2通道12位數(shù)模轉(zhuǎn)換器,還具有豐富的定時器和通信接口等資源,特別是多達6路的PWM輸出,為舵機和電機驅(qū)動模塊提供了方便.設(shè)計中,通過PC0~PC4和PA0~PA5引腳讀取循跡模塊采樣值;PB8和PB9輸出PWM(Pulse Width Modulation)信號,PB8控制舵機轉(zhuǎn)向,PB9用作接力賽中接力棒的夾持控制;PD8、PD9、PB12~PB14控制無線模塊的數(shù)據(jù)傳輸.

2.2 電源模塊

電源模塊采用12V電源對直流電機供電,考慮到系統(tǒng)中傳感器和STM32芯片的供電,還提供5V和3.3V兩種電壓,電路圖如圖2和圖3所示.5V電壓采用PWM控制降壓轉(zhuǎn)換芯片AX3111進行降壓處理,AX3111芯片不僅具有低紋波、高效率和出色的瞬態(tài)特性,還具有軟啟動功能、限流功能、短路保護功能和過熱保護功能.3.3V電壓采用AMS1117芯片進行轉(zhuǎn)換,加上磁珠及電容抑制了電源線上的高頻噪聲和尖峰干擾.

2.3 電機驅(qū)動模塊

電機驅(qū)動模塊采用BTN7960搭成H橋驅(qū)動電路,可以提供高達47A的驅(qū)動電流.BTN7960是應(yīng)用于電機驅(qū)動的大電流半橋高集成芯片,它帶有一個P溝道的高邊MOSFET、一個N溝道的低邊MOSFET和一個驅(qū)動IC.電路圖如圖4所示,其中INH引腳為高電平,使能BTN7960.IN引腳用于確定哪個MOSFET導(dǎo)通.IN=1且INH=1時,高邊MOSFET導(dǎo)通,OUT引腳輸出高電平;IN=0且INH=1時,低邊MOSFET導(dǎo)通,OUT引腳輸出低電平,兩個芯片的輸出端分別接電機的兩極,即J2接口,通過左右兩邊的電平高低來控制電機的正反轉(zhuǎn).另外,SR引腳外接電阻的大小,可以調(diào)節(jié)MOS管導(dǎo)通和關(guān)斷的時間,具有防電磁干擾的功能.

電機的速度采用PWM脈寬調(diào)制技術(shù)進行控制,stmPWM信號頻率為1kHz,固定不變,通過控制占空比來調(diào)節(jié)車速,由函數(shù)Speed_Set進行設(shè)置實現(xiàn).方向舵機及機械手的控制也是采用PWM來完成的.另外,方向舵機及機械手的控制也是采用PWM來完成的.PWM信號產(chǎn)生頻率為50Hz,控制舵機的轉(zhuǎn)向,實現(xiàn)小車方向控制或機械手的抓取功能.

2.4 循跡模塊

為適應(yīng)不同跑道、不同場地的需求,循跡電路采用抗干擾能力強的光敏對管進行設(shè)計.由于設(shè)計的智能小車速度較快,在小車的前端并排放置11組光敏對管傳感器對跑道數(shù)據(jù)進行采集,每組傳感器包括LED發(fā)射電路和光敏電阻接收電路,LED發(fā)射電路產(chǎn)生白光,經(jīng)過場地反射后,通過光敏電阻獲取一定的模擬電壓值,該電壓值經(jīng)過AD轉(zhuǎn)換由STM32直接讀取分析,由此來判別小車在跑道上的位置.

2.5 無線通信模塊

無線通信模塊采用nRF24L01射頻芯片進行設(shè)計,該芯片支持2.4GHz的全球開放ISM頻段,GFSK調(diào)制,最大發(fā)射功率為0dBm,傳輸速率高達2Mbps,抗干擾能力強,功耗低,125個信道可供選擇,完全滿足多點通信及調(diào)頻通信的要求.

3 軟件設(shè)計

智能循跡小車的軟件設(shè)計主要包括循跡、方向舵機的控制、小車速度的控制以及避障功能等,圖6所示為兩輛接力小車的流程圖,(a)為前車流程圖,(b)為后車流程圖.

3.1 循跡

循跡是設(shè)計的重要組成部分,直接決定著后期數(shù)據(jù)處理的準確性.光敏對管傳感器進行數(shù)據(jù)采集.

經(jīng)過AD轉(zhuǎn)換后存儲在Location_Data[11]數(shù)組中,通過與Set_Location[11]數(shù)列中對應(yīng)的閾值進行比較,確定相應(yīng)傳感器的是否采集到跑道,不同的傳感器對應(yīng)于不同的權(quán)值,具體如表所示.

Location_Data[11]={0,0,0,0,0,0,0,0,0,0,0};

Set_Location[11]={505 , 541 , 600 , 422 , 586 , 500, 507 , 370 , 459 , 520 , 498 };

void Lock_BlackLine( )

{

for(i=0; i<11; i++)

if(Location_Data [i]< Set_Location [i])

{

Cnt++;

Loc_Para+=5-i;

}

if(Cnt>0)

{

if(Cnt>4)

{

Cross_Line_Cnt++;

if(Cross_Line_Cnt>CROSSLINE_Time)

{

if(Cross_Line_Flag!=1)

Cross_Line++;

G_Black_Line_Location=(float)(Location_Parameter/L_Location_Cnt);

Cross_Line_Flag=1;

Cross_Line_Cnt=0;

}

}

else

{

Cross_Line_Cnt=0;

Cross_Line_Flag=2;

G_Black_Line_Location=(float)(Location_Parameter/L_Location_Cnt);

}

}

else if(L_Location_Cnt==0)

{

G_Black_Line_Location=0;

Cross_Line_Flag=0;

}

Location_Parameter=0;

L_Location_Cnt=0;

}

3.2 PID(Proportion-Differential-Integral)控制

智能車的設(shè)計過程中主要是根據(jù)采集到的數(shù)據(jù)實現(xiàn)方向的控制和速度的控制,PID控制算法在智能車的控制方面是應(yīng)用最廣泛、控制效果最理想的一種控制算法.

PID控制算法中,輸出由比例參數(shù)P、積分參數(shù)I和微分參數(shù)D三個參數(shù)決定,公式為:

輸出=P*誤差+D*誤差的變化+I*誤差的積分

但在智能車方向控制方面,積分參數(shù)I意義不大,因此,舵機控制的設(shè)計中主要由比例參數(shù)P和微分參數(shù)D來計算出pid_out的值,為了防止超調(diào)而損壞舵機,一般要對pid_out的值進行限幅,獲得的pid_out的值經(jīng)過簡單處理可以用來調(diào)整方向舵機的轉(zhuǎn)角和小車的速度.

代碼如下:

int error_d, last_loc, integral_err;

int P, D, pid_out;

void pid_value ( )

{

error_d=loc-last_loc;

pid_out=P*loc+error_d*D;

}

if(pid_out>PID_MAX) { pid_out= PID_MAX; }

if(pid_out< PID_MIN) {pid_out= PID_MIN; }

小結(jié)

基于STM32的循跡小車集教學(xué)、訓(xùn)練、比賽為一體,實現(xiàn)了循跡、避障、接力以及數(shù)傳等功能;在實踐教學(xué)中,預(yù)留的擴展接口能夠開發(fā)學(xué)生的動手能力,可擴展性強;同時,循跡采用PID算法控制,穩(wěn)定性強,在最近兩年的安徽省機器人比賽中獲得了優(yōu)異的成績.實踐證明,該小車功耗低、穩(wěn)定性高、易于擴展、價格便宜,能夠滿足教學(xué)、訓(xùn)練及一些比賽的需求.

參考文獻:

〔1〕喻偉闖,劉世焯,錢楷,等.基于STC89C52單片機的自動泊車智能小車的設(shè)計與實現(xiàn)[J].湖北民族學(xué)院學(xué)報(自然科學(xué)版),2017,35(02):195-197.

〔2〕索南尖措,楊建,周歡歡,等.基于STC89C52單片機的智能小車的設(shè)計[J].信息安全與技術(shù),2016,7(04):67-69.

〔3〕唐琳.基于單片機的智能消防滅火車模型的原理及設(shè)計[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2013,29(24):23-24.

〔4〕呂閃,金巳婷,沈巍.基于STM32的循跡避障智能小車的設(shè)計[J].計算機與數(shù)字工程,2017,45(03):549-552+588.

〔5〕冷雪鋒.基于PID的STM32智能小車機器人的設(shè)計[J].自動化技術(shù)與應(yīng)用,2016,35(11):122-127.

〔6〕張鍇,李世光,朱曉莉,等.基于STM32的智能巡線小車[J].電子測量技術(shù),2012,35(02):105-107.

猜你喜歡
循跡智能小車
基于51單片機的簡易智能小車設(shè)計
基于慧魚模型的割草機器人設(shè)計
基于單片機的自動循跡小車的設(shè)計與制作
基于LabVIEW的自主巡航與遙控雙功能智能小車研發(fā)
基于STC89C51智能小車的移動家居平臺的設(shè)計
基于HC—SR04超聲波傳感器的智能避障小車設(shè)計
智能安全防盜探測小車
一種基于STC89C52單片機的簡易智能小車的實現(xiàn)
基于“STC80C51單片機”的智能小車系統(tǒng)的設(shè)計
基于K60的智能循跡小車系統(tǒng)實現(xiàn)