基于VisSim/ECD的直流電機控制系統設計
ti c2000系列dsp是用于電機控制的專用芯片,對于此類芯片控制算法的設計開發,往往需要花費大量的時間和精力在代碼的編寫和后期的調試上,而vissim/ecd的出現大大縮短了控制器的開發周期。vissim/ecd強大的仿真引擎和豐富的模型庫,為dsp控制系統的設計帶來了極大的便利。
1 vissim/ecd簡介
vissim/ecd(vissim/embedded controls developer)是一套集成型軟件,可快速完成ti公司生產的ti
c2000系列的dsp控制系統原型機的開發測試工作,可為控制算法及指定的片內外設生成標準ansic定點代碼,并進行仿真;支持tif243,lf2407,f2808,f2812以及msp430微控制器的評估板(evms/ezdsps)。
vissim/ecd提供特定的目標模塊來生成片上設備的代碼。這些模塊包括模擬與數字輸入、簡易pwm輸出、事件捕捉、i/o端口的讀寫、正交編碼器輸入、六通道帶死區的矢量pwm輸出及can2.0總線等。
vissim/ecd可將控制算法自動生成高質量的定點代碼并編譯鏈接成.out文件,通過jtag接口下載到目標dsp中,目標dsp和vissim/ecd之間的實時通信是通過jtag接口來實現的,當改變控制器增益和顯示dsp控制器圖形響應時,vissim/ecd的用戶圖形界面將被保留。
2 直流電機閉環控制系統的設計
2.1 控制系統結構
完整的控制系統結構如圖1所示,該系統的控制變量是塑料板旋轉的角度,塑料板是通過一個可旋轉的軸固定在一個箱體上,其角度的變化是依據電機轉速的改變帶動氣流來控制的,dsp控制器在vissim/ecd開發環境中設計完成,輸出脈寬可調的電壓給晶體管驅動電路,從而控制電機的電樞電壓達到預定的控制效果,編碼器作為角度傳感器將實際的角度信號反饋到dsp控制器,預期角度可在vissim/ecd中實時設定,并通過vissim/ecd的plot窗口實時查看輸出波形。

2.2 dsp控制器的設計
2.2.1 直流電機的控制原理
根據電機學的相關知識,可以得到電動機轉速的表達式:
式中:ua為電樞電壓,ia為電樞電流,ra為電樞電路總電阻,la為電樞電路總電感,ke為感應電動勢計算常數,φ為每極磁通,n為電動機轉速。
由(1)式可知,在保持勵磁磁通不變的情況下,通過調整電樞電壓可以實現對電機的調速,因此使用脈寬調制(pwm)控制電動機的電樞電壓,實現調速。
2.2.2 模擬pi控制算法
在電動機的閉環控制系統中,速度調節一般采用pi算法,即比例積分調節方法。其時域的表達式為:
式中:kp為比例增益,ki為積分增益,e(t)為給定值與實際輸出值構成的控制偏差。通過拉普拉斯變換,可以得到相應的傳遞函數:
因為tms320lf2407是定點dsp,因此必須將該算法離散化,這就需要用到vissim/fixed point模塊。
2.2.3 定點dsp的q格式表示方法及vissim/fixed point模塊
如果一個16位數被規格化為qk格式,則其一般表達式為:
從表達式不難看出,不同的q所表示的數不盡范圍不同,而且精度也不相同,q越大,數值范圍越小,精度越高,相反,q越小,數值范圍越大,精度就越低。
在vissim/fixed point模型庫中的模塊都是通過這種q格式來表示不同范圍和精度的小數的。它設定了兩個數字,前一個數表示二進制小數點的位置,后一個數表示字長(對于本文所用的dsp,此處為16),q值為后面的數減去前面的數。(詳見圖2和圖3所示的模塊)
在仿真過程中若出現溢出現象,則此類定點模塊能夠自動調節小數點的位置,以確保獲得最大的動態顯示范圍,并以高亮度顯示溢出警示。
2.2.4 基于vissim/ecd的定點pi控制算法設計
根據公式(3)設計的定點pi控制算法如圖2所示,圖中比例增益和積分增益均為局部變量。convert是數據類型轉換模塊,將浮點數轉換為定點模塊能夠接收的scaled
int數據類型。定點積分模塊和限制模塊是層次結構模塊。定點積分模塊為離散化的1/s,其展開如圖3所示,限制模塊是用來限制輸出的上下限的,保證pwm占空比在大于0的q15范圍內(tipwm的接口模塊為q15格式)。


