999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的巡線小車系統(tǒng)設(shè)計(jì)

2022-08-12 01:54:38吳凱劉潔張晶晶李軍朱方明
現(xiàn)代信息科技 2022年7期

吳凱,劉潔,張晶晶,李軍,朱方明

(杭州師范大學(xué) 信息科學(xué)與技術(shù)學(xué)院,浙江 杭州 311121)

0 引 言

移動機(jī)器人集環(huán)境感知、動態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多種功能于一體,在軍事偵察、掃雷排險(xiǎn)、防核化污染等危險(xiǎn)與惡劣環(huán)境以及民用的物品搬運(yùn)等方面具有廣闊的應(yīng)用前景。輪式移動機(jī)器人即智能小車,因其構(gòu)造簡單、控制相對方便以及工作效率高等因素,成為移動機(jī)器人研究領(lǐng)域的重要分支,受到人們的普遍關(guān)注。

巡線是智能小車控制行動路徑的方法之一。采用紅外檢測電路采集路徑信息可以較好地實(shí)現(xiàn)自動巡線。傳統(tǒng)智能小車通常采用較為單一的傳感器來采集跡線信息,容易導(dǎo)致信息采集不完整,小車偏離預(yù)定路線等,基于多傳感器協(xié)同的方式,可以完成小車對跡線和障礙物的探測。本文設(shè)計(jì)了一種基于STM32 單片機(jī)的巡線小車系統(tǒng),采用七路灰度傳感器采集灰度值,采用雙H 橋電機(jī)驅(qū)動模塊對電機(jī)進(jìn)行驅(qū)動,通過兩側(cè)的電機(jī)轉(zhuǎn)速差調(diào)整和控制小車的姿態(tài),從而實(shí)現(xiàn)巡線功能,并保持較快的運(yùn)行速度。

1 系統(tǒng)工作原理

巡線小車的系統(tǒng)結(jié)構(gòu)如圖1所示,主要分為主控制器模塊、灰度傳感器模塊、電機(jī)模塊和電源模塊四部分。小車的巡線主要通過對灰度傳感器采集的數(shù)據(jù)進(jìn)行分析,并由主控制器進(jìn)行處理,最后通過調(diào)節(jié)兩側(cè)車輪的速度差來實(shí)現(xiàn)巡線的功能。

圖1 系統(tǒng)結(jié)構(gòu)圖

2 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)硬件設(shè)計(jì)框圖如圖2所示,包括主控制器、灰度傳感器、電機(jī)驅(qū)動板、電機(jī)、電源和穩(wěn)壓模塊等。其中,電源和穩(wěn)壓模塊組成電源模塊,電機(jī)驅(qū)動板和電機(jī)則組成電機(jī)模塊。電源通過穩(wěn)壓模塊LM2596S 將12 V 電壓降至5 V,給主控制器單片機(jī)供電,電機(jī)驅(qū)動板由電源直接供電。主控制器輸出PWM 波給電機(jī)驅(qū)動板,用于控制電機(jī)轉(zhuǎn)速和方向。灰度傳感器用于識別白線所在位置和偏移角度,并由主控制器進(jìn)行讀取分析,通過讀取傳感器的數(shù)值對電機(jī)的速度進(jìn)行調(diào)整。

圖2 系統(tǒng)硬件設(shè)計(jì)框圖

2.1 主控制器

主控制器采用的是STM32F103ZET6,該款單片機(jī)采用主流的Cortex 內(nèi)核,擁有72 MHz 的主頻以及豐富的外設(shè),具有三個(gè)精度為12 位的ADC 和8 路定時(shí)器,并且搭載了DMA 模塊以方便數(shù)據(jù)的搬運(yùn)處理。

