朱傳雨, 吳健榮, 韓長宇, 李術鴻
(中廣核檢測技術有限公司,江蘇 蘇州 215004)
在核電無損檢測(NDT)中,為了實現對被檢工件(板材、棒材、管道和容器等)母材及焊縫兩側區域的全覆蓋檢查,常需要對不同被檢工件開發專用的自動化檢查裝備[1]。為了能進一步降低因電機運動對NDT用超聲、渦流信號的干擾,此類裝備的研制中大量使用小型直流電機。為此,亟需開發一種通用型、低成本的小型直流電機運動控制模塊,以滿足諸多不同工件自動化檢查的現實需求。
對直流電機的控制,應用最廣泛的是脈寬調制(PWM)控制,其優點是響應快、效率高、抗干擾能力強[2-3]。本文在研究經典PID算法和一系列改進型PID算法的基礎上,對速度控制采用增量式PID算法,對位置控制采用積分分離PID算法,設計了一種以STM32為主控制器的低成本、小型直流電機運動控制器[4-6]。同時,為了增強該控制器的通用性和實用性,利用STM32外設豐富的特點,設計預留了CAN總線接口,以便進一步實現多軸組合運動。
圖1為控制器硬件框圖,控制器由STM32主控制單元、電機驅動、編碼器信號處理、電流檢測以及通信電路等組成。

圖1 控制器硬件框圖
STM32是基于Cortex-M3內核的32位ARM處理器,具有價格便宜、功耗低、性能優越等優點。用STM32產生PWM信號控制驅動電路中場效應功率管的導通/關斷,實現對電機正反轉、起停的控制[7]。編碼器電路將信號處理后送入STM32通用定時器中,該定時器接口被配置成編碼器模式,由硬件完成位置的捕獲,進而可解算出速度。STM32獲得電機位置、速度反饋后,通過算法生成控制指令,觸發定時器改變PWM占空比,進而調節輸出,達到閉環控制的目的。電流檢測電路采集電機運動的電流信號,送入STM32的模數轉換器(ADC),實現對電機的過流、過載保護。通信電路由UART串口和CAN總線接口電路組成。UART串口用于與上位工控機的通信;CAN總線接口電路用于控制器間的級聯。此外,控制器還包括電源以及電平轉換電路。
驅動部分選用電機驅動專用芯片BTS7960,屬于NovalithIC家族的高功率、半橋驅動芯片,通態電阻為16 mΩ(7 mΩ+9 mΩ),驅動電流高達43 A。為了實現電機的正反轉,采用2片該芯片構成H全橋驅動電路,如圖2所示。對應的電機驅動真值表如表1所示。為了有效保護單片機管腳免受損壞,電路設計時增加了必要的外圍電路,用隔離緩沖器芯片74HCD244進行功率電路和邏輯控制電路的隔離。

圖2 硬件電路設計

表1 電機驅動真值表
編碼器選用光電增量式編碼器,分辨率512線,輸出為相位差90°的正交脈沖信號A、B。設計的接口電路見圖2。其中A、B相信號PAX、PAB經電容濾波、高速光耦TLP2309隔離后,送入STM32定時器對應接口中,由硬件完成脈沖信號識別、計數統計,構成位置和速度的反饋。
串口UART通信電路設計選用經典TTL轉RS232的串口芯片MAX3232,設計電路見圖2。用于模塊間級聯的CAN總線電路,選用帶有隔離功能的CAN收發器芯片CTM1051AM。作為CAN控制器的STM32引出CAN_TX和CAN_RX 2個引腳與收發器相連,收發器使用CAN_H及CAN_L引腳連接到CAN總線網絡中。
直流電機選用Maxon RE35系列,額定電壓24 V,額定功率60 W。基于上述硬件,通過改變PWM占空比對電機進行開環性能測試。PWM占空比小于5%(PWM值范圍0~1 800。PWM值小于88時占空比小于5%)時處于電機死區;占空比位于5%~100%范圍內,占空比增大轉速加快,占空比減小轉速降低。同時,為了避免電機的低頻噪聲,PWM工作頻率選為20 kHz。
對于電機速度的控制,采用廣泛應用的增量式PID算法[8-10]。用控制器STM32實時測量的轉速與設定的轉速求差,差值作為PID算法的輸入變量,通過對差值進行比例系數KP、積分系數KI和微分系數KD的運算,計算出輸出變量的增量。在電機空載起動、設定轉速500 r/min條件下,經初步估算和試湊法相結合進行PID參數整定。KP=1.5,KI=0.08,KD=0時,響應曲線如圖3(a)所示(橫軸代表采樣點數,采樣點時間間隔為400 ms)。經測定,約經過4 s(10個采樣點)電機轉速達到目標設定值,控制無超調、穩態無靜差。圖3(b)為轉速突變的響應過程,給定轉速由400 r/min突變到800 r/min時,在控制算法的作用下,控制器也能較快地到達給定轉速且能穩定運行。

