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

?

基于Arduino的智能循跡小車的設(shè)計(jì)與實(shí)現(xiàn)

2022-02-19 11:37楊潞霞安琪霞曹硯江
電子測試 2022年1期
關(guān)鍵詞:循跡鐵絲小車

楊潞霞,安琪霞,曹硯江

(1.太原師范學(xué)院計(jì)算機(jī)系,山西晉中,030619;2.山西大學(xué)商務(wù)學(xué)院,山西太原,030031)

0 引言

智能汽車作為一種智能化的交通工具,實(shí)現(xiàn)了車輛工程、人工智能、自動(dòng)控制、計(jì)算機(jī)等多個(gè)學(xué)科領(lǐng)域理論技術(shù)的交叉和融合,是未來汽車發(fā)展的趨勢[1]。循跡小車可以看作是縮小化的智能汽車[2],是一種運(yùn)用傳感器、單片機(jī)、電機(jī)驅(qū)動(dòng)以及自動(dòng)控制等技術(shù)來實(shí)現(xiàn)的自動(dòng)行走的高新科技,該技術(shù)可廣泛應(yīng)用于無人駕駛、倉儲業(yè)、制造業(yè)等。本文提出了一種可以沿鐵絲自動(dòng)行駛且自動(dòng)識別硬幣并發(fā)出報(bào)警的小車實(shí)現(xiàn)方案,并以LDC1000傳感器、STM32芯片、Arduino芯片等模塊及元器件搭建小車硬件系統(tǒng),編寫相應(yīng)的單片機(jī)控制程序,實(shí)現(xiàn)小車的自動(dòng)行走和報(bào)警等功能。通過實(shí)驗(yàn)測試,該小車系統(tǒng)能夠在鐵絲軌道完成自動(dòng)循跡和自動(dòng)識別硬幣功能,可以為智能汽車的研究提供實(shí)驗(yàn)基礎(chǔ)。

1 系統(tǒng)設(shè)計(jì)方案

1.1 設(shè)計(jì)思路

本文設(shè)計(jì)的自動(dòng)循跡小車硬件主要包括Arduino主控芯片、驅(qū)動(dòng)模塊、STM32控制芯片、LDC1000傳感器、測速模塊和顯示模塊等。該小車采用2個(gè)直流電機(jī)分別控制2個(gè)車輪,通過2個(gè)LDC1000電感模塊判斷鐵絲軌跡的位置來引導(dǎo)小車行駛的方向。具體方案是:小車在行駛過程中,LDC1000傳感器不斷向STM32芯片傳回檢測的Rp值,并根據(jù)該值進(jìn)行閾值比較,繼而來判斷小車是否正在規(guī)定區(qū)域內(nèi)行駛;若不在,Rp值小于預(yù)設(shè)的閾值,此時(shí)將相應(yīng)判斷結(jié)果以數(shù)字信號傳送到STM32對應(yīng)的輸出端口;由STM32輸出端口將判斷結(jié)果傳送到主控器Arduino上,主控器則通過SPI總線的片選線確定電機(jī)相應(yīng)端口的開閉,而電機(jī)的相應(yīng)端口直接控制著左右輪電機(jī)的轉(zhuǎn)到方向,這樣就調(diào)整了小車的行進(jìn)方向,確保小車在規(guī)定區(qū)域內(nèi)正常行駛。系統(tǒng)整體結(jié)構(gòu)圖如圖1所示。

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

1.2 控制模塊選型

Arduino是一款便捷靈活、方便上手的開源硬件產(chǎn)品,具有豐富的接口,有數(shù)字I/O口,模擬I/O口,同時(shí)支持SPI,IIC,UART串口通信[3]。能通過各種各樣的傳感器來感知環(huán)境,它沒有復(fù)雜的單片機(jī)底層代碼與難懂的匯編,只是簡單而實(shí)用的函數(shù),此外還具有簡便的編程環(huán)境IDE,有極大的自由度。本系統(tǒng)邏輯功能較復(fù)雜,不僅僅需要接收傳感器的數(shù)據(jù)及計(jì)算判斷,還需要控制電機(jī),對控制器的數(shù)據(jù)處理能力要求很高,從系統(tǒng)運(yùn)行效率、程序簡單性來考慮,選擇了Arduino芯片作為整個(gè)系統(tǒng)的控制模塊。

1.3 循跡模塊選型

LDC1000傳感器主要針對近距離金屬探測應(yīng)用,系統(tǒng)體積小,成本低。該傳感器感測系數(shù)可調(diào),導(dǎo)體感測范圍可自定義,對特定的金屬導(dǎo)體可實(shí)現(xiàn)近距離感測。采用了SPI接口編程,占用硬件資源少[4],只需外接一個(gè)PCB線圈或者自制線圈就可以實(shí)現(xiàn)非接觸式電感檢測,分辨率高。本設(shè)計(jì)中用于小車軌道的金屬鐵絲距離較近,用連接自制線圈實(shí)現(xiàn)LDC1000的非接觸式電感檢測。

