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