胡 飛,陳彩蓉,尹文慶,劉海馬,劉 鑫,凌 龍
(南京農(nóng)業(yè)大學(xué) 工學(xué)院/江蘇省智能化農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室,南京 210031)
國內(nèi)移栽基本以手工和半自動(dòng)移栽為主,自動(dòng)移栽機(jī)的應(yīng)用改善了操作人員的工作條件,提高了工作效率,解決了勞動(dòng)力短缺帶來的問題,有利于提高移栽作業(yè)的自動(dòng)化水平[1]。
穴盤苗移栽試驗(yàn)臺(tái)用于模擬移栽機(jī)在田間移栽的作業(yè)工況,完成穴盤苗移栽試驗(yàn)要求。苗盤自動(dòng)輸送機(jī)構(gòu)是移栽試驗(yàn)臺(tái)的關(guān)鍵部件,目前移栽裝備中苗盤輸送機(jī)構(gòu)采用的驅(qū)動(dòng)源主要有機(jī)械式、液壓式、氣壓式等。機(jī)械式驅(qū)動(dòng)主要采用平面四桿、曲柄滑塊、圓柱凸輪、棘輪、不完全齒輪及槽輪等機(jī)構(gòu)進(jìn)行驅(qū)動(dòng)及定位[2-3],具有結(jié)構(gòu)簡單、制作方便、傳遞動(dòng)力大等優(yōu)點(diǎn),但大多存在沖擊大、運(yùn)動(dòng)精度低、傳動(dòng)比固定及調(diào)整不方便等問題。液壓式驅(qū)動(dòng)適用于高速重載的系統(tǒng),但液壓傳動(dòng)效率偏低、傳動(dòng)比不穩(wěn)定,且液壓油泄漏容易對(duì)環(huán)境產(chǎn)生污染,維護(hù)、保養(yǎng)不方便。氣壓式驅(qū)動(dòng)具有結(jié)構(gòu)簡單、成本低、速度快、泄漏影響小及維修簡單等優(yōu)點(diǎn)[4],但其工作時(shí)沖擊較嚴(yán)重,定位精度低。伺服電機(jī)驅(qū)動(dòng)具有響應(yīng)速度快、驅(qū)動(dòng)力大、信號(hào)處理方便等優(yōu)點(diǎn),可采用多種靈活的控制方式。它可以滿足自動(dòng)移栽過程中苗盤輸送平穩(wěn)、響應(yīng)速度快、定位準(zhǔn)確及調(diào)整方便的要求。
本文提出了一種以伺服電機(jī)為動(dòng)力源、光電編碼器為測(cè)量傳感器、dsPIC30F5015高性能微控制器為核心的新型苗盤自動(dòng)輸送機(jī)構(gòu)控制系統(tǒng),以實(shí)現(xiàn)苗盤的自動(dòng)輸送和精確定位,可在一定程度上提高移栽機(jī)的自動(dòng)化水平。
苗盤自動(dòng)輸送機(jī)構(gòu)主要由機(jī)械裝置和控制系統(tǒng)兩部分組成,機(jī)械裝置主要由同步帶、同步帶輪、苗盤托板、苗盤驅(qū)動(dòng)桿、支架、軸等部分組成,如圖1所示。伺服電機(jī)從同步帶輪主動(dòng)軸輸入動(dòng)力,通過固定在同步帶表面的支架與驅(qū)動(dòng)桿驅(qū)動(dòng)苗盤直線運(yùn)動(dòng),完成苗盤的平穩(wěn)輸送與精確定位。
圖1 苗盤輸送機(jī)械裝置Fig.1 Seedling tray delivery mechanism
控制系統(tǒng)主要作用是根據(jù)移栽作業(yè)要求,利用計(jì)算機(jī)及dsPIC30F5015給出控制信號(hào),對(duì)伺服電機(jī)的速度和位置進(jìn)行有效地跟蹤與控制??刂葡到y(tǒng)總體結(jié)構(gòu)如圖2所示。其中,上位機(jī)主要包括計(jì)算機(jī)、參數(shù)設(shè)定及通信等模塊,主要實(shí)現(xiàn)對(duì)苗盤輸送過程的速度和位置等參數(shù)的設(shè)定及速度和位置反饋量的采集及顯示;下位機(jī)主要包括dsPIC30F5015、伺服電機(jī)驅(qū)動(dòng)及數(shù)據(jù)采集等模塊[5],通過串口通信模塊可以與上位機(jī)實(shí)現(xiàn)雙向通信。
系統(tǒng)工作過程中,在上位機(jī)LabVIEW程序中設(shè)置速度、位置等參數(shù),通過串口輸出設(shè)定值,然后通過dsPIC30F5015將位置及轉(zhuǎn)速設(shè)定值轉(zhuǎn)化為對(duì)應(yīng)的PWM波,伺服驅(qū)動(dòng)器將位置設(shè)定值與實(shí)際位置值進(jìn)行比較、運(yùn)算后,去控制伺服電機(jī);同時(shí),機(jī)械裝置上的位置傳感器將實(shí)際位置反饋到dsPIC30F5015中,并上傳到LabVIEW中進(jìn)行顯示、存儲(chǔ)。
圖2 控制系統(tǒng)總體結(jié)構(gòu)Fig.2 The overall structure of control system
硬件系統(tǒng)采用主從結(jié)構(gòu),主機(jī)是高性能的計(jì)算機(jī),從機(jī)采用具有高速數(shù)據(jù)處理能力的微控制器,兩者之間通過串行總線進(jìn)行通信,主要由dsPIC30F5015、伺服電機(jī)驅(qū)動(dòng)器、伺服電機(jī)、光電編碼器及計(jì)算機(jī)等部分組成。
采用dsPIC30F5015作為下位機(jī)的控制器,它是Microchip公司的一款16位微控制器,內(nèi)核含有DSP數(shù)據(jù)處理引擎,大大提高了內(nèi)核的運(yùn)算和數(shù)據(jù)吞吐能力,同時(shí)具有豐富的外圍設(shè)備,指令執(zhí)行速度達(dá)30MIPS,具有很強(qiáng)的高速計(jì)算和快速中斷處理能力,能夠滿足電機(jī)高速控制的要求[6-9]。
dsPIC30F5015中的MCPWM(Motor Control PWM)是專門用于電機(jī)控制的模塊,它簡化了PWM波生成的軟件和硬件,具有8個(gè)PWM I/O引腳,4個(gè)占空比發(fā)生器,每個(gè)PWM的輸出引腳都可以被單獨(dú)使用,為電機(jī)控制等應(yīng)用提供了很大的靈活性。
dsPIC30F5015帶有正交編碼器接口QEI(Quadrature Encoder Interface), QEI模塊有與位置編碼器三相對(duì)應(yīng)的接口,根據(jù)QEI模塊的功能,結(jié)合芯片自帶的PWM模塊,可以實(shí)現(xiàn)對(duì)伺服電機(jī)位置與速度的精確控制。
驅(qū)動(dòng)裝置是實(shí)現(xiàn)系統(tǒng)主要功能的重要環(huán)節(jié),采用伺服電機(jī)進(jìn)行苗盤輸送與精確定位,與傳統(tǒng)的機(jī)械或氣動(dòng)定位方式相比,具有輸送平穩(wěn)、定位精度高等優(yōu)點(diǎn)。本設(shè)計(jì)中采用日本安川(YASKAWA)公司的SGMJV-02ADA21伺服電機(jī)和SGDV-1R6A01A伺服驅(qū)動(dòng)器來提供動(dòng)力。安川SGMJV-02ADA21伺服電機(jī)的主要參數(shù)為:額定功率200W,額定轉(zhuǎn)矩0.637N·m,額定電壓200V,額定電流1.6A,轉(zhuǎn)速范圍0~6 000r/min,額定轉(zhuǎn)速3 000r/min。
移栽作業(yè)時(shí),苗盤輸送機(jī)構(gòu)一般工作在低速、高扭矩的工況下,需要在電機(jī)與同步帶主動(dòng)軸之間增加減速器來降速增扭。綜合考慮運(yùn)行速度、響應(yīng)時(shí)間和穩(wěn)定性等多個(gè)因素,選擇傳動(dòng)比為64的PLE-60減速器。根據(jù)同步帶輪的尺寸大小,當(dāng)伺服電機(jī)在600~3 000r/min范圍內(nèi)運(yùn)行時(shí),苗盤直線運(yùn)動(dòng)速度為45~225mm/s。苗盤輸送可調(diào)節(jié)范圍寬,能夠滿足自動(dòng)移栽機(jī)在不同工況下的作業(yè)要求。
為提高苗盤位置的控制精度,在同步帶從動(dòng)軸端安裝光電編碼器,用于向dsPIC30F5015發(fā)送苗盤當(dāng)前的位置數(shù)據(jù)。綜合考慮控制精度、輸送速度及成本等因素,選用歐姆龍E6B2-CWZ1D增量式編碼器作為系統(tǒng)的位置傳感器,分辨率為1 000脈沖/轉(zhuǎn),線性驅(qū)動(dòng)輸出,5~24V電源輸入。
安川伺服系統(tǒng)的主電路連接如圖3所示。其中,電源通斷由空氣開關(guān)1QF控制,電路的啟停和自鎖功能由電磁接觸器1KM控制,指示燈PL由繼電器1RY控制,用來顯示報(bào)警信號(hào)。
3.1dsPIC30F5015軟件設(shè)計(jì)
采用模塊化程序設(shè)計(jì)思想,在MAPLAB IDE開發(fā)環(huán)境下運(yùn)用C語言開發(fā)下位機(jī)軟件,主要包括主程序、正交編碼器、電機(jī)控制及串口通信等模塊,各模塊以子程序形式出現(xiàn)。
圖3 主電路連接圖Fig.3 The chart of main circuit connection
主程序?qū)崿F(xiàn)對(duì)微控制器的初始化和子程序調(diào)用[10],在系統(tǒng)上電或復(fù)位后,主程序開始執(zhí)行,首先對(duì)各部分進(jìn)行初始化,包括I/O口、重置各變量初始值、時(shí)鐘的初始化和配置,UART初始化等,主程序流程如圖4所示。
圖4 主程序流程圖Fig.4 The flow chart of main program
定時(shí)器中斷程序主要對(duì)實(shí)時(shí)位置、速度信號(hào)進(jìn)行采集轉(zhuǎn)換,并由串口發(fā)送到上位機(jī)。串口中斷主要發(fā)送、接收數(shù)據(jù),并進(jìn)行分解轉(zhuǎn)換。PWM中斷用于已發(fā)送脈沖數(shù)的采集,內(nèi)部相關(guān)數(shù)據(jù)的處理等。正交編碼器中斷主要實(shí)現(xiàn)位置的采集比較和方向的判斷等。
3.1.1 串口通信模塊
dsPIC30F5015通過UART(通用異步傳輸模式)與上位機(jī)進(jìn)行通信。dsPIC30F5015的串口模塊提供了RS-232C數(shù)據(jù)終端設(shè)備接口,上位機(jī)可以和任何使用RS-232C接口的串行設(shè)備進(jìn)行通信。上位機(jī)將傳輸給下位機(jī)的位置、速度和方向3個(gè)量組合為一個(gè)控制指令字符串:“a_xxxx_yyyy_zz_f”。其中,“a”為指令識(shí)別標(biāo)志;“_”為空格;“xxxx”為1~5 000的任意整數(shù);“yyyy”為40~1 000以10為間隔的任意整數(shù);zz為步進(jìn)電機(jī)位置;“f”為0或1。
串口接收到的字符串無法直接用于PWM的生成,要通過判斷指令中的空格和字符串結(jié)束標(biāo)志將其分解為位置、速度和方向3個(gè)數(shù)值,同時(shí)將其轉(zhuǎn)化為脈沖數(shù)、周期和方向3個(gè)可直接用于PWM波形生成模塊的數(shù)據(jù)。
3.1.2 PWM波形生成
PWM波形生成模塊主要是通過訪問MCPWM模塊中自帶的時(shí)基定時(shí)器PTMR、時(shí)基周期寄存器PTPER、PWM信號(hào)發(fā)生器等來實(shí)現(xiàn)。系統(tǒng)采用MCPWM輸出模式,PWM4/3/2/1引腳處于獨(dú)立輸出狀態(tài),PWM中斷優(yōu)先級(jí)為6,PWM時(shí)基1∶1分頻后輸出[11]。PWM周期的計(jì)算公式為
式中TCY—系統(tǒng)時(shí)鐘周期;
PTPER—PWM時(shí)基周期。
3.1.3 位置檢測(cè)與反饋
正交編碼器接口模塊用于檢測(cè)伺服電機(jī)的位置和速度,選擇對(duì)輸入信號(hào)進(jìn)行4倍頻,提高分辨率,并通過與MAXCNT寄存器匹配復(fù)位。把編碼器的脈沖存入到芯片的計(jì)數(shù)器POSCNT,根據(jù)轉(zhuǎn)向進(jìn)行增或減計(jì)數(shù)。每個(gè)PWM周期對(duì)光電編碼器采樣一次,從POSCNT寄存器中讀取采樣脈沖數(shù),將前后2次采樣脈沖數(shù)的差作為本次PWM周期的脈沖增量,即苗盤輸送機(jī)構(gòu)機(jī)械轉(zhuǎn)角增量[6],根據(jù)機(jī)械裝置尺寸參數(shù)、減速比等即可計(jì)算出苗盤的直線位移。
LabVIEW是美國國家儀器公司(National Instruments)的一種虛擬儀器開發(fā)環(huán)境,使用圖形化編程語言編寫程序,大大減少了使用 C#、Java 等編程語言開發(fā)系統(tǒng)的時(shí)間[12]。LabVIEW集成了支持GPIB、VXI、RS-232和RS-485等協(xié)議的硬件及數(shù)據(jù)采集卡的全部功能,還內(nèi)置了豐富的擴(kuò)展函數(shù)庫,可以方便地建立自己的虛擬儀器[13]。上位機(jī)軟件要實(shí)現(xiàn)的主要功能是串口通信、電機(jī)控制指令的發(fā)送和反饋量的實(shí)時(shí)顯示等,主要包括串口通信、信息采集及發(fā)送、信息接收和顯示等模塊。
采用LabVIEW自帶的NI-VISA接口函數(shù)來實(shí)現(xiàn)上位機(jī)與dsPIC30F5015的串口通信,主要包括初始化端口,設(shè)定端口號(hào)、波特率和奇偶校驗(yàn)位等信息,并使得通信參數(shù)與下位機(jī)中保持一致。通訊子程序所圖5所示。
圖5 串口通信子程序Fig.5 The program of serial port communication
信息采集及發(fā)送模塊主要采集速度、位置和方向等數(shù)據(jù),將其編碼成“a_xxxx_yyyy_zz_f”格式經(jīng)串口發(fā)送。為了便于參數(shù)的設(shè)定和調(diào)整,程序中還進(jìn)行了輸入量的單位轉(zhuǎn)換和同步顯示,子程序如圖6所示。信息接收和顯示模塊主要進(jìn)行數(shù)據(jù)幀的接收、解碼和顯示,子程序如圖7所示。
圖6 信息采集及發(fā)送子程序Fig.6 The program of information collection and transmission
圖7 信息接收和顯示子程序Fig.7 The program of information receiving and displaying
根據(jù)控制系統(tǒng)的功能需求,將上位機(jī)前面板分為串口通信參數(shù)設(shè)置,位置、速度和方向等信息實(shí)時(shí)顯示,電機(jī)控制等部分顯示界面采用圖形與數(shù)字結(jié)合,兼顧形象化和準(zhǔn)確性。前面板如圖8所示。
圖8 LabVIEW前面板Fig.8 LabVIEW front panel
基于本文設(shè)計(jì)的控制系統(tǒng)中進(jìn)行了位置控制性能試驗(yàn),采用72(6×12)穴孔的苗盤,外形尺寸為540mm×280mm×45mm,穴孔間距為42mm。根據(jù)苗盤輸送作業(yè)的要求,將苗盤穴孔間距的整數(shù)倍42、126、504mm分別作為苗盤輸送的試驗(yàn)距離。每個(gè)輸送距離測(cè)量5次并將平均值作為測(cè)量結(jié)果,如表1所示。
表1 定位精度測(cè)量Table 1 Measuring result of positional accuracy
由表1可以看出:苗盤輸送機(jī)構(gòu)定位誤差絕對(duì)值小于0.32mm,相對(duì)誤差小于0.5%,具有良好的位置控制精度。
從苗盤自動(dòng)輸送機(jī)構(gòu)控制系統(tǒng)的實(shí)際功能和性能需求出發(fā),完成了基于dsPIC30F5015和 LabVIEW的苗盤自動(dòng)輸送控制系統(tǒng)的設(shè)計(jì)。該系統(tǒng)實(shí)現(xiàn)了苗盤輸送位置等信息的實(shí)時(shí)顯示、控制、上位機(jī)和下位機(jī)的數(shù)據(jù)接收與顯示等功能。試驗(yàn)過程中,啟動(dòng)、運(yùn)行良好,反應(yīng)速度快,苗盤定位誤差小于0.32mm,相對(duì)誤差在0.5%范圍之內(nèi),能夠滿足苗盤自動(dòng)輸送和精確定位的實(shí)際需求,為研發(fā)具有自主知識(shí)產(chǎn)權(quán)的農(nóng)業(yè)機(jī)器人及其控制系統(tǒng)奠定了基礎(chǔ)。