王 梅,丁 凰,張 媛
(西安交通大學 城市學院,西安 710018)
隨著物流產業的發展,社會各界對物流車的研究越來越多。車是人們生活出行必須要使用到的東西,與日常生活息息相關,無人物流車是車輛研發的新領域之一,在設計無人物流車時主要考慮的問題有環保、節能、安全等,除此之外,對車輛速度也要有精準地把握。無人物流車是以交通智能化為前提,以高新技術為基礎和載體的新型車輛,它能夠同時完成一項或者多項功能,如環境感知、路徑規劃、智能駕駛,在遇到障礙物時,無人物流車可以自主識別,改變車速和方向,對這些障礙物進行躲避,系統內部還設置了自動報警裝置[1]。
無人物流車作為一種高新技術的綜合體,應用十分廣泛,在生產線、服務業中都可以進行工作,減少人工負擔。然而目前對無人物流車的控制系統研究的很少,控制系統在無人物流車中扮演著重要的角色,能夠確保無人物流車保持最佳工作狀態[2]。綜上所述,本文使用STM32嵌入式微處理器設計了一種新的無人物流車運輸控制系統,將keil uvision4 和 JDK設定為軟件開發平臺,電機模型車設定為機械平臺,利用電機技術、傳感器技術設置控制系統的各個單元,實現控制一體化,并通過實驗驗證無人物流車控制系統的速度控制能力。
基于STM32嵌入式系統的無人物流車運輸控制系統的總體架構主要包括三部分,分別是:電源模塊、核心處理器模塊、電機驅動模塊[3]。運輸控制系統的總體框架如圖1所示。

圖1 無人物流車運輸控制系統總體結構
分析圖1可知,無人物流車運輸控制系統選用的核心處理器為STM32F103VE,該處理器的性價比極高,內部配置靈活,且消耗功率較低,利用L298N驅動電機,使系統能夠通過PWM方式來進行調速,選用的電機為ASLONG JGA25-371,該電機在高速的運行條件下,也可以保持穩定[4]。系統內部的電源可以始終向驅動模塊的驅動電機提供12 V的穩定電壓,通過轉換器將電機驅動模塊的電壓轉換成5 V,提供給核心處理器。以PWM的方式調節電機驅動模塊的速度,確保無人物流車能夠進行基本的運轉工作,同時對電機驅動模塊的管腳進行控制,配合編碼器和計數器進行速度測試[4]。
無人物流車運輸的速度較慢,因此在傳感器模塊中加入了多個傳感器,例如:超聲波距離傳感器、角位移傳感器、紅外傳感器、霍爾速度傳感器、超聲波距離傳感器、紅外傳感器,這些傳感器通過共同工作檢測無人運輸機所在的位置。當無人物流車進行工作時,超聲波距離傳感器會發送和接收超聲波信號,通過時間差判斷無人物流車運輸系統和障礙物之間的距離,從而滿足車輛對速度的要求。傳感器模塊中的霍爾速度傳感器能夠檢測無人物流車中的電動機運行速度,霍爾傳感器具有較高的響應頻率,能夠精確測量出電動機的轉速。當無人物流車運輸軌道出現彎道時,角位移傳感器能夠測算出轉角的大小,幫助運輸車進行減速。傳感器組成如圖2所示。

圖2 傳感器組成框圖
STM32F10是無人物流車運輸控制系統的核心部分,能夠對所有傳感器采集到的信息進行控制,進而實現模糊推理運算。STM32F10構成的主控模塊包括DMA(直接存儲器存取)控制器、AD/DA轉換器、快速I/O口和多種通信端口,主控模塊中加入了電源管理電路,可以有效降低系統的整體功耗,提高運行速度,從而滿足系統軟件人機交互界面在服務方面提出的要求。當系統開始運行后,STM32F10就會啟動程序,處理系統內部的數據,下發信號控制變頻器,接收到的信號信息會快速反饋到上位機中[5]。
在選擇變頻器時,必須要綜合考慮負載類型、使用環境和額度,由于無人物流車的控制系統不僅要控制電動機的轉速,同時要控制STM32F10網絡性能,所以本文選擇的變頻器是目前新研發的型號為MM440的變頻器,該變頻器調試方法簡單,EMC設計結果可靠性高,變頻器內部設有過電壓/欠電壓保護裝置,可以快速響應各種要求,且內部的操作界面十分友好,通過變頻器對系統內部的工作電壓和頻率進行調試,進而調節電動機的轉速和功率,電動機的轉速會直接無人物流車的運輸速度和運輸方向。物流車控制系統編碼器如圖3所示。

