(常州大學 機械工程學院,江蘇 常州 213164)
電梯平衡鏈是用來平衡電梯轎廂和配重側兩端重量差的,從而達到電梯平穩運行的目的[1]。由于電梯補償鏈表面包裹了一層PVC復合材料,不能直接利用普通電焊錨鏈的長度計算公式將長度算出來。現有的測長機構是類似于線纜計米器之類的裝置,不適用于平衡鏈這種鏈環與鏈環之間凹凸不平的設備,測量誤差偏大[2]。為提高測量精度,本文設計了一種以STM32F103RCT6為主控制單元,以觸摸屏為上位機,并基于模糊控制算法的自動測長控制系統,大大提高測量效率的同時,減小了測量誤差。該方案設計可以給企業帶來巨大的經濟效益。
整個測長設備如圖1所示:主要包括壓緊機構,牽引機構以及測長機構三個部分組成。壓緊機構包括2個大壓緊輪和三個小壓緊輪,通過氣缸下降給鏈條足夠的壓力。。牽引機拉動鏈條,通過摩擦力帶動下同步帶運動,由于鏈環與鏈環之間凹凸不平,摩擦力會產生波動,這時會發生打滑或者卡死的情況。當摩擦力變小時,滑塊會沿著導軌向前運動,前直線位移傳感器會檢測到電壓信號,反饋給單片機,增大電機轉速,使滑塊回到原來位置。同理,當摩擦力變大時,滑塊會向后移動,后位移傳感器會有電壓信號,反饋給單片機,減小電機轉速。這就可以進行自動補償由于摩擦力波動而產生的測量誤差。通過伺服電機驅動主計量輪,讀取編碼器旋轉角度,即可測得鏈條長度。

1.鏈條;2.大壓緊輪;3.小壓緊輪;4.活動塊;5.上同步帶;6.光軸;7.氣壓缸;8.伺服電機;9.三相牽引機;10.線性位移傳感;11.主計量輪;12.編碼器;13.下同步帶;14.滑塊;15.直線導軌;16.從動輪圖1 測長機構示意圖
控制系統總體框圖如圖2所示。包括單片機最小系統電路,傳感器信號接受電路,伺服驅動電路,編碼器信號接收電路,氣壓缸驅動電路,以及觸摸屏與單片機通信電路等。

圖2 控制系統硬件原理圖
主控制器為基于Cortex-M3 為核心的STM32F103RCT6,主頻最高可以達到72 MHz[3],片內存儲空間為256 Kb。單片機最小系統包括:電源,晶振以及復位三個模塊。控制板外部接入輸入電源12 V給電磁閥通電來控制氣缸伸縮運動,從而進行壓緊或抬起壓緊機構。同時通過降壓芯片7805以及lm1117-3.3來輸出3.3 V電壓給單片機供電。為節約 I /O 端口資源,下載方式采用SWD模式,在高速模式下比JTAG模式更加可靠。觸摸屏通過MAX3232和STM32F103RCT6的串口1即 PA9,PA10兩引腳相連,用來控制整個測量設備的運動以及進行數據監測。因為位移傳感器的輸出電壓范圍為0~10 V,所以需要進行降壓,通過電阻分壓的方式得到0~3.3 V的電壓。當滑塊靠近外移傳感器時,輸出電壓會減小,遠離時輸出電壓會增大。STM32自帶的ADC功能會讀取電壓值,進行判定。為了防止輸入輸出信號干擾,每個端口輸出都采用了光耦隔離的方式。光耦是以光為媒介把輸入端信號耦合到輸出端,實現電-光-電的轉換,輸入輸出完全絕緣,抗干擾能力強,效率高。
該方案驅動器型號為安川SGDV-5R5A01A系列,有位置、速度和轉矩三種控制方式[4]。位置方式是通過數字量方式控制,而速度和轉矩方式通過模擬電壓控制。為了獲得良好的控制性能,伺服控制器一般會設計成一個具有電流環、速度環、位置環三閉環回路的復合控制系統[5]。本設計方案采用速度方式,可以把位置環移動到控制器上,減少驅動器工作量,提高效率。通過TIM4通道一調節占空比,經過光耦TLP350轉換后驅動場效應管,根據占空比大小來改變MOS管導通時間,從而實現電源輸出的改變。圖中電感起到濾波和儲能的作用,二極管起到穩壓的作用。二極管反接可以防止電流電壓的突變,起到保護場效應管的作用。具體電路圖如圖3所示。這樣可以得到0~12 V的模擬電壓,符合伺服驅動器輸入電壓范圍要求。將V-REF端子與伺服驅動器CN1的針號5相連,針號6接地即可實現電機的旋轉。