系統(tǒng)利用灰度傳感器來對小車路徑進(jìn)行采集,而STM32 的高速運(yùn)算及ADC 采集能力為此提供了保障,同時(shí)通過STM32 所提供的DMA 功能,可以有效地將灰度傳感器的數(shù)據(jù)采集到CPU 中并對其進(jìn)行處理。通過對STM32的通用定時(shí)器進(jìn)行配置可以有效地輸出PWM 波,設(shè)置比較值對PWM 的占空比進(jìn)行調(diào)節(jié),并由通用I/O 口輸出電平對電機(jī)驅(qū)動板進(jìn)行控制,從而實(shí)現(xiàn)對電機(jī)轉(zhuǎn)速以及方向的調(diào)節(jié)。

2.2 傳感器模塊設(shè)計(jì)

傳感器模塊采用的是七路灰度傳感器,用來采集路面的灰度信息。灰度傳感器是一種模擬傳感器,主要由一個(gè)發(fā)光二極管和一個(gè)光敏電阻組成,由于不同的檢測面對光的反射程度不同,反射至光敏電阻的光線強(qiáng)度也不同,通過光敏電阻的光照特性,即隨著光照的增強(qiáng),光敏電阻的阻值變小,可以實(shí)現(xiàn)對不同的檢測面顏色深淺的檢測。由于場地為黑底白線,所以采用灰度傳感器可以滿足系統(tǒng)功能需求。

灰度傳感器的電路原理圖如圖3所示,其中LED1 照射地面,同時(shí)光敏二極管接收地面的反光,在電阻R2 上獲得分壓輸出。若采用模擬輸出模式,則將該輸出電壓直接接到主控制器;若采用數(shù)字輸出模式,則將模擬電壓接入比較器進(jìn)行比較,比較器的另一端由電源在電位器RP1 的分壓獲得。通過對電位器RP1 的調(diào)節(jié),可以實(shí)現(xiàn)對線路的識別。最后,比較運(yùn)放的輸出通過一個(gè)上拉電阻接入主控制器。設(shè)計(jì)采用數(shù)字輸出的模式,通過在軟件中設(shè)置閾值來實(shí)現(xiàn)對線路的識別。不僅調(diào)節(jié)方便且對環(huán)境的適應(yīng)性強(qiáng),免去了不同環(huán)境下需要調(diào)節(jié)電位器的麻煩。

圖3 灰度傳感器電路原理圖

在小車的正前方放置傳感器模塊,便于提前對小車的行進(jìn)方向進(jìn)行調(diào)整。同時(shí)在車的兩側(cè)也各裝有一個(gè)單路的灰度傳感器,用于判斷場地中的十字路口。

2.3 電機(jī)驅(qū)動電路設(shè)計(jì)

電機(jī)驅(qū)動電路采用ZS-H1B 模塊,該模塊為雙H 橋直流有刷電機(jī)驅(qū)動方式,采用兩片的半橋驅(qū)動芯片和低內(nèi)阻的N溝道MOSFET 進(jìn)行驅(qū)動,可以對電機(jī)進(jìn)行有效控制。控制信號主要有三類,兩路電機(jī)使能信號,兩路方向控制信號和兩路PWM 輸出。控制信號的真值表如表1所示。

表1 電機(jī)控制信號真值表

2.4 電源電路設(shè)計(jì)

系統(tǒng)電源電路的設(shè)計(jì)采用了LM2596S 芯片,實(shí)現(xiàn)對輸入電壓的降壓及穩(wěn)壓。輸入為鋰電池,其輸出電壓和電池容量分別為12.6 V 和2 200 mAH。接入電源模塊后通過電位器對輸出的電壓大小進(jìn)行調(diào)節(jié),并通過數(shù)碼管顯示。

小車采用兩種供電方式。其中,主控制板及傳感器模塊采用5 V 供電,電機(jī)則采用12 V 供電。電機(jī)的12 V 電壓由電池直接供給,主控制板和傳感器的供電由電池通過穩(wěn)壓模塊后的輸出供給。為了供電方便,采用一塊轉(zhuǎn)接板對各電路進(jìn)行供電。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 系統(tǒng)主程序設(shè)計(jì)