2.3 增量式編碼器原理及接口電路設計
2.3.1 增量式編碼器與dsp的連接
tms320lf2407a dsp提供了增量式編碼器的接口電路,用定時器2作為可逆計數器計算編碼脈沖的個數。編碼脈沖通過2個引腳qep1/cap1和qep2/cap2輸入到芯片內部。因為這兩個引腳是捕捉單元1、2復用引腳,所以這里要禁用其捕捉功能。考慮到選用的tms320lf2407
evm板給編碼器輸出引腳已經提供了上拉電阻,故選擇集電極開路輸出方式的兩相編碼器即可(因為測量角度范圍在360°以內,所以無需零位脈沖引腳)。這里選用的是測量精度為360ppr(每轉輸出脈沖數)的小型增量式光電編碼器。
當引腳qep1輸入的編碼脈沖超前qep2引腳輸入的編碼脈沖90°相位時,定時器2增計數;反之,定時器2減計數。另外,編碼器接口電路利用輸入編碼脈沖的4個邊沿加工成4倍頻的計數脈沖信號和計數方向信號,這樣就使編碼器的分辨率提高了4倍,因此該增量式編碼器的角度分辨率為0.25°,完全可以滿足此系統的精度要求。
2.3.2 vissim/ecd的編碼器接口模塊設置
前面提到的vissim/ecd可提供特定的目標模塊來生成片上設備的代碼。編碼器接口模塊就是其中之一,模塊的連接如圖4所示,圖中編碼器模塊有3個輸出接口。其中t2cnt為定時器2的增減計數的輸出,再通過一個計數值和角度轉換模塊,則可實時地輸出當前塑料板旋轉的角度,并作為反饋信號傳給pi控制器。

另外,晶體管的飽和狀態和截止狀態使其擁有了開關特性,比較適合做電機的驅動電路,這里選用tip122達靈頓管,基極偏置電阻取500歐姆,電機選取額定電壓為5v,轉速為5400r/min的高速直流電機。
2.4 生成控制器及接口模塊定點c代碼、編譯、鏈接并仿真
在vissim/ecd操作界面中,將定點pi控制算法模塊、編碼器接口模塊以及t1pwm接口模塊打包生成一個compound block,選擇代碼生成命令創建相應的定點c代碼。然后調用ccs對其編譯并鏈接,生成可下載到dsp中的.out文件,通過spectrumdigital的并口仿真器將執行代碼下載到dsp的ram中進行實物仿真并調試,當各項性能指標符合設計要求后,則可將代碼燒寫至flash中完全dsp的開發工作,仿真結果如圖5所示。

該系統pi控制器的比例增益和積分增益分別設定為0.4和0.8,圖5中,"×"代替實時設定的角度,"o"代表塑料板實際的角度,其閉環控制效果很好地達到了要求;但由于外界的干擾因數以及塑料板所在軸和箱體之間的摩擦力,會導致系統短時間的輕微振蕩和精度的缺失。
結語
由直流電機閉環控制系統的設計可看出,在vissim/ecd環境中運用模塊的搭建及少量參數的設定就能開發出功能完整的dsp控制系統原型機,并完成相關的測試工作,這樣可以縮短系統的開發周期,贏得寶貴的時間。
評論