圖3 調壓電路原理圖
光電編碼器主要有兩種:絕對型和增量型。增量型編碼器在旋轉過程中每轉過單位角度就會發出一個脈沖信號,并且A、B相位相差正負90°,根據信號先后判斷電機是正轉還是反轉。本設計所用編碼器為增量型E6B2-CWZ6C,NPN集電極輸出,每轉一圈發送2 000個脈沖。如圖4所示:將A、B相信號經過光耦HCPL2630隔離后分別接入STM32的TIM3通道一和通道二。STM32的通用定時器三自帶編碼器計數模式,編碼器輸入信號TI1,TI2經過輸入濾波,邊沿檢測產生TI1FP1,TI2FP2接到編碼器模塊,將他們都設置成上升捕獲模式,并在中斷中讀取,便可進行計數。

圖4 編碼器信號接收原理圖
單片機與觸摸屏通訊接口電路如圖5所示。因為單片機的輸出電平和RS-232不一樣,因此需要芯片進行電平轉換。相比于傳統的MAX232,選擇了功耗更小的MAX3232芯片,該芯片采用專有低壓差發送器輸出級,能夠實現真正的RS-232性能,外接4個0.1 μF的電容用于倍壓和儲能。將開發板DB9公頭和觸摸屏RS232公頭的2 、3口交叉連接,5直連,便可實現通訊功能。

圖5 通訊接口電路
由于交流伺服系統存在參數時變、負載擾動以及伺服電動機自身和被控對象的嚴重非線性、強耦合性等不確定因素,難以用傳統的基于對象的模型控制方法來進行控制[6]。模糊控制以不依賴于被控對象的數學模型而被廣泛的應用于工業生產中,具有較強的魯棒性。它是一種基于語言規則與模糊推理建立在模糊集合上的控制理論[7]。將其用于伺服系統中可以很好的解決非線性、時變、耦合等等問題。因此設計了一個基于模糊控制的閉環控制系統。包括模糊控制器的設計以及想關規則的制定。
模糊控制器的設計包括模糊化、建立模糊規則、清晰化等步驟。為此設計了一個雙輸入、單輸出的二維模糊控制器,模糊控制系統框圖如圖6所示。

