劉 冰,蔡 震,申 猛
(中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032)
AGV是自動(dòng)導(dǎo)引運(yùn)輸車(chē)(Automated Guided Vehicle)的英文縮寫(xiě)。它是一種以電池為動(dòng)力,裝有非接觸導(dǎo)航(導(dǎo)引)裝置的無(wú)人駕駛車(chē)輛。它的主要功能表現(xiàn)為能在計(jì)算機(jī)監(jiān)控下,按路徑規(guī)劃和作業(yè)要求,精確地行走并??康街付ǖ攸c(diǎn),完成一系列作業(yè)功能,并具有安全保護(hù)功能的運(yùn)輸車(chē)。AGV控制系統(tǒng)由主計(jì)算機(jī)和車(chē)載計(jì)算機(jī)系統(tǒng)及輔助裝置組成,采用計(jì)算機(jī)技術(shù)、無(wú)線數(shù)據(jù)通訊技術(shù)、自動(dòng)控制伺服技術(shù)及車(chē)輛管理等綜合技術(shù)集成微機(jī)控制系統(tǒng)及車(chē)載控制系統(tǒng)。其中,主計(jì)算機(jī)主要負(fù)責(zé)任務(wù)分配、車(chē)輛調(diào)度、路徑(線)管理、交通管理、自動(dòng)充電等功能;車(chē)載控制系統(tǒng)在收到上位系統(tǒng)的指令后,負(fù)責(zé)AGV的導(dǎo)航計(jì)算、導(dǎo)引實(shí)現(xiàn)、車(chē)輛行走、裝卸操作等功能。
上位機(jī)程序,即主計(jì)算機(jī)程序是人機(jī)信息交換的界面,同時(shí)也是AGV安全、可靠運(yùn)行的保障。一個(gè)較好的上位機(jī)程序首先應(yīng)該有一個(gè)較好的操作界面,使其能夠讓使用者便捷地下達(dá)各種操作指令;其次要有較好的數(shù)據(jù)組織能力,使其能夠更好的組織AGV執(zhí)行各種指令。
上位機(jī)程序根據(jù)需要可分為五大模塊,即生成指令模塊,通訊模塊,AGV監(jiān)控模塊,文件管理模塊和緊急處理模塊。
生成指令模塊的作用是接收和分析人工輸入的命令及其參數(shù),并將其進(jìn)行編碼,存入待發(fā)數(shù)據(jù)工作區(qū)。上位機(jī)生成的指令碼為5個(gè)字節(jié)。
在同步字節(jié)中放入的是固定值0FFH,相當(dāng)于同步指令,其作用是使上位機(jī)數(shù)據(jù)的發(fā)送與下位機(jī)數(shù)據(jù)的接收同步。在命令字節(jié)中放入的是命令代碼,命令字節(jié)后面的三個(gè)參數(shù)字節(jié)放入的是執(zhí)行命令所需的參數(shù)(見(jiàn)表1)。
下位機(jī)程序,即單片機(jī)程序是AGV能夠運(yùn)行的軟件基礎(chǔ),它直接影響AGV執(zhí)行指令的能力和效果,同時(shí)也將影響其可靠性和安全性。
表1 命令代碼、命令含義以及參數(shù)含義
下位機(jī)程序,即單片機(jī)程序是AGV能夠運(yùn)行的軟件基礎(chǔ),它將直接影響AGV執(zhí)行指令的能力和效果,同時(shí)也將影響其可靠性和安全性。
下位機(jī)程序根據(jù)需要可分為七大功能模塊,即主控程序模塊、步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序模塊、直流電動(dòng)機(jī)驅(qū)動(dòng)程序模塊、傳感器數(shù)據(jù)采樣程序模塊、監(jiān)控程序模塊、數(shù)據(jù)處理程序模塊、通訊驅(qū)動(dòng)程序和出錯(cuò)處理程序模塊。
主控模塊的功能是把其他功能模塊有機(jī)的結(jié)合起來(lái),使其能夠協(xié)調(diào)工作。
步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序的功能是完成步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng),步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序包括步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)向驅(qū)動(dòng)、步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)角驅(qū)動(dòng)和步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速驅(qū)動(dòng),它們的實(shí)質(zhì)就是控制單片機(jī)PD口3位和6位輸出高低電平和控制單片機(jī)PD口4位和5位輸出脈沖的個(gè)數(shù)及頻率。
直流電動(dòng)機(jī)驅(qū)動(dòng)模塊的功能是完成直流電動(dòng)機(jī)的驅(qū)動(dòng),直流電動(dòng)機(jī)驅(qū)動(dòng)程序包括直流電動(dòng)機(jī)的轉(zhuǎn)向驅(qū)動(dòng)和直流電動(dòng)機(jī)的轉(zhuǎn)速驅(qū)動(dòng),它們的實(shí)質(zhì)就是控制驅(qū)動(dòng)芯片L298N輸入引腳的高低電平和控制由單片機(jī)PB口3位和PD口7位輸出的PWM信號(hào)的占空比。
傳感器數(shù)據(jù)采樣模塊的功能是采集所有傳感器的數(shù)據(jù),它的實(shí)質(zhì)是從單片機(jī)PC口讀入傳感器的高低電平。
監(jiān)控模塊的功能是監(jiān)視程序的運(yùn)行狀態(tài)。它的實(shí)質(zhì)就是控制單片機(jī)的PA口和PD口向數(shù)碼管和蜂鳴器輸出相應(yīng)的具有一定意義的數(shù)據(jù)。
數(shù)據(jù)處理程序模塊包括四個(gè)功能:
(1)處理由上位機(jī)發(fā)出的指令數(shù)據(jù)并生成相應(yīng)的控制數(shù)據(jù)。
(2)處理由傳感器采集的數(shù)據(jù)并生成相應(yīng)的控制數(shù)據(jù)。
(3)通過(guò)程序運(yùn)行狀態(tài)或是AGV運(yùn)行狀態(tài)為監(jiān)控程序提供輸出數(shù)據(jù)。
(4)通過(guò)程序運(yùn)行狀態(tài)或是AGV運(yùn)行狀態(tài)向上位機(jī)提供反饋數(shù)據(jù),反饋數(shù)據(jù)代碼及其含義如表2所示。
通訊驅(qū)動(dòng)程序模塊的功能是接收上位機(jī)發(fā)送的指令數(shù)據(jù)和向上位機(jī)發(fā)送反饋數(shù)據(jù)。它的實(shí)質(zhì)就是操作單片機(jī)的串口。在本設(shè)計(jì)中初步設(shè)定串行通訊的速率為600BPS,通訊數(shù)據(jù)無(wú)奇偶檢驗(yàn),兩位停止位。
出錯(cuò)處理程序模塊的功能是當(dāng)AGV出現(xiàn)運(yùn)行錯(cuò)誤或是緊急情況時(shí)控制AGV做出相應(yīng)的處理。
表2 下位機(jī)反饋數(shù)據(jù)代碼及其含義
AGV系統(tǒng)的軟件部分是這個(gè)系統(tǒng)的重要組成部分,上位機(jī)和下位機(jī)的程序設(shè)計(jì)能夠很好的協(xié)同控制AGV的導(dǎo)航計(jì)算、行走、裝卸等操作。
隨著更多國(guó)家對(duì)AGV系統(tǒng)的不斷發(fā)展與研究,AGV已經(jīng)不僅限于在汽車(chē)工業(yè)上的應(yīng)用,更多的新型AGV被廣泛應(yīng)用于工業(yè)、醫(yī)療領(lǐng)域,也可以用于辦公室信件的自動(dòng)分發(fā)和電子行業(yè)的裝配平臺(tái)。AGV從僅由大公司應(yīng)用,正向小公司單臺(tái)應(yīng)用轉(zhuǎn)變,而且其效率和效益更好。
[1] 孔令中.AGV原理及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2006.
[2] 陳冬云.AVR單片機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005.