系統(tǒng)主程序流程圖如圖4所示,主程序開始運(yùn)行后,先對小車進(jìn)行初始化,之后就開始讀取傳感器的數(shù)值,當(dāng)檢測到出現(xiàn)異常情況,就對小車進(jìn)行修正,若為正常情況就讓小車直行。最后返回讀取的傳感器值,如此循環(huán)往復(fù)。

圖4 系統(tǒng)主程序流程圖

當(dāng)小車左右兩側(cè)的傳感器位于線上時(shí),則表示小車處在十字路口。程序判讀出小車位于十字路口之后,小車開始執(zhí)行轉(zhuǎn)彎。小車轉(zhuǎn)彎主要采用兩側(cè)車輪進(jìn)行相反方向的旋轉(zhuǎn),以實(shí)現(xiàn)小車的原地旋轉(zhuǎn)。當(dāng)前方的傳感器模塊最外側(cè)的傳感器檢測到黑線時(shí),小車轉(zhuǎn)動速度減慢,直至最中央的傳感器檢測到黑線,小車停止,轉(zhuǎn)彎結(jié)束。系統(tǒng)采用了兩段式的轉(zhuǎn)彎,可以較好地提高轉(zhuǎn)彎的精準(zhǔn)度和成功率。

為了實(shí)現(xiàn)小車前往方格場地的任意白線交叉點(diǎn)的功能,我們主要采用兩個(gè)程序?qū)π≤囘M(jìn)行控制,一個(gè)是方向選擇程序,另一個(gè)是路徑選擇程序。為了更好地表示場地的任意點(diǎn)位和移動路徑,將小車出發(fā)點(diǎn)設(shè)為原點(diǎn),并設(shè)置一個(gè)坐標(biāo)軸,橫坐標(biāo)為X,縱坐標(biāo)為Y(小車朝向正前方視為與+Y 軸方向一致),前往任意坐標(biāo)點(diǎn)所要走的線路可以分為橫向移動量和縱向移動量。路徑采用數(shù)組(橫坐標(biāo))和數(shù)組(縱坐標(biāo))進(jìn)行表示,例如,向前4格,再向右4格,可以表示為:(0,0),(0,4),(4,4)。用數(shù)組表示即為[2]={0,0,4},[2]={0,4,4}。

基于坐標(biāo)的路徑選擇程序,主要用于計(jì)算當(dāng)前位置和下一個(gè)位置的橫向距離diff或縱向距離diff。一般diff和diff其中一個(gè)為0,最后將距離填入方向選擇函數(shù)。

方向選擇程序有兩個(gè)輸入?yún)?shù),分別為橫向距離diff和縱向距離diff。程序中用mode 表示車輛的朝向,1 表示車頭朝前,3 表示車頭朝右,5 為車頭朝后,7 則為車頭朝左。當(dāng)小車車頭朝前,即mode=1 時(shí),若diff=0,diff=(≠0),則小車執(zhí)行走格子程序GO_Grid(),其中,代表小車向前走N 格。若diff=(>0),diff=0,則代表小車下一個(gè)目標(biāo)點(diǎn)位于小車右側(cè)個(gè)格子的位置,小車就會先執(zhí)行右轉(zhuǎn)程序GO_Right(),然后再向前走格。由于執(zhí)行了右轉(zhuǎn)程序,導(dǎo)致車頭轉(zhuǎn)向右側(cè),所以將車輛朝向標(biāo)志mode 設(shè)為3。通過多次執(zhí)行類似操作,就可以實(shí)現(xiàn)小車按照任意路徑到達(dá)場地的指定位置。

3.2 循跡子程序設(shè)計(jì)

