數(shù)字信號(hào)處理(Digital Signal Processing,簡(jiǎn)稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科,。20世紀(jì)60年代以來,,隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展,。數(shù)字信號(hào)處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示,。在過去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用,。德州儀器,、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強(qiáng)的實(shí)力。TMS320LF2407是TI公司主推的一種高性能,、低價(jià)格DSP處理器,,其處理速度達(dá)到30 MIPS,片內(nèi)處理集成RAM、Flash及定時(shí)器外,,還集成了A/D轉(zhuǎn)換器,、PWM控制器及CAN總線控制器等模塊,特別適合于電機(jī),、電源變換等實(shí)時(shí)要求高的控制系統(tǒng),。但是通常設(shè)計(jì)DSP程序的方法是,在DSP的集成開發(fā)環(huán)境CCS中用C語言設(shè)計(jì),,需要花費(fèi)大量的時(shí)間用來編寫和輸入程序代碼,。在Matlab中用圖形化的方式設(shè)計(jì)DSP的程序,能夠縮短產(chǎn)品的開發(fā)時(shí)間,。本文所介紹的是一種基于TMS320LF2407實(shí)現(xiàn)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì),。
1 系統(tǒng)硬件構(gòu)成
整個(gè)系統(tǒng)分為五個(gè)部分組成:DSP中央控制器TMS320LF2407,步進(jìn)電機(jī)及驅(qū)動(dòng),光電編碼器,,鍵盤及液晶顯示部分,,以及整個(gè)系統(tǒng)的外圍電源電路及看門狗復(fù)位電路組成,如圖1所示,。在這個(gè)系統(tǒng)設(shè)計(jì)中,,由鍵盤設(shè)定給定轉(zhuǎn)速(位置),通過中央控制器TMS320LF2407來產(chǎn)生PWM脈沖信號(hào)來控制步進(jìn)電機(jī)的轉(zhuǎn)速(位置),,可以采用光電編碼器對(duì)步進(jìn)電機(jī)的轉(zhuǎn)速(位置)進(jìn)行采樣檢測(cè)實(shí)現(xiàn)閉環(huán)控制,,也可以采用開環(huán)控制無需轉(zhuǎn)速(位置)信號(hào),以上過程中的多個(gè)變量、參數(shù)可以在液晶顯示屏上得到直觀地反映,。整個(gè)硬件結(jié)構(gòu)簡(jiǎn)單直觀,,中央控制器TMS320LF2407還剩余豐富的I/O及中斷資源,在此設(shè)計(jì)基礎(chǔ)上具有一定的擴(kuò)展空間,。
圖1 硬件原理方框圖
本設(shè)計(jì)采用的是55BF03型三相反應(yīng)式步進(jìn)電機(jī),,其接收數(shù)字控制信號(hào)(電脈沖信號(hào)),并轉(zhuǎn)換成與之相對(duì)應(yīng)的角位移或直線位移,。此設(shè)計(jì)是用中央控制器TMS320LF2407產(chǎn)生的PWM環(huán)形脈沖信號(hào)經(jīng)過信號(hào)分配以及功率放大傳送給步進(jìn)電機(jī)實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的角位置或直線位移控制,,所以此步進(jìn)電機(jī)的驅(qū)動(dòng)結(jié)構(gòu)設(shè)計(jì)由以下幾部分組成,脈沖信號(hào),,信號(hào)分配,,功率放大,步進(jìn)電機(jī)及負(fù)載,,如下圖2所示,。在這個(gè)設(shè)計(jì)中基于對(duì)力矩、平穩(wěn),、噪音及減少角度等方面的考慮,,在這里設(shè)計(jì)成產(chǎn)生一個(gè)三相六拍信號(hào)來進(jìn)行步進(jìn)電機(jī)的控制,通電順序?yàn)锳-AB-B-BC-C-CA,步距角為1.5°,,功率放大采用的是典型的單壓驅(qū)動(dòng)方式,。
圖2 步進(jìn)電機(jī)驅(qū)動(dòng)方框圖
步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進(jìn)電機(jī)件。在非超載的情況下,,電機(jī)的轉(zhuǎn)速,、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),,它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為"步距角",它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的,??梢酝ㄟ^控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,,從而達(dá)到調(diào)速的目的,。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),,交流電機(jī)在常規(guī)下使用,。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用,。因此用好步進(jìn)電機(jī)卻非易事,,它涉及到機(jī)械,、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí),。
光電編碼器,是一種通過光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器,。這是目前應(yīng)用最多的傳感器,,光電編碼器是由光柵盤和光電檢測(cè)裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干個(gè)長(zhǎng)方形孔,。由于光電碼盤與電動(dòng)機(jī)同軸,,電動(dòng)機(jī)旋轉(zhuǎn)時(shí),光柵盤與電動(dòng)機(jī)同速旋轉(zhuǎn),,經(jīng)發(fā)光二極管等電子元件組成的檢測(cè)裝置檢測(cè)輸出若干脈沖信號(hào),,通過計(jì)算每秒光電編碼器輸出脈沖的個(gè)數(shù)就能反映當(dāng)前電動(dòng)機(jī)的轉(zhuǎn)速。此外,,為判斷旋轉(zhuǎn)方向,,碼盤還可提供相位相差90º的兩路脈沖信號(hào)。
光電編碼器的選擇,,可以選擇增量式編碼器或絕對(duì)值編碼器,,前者適用于速度檢測(cè),后者適用于位置檢測(cè),。編碼器的A,、B信號(hào)與正交解碼脈沖單元QEP相對(duì)應(yīng)的引腳連接,可以檢測(cè)出步進(jìn)電機(jī)的速度(位置),,并且能夠判斷出步進(jìn)電機(jī)的旋轉(zhuǎn)方向,。
在顯示方面,由于液晶顯示器(LCD)點(diǎn)陣式或圖形式不僅可以顯示字符,、數(shù)字,,還可以顯示各種圖形、曲線和漢字,,并且可以實(shí)現(xiàn)屏幕上下左右滾動(dòng),、動(dòng)畫、閃爍,、文本顯示等功能,,功耗小、體積小,、質(zhì)量輕,、超薄等諸多其它顯示器無法比擬的優(yōu)點(diǎn),用途十分廣泛,。本系統(tǒng)設(shè)計(jì)中用到的是HY-12864圖形液晶顯示器,,它內(nèi)置兩塊HD61202液晶顯示控制驅(qū)動(dòng)器,此屏幕的最大顯示范圍為128*64.HY-12864引出的以下控制信號(hào):讀寫信號(hào)(R/W)、數(shù)據(jù)或指令信號(hào)(RS),、左,、右屏片選信號(hào)(CS1、CS2),、使能信號(hào)(E)及數(shù)據(jù)總線(DB0--DB7),,由TMS320LF2407的I/O口直接控制,連接原理圖如下圖3所示,。
圖3 液晶顯示HY-12864與TMS320LF2407的硬件連接圖
2 軟件設(shè)計(jì)
在整個(gè)軟件設(shè)計(jì)中,,共包含主程序、步進(jìn)電機(jī)驅(qū)動(dòng)程序,、液晶顯示驅(qū)動(dòng)程序,,按鍵掃描中斷程序、編碼器檢測(cè)換算程序等程序塊,。
下面著重介紹一下步進(jìn)電機(jī)驅(qū)動(dòng)程序及編碼器檢測(cè)換算程序,。在步進(jìn)電機(jī)驅(qū)動(dòng)程序設(shè)計(jì)中,充分運(yùn)用TMS320LF2407控制器的事件管理模塊,。在TMS320LF2407中各有一個(gè)16位比較寄存器CMPRx(x=4,、5、6),,每個(gè)比較器各有兩個(gè)比較PWM輸出引腳,,產(chǎn)生3路PWM輸出信號(hào),控制電機(jī)轉(zhuǎn)速(位置),,其輸出引腳極性將由控制寄存器(ACTR)的控制位來決定,,根據(jù)需要選擇高電平或低電平作為開通信號(hào)。在PWM信號(hào)調(diào)制中需要周期一定的載波,,這時(shí)用到了定時(shí)器3,它以內(nèi)部CPU時(shí)鐘作為輸入,,工作于連續(xù)增/減計(jì)數(shù)模式下,產(chǎn)生PWM脈沖輸出,,產(chǎn)生的脈沖為一個(gè)環(huán)形可變脈沖,,這時(shí)由T3PR定時(shí)周期下溢和上溢時(shí)產(chǎn)生中斷,刷新周期值,,進(jìn)行PWM調(diào)整,,計(jì)算方式如下:
電機(jī)轉(zhuǎn)速與電脈沖頻率f的關(guān)系:
最后,此設(shè)計(jì)中把給定轉(zhuǎn)速轉(zhuǎn)化成相對(duì)應(yīng)的二進(jìn)制碼,,用29297除以給定轉(zhuǎn)速即得到PWM基數(shù),,所得到的PWM數(shù)值再乘以3得到定時(shí)器3的T3PR的周期值,對(duì)應(yīng)不同頻率的PWM脈沖輸出,,如圖4,,電機(jī)運(yùn)行中斷程序框圖,。
圖4 電機(jī)運(yùn)行中斷程序框圖
光電編碼器的檢測(cè)利用正交解碼脈沖單元QEP,A、B分別與正交解碼脈沖單元的兩個(gè)通道QEP1和QEP2相連,。正交解碼脈沖單元QEP具有方向檢測(cè)功能,,它的方向檢測(cè)邏輯辨明兩個(gè)序列中哪一個(gè)是先導(dǎo)序列,接著可以產(chǎn)生方向信號(hào)作為所選定時(shí)器的方向輸入,,如果QEP1輸入的是先導(dǎo)序列,,則所選的定時(shí)器增計(jì)數(shù);反之QEP2輸入的是先導(dǎo)序列,則所選的定時(shí)器減計(jì)數(shù),。注意兩列正交輸入脈沖的兩個(gè)邊沿都被正交解碼脈沖單元計(jì)數(shù),因此產(chǎn)生的時(shí)鐘頻率是每個(gè)輸入序列的4倍,。在本系統(tǒng)中把定時(shí)器2用為作為計(jì)數(shù)器,,它以正交解碼脈沖單元產(chǎn)生的時(shí)鐘作為輸入,與正交解碼脈沖單元QEP1,、2共同作用,,對(duì)編碼器信號(hào)進(jìn)行檢測(cè),換算成所對(duì)應(yīng)的轉(zhuǎn)速(位置)信號(hào),。
本文所介紹的步進(jìn)電機(jī)控制方案,,其創(chuàng)新點(diǎn)在于利用TMS320LF2407的事件管理模塊,可以簡(jiǎn)單有效的控制步進(jìn)電機(jī)的速度(位置),。系統(tǒng)中并設(shè)計(jì)了相應(yīng)的人機(jī)界面,,進(jìn)行相應(yīng)變量的顯示、操作,,同時(shí)該系統(tǒng)留有一定的資源可以方便系統(tǒng)的擴(kuò)展,。