1.4 測速模塊設(shè)計(jì)

本設(shè)計(jì)使用編碼輪和光電開關(guān)來實(shí)現(xiàn)測速和測量行駛。光電編碼器是由一個(gè)紅外發(fā)射器射出光,射于黑色條紋上時(shí),將被間斷的紅外線反射于接收器上,在接收器的輸入端會(huì)受到同輪子轉(zhuǎn)速為正比關(guān)系的光脈沖信號,進(jìn)而在接收器的輸出端形成具有一定頻率的光信號,再利用微處理器對電脈沖進(jìn)行計(jì)算,就可得到小車的移動(dòng)速度。

1.5 電源模塊選擇

使用兩節(jié)18650電池作為電源直接供給電機(jī)驅(qū)動(dòng)板。傳感器和單片機(jī)的供電要求較為苛刻,需要直流5V供電。LDC 1000更是需要波紋小的電源,故本設(shè)計(jì)選擇一個(gè)7805穩(wěn)壓模塊,將12V外接電壓降到5V,最大電流1.5A。輸出端使用大容量電容來保證輸出電壓平穩(wěn),不受電機(jī)的影響。

1.6 顯示模塊選型

顯示模塊可以選擇LED數(shù)碼模塊和OLED顯示屏,前者廉價(jià),但是顯示位數(shù)有限;后者相對顯示內(nèi)容豐富、清晰顯示信息量大,且功耗低、速度較快。本設(shè)計(jì)選用OLED顯示屏顯示行駛距離和行駛時(shí)間等信息。

2 電路與程序設(shè)計(jì)

2.1 主要電路設(shè)計(jì)

2.1.1 LDC1000傳感器與STM32的連接

本設(shè)計(jì)中主要采用LDC1000測量值來判斷小車是否在細(xì)鐵絲上行走,LDC1000采集到的數(shù)據(jù)發(fā)送給STM32芯片,當(dāng)采集到的數(shù)據(jù)發(fā)生變化時(shí),STM32會(huì)給出判斷,并將判斷信號值上傳到主控器Arduino,Arduino根據(jù)判斷信號值來給出調(diào)整電機(jī)轉(zhuǎn)動(dòng)的控制信號。

圖2 LDC1000與STM32連接圖

2.1.2 液晶顯示電路

Arduino芯片外接OLED液晶顯示屏用于顯示時(shí)間、距離、檢測數(shù)值等相關(guān)參數(shù),具體連接引腳線如圖3所示。

圖3 液晶顯示電路圖

2.1.3 驅(qū)動(dòng)模塊電路

本小車系統(tǒng)中最關(guān)鍵的電路還有電機(jī)驅(qū)動(dòng)模塊,L298N電機(jī)驅(qū)動(dòng)模塊與左、右電機(jī)驅(qū)動(dòng)輪共同決定著小車的行進(jìn)方向[7],其與主控器Arduino及電源連接示意圖如圖4所示,圖中MEGA2560是Arduino的控制芯片。

圖4 驅(qū)動(dòng)電路圖

2.2 程序設(shè)計(jì)

2.2.1 金屬軌道檢測程序設(shè)計(jì)

LDC1000的傳感器檢測金屬原理主要是利用電磁感應(yīng)原理[5,6]。在PCB線圈或自制線圈中加上一個(gè)交變電流,線圈周圍就會(huì)產(chǎn)生交變電磁場,這時(shí)若有金屬物體進(jìn)入此電磁場就會(huì)在金屬物體表面產(chǎn)生渦流(感應(yīng)電流)。渦流電流跟線圈電流方向相反,渦流產(chǎn)生的反向磁場跟線圈耦合形成一個(gè)變壓器[7]。由于變壓器的互感作用,在初級線圈可檢測到次級線圈(金屬物體的渦流效應(yīng))的參數(shù)。LDC1000是依靠檢測等效并聯(lián)電阻來測定金屬物體是靠近還是遠(yuǎn)離線圈,所以當(dāng)有金屬物體接近時(shí),就會(huì)使傳感器的Rp數(shù)值發(fā)生變化,本設(shè)計(jì)是根據(jù)Rp變化值范圍(當(dāng)前的Rp值與初始的Rp值之差)判斷小車是否在正確的鐵絲軌道上,即小車是否行駛發(fā)生了偏移,具體主程序流程圖如圖5所示。

圖5 主程序流程圖

2.2.2 小車循跡程序設(shè)計(jì)

