, ,
(浙江工業(yè)大學(xué) 信息工程學(xué)院, 杭州 310023)
針織手套作為生活的必需品和易耗品,其需求日益增長,傳統(tǒng)的人工勞作方式已經(jīng)不能滿足市場的發(fā)展需求,所以,近年來全自動(dòng)手套機(jī)得到了廣泛應(yīng)用[1]。目前,市場大部分全自動(dòng)手套機(jī)基本采用大功率直流電機(jī)和機(jī)械齒輪傳動(dòng)結(jié)構(gòu)進(jìn)行設(shè)計(jì)[2]。該類手套機(jī)存在手套編織效率低下、設(shè)備安裝復(fù)雜、機(jī)械故障率高、軟件系統(tǒng)功能匱乏等諸多缺點(diǎn),從而導(dǎo)致生產(chǎn)周期長、維護(hù)困難、手套花型單一、機(jī)器壽命短等問題。一定程度上制約了全自動(dòng)手套機(jī)的發(fā)展。因此,采用多個(gè)電機(jī)單元代替齒輪驅(qū)動(dòng)結(jié)構(gòu)的新型智能手套機(jī)成為新的發(fā)展方向。然而,智能手套機(jī)的運(yùn)動(dòng)控制系統(tǒng)是決定其性能的關(guān)鍵,也是設(shè)計(jì)開發(fā)過程中的一大技術(shù)難點(diǎn)。
智能手套機(jī)運(yùn)動(dòng)控制系統(tǒng)仍處于初步發(fā)展階段,汪木蘭等人開發(fā)了基于PSoC和FPGA的手套機(jī)控制系統(tǒng)[3],該系統(tǒng)結(jié)構(gòu)復(fù)雜,片上資源有限且功能簡單。詹建潮等人開發(fā)了基于Bitbus總線的手套機(jī)網(wǎng)絡(luò)化控制器[4],但其網(wǎng)絡(luò)功能局限于有線連接的數(shù)據(jù)傳輸,無法實(shí)現(xiàn)遠(yuǎn)程監(jiān)測,在線升級(jí)等功能。郭得權(quán)等人設(shè)計(jì)了基于ARM的手套機(jī)控制器[5],但其主要針對(duì)傳統(tǒng)齒輪傳動(dòng)結(jié)構(gòu)的手套機(jī)設(shè)備。綜上所述,性能好、效率高、結(jié)構(gòu)簡潔、功能全面的智能手套機(jī)控制系統(tǒng)有待進(jìn)一步研發(fā)。另一方面,智能手套機(jī)主軸機(jī)頭由大功率伺服電機(jī)控制,加工生產(chǎn)過程中一直處于高速往返運(yùn)動(dòng)狀態(tài),其運(yùn)行速度和位置精度決定了手套的生產(chǎn)效率和質(zhì)量。如果采用點(diǎn)對(duì)點(diǎn)控制方式,機(jī)頭在往返運(yùn)動(dòng)時(shí)會(huì)產(chǎn)生明顯停頓現(xiàn)象[6-7],影響生產(chǎn)效率。為此,可根據(jù)沖量定律[8],在機(jī)頭運(yùn)行到距離目標(biāo)位置小于給定差值時(shí),下發(fā)反向運(yùn)轉(zhuǎn)指令,電機(jī)利用其慣性沖力運(yùn)行一段距離后,立即反轉(zhuǎn),此方法可解決停頓現(xiàn)象,但是會(huì)帶來一定的位置誤差,并且誤差會(huì)隨機(jī)頭運(yùn)行速度的變化而改變,影響生產(chǎn)質(zhì)量。因此如何規(guī)劃主軸機(jī)頭的位置控制也是主要問題之一。
本文基于STM32F407微處理器,設(shè)計(jì)開發(fā)了高性能智能手套機(jī)控制系統(tǒng),在實(shí)現(xiàn)手套編織運(yùn)動(dòng)控制的前提下,還開發(fā)有網(wǎng)絡(luò)監(jiān)測、遠(yuǎn)程更新、全中文示教編程等功能。同時(shí),針對(duì)主軸機(jī)頭位置控制問題,設(shè)計(jì)了基于模糊邏輯的位置補(bǔ)償控制算法,在保證機(jī)頭高速運(yùn)轉(zhuǎn)時(shí)不會(huì)產(chǎn)生停頓現(xiàn)象的前提下,提高了其重復(fù)定位精度。下文中,將從系統(tǒng)硬件原理設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)兩方面進(jìn)行詳細(xì)說明。
智能手套機(jī)控制系統(tǒng)整體結(jié)構(gòu)如圖1所示,系統(tǒng)主要由控制器模塊、人機(jī)交互模塊、電機(jī)驅(qū)動(dòng)模塊和無線通信模塊組成。
圖1 系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)
其中控制器模塊以意法半導(dǎo)體公司生產(chǎn)的STM32F407ZGT6芯片作為控制核心,該芯片是一款基于Cortex-M4 ARM內(nèi)核的32位微處理器,其主要優(yōu)點(diǎn)是高性能、低功耗、低成本,且內(nèi)部集成了192 KB SRAM 和1 MB Flash,其工作頻率可以達(dá)到168 MHz,同時(shí)芯片內(nèi)部含有豐富的ADC、PWM、USART、USB接口等片上資源,可以滿足本系統(tǒng)的需求。此外,芯片搭載多個(gè)定時(shí)器,包括基本定時(shí)器、高級(jí)定時(shí)器和通用定時(shí)器,可適用于需要多路PWM脈沖輸出和定時(shí)功能的運(yùn)動(dòng)控制系統(tǒng)開發(fā)。人機(jī)交互模塊主要采用北京迪文公司的DGUS串口觸摸屏,其界面開發(fā)簡單,且內(nèi)部具備大容量指令緩存區(qū),能實(shí)現(xiàn)無等待、連續(xù)多條指令的發(fā)送,可大大降低二次開發(fā)程序代碼量,同時(shí)交互模塊還集成了暫停按鈕、啟動(dòng)按鈕、點(diǎn)動(dòng)按鈕,用于實(shí)現(xiàn)對(duì)手套機(jī)的即時(shí)控制。電機(jī)驅(qū)動(dòng)模塊由智能伺服驅(qū)動(dòng)器和步進(jìn)電機(jī)驅(qū)動(dòng)器組成,該驅(qū)動(dòng)結(jié)構(gòu)成本低、占用空間小,可使設(shè)備輕量化。無線通信模塊采用ESP8266串口WIFI模塊,該模塊能夠?qū)崿F(xiàn)設(shè)備與互聯(lián)網(wǎng)或局域網(wǎng)之間的無線通信,可對(duì)生產(chǎn)車間內(nèi)手套機(jī)的運(yùn)行與生產(chǎn)狀況進(jìn)行遠(yuǎn)程監(jiān)控,實(shí)現(xiàn)現(xiàn)場設(shè)備控制與企業(yè)管理信息系統(tǒng)的集成,達(dá)到“控管一體化”[9]。
系統(tǒng)伺服電機(jī)驅(qū)動(dòng)器采用杭州日鼎控制技術(shù)有限公司的DHE3205型交流伺服驅(qū)動(dòng)器,采用CAN總線控制模式,該總線是一種國際標(biāo)準(zhǔn)現(xiàn)場總線,具有通信速率高、易實(shí)現(xiàn)、性價(jià)比高等諸多優(yōu)點(diǎn)。系統(tǒng)主控芯片中CAN信號(hào)的接收引腳和發(fā)送引腳經(jīng)過高速光耦6N137連接到TJA1050總線收發(fā)器的TXD和RXD端,實(shí)現(xiàn)雙線串行通訊,其中光耦對(duì)總線節(jié)點(diǎn)起到電氣隔離作用,避免噪聲干擾。
系統(tǒng)采用9路步進(jìn)電機(jī)分別用于控制機(jī)器的滾筒、勾刀、叉刀等裝置的動(dòng)作,其控制方式均采用PWM脈沖驅(qū)動(dòng),由于STM32芯片I/O端口驅(qū)動(dòng)能力較低,因此采用74HC245芯片對(duì)主控芯片產(chǎn)生的PWM脈沖驅(qū)動(dòng)信號(hào)進(jìn)行放大,該芯片是一款兼容TTL的高速CMOS總線收發(fā)器,具備一定的功率放大功能,對(duì)主芯片也能起到一定的保護(hù)作用[10]。
無線通信模塊選用樂鑫公司出品的ESP8266串口WIFI芯片,該芯片內(nèi)置超低功耗32位RISC處理器,可將大部分的處理能力留給應(yīng)用的編程和開發(fā),是一款性價(jià)比較高的UART-WIFI模塊[11]。該模塊支持STA模式(客戶端模式)和AP模式(路由器模式),可使設(shè)備連接到無線網(wǎng)絡(luò)上,實(shí)現(xiàn)與互聯(lián)網(wǎng)或局域網(wǎng)的通信。本系統(tǒng)在控制器硬件設(shè)計(jì)中將WIFI模塊中的輸入和輸出引腳分別連接至主芯片USART1的TXD和RXD端,實(shí)現(xiàn)主芯片與該模塊之間的串口通信。
運(yùn)動(dòng)控制系統(tǒng)的電源輸入為24 V,采用開關(guān)電源模塊供給,系統(tǒng)內(nèi)部5 V及3.3 V電源分別由LM2596和SPX117-3.3降壓芯片進(jìn)行轉(zhuǎn)換。此外,為防止電路出現(xiàn)短路而損壞控制器元件,電源輸入處還加裝了保險(xiǎn)絲對(duì)運(yùn)動(dòng)控制器進(jìn)行過載保護(hù)。
運(yùn)動(dòng)控制系統(tǒng)軟件開發(fā)基于ARM公司推出的嵌入式軟件開發(fā)工具RealView MDK。它提提供了對(duì)硬件設(shè)備的調(diào)試功能和對(duì)軟件的仿真功能,包含了許多經(jīng)典開發(fā)案例的模板和固件實(shí)例,同時(shí)還支持多種調(diào)試接口(如UART、JTAG、JLINK等),可大大減小軟件開發(fā)難度,縮短開發(fā)周期[12]。
系統(tǒng)軟件功能如圖2所示,其中主要包括運(yùn)動(dòng)控制程序設(shè)計(jì)、人機(jī)交互程序設(shè)計(jì)、WIFI遠(yuǎn)程監(jiān)測程序設(shè)計(jì)和U盤管理程序設(shè)計(jì)。
圖2 系統(tǒng)軟件功能框圖
系統(tǒng)步進(jìn)電機(jī)采用PWM驅(qū)動(dòng)方式,由STM32定時(shí)器模塊產(chǎn)生PWM脈沖,下發(fā)至步進(jìn)電機(jī)驅(qū)動(dòng)器。其中電機(jī)的轉(zhuǎn)動(dòng)距離由驅(qū)動(dòng)器接收到的脈沖數(shù)目決定,電機(jī)的轉(zhuǎn)速控制在定時(shí)器中斷函數(shù)中進(jìn)行處理,通過不斷更新定時(shí)器重裝載值的大小來更改脈沖發(fā)出的頻率,從而達(dá)到控制電機(jī)轉(zhuǎn)速的目的[13]。
同時(shí),為了測試及維護(hù)方便,除了機(jī)器的普通運(yùn)行模式之外還開發(fā)了點(diǎn)動(dòng)運(yùn)行模式和手搖運(yùn)行模式。(1)點(diǎn)動(dòng)運(yùn)行模式:主程序查詢?nèi)藱C(jī)交互模塊的點(diǎn)動(dòng)按鈕是否按下,若檢測到信號(hào)則機(jī)器以低速運(yùn)行,一旦失去信號(hào)則立即停止運(yùn)行,機(jī)器在點(diǎn)動(dòng)運(yùn)行期間也按照設(shè)置的手套花型步驟進(jìn)行動(dòng)作,和普通模式下的動(dòng)作完全相同。(2)手搖運(yùn)行模式:主軸機(jī)頭的運(yùn)行通過人工搖動(dòng)手柄進(jìn)行控制,此時(shí)手套機(jī)的編織動(dòng)作需依靠機(jī)頭的實(shí)時(shí)位置進(jìn)行判斷,因此系統(tǒng)采用TIM3的編碼器接口模式,對(duì)編碼器A、B兩相進(jìn)行計(jì)數(shù),計(jì)數(shù)值經(jīng)過換算后可得機(jī)頭的當(dāng)前位置,當(dāng)退出手搖模式后,通過比較進(jìn)入手搖模式前的機(jī)頭位置和此時(shí)編碼器計(jì)算的位置大小來判斷機(jī)頭下一步的運(yùn)動(dòng)方向,防止機(jī)頭撞針從而損壞機(jī)器。
示教編程是運(yùn)動(dòng)控制系統(tǒng)中關(guān)鍵的功能之一,便捷、人性化的示教和編程能大大提高設(shè)備調(diào)試和生產(chǎn)效率。因此,本系統(tǒng)開發(fā)了基于全中文的示教編程功能,其主界面如圖3所示。界面提供了對(duì)手套小拇指、無名指、中指等部位的編織命令設(shè)置功能,命令主要分為控制機(jī)頭動(dòng)作的主軸命令和控制電磁鐵、勾刀、叉刀等裝置動(dòng)作的副軸命令。手指每個(gè)編織部位的命令編輯格式必須以“程序開始”作為命令的起始和“程序結(jié)束”作為命令的結(jié)束,其余主副軸的命令在選中后還需設(shè)置指定的參數(shù),并且每個(gè)部位的動(dòng)作命令在編輯完成后都必須經(jīng)過保存才可進(jìn)行下一部位的指令設(shè)計(jì)。當(dāng)所有手套部位編輯完成后,編程界面將設(shè)計(jì)好的手套花型文件通過串口發(fā)送給控制器,并保存于FLASH存儲(chǔ)模塊中或拷貝入U(xiǎn)盤供其他機(jī)器使用,可實(shí)現(xiàn)對(duì)魔術(shù)手套、觸摸屏手套、半指手套等各種特殊類型手套進(jìn)行編程示教。
圖3 全中文示教界面
沖量定律表明,物體機(jī)械運(yùn)動(dòng)狀態(tài)的改變是力對(duì)物體作用一段時(shí)間后的積累效應(yīng)。本系統(tǒng)采用沖量定理對(duì)主軸機(jī)頭進(jìn)行位置控制,為提高重復(fù)定位精度,采用模糊邏輯控制方法對(duì)位置進(jìn)行補(bǔ)償。首先,設(shè)定點(diǎn)a、b為電機(jī)反向運(yùn)行指令的下發(fā)位置點(diǎn),如圖4所示,定義該位置點(diǎn)與機(jī)頭的目標(biāo)位置之間的距離為差值pv。當(dāng)機(jī)頭運(yùn)行至距離目標(biāo)位置小于等于pv時(shí),則下發(fā)反向運(yùn)行指令,機(jī)頭利用慣性沖力向目標(biāo)位置繼續(xù)運(yùn)行至速度減為零,隨后立即反向運(yùn)行。此方法可杜絕點(diǎn)對(duì)點(diǎn)控制中的停頓問題,但會(huì)產(chǎn)生一定的位置誤差,并且由于機(jī)頭在手套各部位的編織運(yùn)行速度不同,位置誤差在相同的pv下會(huì)隨著速度的變化而改變,因此本文設(shè)計(jì)了模糊邏輯控制策略,根據(jù)伺服電機(jī)的運(yùn)行速度來規(guī)劃機(jī)頭當(dāng)次運(yùn)動(dòng)中的pv值,從而減小位置誤差。
圖4 機(jī)頭位置差示意圖
模糊控制系統(tǒng)的核心是模糊控制器。本系統(tǒng)所設(shè)計(jì)的模糊控制器采用開環(huán)結(jié)構(gòu),如圖5所示。首先,通過論域因子kn調(diào)整伺服電機(jī)當(dāng)前轉(zhuǎn)速n,并對(duì)調(diào)整后的結(jié)果進(jìn)行模糊化處理。隨后,將生成的模糊語言N依據(jù)模糊規(guī)則進(jìn)行模糊推理,規(guī)則如表1所示。最后,對(duì)推理結(jié)果P進(jìn)行去模糊化和論域調(diào)整,得出機(jī)頭在該速度下的差值pv。
圖5 模糊控制程序流程
NVSSMBVBPVSSMBVB
控制器中輸入?yún)?shù)n和輸出參數(shù)pv依據(jù)先驗(yàn)知識(shí)設(shè)置統(tǒng)一的量化論域:{0,0.25,0.5,0.75,1}和模糊語言:{VS,S,M,B,VB},對(duì)應(yīng)表示的含義為“非常小”、“小”,“中等”、“大”、“非常大”,設(shè)置隸屬函數(shù)如圖6所示。
圖6 輸入輸出隸屬度函數(shù)
智能手套機(jī)運(yùn)動(dòng)控制主板的控制器模塊、驅(qū)動(dòng)模塊以及電源系統(tǒng)安裝在控制箱中。
經(jīng)過現(xiàn)場測試,機(jī)器24小時(shí)可分別編織7針類型的標(biāo)準(zhǔn)勞保手套420雙,編織13針類型210雙,編織15針類型180雙,產(chǎn)量是傳統(tǒng)手套機(jī)的3倍。同時(shí),機(jī)器監(jiān)管從原來的每人17臺(tái)提高到每人30臺(tái),可較大程度上降低人員配置。此外,機(jī)器整體的重量從傳統(tǒng)的260公斤降低至220公斤,外形尺寸也明顯縮小,一定程度上減輕了車間機(jī)修工的機(jī)械裝配壓力。
系統(tǒng)采用的模糊位置精度補(bǔ)償方法效果如圖7所示。實(shí)驗(yàn)對(duì)比了在不同運(yùn)行速度下固定差值(pv=20 mm)和模糊控制動(dòng)態(tài)差值(pv最大值為20 mm)兩種方法下的機(jī)頭運(yùn)動(dòng)位置誤差結(jié)果,可知當(dāng)系統(tǒng)設(shè)置電機(jī)運(yùn)行速度超過840 r/min時(shí),由于電機(jī)高速運(yùn)動(dòng)產(chǎn)生的累積沖量較大,控制器下發(fā)反向運(yùn)行指令后,機(jī)頭利用慣性沖力移動(dòng)的距離也較大,使得此時(shí)兩種方法下的位置誤差較小且相近,穩(wěn)定在4.9 mm左右。當(dāng)設(shè)置的電機(jī)運(yùn)行速度低于840 r/min時(shí),機(jī)頭累積沖量隨著速度的減小而減小,使得其依靠慣性沖力移動(dòng)的距離也變小,此時(shí)系統(tǒng)采用的固定pv值方法產(chǎn)生的位置誤差將會(huì)隨速度的減小而變大,而采用模糊控制的動(dòng)態(tài)pv值方法位置誤差較小且受速度變化的影響不大,具有較好的控制效果。
圖7 位置誤差對(duì)比圖
本文基于STM32F407設(shè)計(jì)了一款智能手套機(jī)控制系統(tǒng),可實(shí)現(xiàn)手套編織運(yùn)動(dòng)控制、網(wǎng)絡(luò)監(jiān)測、遠(yuǎn)程更新、全中文示教編程等功能,文章對(duì)系統(tǒng)的主要硬件模塊設(shè)計(jì)和
軟件設(shè)計(jì)開發(fā)進(jìn)行了詳細(xì)介紹。針對(duì)主軸機(jī)頭高速往返運(yùn)行的效率問題,利用沖量定理規(guī)劃了位置控制策略,并設(shè)計(jì)了模糊位置補(bǔ)償算法,在不同運(yùn)行速度下保證其重復(fù)定位精度。現(xiàn)場測試結(jié)果表明,本手套機(jī)運(yùn)動(dòng)控制系統(tǒng)能夠高效地完成手套編織工作,提高了手套機(jī)的生產(chǎn)效率和產(chǎn)品質(zhì)量,為智能手套機(jī)運(yùn)動(dòng)控制系統(tǒng)的開發(fā)應(yīng)用提供了較好的參考價(jià)值。