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