圖3 物流車控制系統編碼器
無人物流車運輸控制系統必須要設定自動剎車裝置,確保在緊急狀況下可以快速剎車制動,防止事故的發生。系統中的上位機能夠實時監控車輛的運行狀態,上位機主要是負責遠程控制工作,通過CAN總線與STM32F10主控模塊連接,完成高速通信,在人機界面上顯示出無人物流車的工作狀態[5]。
為了更好地實現控制,系統采用的控制器為模糊控制器,當傳感器采集到信號后,就會輸入到模糊控制器中,由模糊控制器對信號進行模糊化處理,利用推理規則庫針對3個部分進行清晰化處理。當STM32F10完成數據處理工作后,會輸出0~5 V的控制電壓,該輸出量會作為控制量輸入到變頻器中,由變頻器將信號轉換成PWM波,從而實現控制電動機的轉速工作。
本文設計的無人物流車運輸控制系統硬件采用的控制板是由ST公司生產的STM32F103,該控制器是由ST公司生產的32位微控制器,采用嵌入式的方式安裝在ARM Cortex-M 內上[6]。STM32F103是由Cortex公司生產的新型產品,如圖4所示。

圖4 STM32F103示意圖
STM32F103芯片具有性能高、功耗低、成本低的優點,最高工作頻率可以達到72 MHz,通過兩路12位的ADC,多個定時器和一個PWM定時器來操控芯片的工作。STM32F103主控器外部還連接了兩個SPI等標準通信接口,用來控制硬件的信息接收,配合PID算法計算出無人物流車的電阻值[7]。控制系統的硬件結構如圖5所示。

圖5 無人物流車運輸控制系統硬件結構圖
硬件設定的電阻反饋阻值在0~190 Ω的范圍之間,利用電壓測量結果測出電阻值,電阻反饋模塊的電路如圖6所示。

圖6 電阻反饋模塊的電路圖
硬件的電阻反饋模塊利用REF3030穩壓電源芯片輸出電壓,輸出的電壓為3.0 V電壓,該電壓為基準電壓,具有標準穩定的特點,電壓的精準度可以保持在0.2%,電壓產生的最大漂移為50 μA,最大電流為25 mA,通過OPA365運算放大器組成的電壓跟隨器連接標準電壓輸出端,利用標準電壓值將輸入電阻值提高,當輸入電阻值達到無限大后,就會發揮隔離的作用。當待測電阻與標準高精度190Ω電阻串聯到一起之后,待采集的電壓會通過電阻值進行分壓,范圍在0~1.5 V之間,電阻反饋模塊中的STM32主控芯片內部擁有ADC,通過ADC可以實現采集分壓工作,再由計算機處理得到對應的電阻值。
驅動模塊在控制無人物流車運輸航向中發揮著重要作用,利用大功率MOS管連接驅動模塊,額定的電流可以達到30A,輸入的寬電壓范圍在12~30 V之間。通過STM32主控芯片的PB5和PB6引腳,與模塊上的A1、A2引腳連接,從而控制電機的轉向,當A1引腳的電平為高電平,當A2引腳的電平為低電平,驅動電機的轉向方式為正轉;當A2引腳的電平為低電平,當A1引腳的電平為高電平,驅動電機的轉向方式為反轉,當A1、A2引腳都為低電平時,系統會進入剎車狀態。利用PB7主控芯片從定時器的輸出引腳上引出PWM脈沖,再將PB7引腳與PA引腳連接到一起,對電機的轉速進行控制。無人物流車控制系統的驅動模塊電池電壓為12 V,主控芯片對電機轉動的時間進行控制,從而完成方向調整。
通過以太網實現控制板和工控機之間的通信,采用的通信協議為UDP協議,該協議具有很強的數據傳輸能力,以太網在接口處選用的芯片為W5500芯片,該芯片將全硬件TCP/IP協議棧集合到一起,在面對復雜TCP/IP協議簇時,需要引用復雜的邏輯門電路。由此構建的以太網通信模塊電路通信速度快、可靠性高、安全性好。在通信模塊外部加入中斷引腳PAI2,由此實現數據的收發工作,提高數據的響應效率,路由器選用RJ45接口連接,從而實現通信。
無人物流車運輸控制系統采用的控制思想是分離控制,對物流車的航向進行實時跟蹤,通過調試實現模塊的各項應用功能。
利用STM32F103內部的ADC對電阻進行采集,通過分壓計算位置電阻。無人物流車位置控制功能實現流程如圖7所示。

