【摘 要】:介紹由美國TI公司的數(shù)字信號處理器TMS320LF2407A和SGS公司的步進電機驅(qū)動芯片PBL3717A構(gòu)成的兩相混合式步進電機的控制系統(tǒng)。
【關(guān)鍵詞】:PBL3717A DSP 步進電機 控制系統(tǒng)
引言
步進電機是數(shù)字控制系統(tǒng)中的一種重要執(zhí)行元件,廣泛應(yīng)用于各種控制系統(tǒng)中。它是一種將電脈沖信號轉(zhuǎn)換為位移或轉(zhuǎn)速的控制電機,輸入一個脈沖信號,電機就轉(zhuǎn)動一個角度或前進一步。其機械角位移和轉(zhuǎn)速分別與輸入電機繞組的脈沖個數(shù)和脈沖頻率成比例,可以通過改變脈沖頻率在大范圍內(nèi)調(diào)速,易于與計算機或其它數(shù)字元件接口,適用于數(shù)字控制系統(tǒng)。隨著超大規(guī)模集成電路技術(shù)的迅速發(fā)展,DSP(Digital Signal Processor數(shù)字信號處理器)的性能價格比得到很大提高,使得DSP在電機控制領(lǐng)域的應(yīng)用愈來愈廣泛。本文介紹由美國TI公司的數(shù)字信號處理器TMS320LF2407和SGS公司的步進電機驅(qū)動芯片PBL3717A構(gòu)成的兩相混合式步進電機的控制系統(tǒng)。
1 DSP性能簡介
美國TI公司的TMS320LF2407A是專為馬達控制而設(shè)計的一款DSP。它采用高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3V,減少了控制器的功耗;40MIPS的執(zhí)行速度使指令周期縮短到25ns(40MHz),從而提高了控制器的實時控制能力。兩個事件管理器模塊EVA和EVB,每個包括:2個16位通用定時器;CAN總線接口模塊;16位的串行外設(shè)(SPI)接口模塊;基于鎖相環(huán)的時鐘發(fā)生器;內(nèi)置正交編碼脈沖(QEP)電路;3個捕獲單元;16通道A/D轉(zhuǎn)換器;8個16位的脈寬調(diào)制(PWM)通道。它們能夠?qū)崿F(xiàn):三相反相器控制;PWM的對稱和非對稱波形;當外部引腳PDPINTx出現(xiàn)低電平時,快速關(guān)閉PWM通道;可編程的PWM死區(qū)控制以防止上下橋臂同時輸出觸發(fā)脈沖;事件管理器模塊適用于控制交流感應(yīng)電機、無刷直流電機、開關(guān)磁阻電阻、步進電阻、多級電機和逆變器。
2 PBL3717A原理與步距控制方法
2.1 PBL3717A的原理簡介
PBL3717A是SGS公司設(shè)計生產(chǎn)的步進電動機單相繞組的驅(qū)動電路,內(nèi)部采用的是H-橋脈寬調(diào)制電路。利用外部邏輯電路構(gòu)成的邏輯分配器或微處理器分配信號,由若干片這種電路和少量無源元件可組成一個完整的多相步進電動機驅(qū)動程序,可實現(xiàn)整步(基本步距)、半步或微步距控制??刂品绞绞请p極性、固定OFF(關(guān)斷)時間的斬波電流控制。下面簡要介紹一下PBL3717A的各引腳功能。如圖1所示,它采用16腳雙列直插塑料封裝。1腳(OUTPUT B)和15腳(OUTPUT A)為輸出端,分別接一相繞組線圈的兩端;2腳(PULSE TIME)外接RC定時元件;3、14腳(Vs)是繞組線圈供電電源,可在10~46V的范圍內(nèi)選擇;4、5、12、13腳(GND)接地端,可接至熱片;6腳(Vss)是IC供電電源接+5V;7、9腳(INPUT 1,INPUT 0)用于選擇繞組線圈電流;8腳(Phase)為相位輸入端,用于控制轉(zhuǎn)動方向;16腳(Sense Resistor)外部繞組電流采樣電阻,采樣信號通過RC低通濾波器送至10腳(Comparator Input),與內(nèi)部電壓比較器的基準電壓進行比較;11腳(Reference)外接參考電壓,改變Reference可實現(xiàn)微步距控制,例如用1片單片機和2片DAC0808 8bit D/A轉(zhuǎn)換電路即可實現(xiàn)256細分控制。在整步、半步、1/4步工作方式下,REFERENCE接固定的+5V,本文僅討論這種情況。
2.2 PBL3717A的步距控制方法
本文所設(shè)計的是兩修配混合式步進電機的控制系統(tǒng),具體驅(qū)動電路如圖所示。其中,PHASE、INPUT 1、INPUT 0(圖中簡寫為PH、I1、I0)為輸入端,OUTPUT A、OUTPUT B(圖中以MA、MB表示)為輸出端。因為本文不考慮細分的情況,所以可以把圖中的DAC(11引腳)直接接+5V電源。
PHASE的作用是控制步進電動機定子繞組中電流的方向。當PHASE=0時,電流從MB流向MA;當PHASE=1時,電流從MA流向MB。PBL3717A對步距的控制是通過選擇I1、I0的不同組合,從而控制繞組電流,達到步距控制的目的。電流的具體數(shù)值由VR、RS決定。計算公式如下:Im=(Vr*0.083)/Rs[A],100%級別;
Im=(Vr*0.050)/Rs[A],60%級別;
Im=(VR*0.016)/Rs[A],20%級別。
PBL3717A能實現(xiàn)三種運行方式。在以下討論中,以A、B表示二相繞組正向電流工作,以A、B表示二相繞組反向電流工作。
?。?)基本步距(整步)工作方式
可用二相激勵四拍方式,即AB→AB→AB→AB實現(xiàn),也可用單相激勵四拍方式,即A→B→A→B實現(xiàn)。
?。?)半步距工作方式
半步距方式采用二相,單相交替激勵的二相八拍方式,即AB→B→AB→A→AB→B→AB→A,這種工作方式是兩相激勵和單相激勵交替出現(xiàn),每一找不到的轉(zhuǎn)距不相等。在二相激勵時的轉(zhuǎn)距是單相的1.4倍,這是因為二相激勵時的轉(zhuǎn)距是單相激勵時轉(zhuǎn)距的矢量合成。如果兩相激勵時,采用I1I0=01方式,使電流降到60%,由于磁路原先有飽和效應(yīng),此時每相轉(zhuǎn)距可能增大到70%左右,兩相合成的轉(zhuǎn)距接近于1。這樣電機就可以近似實現(xiàn)恒轉(zhuǎn)距運行。
?。?)1/4步距工作方式
為了實現(xiàn)1/4步距工作方式,要在整步與半步間插入一個1/4步的狀態(tài)。例如上方的1/4步狀態(tài),A相繞組取100%電流,B相繞組取20%電流。在第一象限由半步A狀態(tài)到半步B狀態(tài)要經(jīng)過4步,即A→A0.2B→AB→0.2AB→B。知道第一象限的矢量圖不難推出其它三個象限的矢量圖,一個循環(huán)需6步完成,即AB→0.2AB→B→0.2AB→AB→A0.2B→A→A0.2B→AB→0.2AB→B→0.2AB→AB→A0.2B→A→A0.2B,其中0.2A、0.2B分別表示A相、B相繞組取20%電流。
3 硬件部分
因為DSP采用3.3V供電,而PBL3717A的工作電壓是+5V,所以要考慮3.3V和5V的電平轉(zhuǎn)換問題。如圖4所示,為5V CMOS,5V TTL和3.3V TTL電平的轉(zhuǎn)換標準。其中,VOH表示輸出高電平的最低電平,VIH表示輸入高電平的最低電平,VIL表示輸入低電平的最高電壓,VOL輸出低電平的最高電壓。從圖中可以看出5V CMOS和3.3V TTL的電平轉(zhuǎn)換標準不同,因此,3.3V器件(LVC)引腳不能直接與5V CMOS器件引腳相連接。在這種情況下,可以采用雙電壓(一邊是3.3V供電,另一邊是5V供電)供電的驅(qū)動器,如TI公司的SN74ALVC164245,SN74LV4245等。而5V TTL和3.3V TTL的電平轉(zhuǎn)換標準相同,所以它們可以直接相連。因為PBL3717A是TTL兼容電路,所以可以直接將DSP的I/O口和PBL3717的相應(yīng)引腳相連。在這里,我們選DSP的端口B中的IOPB0,IOPB1,IOPB2,IOPB3,IOPB4,IOPB4分別與PBL3717A的I1B,I0B,I1A,I0A,PhaseA,PhaseB相連接。
4 軟件部分
本文以步進電機工作在1/4步為例設(shè)計DSP控制軟件。DSP控制軟件采用C語言編寫。從第一拍到第十六拍的控制字分別為:0x0000、0x0004、0x000c、0x0014、0x0010、0x0011、0x0013、0x0031、0x0030、0x0034、0x003C、0x0024、0x0020、0x0021、0x0023、0x0001。將以上數(shù)值存放到數(shù)組Run_Table[]中,可通過循環(huán)程序調(diào)用數(shù)組中的相應(yīng)值賦給端口B的數(shù)據(jù)和方向控制寄存器PBDATDIR,從而通過DSP的端口B來驅(qū)動控制PBL3717A的相應(yīng)引腳來實現(xiàn)步進電機旋轉(zhuǎn)運行。通過修改run_delay(int count)延時子程序的count的值可改變電機的運轉(zhuǎn)速度。下面給出了兩相步進電機1/4步方式下正轉(zhuǎn)的控制程序清單。
/*Filename:Step.c*/
/*IOPB0=I1B,IOPB1=I0B,IOPB2=I1A,IOPB3=10A,IOPB4=PhaseA,IOPB5=PhaseB*/
#include "f2407_c.h"
static int Run_Table[]={0x0000,0x0004,
0x000C,0x0014,0x0010,0x0011,0x0013,0x0031,0x0030,0x0034,0x003C,0x0024,0x0020,
0x0021,0x0023,0x0001};
void main()
?。鹖nt i;
InitCPU();
while(1)
{
for(i=0;i<=15;i++)
{
?。狿BDATDIR=Run_Table[i]|0xff00;
run_delay(10);
?。?
}
?。?
結(jié)語
綜上所述,利用DSP或者其它微處理器,選用兩片或者更多片PBL3717A和少量的無源元件就可組成一個完事穩(wěn)定的多相步進電機的驅(qū)動系統(tǒng),可實現(xiàn)整步、半步或微步距控制。這樣種方法成本低、容易實現(xiàn)、性能穩(wěn)定,是步進電機驅(qū)動系統(tǒng)的一種較好選擇。