王 梅,丁 凰,張 媛
(西安交通大學(xué) 城市學(xué)院,西安 710018)
隨著物流產(chǎn)業(yè)的發(fā)展,社會各界對物流車的研究越來越多。車是人們生活出行必須要使用到的東西,與日常生活息息相關(guān),無人物流車是車輛研發(fā)的新領(lǐng)域之一,在設(shè)計無人物流車時主要考慮的問題有環(huán)保、節(jié)能、安全等,除此之外,對車輛速度也要有精準地把握。無人物流車是以交通智能化為前提,以高新技術(shù)為基礎(chǔ)和載體的新型車輛,它能夠同時完成一項或者多項功能,如環(huán)境感知、路徑規(guī)劃、智能駕駛,在遇到障礙物時,無人物流車可以自主識別,改變車速和方向,對這些障礙物進行躲避,系統(tǒng)內(nèi)部還設(shè)置了自動報警裝置[1]。
無人物流車作為一種高新技術(shù)的綜合體,應(yīng)用十分廣泛,在生產(chǎn)線、服務(wù)業(yè)中都可以進行工作,減少人工負擔。然而目前對無人物流車的控制系統(tǒng)研究的很少,控制系統(tǒng)在無人物流車中扮演著重要的角色,能夠確保無人物流車保持最佳工作狀態(tài)[2]。綜上所述,本文使用STM32嵌入式微處理器設(shè)計了一種新的無人物流車運輸控制系統(tǒng),將keil uvision4 和 JDK設(shè)定為軟件開發(fā)平臺,電機模型車設(shè)定為機械平臺,利用電機技術(shù)、傳感器技術(shù)設(shè)置控制系統(tǒng)的各個單元,實現(xiàn)控制一體化,并通過實驗驗證無人物流車控制系統(tǒng)的速度控制能力。
基于STM32嵌入式系統(tǒng)的無人物流車運輸控制系統(tǒng)的總體架構(gòu)主要包括三部分,分別是:電源模塊、核心處理器模塊、電機驅(qū)動模塊[3]。運輸控制系統(tǒng)的總體框架如圖1所示。
圖1 無人物流車運輸控制系統(tǒng)總體結(jié)構(gòu)
分析圖1可知,無人物流車運輸控制系統(tǒng)選用的核心處理器為STM32F103VE,該處理器的性價比極高,內(nèi)部配置靈活,且消耗功率較低,利用L298N驅(qū)動電機,使系統(tǒng)能夠通過PWM方式來進行調(diào)速,選用的電機為ASLONG JGA25-371,該電機在高速的運行條件下,也可以保持穩(wěn)定[4]。系統(tǒng)內(nèi)部的電源可以始終向驅(qū)動模塊的驅(qū)動電機提供12 V的穩(wěn)定電壓,通過轉(zhuǎn)換器將電機驅(qū)動模塊的電壓轉(zhuǎn)換成5 V,提供給核心處理器。以PWM的方式調(diào)節(jié)電機驅(qū)動模塊的速度,確保無人物流車能夠進行基本的運轉(zhuǎn)工作,同時對電機驅(qū)動模塊的管腳進行控制,配合編碼器和計數(shù)器進行速度測試[4]。
無人物流車運輸?shù)乃俣容^慢,因此在傳感器模塊中加入了多個傳感器,例如:超聲波距離傳感器、角位移傳感器、紅外傳感器、霍爾速度傳感器、超聲波距離傳感器、紅外傳感器,這些傳感器通過共同工作檢測無人運輸機所在的位置。當無人物流車進行工作時,超聲波距離傳感器會發(fā)送和接收超聲波信號,通過時間差判斷無人物流車運輸系統(tǒng)和障礙物之間的距離,從而滿足車輛對速度的要求。傳感器模塊中的霍爾速度傳感器能夠檢測無人物流車中的電動機運行速度,霍爾傳感器具有較高的響應(yīng)頻率,能夠精確測量出電動機的轉(zhuǎn)速。當無人物流車運輸軌道出現(xiàn)彎道時,角位移傳感器能夠測算出轉(zhuǎn)角的大小,幫助運輸車進行減速。傳感器組成如圖2所示。
圖2 傳感器組成框圖
STM32F10是無人物流車運輸控制系統(tǒng)的核心部分,能夠?qū)λ袀鞲衅鞑杉降男畔⑦M行控制,進而實現(xiàn)模糊推理運算。STM32F10構(gòu)成的主控模塊包括DMA(直接存儲器存取)控制器、AD/DA轉(zhuǎn)換器、快速I/O口和多種通信端口,主控模塊中加入了電源管理電路,可以有效降低系統(tǒng)的整體功耗,提高運行速度,從而滿足系統(tǒng)軟件人機交互界面在服務(wù)方面提出的要求。當系統(tǒng)開始運行后,STM32F10就會啟動程序,處理系統(tǒng)內(nèi)部的數(shù)據(jù),下發(fā)信號控制變頻器,接收到的信號信息會快速反饋到上位機中[5]。
在選擇變頻器時,必須要綜合考慮負載類型、使用環(huán)境和額度,由于無人物流車的控制系統(tǒng)不僅要控制電動機的轉(zhuǎn)速,同時要控制STM32F10網(wǎng)絡(luò)性能,所以本文選擇的變頻器是目前新研發(fā)的型號為MM440的變頻器,該變頻器調(diào)試方法簡單,EMC設(shè)計結(jié)果可靠性高,變頻器內(nèi)部設(shè)有過電壓/欠電壓保護裝置,可以快速響應(yīng)各種要求,且內(nèi)部的操作界面十分友好,通過變頻器對系統(tǒng)內(nèi)部的工作電壓和頻率進行調(diào)試,進而調(diào)節(jié)電動機的轉(zhuǎn)速和功率,電動機的轉(zhuǎn)速會直接無人物流車的運輸速度和運輸方向。物流車控制系統(tǒng)編碼器如圖3所示。
圖3 物流車控制系統(tǒng)編碼器
無人物流車運輸控制系統(tǒng)必須要設(shè)定自動剎車裝置,確保在緊急狀況下可以快速剎車制動,防止事故的發(fā)生。系統(tǒng)中的上位機能夠?qū)崟r監(jiān)控車輛的運行狀態(tài),上位機主要是負責遠程控制工作,通過CAN總線與STM32F10主控模塊連接,完成高速通信,在人機界面上顯示出無人物流車的工作狀態(tài)[5]。
為了更好地實現(xiàn)控制,系統(tǒng)采用的控制器為模糊控制器,當傳感器采集到信號后,就會輸入到模糊控制器中,由模糊控制器對信號進行模糊化處理,利用推理規(guī)則庫針對3個部分進行清晰化處理。當STM32F10完成數(shù)據(jù)處理工作后,會輸出0~5 V的控制電壓,該輸出量會作為控制量輸入到變頻器中,由變頻器將信號轉(zhuǎn)換成PWM波,從而實現(xiàn)控制電動機的轉(zhuǎn)速工作。
本文設(shè)計的無人物流車運輸控制系統(tǒng)硬件采用的控制板是由ST公司生產(chǎn)的STM32F103,該控制器是由ST公司生產(chǎn)的32位微控制器,采用嵌入式的方式安裝在ARM Cortex-M 內(nèi)上[6]。STM32F103是由Cortex公司生產(chǎn)的新型產(chǎn)品,如圖4所示。
圖4 STM32F103示意圖
STM32F103芯片具有性能高、功耗低、成本低的優(yōu)點,最高工作頻率可以達到72 MHz,通過兩路12位的ADC,多個定時器和一個PWM定時器來操控芯片的工作。STM32F103主控器外部還連接了兩個SPI等標準通信接口,用來控制硬件的信息接收,配合PID算法計算出無人物流車的電阻值[7]。控制系統(tǒng)的硬件結(jié)構(gòu)如圖5所示。
圖5 無人物流車運輸控制系統(tǒng)硬件結(jié)構(gòu)圖
硬件設(shè)定的電阻反饋阻值在0~190 Ω的范圍之間,利用電壓測量結(jié)果測出電阻值,電阻反饋模塊的電路如圖6所示。
圖6 電阻反饋模塊的電路圖
硬件的電阻反饋模塊利用REF3030穩(wěn)壓電源芯片輸出電壓,輸出的電壓為3.0 V電壓,該電壓為基準電壓,具有標準穩(wěn)定的特點,電壓的精準度可以保持在0.2%,電壓產(chǎn)生的最大漂移為50 μA,最大電流為25 mA,通過OPA365運算放大器組成的電壓跟隨器連接標準電壓輸出端,利用標準電壓值將輸入電阻值提高,當輸入電阻值達到無限大后,就會發(fā)揮隔離的作用。當待測電阻與標準高精度190Ω電阻串聯(lián)到一起之后,待采集的電壓會通過電阻值進行分壓,范圍在0~1.5 V之間,電阻反饋模塊中的STM32主控芯片內(nèi)部擁有ADC,通過ADC可以實現(xiàn)采集分壓工作,再由計算機處理得到對應(yīng)的電阻值。
驅(qū)動模塊在控制無人物流車運輸航向中發(fā)揮著重要作用,利用大功率MOS管連接驅(qū)動模塊,額定的電流可以達到30A,輸入的寬電壓范圍在12~30 V之間。通過STM32主控芯片的PB5和PB6引腳,與模塊上的A1、A2引腳連接,從而控制電機的轉(zhuǎn)向,當A1引腳的電平為高電平,當A2引腳的電平為低電平,驅(qū)動電機的轉(zhuǎn)向方式為正轉(zhuǎn);當A2引腳的電平為低電平,當A1引腳的電平為高電平,驅(qū)動電機的轉(zhuǎn)向方式為反轉(zhuǎn),當A1、A2引腳都為低電平時,系統(tǒng)會進入剎車狀態(tài)。利用PB7主控芯片從定時器的輸出引腳上引出PWM脈沖,再將PB7引腳與PA引腳連接到一起,對電機的轉(zhuǎn)速進行控制。無人物流車控制系統(tǒng)的驅(qū)動模塊電池電壓為12 V,主控芯片對電機轉(zhuǎn)動的時間進行控制,從而完成方向調(diào)整。
通過以太網(wǎng)實現(xiàn)控制板和工控機之間的通信,采用的通信協(xié)議為UDP協(xié)議,該協(xié)議具有很強的數(shù)據(jù)傳輸能力,以太網(wǎng)在接口處選用的芯片為W5500芯片,該芯片將全硬件TCP/IP協(xié)議棧集合到一起,在面對復(fù)雜TCP/IP協(xié)議簇時,需要引用復(fù)雜的邏輯門電路。由此構(gòu)建的以太網(wǎng)通信模塊電路通信速度快、可靠性高、安全性好。在通信模塊外部加入中斷引腳PAI2,由此實現(xiàn)數(shù)據(jù)的收發(fā)工作,提高數(shù)據(jù)的響應(yīng)效率,路由器選用RJ45接口連接,從而實現(xiàn)通信。
無人物流車運輸控制系統(tǒng)采用的控制思想是分離控制,對物流車的航向進行實時跟蹤,通過調(diào)試實現(xiàn)模塊的各項應(yīng)用功能。
利用STM32F103內(nèi)部的ADC對電阻進行采集,通過分壓計算位置電阻。無人物流車位置控制功能實現(xiàn)流程如圖7所示。
圖7 無人物流車位置控制功能實現(xiàn)流程
觀察圖7可知,首先進行初始化設(shè)計,然后判斷是否需要調(diào)整無人物流車運輸控制系統(tǒng)的方向,在確定需要調(diào)整無人物流車位置后,比較測得的無人物流車電動機位置電阻值與設(shè)計要達到的電阻值之間的誤差,最后通過改變引腳的電平來執(zhí)行電機的正轉(zhuǎn)和反轉(zhuǎn)工作,當測得的電阻值與期望的電阻相差的誤差在±1.5 Ω,則證明已經(jīng)實現(xiàn)了無人物流車的位置控制工作。
在外界環(huán)境的干擾下,無人物流車的行駛的方向很有可能出現(xiàn)偏差,為了確保無人物流車式中按照規(guī)定方向行駛,設(shè)置了方向保持程序,采用的設(shè)置算法為PID算法,通過負反饋調(diào)節(jié)使無人物流車能夠按照規(guī)定的方向行駛。無人物流車行駛方向保持程序?qū)崿F(xiàn)流程如圖8所示。
圖8 無人物流車行駛方向保持程序?qū)崿F(xiàn)流程
STM32S在系統(tǒng)的主控模板中發(fā)揮著控制作用,利用位置PID算法比較設(shè)計值和偏差值,從而計算出輸出值,對計算到的輸出值進行歸一化處理,將得到的結(jié)果傳給控制程序,從而實現(xiàn)位置控制。
通過GPS得到無人物流車的所在位置的經(jīng)度和緯度,利用漸進直線跟蹤法跟蹤無人物流車的航行軌跡,提取軌跡中的關(guān)鍵經(jīng)度值和緯度值,根據(jù)提取見過構(gòu)建路徑數(shù)組,跟蹤路徑不同,路徑數(shù)組也不同,在Visual C++軟件上編寫跟蹤程序,通過控制軟件得到固定的跟蹤結(jié)果。
在監(jiān)控軟件中得到無人物流車的實際位置和跟蹤路徑的終點位置,通過計算判斷是否完成跟蹤工作,計算方式為周期性計算,由于在跟蹤過程中不可避免的產(chǎn)生誤差,所以本文設(shè)計的跟蹤程序?qū)⒆畲笳`差設(shè)定為20 m。在跟蹤直線路徑時,采用的跟蹤方法為直線擬合法,在跟蹤曲線路徑時,采取的跟蹤方法為曲線擬合法,需要特別指出的是,所選擇的跟蹤點距離不能過短,不然得到的結(jié)果并非精準結(jié)果。
為了進一步驗證本文基于STM32嵌入式系統(tǒng)的無人物流車運輸控制系統(tǒng)的實際效果,與傳統(tǒng)運輸控制系統(tǒng)進行對比,設(shè)置了驗證實驗。本文控制系統(tǒng)界面如圖9所示。
圖9 控制系統(tǒng)界面
設(shè)置實驗參數(shù)如表1所示。
表1 實驗參數(shù)
設(shè)定的實驗環(huán)境如圖10所示。
圖10 實驗環(huán)境
根據(jù)上述實驗參數(shù)和實驗環(huán)境進行實驗,同時選用傳統(tǒng)的運輸控制系統(tǒng)以及本文研究的基于STM32嵌入式系統(tǒng)的無人物流車運輸控制系統(tǒng)對無人物流車的速度進行控制,對比控制效果,分析系統(tǒng)性能。得到的實驗結(jié)果如下所示:
根據(jù)上述控制誤差結(jié)果,得到圖11。
根據(jù)上述分析結(jié)果可知,數(shù)據(jù)測的誤差越大,無人物流車的控制效果越差。對比傳統(tǒng)控制系統(tǒng)和本文研究的控制系統(tǒng)可以發(fā)現(xiàn),控制時間在0~0.2 s時,傳統(tǒng)系統(tǒng)的相對誤差在12%下降到5%,本文方法由10%下降到0.5%。在后續(xù)的0.2~0.7 s,傳統(tǒng)系統(tǒng)的相對誤差保持在2.5%,本文系統(tǒng)的相對誤差保持在不到0.1%,本文系統(tǒng)比傳統(tǒng)系統(tǒng)相對誤差低2.4%誤差控制能力高出25倍。本文研究的控制系統(tǒng)控制效果明顯優(yōu)于傳統(tǒng)控制系統(tǒng)。由于傳統(tǒng)控制系統(tǒng)控制面板過于繁瑣,所以各個部件難以靈活工作,互相之間配合并不協(xié)調(diào)。本文研究的基于STM32嵌入式系統(tǒng)的無人物流車運輸控制系統(tǒng)能夠精準地調(diào)節(jié)速度,由于采用了旋轉(zhuǎn)編碼器,所以控制系統(tǒng)在工作時,編碼器就會隨之轉(zhuǎn)動。當轉(zhuǎn)軸發(fā)生變化時,碼盤也會不斷變化,輸出一系列的脈沖信號,根據(jù)輸出的脈沖信號調(diào)整發(fā)動機的轉(zhuǎn)速,改變無人物流車運輸控制系統(tǒng)的速度和方向。碼盤上方有多個光柵,所以測試精度極高。STM32單片機具有很強的控制能力,能夠很好地確保各個零件正常工作。
圖11 控制誤差對比圖
根據(jù)上述實驗結(jié)果,得到如下實驗結(jié)論:將STM32嵌入式系統(tǒng)應(yīng)用到無人物流車的控制系統(tǒng)設(shè)計中,能夠大大提高控制系統(tǒng)的控制能力,相較于傳統(tǒng)控制系統(tǒng),本文研究的無人物流車運輸控制系統(tǒng)能夠更好地控制各個部件的工作,提高各個部件的速度,使零件能夠在最短的時間內(nèi)完成工作。基于STM32系列單片機無人物流車運輸控制系統(tǒng)不僅能夠提高控制速度,同時能夠加強控制精度,減少控制誤差,具有很強的發(fā)展?jié)撃堋?/p>
本文基于STM32系列單片機針對無人物流車設(shè)計了一種控制運輸系統(tǒng),將常見的電機模型設(shè)定為機械平臺,根據(jù)控制系統(tǒng)體術(shù)的細化要求加入各種傳感器,結(jié)合PID算法和PWM調(diào)速方式,實現(xiàn)速度調(diào)控和速度檢測等工作。本文的研究開創(chuàng)了智能控制的新領(lǐng)域,但是仍然存在很多問題,如控制過程穩(wěn)定性、避障能力、循跡能力等,未來需要進一步進行完善。