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