俞 洪
(北京聯(lián)合大學,中國 北京100011)
在工業(yè)自動化領域中,電動機控制是特別重要的一部分,現(xiàn)代電動機控制技術變得特別重要的原因,也就是因為,電動機控制產(chǎn)品在工業(yè)控制領域需要的越來越大,而微處理器在電動機控制領域中用途也是越來越廣泛。 然而,基于單片機的傳統(tǒng)的控制策略不能滿足需要的原因,也正是增加的處理數(shù)據(jù)量對實時性要求的提高。 隨著數(shù)字信號處理器(DSP)的迅速發(fā)展及性價比的不斷提高,數(shù)字信號處理器應用于電動機控制領域已經(jīng)成為一種趨勢。 本文闡述了一種以TMS320LF2407 為主處理的DSP 芯片作為控制核心的步進電機控制系統(tǒng)的設計。
系統(tǒng)使用DSP 芯片, 并使用軟件程序驅動步進電機的這種步進電機控制系統(tǒng),步進電機的轉速、轉動的角度以及轉動的次數(shù)等可以在一定范圍內(nèi)自由設定,是通過軟件編程的方法得以實現(xiàn),方便靈活地控制步進電機的運行狀態(tài)也可以使用這種方式,這樣就可以滿足不同用戶的要求。步進電機控制系統(tǒng)采用TMS320LF2407 為硬件電路設計的核心,通過通信電路將接收到的數(shù)據(jù)來控制電機的運行。 硬件電路主要包括步進電機驅動器、鍵盤顯示電路。 整個系統(tǒng)分為五個部分組成:TMS320LF2407 DSP 中央控制器, 反相器74LS06, 光電隔離器4N25,驅動芯片ULN2003A 和步進電動機,系統(tǒng)主要原理框圖如圖1所示:
圖1
CCS,(Code Composer Studio 代碼生成室) 是TI 公司DSP 產(chǎn)品的軟件開發(fā)工具的集成環(huán)境,這一開發(fā)工具軟件將編輯、編譯、鏈接和調(diào)試及圖形、圖像顯示等多功能于一體。 軟件仿真和硬件仿真是兩種不同的開發(fā)環(huán)境。不同的開發(fā)環(huán)境,具有不同的功能。軟件仿真使用CCS軟件,在DSP 芯片上運行模擬程序。
CCS 有幾個版本,現(xiàn)在最新到V3.1,一般使用V2.1 或V2.2。 另外,根據(jù)TI 的DSP 分為C2000、C5000 和C6000 系列,則CCS 也相應有對應的版本。 本系統(tǒng)使用的是CCS 2(C2000)這一版本。
CCS 完成了系統(tǒng)軟件的開發(fā)和調(diào)試。它提供了一套編程,維護,編譯,調(diào)試環(huán)境可以編譯連接生成COFF(通用對象文件)格式的可執(zhí)行文件的匯編語言和C 語言程序, 并且可以把程序下載到目標DSP 上運行調(diào)試。 CCS 開發(fā)流程如圖2 所示。
圖2
系統(tǒng)軟件設計之前,必須先按照應用系統(tǒng)的目標與確定信號處理的要求和系統(tǒng)的性能指標,描述一般使用數(shù)學運算序列、數(shù)據(jù)流圖、自然語言或正式的符號。
根據(jù)高級語言編寫的系統(tǒng)仿真的要求。 一般情況下,會對輸入信號適當?shù)奶幚?,目的是實現(xiàn)該系統(tǒng)的最終目標,不同的方法導致不同的系統(tǒng)性能。 要得到最佳的系統(tǒng)性能,就必須在這一步確定最佳的處理方法,即數(shù)字信號處理的算法(Algorithm),因此這一步也稱算法模擬階段。
因為系統(tǒng)軟件是建立在硬件基礎上的,所以接下來就要根據(jù)硬件來設計最佳的軟件系統(tǒng)。軟件設計和編程主要根據(jù)系統(tǒng)要求和所選的DSP 芯片編寫相應的C 語言程序。
系統(tǒng)的軟件設計完成后,就需要軟件的調(diào)試。 軟件的調(diào)試一般借助于DSP 開發(fā)工具,如軟件模擬器、DSP 開發(fā)系統(tǒng)或仿真器等。 調(diào)試DSP 算法時一般采用比較實時結果與模擬結果的方法,如果實時程序和模擬程序的輸入相同,則兩者的輸出應該一致。 應用系統(tǒng)的其他軟件可以根據(jù)實際情況進行調(diào)試。 系統(tǒng)的軟件調(diào)試完成后,就可以將軟件脫離開發(fā)系統(tǒng)而直接在應用系統(tǒng)上運行。當然,DSP 系統(tǒng)的開發(fā),特別是軟件開發(fā)是一個需要反復進行的過程,雖然通過算法模擬基本上可以知道實時系統(tǒng)的性能,但實際上模擬環(huán)境不可能做到與實時系統(tǒng)環(huán)境完全一致,而且將模擬算法移植到實時系統(tǒng)時必須考慮算法是否能夠實時運行的問題。 如果算法運算量太大不能在硬件上實時運行,則必須重新修改或簡化算法。
2.3.1 主程序流程圖
DSP 在系統(tǒng)中處于從屬地位,它必須根據(jù)PC 機或者是鍵盤的操作和指令來決定自己下一步動作。主程序主要用來對下位機系統(tǒng)包括鍵盤控制芯片、液晶進行初始化。初始化程序執(zhí)行完后開啟中斷,等待中斷的到來,并對鍵盤掃描,判斷是否有鍵按下。之后根據(jù)送來的操作命令進入某個子程序。以后如果工作正常,將循環(huán)進行上述操作。主程序流程圖如圖3 所示:
圖3
2.3.2 PWM 波生成程序設計
一個PWM 信號是一串不同寬度的脈沖序列。 這些脈沖被均勻地分布在固定長度的循環(huán)周期,因此,在每個周期中有一個脈沖。 PWM(載波)周期是這個固定長度的時間間隔也就是周期,PWM(載波)頻率是它的倒數(shù)。 另外一個具有所期望值的調(diào)制信號決定或調(diào)制PWM脈沖寬度。
比較單元和相關電路所有三種PWM 波形的產(chǎn)生,需要對相同的事件管理寄存器進行配置。 TMS320LF2407 總共有12 路PWM 輸出,在這里使用EVA 模塊,輸出四路即PWM1-PWM4。 在PWM1-PWM4引腳上輸出占空比不同的方波, 采用EVA 模塊中的通用定時器1 產(chǎn)生比較時鐘。
2.3.3 鍵盤掃描程序設計
鍵盤的掃描碼由DSP 的I/O 擴展地址0x8001 給出, 當有鍵盤輸入時,讀此端口得到掃描碼,當無鍵被按下時讀此端口的結果為0。
DSP 對按鍵有效輸出端進行檢測,當有鍵按下時,發(fā)送讀鍵盤數(shù)據(jù)指令讀取鍵值。 程序對每個鍵值的功能都預先作了設定,根據(jù)讀取的鍵值判斷下一步將要執(zhí)行的功能。
2.3.4 步進電動機DSP 位置控制設計
對步進電機的位置進行控制是最重要用途。步進電機位置控制手段來控制步進電機驅動執(zhí)行機構運行從一個位置到另一個位置。步進電機的位置控制是步進電機一大優(yōu)勢。位置控制子程序框圖如圖4 所示:
圖4
2.3.5 步進電動機的正反轉設計
通過脈沖分配實現(xiàn)步進電動機的正反轉:按照給定的通電換相順序,通過DSP 的PWM 輸出口向驅動電路發(fā)出控制脈沖。 利用DSP 的PWM1-PWM4 如圖所示, 即DSP 芯片的IOPA6 (56)、IOPA7(54)、IOPB0(52)和IOPB1(47)引腳,向四相步進電動機各相傳送控制信號。此次設計采用步進電動機的四相四拍工作方式, 通電換相為AB→BC→CD→DA→AB。
圖5
2.3.6 步進電動機的加減速設計
步進電動機的最主要用途就是實現(xiàn)位置控制??刂撇竭M電動機帶動執(zhí)行機構從一個位置運行到另一個位置叫做步進電動機的位置控制。 步進電機的優(yōu)勢是步進電機的位置控制。
步進電機的位置控制的做法:步進電機的每一步,步數(shù)就減1,如果不丟失,當?shù)竭_目標位置時,執(zhí)行機構的步數(shù)減為0。 因此,步數(shù)為等于0,以確定是否移動到目標位置的信號,步進電機停止運行。
步進電機驅動執(zhí)行機構進行加速,恒速和減速。如果啟動時間,速度上升到設定的步伐, 發(fā)生的現(xiàn)象將是由于超過限制的起始頻率,步進電機發(fā)生失步,從而無法正常啟動。到終點突然停了下來,步進電機過沖,原因是慣性的作用。如果要使步進電機不產(chǎn)生失步和過沖現(xiàn)象,就要非常緩慢的加速和減速,但這樣會影響執(zhí)行機構的工作效率。 步進電機的加速和減速有嚴格的要求,就是要用最快的速度(或最短的時間),確保移動到指定的位置,并且不會失步和過沖的前提下。
最簡單的是勻加速和勻減速曲線,減速曲線是一條直線,所以容易編程得以實現(xiàn)。直線加速時,加速度為常數(shù),因此要求扭矩應該是相同的。然而,當步進電機的轉速的增加,感應電動勢和繞組的電感的作用,繞組的電流將逐漸減小的電磁轉矩隨轉速的增加而減小,因此,實際加速度隨著頻率的增加而減小。
為了滿足加減速的要求,步進電動機運行通常按照加減速曲線進行。本程序設計以10 個定時器計數(shù)時鐘的速度作為級差。如果想使步進脈沖的周期越長, 速度越慢就要把定時器的周期寄存器的值變大。因此,在加速時,速度每提升一級時,應該將定時器的周期值減10;反之,在減速時,速度每下降一級,應該將定時器的周期值加10。
在計算機上安裝編譯軟件CCS 2 后,在計算機桌面上將出現(xiàn)兩個快捷 方 式 圖標, 一個 是Setup CCS 2 (C2000), 另 一 個是CCS 2(C2000)。 Setup CCS 2(C2000)是用來對改編譯器的運行環(huán)境進行配置;CCS 2(C2000)為程序仿真調(diào)試集成環(huán)境軟件。 CCS 集成開發(fā)環(huán)境不能直接將匯編源代碼或C 語言源代碼文件Build 生成DSP 可執(zhí)行代碼。 必須使用項目(Project)來管理整個設計和調(diào)試過程。 項目保存為*.pjt 文件。
1)雙擊桌面上的Setup CCS 2(C2000)圖標,進入CCS 設置窗口,“Import Configuration”。
2)在出現(xiàn)的窗口中進行設置:
圖6
3)設置完成后,自動打開CCS 軟件。
4)按照步驟建立工程文件,將已編寫好的程序拷到DSP 芯片中,進行下載、編譯、運行。 如圖7 所示。
圖7
反復這個過程直到程序完成預期的功能。
[1]劉和平,等.基于TMS320LF240X 系列DSP 原理及電機控制應用[M].北京航空航天大學出版社,2006,10.
[2]萬達淳,代作曉,華建文.基于DSP 的多路四相步進電機控制器的設計與實現(xiàn)[J].科學技術與工程,2008,4(8):1994-1997.
[3]哈爾濱工業(yè)大學,成都電機廠,編著.步進電動機[M].北京:科學出版社.1979.
[4]黃詩涌,王曉初,廖永進,徐震,易理告.一種高性能的步進電機運動控制系統(tǒng)設計[J].微計算機信息,2006(6-1).