朱傳雨, 吳健榮, 韓長(zhǎng)宇, 李術(shù)鴻
(中廣核檢測(cè)技術(shù)有限公司,江蘇 蘇州 215004)
在核電無(wú)損檢測(cè)(NDT)中,為了實(shí)現(xiàn)對(duì)被檢工件(板材、棒材、管道和容器等)母材及焊縫兩側(cè)區(qū)域的全覆蓋檢查,常需要對(duì)不同被檢工件開(kāi)發(fā)專用的自動(dòng)化檢查裝備[1]。為了能進(jìn)一步降低因電機(jī)運(yùn)動(dòng)對(duì)NDT用超聲、渦流信號(hào)的干擾,此類裝備的研制中大量使用小型直流電機(jī)。為此,亟需開(kāi)發(fā)一種通用型、低成本的小型直流電機(jī)運(yùn)動(dòng)控制模塊,以滿足諸多不同工件自動(dòng)化檢查的現(xiàn)實(shí)需求。
對(duì)直流電機(jī)的控制,應(yīng)用最廣泛的是脈寬調(diào)制(PWM)控制,其優(yōu)點(diǎn)是響應(yīng)快、效率高、抗干擾能力強(qiáng)[2-3]。本文在研究經(jīng)典PID算法和一系列改進(jìn)型PID算法的基礎(chǔ)上,對(duì)速度控制采用增量式PID算法,對(duì)位置控制采用積分分離PID算法,設(shè)計(jì)了一種以STM32為主控制器的低成本、小型直流電機(jī)運(yùn)動(dòng)控制器[4-6]。同時(shí),為了增強(qiáng)該控制器的通用性和實(shí)用性,利用STM32外設(shè)豐富的特點(diǎn),設(shè)計(jì)預(yù)留了CAN總線接口,以便進(jìn)一步實(shí)現(xiàn)多軸組合運(yùn)動(dòng)。
圖1為控制器硬件框圖,控制器由STM32主控制單元、電機(jī)驅(qū)動(dòng)、編碼器信號(hào)處理、電流檢測(cè)以及通信電路等組成。
圖1 控制器硬件框圖
STM32是基于Cortex-M3內(nèi)核的32位ARM處理器,具有價(jià)格便宜、功耗低、性能優(yōu)越等優(yōu)點(diǎn)。用STM32產(chǎn)生PWM信號(hào)控制驅(qū)動(dòng)電路中場(chǎng)效應(yīng)功率管的導(dǎo)通/關(guān)斷,實(shí)現(xiàn)對(duì)電機(jī)正反轉(zhuǎn)、起停的控制[7]。編碼器電路將信號(hào)處理后送入STM32通用定時(shí)器中,該定時(shí)器接口被配置成編碼器模式,由硬件完成位置的捕獲,進(jìn)而可解算出速度。STM32獲得電機(jī)位置、速度反饋后,通過(guò)算法生成控制指令,觸發(fā)定時(shí)器改變PWM占空比,進(jìn)而調(diào)節(jié)輸出,達(dá)到閉環(huán)控制的目的。電流檢測(cè)電路采集電機(jī)運(yùn)動(dòng)的電流信號(hào),送入STM32的模數(shù)轉(zhuǎn)換器(ADC),實(shí)現(xiàn)對(duì)電機(jī)的過(guò)流、過(guò)載保護(hù)。通信電路由UART串口和CAN總線接口電路組成。UART串口用于與上位工控機(jī)的通信;CAN總線接口電路用于控制器間的級(jí)聯(lián)。此外,控制器還包括電源以及電平轉(zhuǎn)換電路。
驅(qū)動(dòng)部分選用電機(jī)驅(qū)動(dòng)專用芯片BTS7960,屬于NovalithIC家族的高功率、半橋驅(qū)動(dòng)芯片,通態(tài)電阻為16 mΩ(7 mΩ+9 mΩ),驅(qū)動(dòng)電流高達(dá)43 A。為了實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn),采用2片該芯片構(gòu)成H全橋驅(qū)動(dòng)電路,如圖2所示。對(duì)應(yīng)的電機(jī)驅(qū)動(dòng)真值表如表1所示。為了有效保護(hù)單片機(jī)管腳免受損壞,電路設(shè)計(jì)時(shí)增加了必要的外圍電路,用隔離緩沖器芯片74HCD244進(jìn)行功率電路和邏輯控制電路的隔離。
圖2 硬件電路設(shè)計(jì)
表1 電機(jī)驅(qū)動(dòng)真值表
編碼器選用光電增量式編碼器,分辨率512線,輸出為相位差90°的正交脈沖信號(hào)A、B。設(shè)計(jì)的接口電路見(jiàn)圖2。其中A、B相信號(hào)PAX、PAB經(jīng)電容濾波、高速光耦TLP2309隔離后,送入STM32定時(shí)器對(duì)應(yīng)接口中,由硬件完成脈沖信號(hào)識(shí)別、計(jì)數(shù)統(tǒng)計(jì),構(gòu)成位置和速度的反饋。
串口UART通信電路設(shè)計(jì)選用經(jīng)典TTL轉(zhuǎn)RS232的串口芯片MAX3232,設(shè)計(jì)電路見(jiàn)圖2。用于模塊間級(jí)聯(lián)的CAN總線電路,選用帶有隔離功能的CAN收發(fā)器芯片CTM1051AM。作為CAN控制器的STM32引出CAN_TX和CAN_RX 2個(gè)引腳與收發(fā)器相連,收發(fā)器使用CAN_H及CAN_L引腳連接到CAN總線網(wǎng)絡(luò)中。
直流電機(jī)選用Maxon RE35系列,額定電壓24 V,額定功率60 W?;谏鲜鲇布ㄟ^(guò)改變PWM占空比對(duì)電機(jī)進(jìn)行開(kāi)環(huán)性能測(cè)試。PWM占空比小于5%(PWM值范圍0~1 800。PWM值小于88時(shí)占空比小于5%)時(shí)處于電機(jī)死區(qū);占空比位于5%~100%范圍內(nèi),占空比增大轉(zhuǎn)速加快,占空比減小轉(zhuǎn)速降低。同時(shí),為了避免電機(jī)的低頻噪聲,PWM工作頻率選為20 kHz。
對(duì)于電機(jī)速度的控制,采用廣泛應(yīng)用的增量式PID算法[8-10]。用控制器STM32實(shí)時(shí)測(cè)量的轉(zhuǎn)速與設(shè)定的轉(zhuǎn)速求差,差值作為PID算法的輸入變量,通過(guò)對(duì)差值進(jìn)行比例系數(shù)KP、積分系數(shù)KI和微分系數(shù)KD的運(yùn)算,計(jì)算出輸出變量的增量。在電機(jī)空載起動(dòng)、設(shè)定轉(zhuǎn)速500 r/min條件下,經(jīng)初步估算和試湊法相結(jié)合進(jìn)行PID參數(shù)整定。KP=1.5,KI=0.08,KD=0時(shí),響應(yīng)曲線如圖3(a)所示(橫軸代表采樣點(diǎn)數(shù),采樣點(diǎn)時(shí)間間隔為400 ms)。經(jīng)測(cè)定,約經(jīng)過(guò)4 s(10個(gè)采樣點(diǎn))電機(jī)轉(zhuǎn)速達(dá)到目標(biāo)設(shè)定值,控制無(wú)超調(diào)、穩(wěn)態(tài)無(wú)靜差。圖3(b)為轉(zhuǎn)速突變的響應(yīng)過(guò)程,給定轉(zhuǎn)速由400 r/min突變到800 r/min時(shí),在控制算法的作用下,控制器也能較快地到達(dá)給定轉(zhuǎn)速且能穩(wěn)定運(yùn)行。
圖3 速度環(huán)PID響應(yīng)過(guò)程
除了上述起動(dòng)、轉(zhuǎn)速突變情況外,抗負(fù)載擾動(dòng)能力也是衡量調(diào)速性能的重要指標(biāo)。在轉(zhuǎn)速穩(wěn)定在630 r/min的條件下,施加負(fù)載擾動(dòng)后的響應(yīng)情況如圖4所示。受負(fù)載擾動(dòng)后系統(tǒng)轉(zhuǎn)速下降,在控制算法作用下,系統(tǒng)快速恢復(fù)至給定轉(zhuǎn)速,有效地抵抗了負(fù)載的擾動(dòng)。
圖4 增量PID算法抗擾動(dòng)響應(yīng)過(guò)程
對(duì)于電機(jī)位置的控制,采用位置式PID算法。設(shè)定目標(biāo)位置為401.92 rad(對(duì)應(yīng)編碼器脈沖數(shù)為401.92×512線×4倍頻/2π=131 072個(gè))條件下,經(jīng)PID參數(shù)整定,KP=1.5,KI=0.1,KD=0.000 5時(shí),響應(yīng)曲線如圖5虛線所示。由圖5可知,最終位置穩(wěn)定在401.80 rad(對(duì)應(yīng)脈沖數(shù)為131 034個(gè),靜態(tài)誤差為-38個(gè)脈沖)。為消除誤差,提高控制精度,引入積分分離PID算法[11-13]。當(dāng)被控量與設(shè)定目標(biāo)位置偏差較大時(shí),取消積分作用,避免由于積分作用使系統(tǒng)穩(wěn)定性降低、超調(diào)量增大;當(dāng)被控量接近給定值時(shí),再引入積分控制,以消除靜差、提高控制精度。對(duì)應(yīng)的響應(yīng)曲線如圖5實(shí)線所示。最終位置穩(wěn)定約在401.92 rad(對(duì)應(yīng)脈沖數(shù)為131 071個(gè),靜態(tài)誤差-1個(gè)脈沖),控制誤差有了較大的改善。同時(shí)對(duì)PWM進(jìn)行輸出限幅,避免引起較大的超調(diào)、振蕩。
圖5 位置式PID和積分分離PID位置控制
為了實(shí)現(xiàn)對(duì)管道外壁面焊縫區(qū)域的自動(dòng)化檢查,設(shè)計(jì)開(kāi)發(fā)的檢查裝備如圖6所示,主要包括機(jī)械掃查裝置和電氣控制箱2部分。圖6(a)為機(jī)械掃查裝置,其主體結(jié)構(gòu)由圓周運(yùn)動(dòng)的2個(gè)半圓形齒條和軸向運(yùn)動(dòng)的絲桿2部分組成。結(jié)合具體控制任務(wù),圖6(b)是為其設(shè)計(jì)的電氣控制箱,包括由上述控制器構(gòu)建的雙軸(周向、軸向)運(yùn)動(dòng)控制系統(tǒng)。
圖6 管道自動(dòng)化檢查裝備
為了檢出管道內(nèi)部周向和軸向缺陷,在實(shí)際檢查中,設(shè)計(jì)需達(dá)到2種運(yùn)動(dòng)掃查方式。
(1) 周向柵格掃查。探頭沿著圓周方向運(yùn)動(dòng),軸向方向步進(jìn)。此時(shí)單步掃查行程Scan為待檢焊縫長(zhǎng)度。該方式便于發(fā)現(xiàn)垂直于焊縫方向的缺陷,其運(yùn)動(dòng)軌跡如圖6(c)所示(X為圓周運(yùn)動(dòng)方向,Y為軸向運(yùn)動(dòng)方向)。
(2) 軸向柵格掃查。探頭沿著軸向運(yùn)動(dòng),圓周方向步進(jìn)。此時(shí)單步掃查行程Scan為待檢焊縫寬度。該方式便于發(fā)現(xiàn)平行于焊縫方向的缺陷,其運(yùn)動(dòng)軌跡如圖6(d)所示。
結(jié)合試件掃查的工藝要求,在合適分辨率Resolution(超聲儀掃查分辨率)采樣條件下,探頭移動(dòng)的步進(jìn)值Index不得超過(guò)探頭晶片尺寸的50%,以防止漏檢。通常掃查方向的分辨率Resolution不大于1 mm,步進(jìn)值Index不大于5 mm。同時(shí),為了方便缺陷的精準(zhǔn)定位,檢測(cè)信號(hào)(超聲、渦流)的采集觸發(fā)一般由編碼器信號(hào)驅(qū)動(dòng)。
以周向掃查為例,程序的主要流程圖如圖7(a)所示,圖中Scan為周向運(yùn)動(dòng)的單步掃查行程值,Index為軸向運(yùn)動(dòng)的步進(jìn)值,LoopNum為循環(huán)次數(shù)(焊縫寬度與Index之比)。通過(guò)計(jì)算并設(shè)置合適的掃查行程值、步進(jìn)值和循環(huán)次數(shù),由2個(gè)軸的交替往復(fù)運(yùn)動(dòng),完成對(duì)被檢試塊待檢查區(qū)域的覆蓋檢查。圖7(b)為Scan=20°、Index=5 mm和LoopNum=20所對(duì)應(yīng)的柵格掃查軌跡的實(shí)際運(yùn)行效果。
圖7 周向掃查方式
為了便于向控制器發(fā)送控制命令和實(shí)時(shí)顯示電機(jī)運(yùn)行速度、位置等信息,基于C#開(kāi)發(fā)了上位控制軟件,其界面如圖8所示。該軟件除了可實(shí)現(xiàn)開(kāi)環(huán)、速度閉環(huán)、位置(相對(duì)/絕對(duì))閉環(huán)的單軸運(yùn)動(dòng)控制以及雙軸的組合掃查運(yùn)動(dòng)控制外,還具有限位停、急停以及對(duì)應(yīng)狀態(tài)的顯示等功能。
圖8 上位控制軟件
本文從硬件電路和軟件算法設(shè)計(jì)方面詳述了一種小型直流電機(jī)運(yùn)動(dòng)控制器的設(shè)計(jì)和實(shí)現(xiàn)方法。該控制器的速度控制精準(zhǔn)、平穩(wěn)、抗外部擾動(dòng)能力較強(qiáng),位置控制精度高、穩(wěn)態(tài)誤差小,可以達(dá)到較理想的控制效果?;诖丝刂破?,設(shè)計(jì)開(kāi)發(fā)了一套雙軸運(yùn)動(dòng)控制系統(tǒng),實(shí)現(xiàn)對(duì)管道外壁面焊縫區(qū)域自動(dòng)化柵格掃查的應(yīng)用,具有較強(qiáng)的實(shí)用性和參考價(jià)值。結(jié)合實(shí)際需求,未來(lái)可應(yīng)用在更多工業(yè)控制和需求相近的領(lǐng)域。