循跡子程序流程圖如圖5所示,主要用于走給定數(shù)量的方格。依靠前置灰度傳感器來實(shí)時(shí)調(diào)整車輛以實(shí)現(xiàn)直行的穩(wěn)定。傳感器讀取灰度值,主控制器通過ADC 對灰度值進(jìn)行采集,并將ADC 數(shù)值用DMA 進(jìn)行搬運(yùn),實(shí)現(xiàn)傳感器數(shù)值的快速讀取,減少對CPU 資源的占用。傳感器按從左到右的順序分別賦值為-8,-4,-2,0,2,4,8。當(dāng)傳感器檢測到白線時(shí),傳感器的數(shù)值就為對應(yīng)的數(shù)值,當(dāng)檢測到黑色時(shí)就為0。

圖5 循跡子程序流程圖

將各路傳感器數(shù)據(jù)之和設(shè)為變量,如圖5所示。在行進(jìn)過程中對數(shù)值進(jìn)行判斷,若數(shù)值大于0,則表示右側(cè)傳感器位于線上,車輛偏向左,所以調(diào)整車輛向右偏轉(zhuǎn)。數(shù)值越大,調(diào)整的幅度也越大。當(dāng)數(shù)值小于0 時(shí),則表示左側(cè)傳感器位于線上,車輛偏右,需要調(diào)整車輛向左偏轉(zhuǎn),根據(jù)數(shù)值的大小,來調(diào)節(jié)小車偏轉(zhuǎn)的幅度。當(dāng)數(shù)據(jù)為0 時(shí),則表示小車處于正常直行狀態(tài)。

4 測試結(jié)果

測試場地如圖6所示,主要為貼有白色循線的黑色方格場地。集成開發(fā)環(huán)境為Keil5。前期采用分模塊測試方法,首先對電機(jī)的驅(qū)動及速度調(diào)節(jié)進(jìn)行測試,然后對灰度傳感器模塊進(jìn)行測試。電機(jī)的驅(qū)動主要是PWM 波及控制信號的輸出。采用14.4 kHz 的PWM 輸出,改變占空比大小以實(shí)現(xiàn)對電機(jī)的速度調(diào)控,驅(qū)動成功后,對兩側(cè)電機(jī)速度差進(jìn)行矯正。在占空比為26%的情況下,左輪慢0.2%。

圖6 測試場地

傳感器模塊的測試,首先對傳感器與地面的高度進(jìn)行調(diào)節(jié)。對不同的高度,在場地的不同位置多次采集取平均,如表2所示,隨著傳感器高度的提高,傳感器的/數(shù)值普遍提高,且由于STM32ADC 采集的最大值為4 096,高度過高會使黑白之間的差別過小,導(dǎo)致無法實(shí)現(xiàn)區(qū)分黑白功能。

表2 傳感器高度與A/D 值關(guān)系

其次傳感器的數(shù)據(jù)通過ADC 進(jìn)行采集,并設(shè)置一個(gè)閾值對采入的數(shù)據(jù)進(jìn)行二值化。為了調(diào)試便利,將傳感器的A/D 值通過串口屏進(jìn)行顯示。對場地的不同區(qū)域進(jìn)行測試,采集黑色區(qū)域與白色區(qū)域的/值,經(jīng)過取平均值后,設(shè)置合適的閾值采入的數(shù)據(jù)二值化。

后期采用整體測試方法,對巡線穩(wěn)定性進(jìn)行測試,通過小車的持續(xù)運(yùn)作,觀察小車運(yùn)行穩(wěn)定性;并設(shè)計(jì)不同復(fù)雜程度的線路對小車進(jìn)行測試用以驗(yàn)證小車面對復(fù)雜情況的處理能力。

小車在有白色循線的黑色方格場地進(jìn)行測試,分別按“日”字形,左右轉(zhuǎn)繞圈路線進(jìn)行20 次繞圈測試。最后測試結(jié)果顯示,出錯(cuò)率約5%。表明小車的出錯(cuò)概率較小,工作穩(wěn)定性高。另外,系統(tǒng)可以通過調(diào)整灰度傳感器的閾值來實(shí)現(xiàn)對巡線線路的快速區(qū)分,對不同環(huán)境的適應(yīng)性強(qiáng)。