循跡小車的狀態(tài)分為三種:鐵絲軌道(正常),鐵絲軌道外(左偏,右偏),檢測到有硬幣(左偏,右偏)。這個(gè)判斷過程是由STM32完成的,通過設(shè)置左右兩個(gè)LDC1000傳感器的閾值實(shí)現(xiàn)左右偏移的判斷,當(dāng)大于閾值時(shí)則為檢測到鐵線,小于閾值時(shí)則沒有,以此作為前輪轉(zhuǎn)向以及后輪轉(zhuǎn)向的依據(jù),向相應(yīng)方向進(jìn)行調(diào)整。

圖6 循跡程序流程圖

2.2.3 循跡及硬幣檢測程序設(shè)計(jì)

當(dāng)傳感器檢測到鐵絲時(shí),由于鐵絲的表面積較小,產(chǎn)生的渦流較小,讀出LDC1000采集回來的Rp值要比正常數(shù)值增大100-150;而當(dāng)檢測的硬幣時(shí),由于硬幣的表面積較大,產(chǎn)生的渦流大,讀出LDC1000采集回來的Rp值要比正常的的數(shù)值增大600以上。因此,本文通過設(shè)定閾值來區(qū)分檢測到鐵絲與硬幣兩種不同的物質(zhì),當(dāng)STM32將LDC1000檢測到的Rp值范圍進(jìn)行邏輯判斷后轉(zhuǎn)換成高低電平傳給Arduino主控芯片時(shí),主控芯片通過SPI總線片選功能選擇硬幣偏左還是偏右,進(jìn)而控制蜂鳴器發(fā)出響聲。

圖7 硬幣檢測程序流程圖

3 測試方案與測試結(jié)果

3.1 測試方案

將小車放置在在規(guī)定的平面跑道,跑道的標(biāo)識是一根直徑0.6mm—0.8mm的細(xì)鐵絲,形狀如圖8所示,啟動(dòng)小車,各個(gè)模塊協(xié)同工作,小車順時(shí)針自動(dòng)沿著鐵絲軌道行走,手動(dòng)記錄小車行進(jìn)時(shí)間、距離。此時(shí),安裝在小車底盤的LDC1000傳感器在小車偏離跑道時(shí)進(jìn)行檢測,并將數(shù)據(jù)實(shí)時(shí)傳回給處理器,以及時(shí)控制小車行進(jìn)方向,OLED顯示屏也將自動(dòng)顯示小車行駛時(shí)間與距離。

圖8 鐵絲軌道示意圖

3.2 測試結(jié)果

經(jīng)測試,小車運(yùn)行正常,能夠自動(dòng)循跡行走,也能夠檢測到周圍硬幣及時(shí)報(bào)警,顯示屏能夠?qū)崟r(shí)顯示小車行駛的距離和運(yùn)行時(shí)間。具體測試結(jié)果與手動(dòng)記錄結(jié)果比較如下表1:

表1 小車功能測試數(shù)據(jù)

實(shí)測時(shí)間( s) 14 11 12檢測硬幣數(shù)目 4 3 3

4 結(jié)語

通過多次測試與改進(jìn),可自動(dòng)在鐵絲軌道循跡行走的智能小車基本完成,自動(dòng)循跡跑完一圈大約用時(shí)15s左右;硬幣識別基本準(zhǔn)確;在直行和轉(zhuǎn)彎過程中基本都能根據(jù)細(xì)鐵絲標(biāo)識的平面跑道正常運(yùn)行,穩(wěn)定性好,運(yùn)行速度較快。但后續(xù)可通過改進(jìn)算法、優(yōu)化程序等方法進(jìn)一步提高小車的運(yùn)行速度和自動(dòng)化程度,為其在物流、醫(yī)療等領(lǐng)域內(nèi)廣泛應(yīng)用提供基礎(chǔ)。

猜你喜歡
循跡鐵絲小車
基于DFT算法的電力巡檢無人機(jī)循跡檢測系統(tǒng)設(shè)計(jì)
快樂語文(2020年36期)2021-01-14
鐵絲有多長
自制小車來比賽
鐵絲的幽默世界
淺談基于機(jī)器視覺和姿態(tài)檢測的循跡智能車
劉老師想開小車
兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)
兩長兩短
智能差分循跡小車設(shè)計(jì)
崇文区| 古田县| 新邵县| 浏阳市| 曲阳县| 孟津县| 景宁| 连云港市| 平乡县| 班戈县| 辽宁省| 宾阳县| 革吉县| 富锦市| 新邵县| 夏河县| 延津县| 礼泉县| 仪陇县| 双桥区| 康保县| 西青区| 视频| 涪陵区| 隆回县| 临江市| 南宫市| 石屏县| 沛县| 咸宁市| 中卫市| 庆元县| 凤凰县| 宣化县| 兴化市| 云浮市| 翁牛特旗| 革吉县| 麻江县| 尼木县| 大渡口区|