一種基于數(shù)控編程的數(shù)控機床結構參數(shù)的辨識方法
【技術領域】
[0001] 本發(fā)明屬于機床結構參數(shù)辨識技術領域,更具體地,涉及一種基于數(shù)控編程的數(shù) 控機床結構參數(shù)的辨識方法。
【背景技術】
[0002] 高速、高精度、高效率是現(xiàn)代數(shù)控機床發(fā)展的趨勢,伺服系統(tǒng)的動態(tài)性能是影響數(shù) 控機床的重要因素,其好壞取決于控制參數(shù)的整定,控制參數(shù)不僅會影響進給系統(tǒng)的跟隨 誤差,嚴重時還會使機械系統(tǒng)產(chǎn)生振蕩,影響加工質量甚至造成設備的破壞。對于數(shù)控系 統(tǒng),伺服系統(tǒng)控制參數(shù)的整定又取決于機械結構參數(shù),準確獲取轉動慣量、剛度和阻尼等機 械結構參數(shù)值是整定控制參數(shù),優(yōu)化伺服系統(tǒng)動態(tài)性能的基礎。
[0003]目前,模態(tài)實驗分析方法是數(shù)控設備機械結構參數(shù)辨識的通用方法,該方法是基 于模態(tài)分析理論,同時測量輸入激勵和輸出響應信號,從而識別出機械結構的參數(shù)值,其中 激勵信號的設計是參數(shù)值辨識的關鍵。但是對于重、大型機床,輸入激勵信號難以實施,因 此,上述方法難以適用于重、大型機床結構參數(shù)的辨識。
【發(fā)明內(nèi)容】
[0004] 針對現(xiàn)有技術的以上缺陷或改進需求,本發(fā)明提供了一種基于數(shù)控編程的數(shù)控機 床結構參數(shù)的辨識方法,其中通過數(shù)控編程設計了Μ序列的自激勵信號,解決了重、大型數(shù) 控機床系統(tǒng)辨識中激勵信號輸入的難題,通過同步動作在每個插補周期內(nèi)實現(xiàn)辨識信號數(shù) 據(jù)的采集,在無需外加激勵條件下,通過數(shù)控編程即可完成對數(shù)控機床的激勵和辨識信號 的采集,完成辨識測試,該方法簡單、高效、易用,工程實用性強。
[0005] 為實現(xiàn)上述目的,本發(fā)明提出了一種基于數(shù)控編程的數(shù)控機床結構參數(shù)的辨識方 法,其特征在于,該方法包括以下步驟:
[0006] 1)建立待辨識數(shù)控機床的系統(tǒng)動力學模型,并計算其差分方程;
[0007] 2)利用仿真軟件生成二進制的偽隨機序列,偽隨機序列的采樣時間為數(shù)控機床數(shù) 控系統(tǒng)的插補周期;
[0008] 3)通過NC編程將所述偽隨機序列轉變成數(shù)控機床的速度激勵信號;
[0009] 4)根據(jù)所述速度激勵信號,通過同步動作在數(shù)控系統(tǒng)的每個插補周期內(nèi)給定速度 激勵信號,從而實現(xiàn)數(shù)控機床的自激勵;
[0010] 5)通過同步動作在數(shù)控系統(tǒng)的每個插補周期內(nèi)采集數(shù)控機床在自激勵下的結構 參數(shù)辨識信號數(shù)據(jù);
[0011] 6)選定辨識參考模型,利用MATLAB系統(tǒng)辨識工具箱和采集的數(shù)據(jù),對數(shù)控機床的 系統(tǒng)動力學模型進行辨識,得到數(shù)控機床結構參數(shù)值。
[0012] 作為進一步優(yōu)選的,所述步驟2)中生成的偽隨機序列采用MATLAB系統(tǒng)辨識工具 箱中的模塊生成,生成的偽隨機序列存儲到數(shù)組變量中。
[0013] 作為進一步優(yōu)選的,所述步驟3)通過NC編程將偽隨機序列轉變成數(shù)控機床激勵 信號的具體步驟如下:首先,在NC程序中自定義數(shù)組變量;然后,通過NC編程中的SETO函 數(shù),將步驟2)中生成的偽隨機序列賦值給所述數(shù)組變量;最后,在NC程序中將數(shù)組變量轉 變成速度信號賦值給計算變量$AC_PARAM[]。
[0014] 作為進一步優(yōu)選的,步驟4)中數(shù)控機床的自激勵具體產(chǎn)生過程如下:利用數(shù)控機 床自帶的同步動作功能中的WHENEVER指令,在數(shù)控機床每個插補周期內(nèi)對條件進行循環(huán) 檢查,只要條件被滿足,就在每個插補周期內(nèi)執(zhí)行相應的動作;通過M0V[X]指令實現(xiàn)伺服 電機的正反轉,其中X為運動軸編號;通過FA□函數(shù)將計算變量$AC_PARAM□中的速度信 號輸入到數(shù)控系統(tǒng)實現(xiàn)速度控制。
[0015] 作為進一步優(yōu)選的,步驟5)中結構參數(shù)辨識信號數(shù)據(jù)的具體采集過程如下:在數(shù) 控系統(tǒng)的每個插補周期內(nèi)將軸位移、軸轉速、軸加速度、驅動力矩電流數(shù)據(jù)賦值給計算變量 $AC_PARAM□,然后通過WRITE指令將報數(shù)據(jù)寫入指定的文件中。
[0016] 總體而言,通過本發(fā)明所構思的以上技術方案與現(xiàn)有技術相比,主要具備以下的 技術優(yōu)點:
[0017] 1.本發(fā)明通過數(shù)控編程設計了Μ序列(即偽隨機序列)的自激勵信號,解決了重、 大型數(shù)控機床系統(tǒng)辨識中激勵信號輸入的難題,在無需外加激勵條件下,通過數(shù)控編程即 可完成對數(shù)控機床的激勵和辨識信號的采集,完成辨識測試,可準確辨識出等效慣量和等 效阻尼等機床結構參數(shù)值,該方法簡單、高效、易用,工程實用性強。
[0018] 2.本發(fā)明通過同步動作在每個插補周期內(nèi)實現(xiàn)辨識信號數(shù)據(jù)的采集,通過數(shù)控編 程在無需裝置數(shù)據(jù)采集傳感器的情況下即可實現(xiàn)辨識信號的采集,大大降低辨識實驗的激 勵成本和數(shù)據(jù)采集的費用,減小激勵所造成的損失。
【附圖說明】
[0019] 圖1是本發(fā)明的數(shù)控機床結構參數(shù)辨識流程示意圖。
【具體實施方式】
[0020] 為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術特征只要 彼此之間未構成沖突就可以相互組合。
[0021] 圖1是數(shù)控機床結構參數(shù)辨識流程示意圖,如圖1所示,本發(fā)明的基于數(shù)控編程的 數(shù)控機床結構參數(shù)的辨識方法,其包括以下步驟:
[0022] 1)建立待辨識數(shù)控機床的系統(tǒng)動力學模型,并計算其差分方程;
[0023] 2)利用仿真軟件生成二進制的偽隨機序列(Μ序列),序列的采樣時間為數(shù)控機床 數(shù)控系統(tǒng)的插補周期;
[0024] 3)通過NC編程將所述偽隨機序列轉變成數(shù)控機床的速度激勵信號:
[0025] 使生成的速度激勵信號成Μ序列形式,以確保激勵信號有足夠的頻帶寬度覆蓋系 統(tǒng)的頻帶,實現(xiàn)有效激勵,并且速度激勵信號的幅值要加以限制,幅值太小不能實現(xiàn)機床的 有效激勵,幅值太大容易造成機床損壞。
[0026] 4)根據(jù)所述速度激勵信號,通過同步動作在數(shù)控系統(tǒng)的每個插補周期內(nèi)給定速度 激勵信號,從而實現(xiàn)偽隨機序列形式的激勵信號,進而實現(xiàn)數(shù)控機床的自激勵:
[0027] 利用數(shù)控系統(tǒng)同步動作功能,通過數(shù)控編程編寫同步動作,在每個插補周期內(nèi)對 數(shù)控機床實現(xiàn)速度控制,無需外加激勵條件即可對數(shù)控機床進行自激勵。
[0028] 5)通過同步動作在數(shù)控系統(tǒng)的每個插補周期內(nèi)采集數(shù)控機床在自激勵下的結構 參數(shù)辨識信號數(shù)據(jù):在每個插補周期內(nèi)對數(shù)控系統(tǒng)里的信號數(shù)據(jù)(如軸位移、軸轉速、軸加 速度、驅動力矩電流等)進行讀寫操作,采集辨識信號數(shù)據(jù)。
[0029] 6)選定辨識參考模型,利用MATLAB系統(tǒng)辨識工具箱和采集的數(shù)據(jù),對數(shù)控機床的 系統(tǒng)動力學模型進行辨識,得到數(shù)控機床結構參數(shù)值。
[0030] 進一步的,步驟1)所述動力學模型和差分方程通過以下過程得出:
[0031 ] 首先,以數(shù)控機床機械系統(tǒng)為研究對象,建立待辨識系統(tǒng)的動力學微分方程:
[0032] MX+CX+KX ( 1 );
[0033] 式(1)為動力學微分方程的一般表達式,其包含所要辨識的參數(shù),式中,X為狀態(tài) 變量,Μ為質量矩陣,C為阻尼矩陣,K為剛度矩陣,為電機輸出力矩,?\為負載,Td為摩擦 力矩;
[0034] 將式中的摩擦力矩當成干擾信號,機床空運行,負載力矩為零,經(jīng)過拉式變換,則 待辨識系統(tǒng)的傳遞函數(shù)GP(s)為:
[0035]
[0036]式中,s為拉氏變換符號,X(s)、Tjs)分別為X、的拉氏變換。
[0037] 采用零階保持器進行采樣,再將式(2)離散化,零階保持器傳遞函數(shù)G。(s)為:
[0038] ^(5) = (1-6^)/3 (-3).
[0039] 式中,Ts為采樣周期;
[0040] 將式(2)的離散化,則待辨識模型的離散化形式:
[0041] G(z) =Z{G〇(s)GP(s)} (4);
[0042] 式中,Z{}為Z變化,即把連續(xù)傳遞函數(shù)離散化,z為差分算子。
[0043] 得到差分方程的一般表現(xiàn)形式為:
[0044] A(z)X(k) =B(z)Tn(k-l) (5)。
[0045] 式中:k為時間序列,A(z3 = 1+apka# 2+…anzn;B(z3 = 1+bp2+… bnzn;a丨~a"和b丨~bn分別為差分方程一般式的系數(shù)。
[0046] 更為具體的,步驟2)中生成的偽隨機序列采用MATLAB/communications modeling系統(tǒng)辨識工具箱中的PNSequenceGenerator模塊生成,生成的偽隨機序列存儲 到數(shù)組變量中。
[0047] 更為具體的,步驟3)通過NC編程將偽隨機序列轉變成數(shù)控機床激勵信號的具體 步驟如下:首先,在NC程序中自定義數(shù)組變量;然后,通過NC編程中的SET()函數(shù),將步驟 2)中生成的偽隨機序列賦值給所述數(shù)組變量;最后,在NC程序中將數(shù)組變量轉變成速度信 號賦值給計算變量$AC_PARAM口。
[0048] 進一步的,步驟4)中數(shù)控機床的自激勵具體產(chǎn)生過程如下:利用數(shù)控機床自帶的 同步動作功能中的WHENEVER指令,在數(shù)控機床每個插補周期內(nèi)對條件進行循環(huán)檢查,只要 條件被滿足,就在每個插補周期內(nèi)執(zhí)行相應的動作;通過MOV[X]指令實現(xiàn)伺服電機的正反 轉,其中X為運動軸編號;通過FA□函數(shù)將計算變量$AC_PARAM□中的速度信號輸入到數(shù) 控系統(tǒng)實現(xiàn)速度控制,第η個插補周期的速度給定值對應著$AC_PARAM□中第η個元素。
[0049] 更具體而言,步驟5)中結構參數(shù)辨識信號數(shù)據(jù)的具體采集過程如下:在數(shù)控系統(tǒng) 的每個插補周期內(nèi)將軸位移、軸轉速、軸加速度、驅動力矩電流等系統(tǒng)變量的數(shù)據(jù)賦值給計 算變量$AC_PARAM□,然后通過WRITE指令將報數(shù)據(jù)寫入指定的文件中。
[0050] 進一步的,步驟6)的辨識原理基于最小二乘法,辨識結構為ARX: [nanbnk]模型, 模型階次通過步驟1)中的差分方程來確定。
[0051] 以下為本發(fā)明的具體實施例,本實施例以數(shù)控機床機械系統(tǒng)具體為永磁同步伺服 電機(PMSM)為例,以具體說明本發(fā)明。
[0052] 1)建立簡化的