關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 二相步進電機驅動芯片TA8435H及其應用

二相步進電機驅動芯片TA8435H及其應用

作者: 時間:2005-06-28 來源:網(wǎng)絡 收藏

摘要:是東芝公司推出的一款單片專用。文中介紹了該的特點、引腳功能和工作原理,給出了采用89C51和82C53作為控制核心的具體電路和相關程序代碼。

關鍵詞:;細分;82C53;89C51

1 主要特點

TA8435H是東芝公司生產(chǎn)的單片正弦細分二相步進電機驅動專用,TA8435H可以驅動二相步進電機,且電路簡單,工作可靠。該芯片還具有以下特點:

●工作電壓范圍寬(10V~40V);

●輸出電流可達1.5A?平均?和2.5A?峰值?;

●具有整步、半步、1/4細分、1/8細分運行方式可供選擇;

●采用脈寬調(diào)制式斬波驅動方式;

●具有正/反轉控制功能;

●帶有復位和使能引腳?

●可選擇使用單時鐘輸入或雙時鐘輸入。

2 引腳功能

TA8435H采用ZIP25封裝形式,圖1為其引腳排列圖。各引腳功能如下:

腳1(S-GND):信號地;

腳2(RESET):復位端,低電平有效,當該端有效時,電路復位到起始狀態(tài),此時在任何激勵方式下,輸出各相都置于它們的原點;

引腳3(ENABLE):使能端,低電平有效;當該端為高電平時電路處于維持狀態(tài),此時各相輸出被強制關閉;

引腳4(OSC):該腳外接電容的典型值可決定芯片內(nèi)部驅動級的斬波頻率(15kHz~80kHz),計算公式為:

fosc=1/?5.15COSC?

式中,COSC的單位為μF?fOSC的單位為kHz。

腳5(CW/CCW):正、反轉控制引腳;

腳6、7(CK2、CK1):時鐘輸入端,可選擇單時鐘輸入或雙時鐘輸入,最大時鐘輸入頻率為5kHz;

腳8、9(M1、M2):選擇激勵方式,00表示步進電機工作在整步方式,10為半步方式,01為1/4細分方式,11為1/8細分方式;

腳10(REF IN):VNF輸入控制,接高電平時VNF為0.8V,接低電平時VNF為0.5V;

腳11(MO):輸出監(jiān)視,用于監(jiān)視輸出電流峰值位置;

腳13(VCC):邏輯電路供電引腳,一般為5V;

腳15、24(VMB、VMA):B相和A相負載電源端;

腳16、19( B、B):B相輸出引腳;

腳17、22(PG-B、PG-A):B相和A相負載地;

腳18、21(NFB、NFA):B相和A相電流檢測端,由該引腳外接電阻和REF-IN引腳控制的輸出電流為:IO=VNF/RNF

腳20、23( A、A):A相輸出引腳。

3 實際電路

筆者為省重點科研項目《智能化大氣污染系統(tǒng)的研究》所設計的電路共需驅動三個二相步進電機,以分別完成進樣、采樣和閥門控制。

圖2是TA8435H的一個典型電路,該電路用一片TA8435H來驅動一個步進電機,輸入信號有使能控制、正反轉控制和時鐘輸入,通過光耦可將驅動器與輸入級進行電隔離,以起到邏輯電平隔離和保護作用;該電路工作在1/8細分模式(M1、M1接高電平),可減小低速時的振動,R8和C1組成復位電路,D1~D4快恢復二極管可用來泄放繞組電流?由于REF IN引腳接高電平,因此VNF為0.8V,輸出級斬波電流為VNF/RNF=0.8/0.8=1A,選用不同的二相步進電機時,應根據(jù)其電流大小選擇合適的R13和R14。

