萬歡,趙展,魏雯,賈作文,肖燁,李超,趙雅寧
(蘇州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇蘇州,215104)
本文提出了一種面向化工藥品的區(qū)域運輸系統(tǒng)的設(shè)計,使用意法半導(dǎo)體以Crotex M3內(nèi)核的32位微控制器作為運輸車輛主控制芯片,與32位Tensilica處理內(nèi)核的ESP8266連接,構(gòu)成與服務(wù)端通信回路。通信方式采用TCP/IP,使運輸車輛與服務(wù)端能夠穩(wěn)定快速的通信,降低數(shù)據(jù)傳輸丟包率,保障化工藥品運輸?shù)姆€(wěn)定性。員工可通過桌面服務(wù)程序指定運輸車輛的運輸路徑,亦或使服務(wù)程序自行規(guī)劃運輸路徑。使用區(qū)域運輸系統(tǒng),進(jìn)行始末地址自動運送,減少運輸過程中人工干預(yù),通過廠區(qū)內(nèi)中控監(jiān)控運輸車輛運輸過程以及運輸狀態(tài),確保運輸?shù)陌踩?/p>
區(qū)域運輸系統(tǒng)運輸化工藥品能夠有效保障化工廠區(qū)內(nèi)運輸系統(tǒng)規(guī)范化、合理化,減少人工干預(yù)避免化工藥品對員工健康產(chǎn)生影響,同樣可以減少認(rèn)為產(chǎn)生的安全隱患,有效保障化工廠區(qū)的安全。該系統(tǒng)將運輸配送集成化,只需要通過服務(wù)系統(tǒng)進(jìn)行命令控制,就能夠完成運輸任務(wù)。該系統(tǒng)分為AGV車輛系統(tǒng)與服務(wù)控制系統(tǒng)兩個部分,AGV車輛系統(tǒng)使用ESP8266通過Wi-Fi與服務(wù)控制系統(tǒng)進(jìn)行交互。AGV車輛系統(tǒng)能夠采集道路信息,包括從紅外傳感器與超聲波傳感器獲取的數(shù)據(jù),進(jìn)行計算判斷躲避運輸?shù)缆飞系恼系K;同時該系統(tǒng)通過控制電機驅(qū)動進(jìn)行控制電機轉(zhuǎn)速,從而控制車輛車輛行駛。服務(wù)控制系統(tǒng)主要進(jìn)行接受AGV車輛的反饋狀態(tài),通過路徑規(guī)劃算法進(jìn)行判斷與命令。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總框圖
硬件電路由三個主要部分組成,分別為以STM32為微控制器的AGV控制系統(tǒng),H橋式電機驅(qū)動和基于ESP8266的Wi-Fi通信模塊。
該系統(tǒng)通過ESP8266的Wi-Fi通信模塊與服務(wù)系統(tǒng)進(jìn)行交互通信,將AGV小車的實時狀態(tài)信息通過其反饋至服務(wù)端,將服務(wù)端的命令進(jìn)行解析傳遞至AGV控制系統(tǒng)。AGV控制系統(tǒng)通過串口與ESP8266進(jìn)行數(shù)據(jù)交互,使用單片機內(nèi)置PWM控制電機驅(qū)動,能夠調(diào)節(jié)電機轉(zhuǎn)動方向速度。H橋電機驅(qū)動在驅(qū)動直流電機中,能夠有足夠的功率進(jìn)行驅(qū)動,有效保障AGV運行時車輛的穩(wěn)定性。
AGV控制系統(tǒng)使用基于Cortex-M3內(nèi)核的32位微控制器芯片STM32F103 RET6,該微控制器通過外部8MHz晶振,通過芯片內(nèi)部倍頻器將主時鐘頻率提高至72MHz,有效提高對信息處理能力與速度,保證對外輸出PWM的穩(wěn)定性。其內(nèi)部擁有128KB flash,20KB SRAM,一個高級定時器與三個標(biāo)準(zhǔn)定時器,支持USART、IIC等通信協(xié)議[1]。
該控制系統(tǒng)由七個部分組成,分別為電源電路、BOOT電路、復(fù)位電路、晶振電路、串口轉(zhuǎn)換電路、按鍵電路與SWD下載電路。
電源電路由AMS1117線性穩(wěn)壓器件及其外圍電路組成,在AMS1117輸入端并聯(lián)一個小電容抑制高頻雜波、一個電解電容提高AMS1117供電穩(wěn)定性,輸出端并聯(lián)一個小電容抑制輸出端的高頻雜波、電解電容提高AMS1117輸出電源的穩(wěn)定性。輸出端并聯(lián)發(fā)光二極管當(dāng)該供電模塊正常穩(wěn)定供電時發(fā)光二極管將正常發(fā)光。電源開關(guān)采用單刀雙擲開關(guān),電源供電端串聯(lián)上0.5A自恢復(fù)保險絲,當(dāng)控制系統(tǒng)接線錯誤過流過載能夠有效保障系統(tǒng)的安全性。
BOOT電路連接在單片機的BOOT0與BOOT1引腳上,負(fù)責(zé)配置單片機的啟動模式,當(dāng)BOOT0為低電平則采用主閃存啟動模式,當(dāng)BOOT0為高電平若BOOT1為低電平則從系統(tǒng)存儲器啟動,若BOOT1為高電平則從內(nèi)部SRAM啟動。
復(fù)位電路將復(fù)位引腳通過電阻與高電平相連,并與微動開關(guān)與地相連,開關(guān)兩端并聯(lián)電容,減小按鍵抖動帶來的影響。當(dāng)按鍵按下,電容兩端短路進(jìn)行放電,放電結(jié)束后復(fù)位引腳與地相連,單片機則自動復(fù)位。
晶振電路由兩個晶振組成,分別是高頻晶振與低頻晶振,高頻晶振通過電容與單片機的外部晶振引腳連接,低頻晶振通過電容與單片機的低頻晶振引腳連接。
串口轉(zhuǎn)換電路是單片機測試時與計算機連接的重要工具,在該設(shè)計中采用CH340N為轉(zhuǎn)換芯片,該芯片無需外部晶振,僅需要外部并聯(lián)電容。CH430則將單片機端的USART信號轉(zhuǎn)換為USB差分信號。
按鍵電路負(fù)責(zé)調(diào)試功能,默認(rèn)狀態(tài)下GPIO通過兩個電阻直接接入低電平,當(dāng)微動開關(guān)按下兩個電阻產(chǎn)生分壓,GPIO端口處電壓升高,起到按鍵開關(guān)的作用。
SWD電路為單片機下載電路,通過連接SWD能夠直接對STM32進(jìn)行調(diào)試測試。
硬件電路原理圖如圖2所示。
圖2 硬件原理圖
市面上常見的電機驅(qū)動類型一般選用三極管或場效應(yīng)管作為驅(qū)動電路供能原件,三極管能夠精確地控制電流從而控制電機的轉(zhuǎn)速,當(dāng)電機功率較大時三極管自身產(chǎn)生的損耗將大大提升,很可能會燒毀三極管。使用場效應(yīng)管能夠驅(qū)動較大功率的電機,將場效應(yīng)管使用H橋型連接方式通過PWM同樣可以精準(zhǔn)的控制。
通過場效應(yīng)管驅(qū)動直流電機的電路采用常見的H橋驅(qū)動電路,H橋作為一個典型的直流電機驅(qū)動控制電路,能夠采用集成芯片或者分立元件,由于驅(qū)動四個行進(jìn)電機需要較高的電流需求,所以采用分立元件,防止IC因功率過大燒毀。通過H橋并能夠?qū)﹄姍C進(jìn)行多種狀態(tài)操作,如正轉(zhuǎn)、反轉(zhuǎn)、停止、制動,H橋電路需要對每個橋臂進(jìn)行精確控制,防止因為同側(cè)同時導(dǎo)通導(dǎo)致MOS管燒毀。通過對兩種情況的比較,MOS-H橋型的電機驅(qū)動電路能夠作為本設(shè)計AGV小車電機的驅(qū)動電路,通過各樣詳細(xì)參數(shù)的比較MOS管更加適配[2]。H橋原理圖如圖3所示。
圖3 H橋原理圖
軟件服務(wù)系統(tǒng)共分為兩個部分,分別為通信服務(wù)程序與路徑規(guī)劃程序,通信服務(wù)程序負(fù)責(zé)信息傳遞,將雙方的消息進(jìn)行打包傳送,對接收到的數(shù)據(jù)包進(jìn)行解包處理。路徑規(guī)劃程序負(fù)責(zé)將當(dāng)前運輸任務(wù)進(jìn)行規(guī)劃,從起始點至終點的路徑自動規(guī)劃,減少中間人為干預(yù)。
通信服務(wù)程序以TCP通信協(xié)議,在通信過程中能夠減少丟包概率。通信程序使用C++進(jìn)行編寫,能夠有效利用內(nèi)存,減少CPU的資源浪費。
服務(wù)器的建立分為六個步驟,首先需要建立套接字,套接字為通信雙方端點的抽象,是連接應(yīng)用進(jìn)程與網(wǎng)絡(luò)協(xié)議棧的橋梁,建立套接字后進(jìn)行綁定端口號,設(shè)定監(jiān)聽模式等待客戶端連接,同時開辟新線程向客戶端發(fā)送數(shù)據(jù)。
在等待客戶端連接的時候需要將每個客戶端的信息單獨進(jìn)行處理,將每個客戶端的用戶信息存入容器中,當(dāng)需要使用時使用迭代器進(jìn)行索引。每個客戶端的信息傳入路徑規(guī)劃方法中,進(jìn)行路徑規(guī)劃,規(guī)劃結(jié)束則將路徑反饋給客戶端。
在多線程處理中,將兩線程需要同時處理的數(shù)據(jù)進(jìn)行加鎖,當(dāng)不對數(shù)據(jù)加鎖時,被訪問數(shù)據(jù)被多個線程同時訪問造成單一數(shù)據(jù)多次處理,使被處理數(shù)據(jù)結(jié)果處理異常。當(dāng)加上數(shù)據(jù)鎖后,多個線程依次獲取訪問權(quán)限進(jìn)行處理避免數(shù)據(jù)處理異常,保證服務(wù)程序的穩(wěn)定運行。通信處理中減少容器的使用能夠避免內(nèi)存快速膨脹,當(dāng)開辟后使用結(jié)束的容器需要及時釋放避免內(nèi)存浪費,避免因內(nèi)存異常產(chǎn)生不必要的損失。通信部分設(shè)計框圖如圖4所示。
圖4 通信部分設(shè)計框圖
AGV小車主要用于許多工業(yè)和軍事應(yīng)用。路徑規(guī)劃的研究是AGV小車研究中最重要的方面之一。AGV小車的路徑規(guī)劃需要在滿足特定優(yōu)化條件的同時,通過環(huán)境找到一條無碰撞路徑,從指定的起始位置到期望的(目標(biāo))目標(biāo)位置?,F(xiàn)有的路徑規(guī)劃方法,如可見性圖、勢場和單元分解等圖形方法,都是為存在靜止障礙物的靜態(tài)環(huán)境設(shè)計的。在海洋科學(xué)研究、工業(yè)機器人和軍事作戰(zhàn)應(yīng)用等實際系統(tǒng)中,機器人通常面臨同時存在移動和靜止障礙物的動態(tài)環(huán)境。該項目提出了一種基于啟發(fā)式的方法來有效地搜索可行的初始路徑。然后將基于啟發(fā)式的方法結(jié)合到基于模擬退火算法的動態(tài)機器人路徑規(guī)劃方法中。因此,解決方案的質(zhì)量以規(guī)劃路徑的長度為特征,并且在運行時和離線路徑規(guī)劃的基于模擬退火的方法中使用組合啟發(fā)式方法來提高解決方案的質(zhì)量[3]。
本設(shè)計基于一種面向化工藥品的區(qū)域運輸系統(tǒng)。系統(tǒng)采用意法半導(dǎo)體推出的基于CM3核心的微控制器STM32F103芯片作為主控,電機驅(qū)動采用H橋電路,設(shè)計中使用雙路的直流電機驅(qū)動,該驅(qū)動最大承受功率達(dá)到160W,能夠使用市場上多數(shù)直流電機。另外,采用光耦電路避免因驅(qū)動電路損壞單片機,針對欠壓與過流能夠及時切斷保護。通信服務(wù)程序負(fù)責(zé)信息傳遞,將雙方的消息進(jìn)行打包傳送,對接收到的數(shù)據(jù)包進(jìn)行解包處理。路徑規(guī)劃程序負(fù)責(zé)將當(dāng)前運輸任務(wù)進(jìn)行規(guī)劃,從起始點至終點的路徑自動規(guī)劃,減少中間人為干預(yù)[4]。
系統(tǒng)具有工作狀態(tài)穩(wěn)定、操作方式便捷等特點,在化工藥品運輸中能夠承載高并發(fā)情況,滿足區(qū)域型的非接觸式化工藥品輸送需求。同時,期望在“智能制造”背景下為進(jìn)一步實現(xiàn)智慧工廠奠定堅實的基礎(chǔ),為化工領(lǐng)域從業(yè)人員提供有安全保障的工作環(huán)境。