5 結(jié) 論

本文設(shè)計(jì)的基于STM32 單片機(jī)的巡線小車系統(tǒng),選用了七路灰度傳感器采集灰度值,并用雙H 橋電機(jī)驅(qū)動模塊對電機(jī)進(jìn)行驅(qū)動實(shí)現(xiàn)了巡線以及路徑選擇、前往場景特定位置等功能。小車整體結(jié)構(gòu)簡單,工作穩(wěn)定性高,能夠適應(yīng)不同環(huán)境快速準(zhǔn)確地巡線與自主行駛。基于網(wǎng)格線的巡線方式,可以方便地應(yīng)用到倉庫,快遞中轉(zhuǎn)站等便于布線且物品整齊排放的場所實(shí)現(xiàn)貨物的搬運(yùn)及存放。對不同重量的貨物搬運(yùn),系統(tǒng)還可以通過改變小車的尺寸和規(guī)模來實(shí)現(xiàn),應(yīng)用前景廣闊。

主站蜘蛛池模板: 欧美日本中文| 91人妻在线视频| 亚洲国产午夜精华无码福利| 精品国产乱码久久久久久一区二区 | 国产精品视频白浆免费视频| a毛片在线| 国产精品亚欧美一区二区| 国产黄色片在线看| 亚洲天堂网站在线| 一级毛片在线免费视频| 99在线国产| 欧美区日韩区| 麻豆国产在线观看一区二区 | 国产一区二区三区在线观看视频| 国产精品网址在线观看你懂的| 岛国精品一区免费视频在线观看| 2021国产乱人伦在线播放| 中文字幕日韩久久综合影院| 亚洲AV免费一区二区三区| 精品91在线| 国产成人h在线观看网站站| 国产成人盗摄精品| 国产精品露脸视频| 97国产一区二区精品久久呦| 国产熟睡乱子伦视频网站| 国产高清在线丝袜精品一区| 久久婷婷色综合老司机| 一本大道香蕉久中文在线播放| 国产无遮挡猛进猛出免费软件| 精品福利网| 精品久久高清| 在线播放91| 国产成本人片免费a∨短片| 亚洲国产日韩欧美在线| 一级毛片在线播放| 欧美日韩综合网| 免费高清自慰一区二区三区| 国产一区二区三区精品欧美日韩| 欧美日韩一区二区三区四区在线观看| 国产成人av一区二区三区| 国产成人免费高清AⅤ| 国产91熟女高潮一区二区| 欧美不卡二区| 伊人色综合久久天天| 91久久精品国产| 毛片免费在线| 99久久精品国产综合婷婷| 亚洲成人在线免费观看| 国产啪在线| 国产精品无码AV片在线观看播放| 久久亚洲国产视频| 国产爽歪歪免费视频在线观看| 91毛片网| 国产第四页| 国产玖玖视频| 日韩黄色大片免费看| 日韩在线影院| AV色爱天堂网| igao国产精品| 精品一区二区久久久久网站| 丰满人妻被猛烈进入无码| 欧美性猛交xxxx乱大交极品| 国产精品亚洲天堂| 在线观看国产网址你懂的| 国产午夜在线观看视频| 91精品视频播放| 99久久国产综合精品2023| 青青草国产在线视频| 欧美特级AAAAAA视频免费观看| 亚洲欧美人成人让影院| 亚洲最大福利视频网| 国产91高跟丝袜| 久久青草精品一区二区三区 | 日本爱爱精品一区二区| 无码中文字幕乱码免费2| a色毛片免费视频| 国产福利一区二区在线观看| 久久亚洲中文字幕精品一区| 国产91无码福利在线| 日本成人不卡视频| 中文字幕亚洲第一| 日韩在线成年视频人网站观看|