圖3是步進電機核心控制電路,該電路能夠控制如圖2所示的三個步進電機驅動器。本設計采用外部定時/計數(shù)器82C53來給TA8435H提供步進脈沖。因為82C53有三個定時/計數(shù)器,可以驅動三個步進電機控制器,因而能滿足設計要求;另外,82C53的工作方式3是一種方波速率發(fā)生器。在這種方式下,當CPU設置控制字后,輸出將為高電平,在寫完計數(shù)值后就自動開始計數(shù),輸出保持高電平;而當計到一半計數(shù)值時,輸出變低直到計數(shù)到0,此后輸出又變高以重新開始計數(shù)。在計數(shù)期間寫入新的計數(shù)值并不影響現(xiàn)行的計數(shù)過程。但是若在方波半周期結束前和新計數(shù)值寫入后收到GATE脈沖,那么計數(shù)器將在下一個CLK脈沖時裝入新的計數(shù)值并以這個計數(shù)值開始計數(shù)。否則,新的計數(shù)值將在現(xiàn)行半周期結束時裝入計數(shù)值。因此,只要寫入不同的計數(shù)初值,就能控制步進電機的轉速而不需要用軟件來控制高低電平的轉換,因而編程比較容易。本設計將82C53的GATE端全部接高電平,新的計數(shù)值將在現(xiàn)行半周期結束時起作用。

由于采用了定時/計數(shù)器82C53作為步進脈沖產(chǎn)生電路,因此系統(tǒng)編程十分簡單,以下語句為控制一個步進電機的相應程序代碼。

#include <reg52.h>

#include <absacc.h>

#include <intrins.h>

#define A8253A XBYTE[0xB000] //計數(shù)器0地址

#define A8253B XBYTE[0xB100] //計數(shù)器1地址

#define A8253C XBYTE[0xB200] //計數(shù)器2地址

#define A8253D XBYTE[0xB300] //控制字口地址

#define uchar unsigned char

#define uint unsigned int

uint time1; //電機1運行時間

uchar speed1;//電機1運轉速度

sbit en1=P1^0; //電機1使能控制

sbit dir1=P1^1; ///電機1方向控制

uint sum1;

uchar code sdtab[16]={0x30,0x35,0x40,0x45,0x50,0x55,0x60,0x65,0x70,

0x75,0x80,0x85,0x90,0x95,0xa0,0xa5};

圖2

//16個計數(shù)初值,對應16種轉速,初值大小應根據(jù)電機的轉速要求和82C53計數(shù)器CLK端輸入的時鐘頻率決定

main()

{

A8253D=0x16; //計數(shù)器0方式3,只讀寫高位字節(jié)

A8253D=0x56; //計數(shù)器1方式3,只讀寫高位字節(jié)

A8253D=0x96; //計數(shù)器2方式3,只讀寫高位字節(jié)

dir1=1; //運轉方向

time1=200; //運轉200秒

speed1=3; //速度等級3

//以上是電機1的運行參數(shù),實際中?一般先用上位機通過串口將數(shù)據(jù)送入89C51單片機存儲器,然后由單片機按照上位機送入的數(shù)據(jù)來控制步進電機的運行速度、方向和時間。

sum1=time1*20;

//sum1為89C51定時器T0中斷次數(shù),因為定時間隔為0.05秒

A8253A=sdtab[speed1];

//向82C53計數(shù)器0送初值,OUT0腳輸出方波

en1=1;//電機1開始運轉

TMOD=0x01;

TL0=-46080%256;

TH0=-46080/256;

ET0=1;

EA=1;

TR0=1;

//89C51的計數(shù)器0用于定時器,定時間隔0.05秒,方式1,中斷方式,晶振11.0592M

while(10);?

}

void T0_srv(void) interrupt 1 using 1

{//中斷服務程序,執(zhí)行完后,電機停止運行

TL0=-46080%256;

TH0=-46080/256;

sum1--;

if(sum1==0)

{

en1=0?// 電機停止運行

}

}

圖3

4 結論

采用TA8435H構成步進電機驅動器,利用82C53輸出步進脈沖的設計方案具有占用CPU時間短、編程容易、結構簡單、成本低、可靠性好、抗干擾能力強等優(yōu)點,因此可在控制和測量領域中得到廣泛應用。



評論


相關推薦

技術專區(qū)

關閉