圖3 速度環PID響應過程
除了上述起動、轉速突變情況外,抗負載擾動能力也是衡量調速性能的重要指標。在轉速穩定在630 r/min的條件下,施加負載擾動后的響應情況如圖4所示。受負載擾動后系統轉速下降,在控制算法作用下,系統快速恢復至給定轉速,有效地抵抗了負載的擾動。

圖4 增量PID算法抗擾動響應過程
對于電機位置的控制,采用位置式PID算法。設定目標位置為401.92 rad(對應編碼器脈沖數為401.92×512線×4倍頻/2π=131 072個)條件下,經PID參數整定,KP=1.5,KI=0.1,KD=0.000 5時,響應曲線如圖5虛線所示。由圖5可知,最終位置穩定在401.80 rad(對應脈沖數為131 034個,靜態誤差為-38個脈沖)。為消除誤差,提高控制精度,引入積分分離PID算法[11-13]。當被控量與設定目標位置偏差較大時,取消積分作用,避免由于積分作用使系統穩定性降低、超調量增大;當被控量接近給定值時,再引入積分控制,以消除靜差、提高控制精度。對應的響應曲線如圖5實線所示。最終位置穩定約在401.92 rad(對應脈沖數為131 071個,靜態誤差-1個脈沖),控制誤差有了較大的改善。同時對PWM進行輸出限幅,避免引起較大的超調、振蕩。

圖5 位置式PID和積分分離PID位置控制
為了實現對管道外壁面焊縫區域的自動化檢查,設計開發的檢查裝備如圖6所示,主要包括機械掃查裝置和電氣控制箱2部分。圖6(a)為機械掃查裝置,其主體結構由圓周運動的2個半圓形齒條和軸向運動的絲桿2部分組成。結合具體控制任務,圖6(b)是為其設計的電氣控制箱,包括由上述控制器構建的雙軸(周向、軸向)運動控制系統。

圖6 管道自動化檢查裝備
為了檢出管道內部周向和軸向缺陷,在實際檢查中,設計需達到2種運動掃查方式。
(1) 周向柵格掃查。探頭沿著圓周方向運動,軸向方向步進。此時單步掃查行程Scan為待檢焊縫長度。該方式便于發現垂直于焊縫方向的缺陷,其運動軌跡如圖6(c)所示(X為圓周運動方向,Y為軸向運動方向)。
(2) 軸向柵格掃查。探頭沿著軸向運動,圓周方向步進。此時單步掃查行程Scan為待檢焊縫寬度。該方式便于發現平行于焊縫方向的缺陷,其運動軌跡如圖6(d)所示。
結合試件掃查的工藝要求,在合適分辨率Resolution(超聲儀掃查分辨率)采樣條件下,探頭移動的步進值Index不得超過探頭晶片尺寸的50%,以防止漏檢。通常掃查方向的分辨率Resolution不大于1 mm,步進值Index不大于5 mm。同時,為了方便缺陷的精準定位,檢測信號(超聲、渦流)的采集觸發一般由編碼器信號驅動。
以周向掃查為例,程序的主要流程圖如圖7(a)所示,圖中Scan為周向運動的單步掃查行程值,Index為軸向運動的步進值,LoopNum為循環次數(焊縫寬度與Index之比)。通過計算并設置合適的掃查行程值、步進值和循環次數,由2個軸的交替往復運動,完成對被檢試塊待檢查區域的覆蓋檢查。圖7(b)為Scan=20°、Index=5 mm和LoopNum=20所對應的柵格掃查軌跡的實際運行效果。

圖7 周向掃查方式
為了便于向控制器發送控制命令和實時顯示電機運行速度、位置等信息,基于C#開發了上位控制軟件,其界面如圖8所示。該軟件除了可實現開環、速度閉環、位置(相對/絕對)閉環的單軸運動控制以及雙軸的組合掃查運動控制外,還具有限位停、急停以及對應狀態的顯示等功能。

圖8 上位控制軟件
本文從硬件電路和軟件算法設計方面詳述了一種小型直流電機運動控制器的設計和實現方法。該控制器的速度控制精準、平穩、抗外部擾動能力較強,位置控制精度高、穩態誤差小,可以達到較理想的控制效果。基于此控制器,設計開發了一套雙軸運動控制系統,實現對管道外壁面焊縫區域自動化柵格掃查的應用,具有較強的實用性和參考價值。結合實際需求,未來可應用在更多工業控制和需求相近的領域。