圖7 無人物流車位置控制功能實現流程
觀察圖7可知,首先進行初始化設計,然后判斷是否需要調整無人物流車運輸控制系統的方向,在確定需要調整無人物流車位置后,比較測得的無人物流車電動機位置電阻值與設計要達到的電阻值之間的誤差,最后通過改變引腳的電平來執行電機的正轉和反轉工作,當測得的電阻值與期望的電阻相差的誤差在±1.5 Ω,則證明已經實現了無人物流車的位置控制工作。
在外界環境的干擾下,無人物流車的行駛的方向很有可能出現偏差,為了確保無人物流車式中按照規定方向行駛,設置了方向保持程序,采用的設置算法為PID算法,通過負反饋調節使無人物流車能夠按照規定的方向行駛。無人物流車行駛方向保持程序實現流程如圖8所示。

圖8 無人物流車行駛方向保持程序實現流程
STM32S在系統的主控模板中發揮著控制作用,利用位置PID算法比較設計值和偏差值,從而計算出輸出值,對計算到的輸出值進行歸一化處理,將得到的結果傳給控制程序,從而實現位置控制。
通過GPS得到無人物流車的所在位置的經度和緯度,利用漸進直線跟蹤法跟蹤無人物流車的航行軌跡,提取軌跡中的關鍵經度值和緯度值,根據提取見過構建路徑數組,跟蹤路徑不同,路徑數組也不同,在Visual C++軟件上編寫跟蹤程序,通過控制軟件得到固定的跟蹤結果。
在監控軟件中得到無人物流車的實際位置和跟蹤路徑的終點位置,通過計算判斷是否完成跟蹤工作,計算方式為周期性計算,由于在跟蹤過程中不可避免的產生誤差,所以本文設計的跟蹤程序將最大誤差設定為20 m。在跟蹤直線路徑時,采用的跟蹤方法為直線擬合法,在跟蹤曲線路徑時,采取的跟蹤方法為曲線擬合法,需要特別指出的是,所選擇的跟蹤點距離不能過短,不然得到的結果并非精準結果。
為了進一步驗證本文基于STM32嵌入式系統的無人物流車運輸控制系統的實際效果,與傳統運輸控制系統進行對比,設置了驗證實驗。本文控制系統界面如圖9所示。

圖9 控制系統界面
設置實驗參數如表1所示。

表1 實驗參數
設定的實驗環境如圖10所示。

圖10 實驗環境
根據上述實驗參數和實驗環境進行實驗,同時選用傳統的運輸控制系統以及本文研究的基于STM32嵌入式系統的無人物流車運輸控制系統對無人物流車的速度進行控制,對比控制效果,分析系統性能。得到的實驗結果如下所示:
根據上述控制誤差結果,得到圖11。
根據上述分析結果可知,數據測的誤差越大,無人物流車的控制效果越差。對比傳統控制系統和本文研究的控制系統可以發現,控制時間在0~0.2 s時,傳統系統的相對誤差在12%下降到5%,本文方法由10%下降到0.5%。在后續的0.2~0.7 s,傳統系統的相對誤差保持在2.5%,本文系統的相對誤差保持在不到0.1%,本文系統比傳統系統相對誤差低2.4%誤差控制能力高出25倍。本文研究的控制系統控制效果明顯優于傳統控制系統。由于傳統控制系統控制面板過于繁瑣,所以各個部件難以靈活工作,互相之間配合并不協調。本文研究的基于STM32嵌入式系統的無人物流車運輸控制系統能夠精準地調節速度,由于采用了旋轉編碼器,所以控制系統在工作時,編碼器就會隨之轉動。當轉軸發生變化時,碼盤也會不斷變化,輸出一系列的脈沖信號,根據輸出的脈沖信號調整發動機的轉速,改變無人物流車運輸控制系統的速度和方向。碼盤上方有多個光柵,所以測試精度極高。STM32單片機具有很強的控制能力,能夠很好地確保各個零件正常工作。

圖11 控制誤差對比圖
根據上述實驗結果,得到如下實驗結論:將STM32嵌入式系統應用到無人物流車的控制系統設計中,能夠大大提高控制系統的控制能力,相較于傳統控制系統,本文研究的無人物流車運輸控制系統能夠更好地控制各個部件的工作,提高各個部件的速度,使零件能夠在最短的時間內完成工作。基于STM32系列單片機無人物流車運輸控制系統不僅能夠提高控制速度,同時能夠加強控制精度,減少控制誤差,具有很強的發展潛能。
本文基于STM32系列單片機針對無人物流車設計了一種控制運輸系統,將常見的電機模型設定為機械平臺,根據控制系統體術的細化要求加入各種傳感器,結合PID算法和PWM調速方式,實現速度調控和速度檢測等工作。本文的研究開創了智能控制的新領域,但是仍然存在很多問題,如控制過程穩定性、避障能力、循跡能力等,未來需要進一步進行完善。