基于DSP實現(xiàn)的步進電機控制器的設計
引 言
DSP(Digital Signal Processor)是一種特別適合于進行數(shù)字信號處理運算的微處理器,其采用先進的軟、硬件結(jié)構(gòu),其內(nèi)部的程序空間和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù),并且具有事件模塊管理功能及快速的中斷處理功能,其以高性能及日趨低價位的特點,越來越廣泛地應用于信息處理、控制系統(tǒng)中。TMS320LF2407芯片作為一款定點DSP控制器尤為適合于控制系統(tǒng),其所包含的事件管理模塊,可以極為方便的實現(xiàn)電機數(shù)字化控制。步進電機是數(shù)字控制系統(tǒng)的一種常見的執(zhí)行元件,其接收數(shù)字控制信號(電脈沖信號),并轉(zhuǎn)換成與之相對應的角位移或直線位移。步進電機具有開環(huán)控制無累計誤差的優(yōu)點,控制系統(tǒng)結(jié)構(gòu)簡單,因而得到了廣泛的應用。本文所介紹的是一種基于TMS320LF2407實現(xiàn)的步進電機控制系統(tǒng)的設計。
1 系統(tǒng)硬件構(gòu)成
整個系統(tǒng)分為五個部分組成:DSP中央控制器TMS320LF2407,步進電機及驅(qū)動,光電編碼器,鍵盤及液晶顯示部分,以及整個系統(tǒng)的外圍電源電路及看門狗復位電路組成,如圖1所示。在這個系統(tǒng)設計中,由鍵盤設定給定轉(zhuǎn)速(位置),通過中央控制器TMS320LF2407來產(chǎn)生PWM脈沖信號來控制步進電機的轉(zhuǎn)速(位置),可以采用光電編碼器對步進電機的轉(zhuǎn)速(位置)進行采樣檢測實現(xiàn)閉環(huán)控制,也可以采用開環(huán)控制無需轉(zhuǎn)速(位置)信號,以上過程中的多個變量、參數(shù)可以在液晶顯示屏上得到直觀地反映。整個硬件結(jié)構(gòu)簡單直觀,中央控制器TMS320LF2407還剩余豐富的I/O及中斷資源,在此設計基礎上具有一定的擴展空間。
圖1 硬件原理方框圖
本設計采用的是55BF03型三相反應式步進電機,其接收數(shù)字控制信號(電脈沖信號),并轉(zhuǎn)換成與之相對應的角位移或直線位移。此設計是用中央控制器TMS320LF2407產(chǎn)生的PWM環(huán)形脈沖信號經(jīng)過信號分配以及功率放大傳送給步進電機實現(xiàn)對步進電機的角位置或直線位移控制,所以此步進電機的驅(qū)動結(jié)構(gòu)設計由以下幾部分組成,脈沖信號,信號分配,功率放大,步進電機及負載,如下圖2所示。在這個設計中基于對力矩、平穩(wěn)、噪音及減少角度等方面的考慮,在這里設計成產(chǎn)生一個三相六拍信號來進行步進電機的控制,通電順序為A-AB-B-BC-C-CA,步距角為1.5°,功率放大采用的是典型的單壓驅(qū)動方式。
圖2 步進電機驅(qū)動方框圖
光電編碼器的選擇,可以選擇增量式編碼器或絕對值編碼器,前者適用于速度檢測,后者適用于位置檢測。編碼器的A、B信號與正交解碼脈沖單元QEP相對應的引腳連接,可以檢測出步進電機的速度(位置),并且能夠判斷出步進電機的旋轉(zhuǎn)方向。
在顯示方面,由于液晶顯示器(LCD)點陣式或圖形式不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線和漢字,并且可以實現(xiàn)屏幕上下左右滾動、動畫、閃爍、文本顯示等功能,功耗小、體積小、質(zhì)量輕、超薄等諸多其它顯示器無法比擬的優(yōu)點,用途十分廣泛。本系統(tǒng)設計中用到的是HY-12864圖形液晶顯示器,它內(nèi)置兩塊HD61202液晶顯示控制驅(qū)動器,此屏幕的最大顯示范圍為128*64。HY-12864引出的以下控制信號:讀寫信號(R/W)、數(shù)據(jù)或指令信號(RS)、左、右屏片選信號(CS1、CS2)、使能信號(E)及數(shù)據(jù)總線(DB0——DB7),由TMS320LF2407的I/O口直接控制,連接原理圖如下圖3所示。
圖3 液晶顯示HY-12864與TMS320LF2407的硬件連接圖
2 軟件設計
在整個軟件設計中,共包含主程序、步進電機驅(qū)動程序、液晶顯示驅(qū)動程序,按鍵掃描中斷程序、編碼器檢測換算程序等程序塊。
下面著重介紹一下步進電機驅(qū)動程序及編碼器檢測換算程序。在步進電機驅(qū)動程序設計中,充分運用TMS320LF2407控制器的事件管理模塊。在TMS320LF2407中各有一個16位比較寄存器CMPRx(x=4、5、6),每個比較器各有兩個比較PWM輸出引腳,產(chǎn)生3路PWM輸出信號,控制電機轉(zhuǎn)速(位置),其輸出引腳極性將由控制寄存器(ACTR)的控制位來決定,根據(jù)需要選擇高電平或低電平作為開通信號。在PWM信號調(diào)制中需要周期一定的載波,這時用到了定時器3,它以內(nèi)部CPU時鐘作為輸入,工作于連續(xù)增/減計數(shù)模式下,產(chǎn)生PWM脈沖輸出,產(chǎn)生的脈沖為一個環(huán)形可變脈沖,這時由T3PR定時周期下溢和上溢時產(chǎn)生中斷,刷新周期值,進行PWM調(diào)整,計算方式如下:
最后,此設計中把給定轉(zhuǎn)速轉(zhuǎn)化成相對應的二進制碼,用29297除以給定轉(zhuǎn)速即得到PWM基數(shù),所得到的PWM數(shù)值再乘以3得到定時器3的T3PR的周期值,對應不同頻率的PWM脈沖輸出,如圖4,電機運行中斷程序框圖。
圖4 電機運行中斷程序框圖
光電編碼器的檢測利用正交解碼脈沖單元QEP,A、B分別與正交解碼脈沖單元的兩個通道QEP1和QEP2相連。正交解碼脈沖單元QEP具有方向檢測功能,它的方向檢測邏輯辨明兩個序列中哪一個是先導序列,接著可以產(chǎn)生方向信號作為所選定時器的方向輸入,如果QEP1輸入的是先導序列,則所選的定時器增計數(shù);反之QEP2輸入的是先導序列,則所選的定時器減計數(shù)。注意兩列正交輸入脈沖的兩個邊沿都被正交解碼脈沖單元計數(shù),因此產(chǎn)生的時鐘頻率是每個輸入序列的4倍。在本系統(tǒng)中把定時器2用為作為計數(shù)器,它以正交解碼脈沖單元產(chǎn)生的時鐘作為輸入,與正交解碼脈沖單元QEP1、2共同作用,對編碼器信號進行檢測,換算成所對應的轉(zhuǎn)速(位置)信號。
本文所介紹的步進電機控制方案,其創(chuàng)新點在于利用TMS320LF2407的事件管理模塊,可以簡單有效的控制步進電機的速度(位置)。系統(tǒng)中并設計了相應的人機界面,進行相應變量的顯示、操作,同時該系統(tǒng)留有一定的資源可以方便系統(tǒng)的擴展。