圖6 模糊控制器系統框圖
模糊化:將精確的輸入變量轉化為模糊矢量。
模糊推理:包括數據庫和規則庫,提供數據,制定模糊規則并輸出模糊量。
解模糊:將模糊量經過運算后再次轉變成精確量用于控制被控對象。
以位移誤差e和誤差的變化率△e作為輸入,以控制伺服電機轉速大小的模擬電壓u為輸出變量,語言變量對應為E、EC、以及U,用“正大”(PB)“正中”(PM),“正小”(PS),“零”(O),“負小”(NS),“負中”(NM),“負大”(NB)七個語言變量來對這幾個變量進行描述。
E選取7個語言值:{PB,PM,PS,O,NS,NM,NB};EC選取5個語言值:{PB,PS,O,NS,NB};U選取7個語言值:{PB,PM,PS,O,NS,NM,NB};根據經驗和反復試驗選擇輸入變量與輸出變量的論域如下:
E的論域X={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};
EC的論域Y={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};
U的論域Z={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。
系統采用靈敏度強的三角形隸屬度函數來描述語言變量論域上的模糊子集。借助MATLAB/SIMULINK中的模糊邏輯工具箱,得到如圖7所示的輸出隸屬度函數圖像。

圖7 輸出U的隸屬度函數圖像
模糊控制規則是模糊控制器設計的核心[8],在模糊邏輯工具箱中進行模糊控制規則的設計[9],系統所建立的是雙輸入單輸出的模糊控制器,采用的模糊條件語句為:
if E and EC then U
在大量實驗和調節之后,制定了35條模糊控制語句,并將其繪制成了表格。
建立的模糊控制規則表1所示。

表1 系統模糊控制規則表
根據模糊規則表推理求出的是輸出控制量的模糊控制集合,不能直接用來控制伺服驅動器,需要將模糊量轉化為精確量。根據隸屬度函數特性,采用加權平均法進行解模糊,其公式為:
(1)
式中,Z0為應用加權平均法求得的判決結果,也稱為清晰值;Zi為輸出量模糊集U1中的元素;μU1(zi)為輸出量模糊集U1中各元素的隸屬度函數。
在MATLAB的模糊邏輯工具箱中,對模糊推理過程進行了圖形化處理,從中可以清晰得看出各模糊變量隸屬度函數對系統輸出量的影響。同時規則觀測器可以針對系統輸入量X和Y的不同組合計算出全部系統輸出的精確量Z,如圖8所示。最終建立本系統的模糊控制查詢表,如表2所示。

表2 模糊控制查詢表
最后將模糊控制查詢表存放于單片機寄存器中。通過程序編寫,使得控制器根據輸入的偏差和偏差變化率信號,由查詢表自行計算出實際的輸出控制量即輸出電壓大小。
系統程序采用模塊化設計,包括主程序,傳感器電壓采集子程序,電機驅動子程序,編碼器計數子程序,以及基于MODBUS的觸摸屏與單片機通訊程序等。具體的控制流程圖如圖8所示。

圖8 程序流程圖
導軌前后各固定一個直線位移傳感器,通過STM32 ADC1的通道10和11分別讀取經分壓后的電壓,并經過DMA傳輸,減少CPU負荷的同時增加采集速度。傳感器的電壓顯示值和距離成線性關系。為了數據的準確性,每組讀取100個數據放入數組中,并取平均值來作為速度調節的依據。DMA的主要配置如下:將DMA1通道1的外設基地址設為(uint32_t)(&(ADC1->DR)),內存基地址設置成(u32)&ADC1_ConvertedValue,并開啟循環模式和中斷。ADC設置成連續轉換,右對齊,通道個數兩個,并使用軟件觸發的模式。STM32的ADC分辨率為12位,可以求得模數轉換值的取值范圍為0-4096,電壓量程為0~3.3 V,則傳感器的讀取電壓值為模數轉換值除以4096乘上3.3即:
(2)
具體程序流程圖如圖9所示。

圖9 傳感器電壓讀取流程圖
因摩擦力不斷波動,因此要對伺服電機的速度實時調節,采取速度控制方式,伺服驅動的速度控制方式為模擬電壓控制,采用PWM方式可以實現數字量對模擬電路的控制。根據電壓采集數據集合模糊控制器的規則自動調節占空比,將自動重裝載器值設置為249,定時器預分頻設置為11,可以得到24 kHz的PWM波。輸出比較方式設置成PWM2模式,向下計數模式。根據不同占空比可以獲得不同電壓值來驅動伺服驅動器,繼而可以實時調節伺服電機的轉速來自動補償測量誤差。查閱安川電機手冊可以發現速度控制模式下額定電壓為6 V,額定轉速為2000 r/min,則電機瞬時速如下:
(3)
式中,VREF為伺服驅動電壓,單位V, Vm為電機轉速,單位r/min。
STM32F103通用定時器自帶編碼器模式,編碼器輸入信號TI1,TI2經過輸入濾波,邊沿檢測產生TI1FP1,TI2FP2接到編碼器模塊,通過配置編碼器的工作模式,即可以對編碼器進行正向/反向計數。因TIM3_CNT計數器是16位的,最高計數為65535,而編碼器旋轉一圈的脈沖數為2000,旋轉圈數過多時會溢出。故將自動重裝載值ARR設置為2000,并使能中斷進行溢出中斷計數,用j表示溢出的次數,每旋轉一圈,j的值加1,計數器重新計數。最后獲得的總脈沖數為2000j加上寄存器TIM3->CCR1的值,用S表示。則測量的長度L為:
(4)
式中,d為同步帶外徑,m。
威綸通MT6103iq觸摸屏和STM32之間采用基于MODBUS協議的RTU模式進行數據傳輸。觸摸屏為主設備,STM32為從設備[10]。使用循環冗余校驗碼CRC16進行校驗。常用的MODBUS功能碼包括01:讀開關量狀態,03:讀保持型寄存器,06:寫寄存器。通信過程包括串口配置,報文接發,報文處理三個方面。串口參數配置如下:波特率9600,數據位8位,停止位1位,無奇偶校驗位。在進行基礎的串口配置之后,還需要開啟串口中斷,在中斷服務函數中對接收和發送的數據進行檢測和處理。報文通過8位字符數組進行接發,再根據功能碼進行數據處理。
實驗購買的鏈條為包塑性補償鏈,截取20.1米長度來進行試驗。將是否運用模糊控制算法將實驗分成兩組,在不同速度下分別進行20次實驗。實驗測量結果如表3~4所示。

表3 沒有設計模糊控制器下的各速度測量值

表4 模糊控制下的各速度測量值
由以上兩表可以看出,當沒有設計模糊控制器的情況下,測量誤差較大,且速度越大,誤差越大,而在設計模糊控制器后誤差明顯減小,且在基本運行速度達到0.6 m/s時誤差達到最小值。
控制系統解決了因摩擦力波動而造成測量誤差的問題,以STM32為主控制器,線性位移傳感器為探測器,配合模糊控制算法,實時調節伺服電機轉速。系統高效穩定,測量基本速度達到0.6 m/s。經大量實驗后測得平均誤差為0.09%,符合預期值。