由SA51和MSP430F1121組成的驅(qū)動(dòng)控制系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞:SA51 MSP430F1121 脈寬調(diào)制 DCO 捕獲
現(xiàn)在的電子設(shè)備往往要求體積小、重量輕、效率高,通常在苛刻的環(huán)境條件下,尤其在軍工產(chǎn)品中,設(shè)計(jì)者非常希望使用單片或雙片系統(tǒng)以盡可能地減少器件數(shù)量。SA51和MSP430F1121以其自身的高集成度和強(qiáng)大功能成為組成雙片驅(qū)動(dòng)控制系統(tǒng)的理想選擇方案。該方案可廣泛應(yīng)用在對(duì)電機(jī)、電磁閥的控制系統(tǒng)中。
1 SA51簡(jiǎn)介
1.1 SA51的特點(diǎn)參數(shù)
SA51是由美國(guó)APEX公司生產(chǎn)的脈寬調(diào)制功率放大器,它能為負(fù)載提供5A的連續(xù)電流。該全橋放大器能在很寬的供電電源范圍內(nèi)工作,對(duì)橋上臂和下臂開(kāi)關(guān)的驅(qū)動(dòng)和控制電路混合集成在器件內(nèi),用戶(hù)只需提供與TTL電平兼容的PWM信號(hào)就可進(jìn)行四象限模式的幅值和方向同時(shí)控制,而且與數(shù)字控制器的接口非常簡(jiǎn)單。SA51的內(nèi)部電路可提供適當(dāng)?shù)乃绤^(qū)時(shí)間間隔以保護(hù)橋的四個(gè)N溝道場(chǎng)效應(yīng)管,場(chǎng)效應(yīng)管的導(dǎo)通電阻很低,而開(kāi)關(guān)速度卻很高(最高可達(dá)500kHz),效率可達(dá)97%。對(duì)于空閑/休眠模式或錯(cuò)誤保護(hù),SA51提供有與TTL兼容的禁止管腳來(lái)關(guān)斷四個(gè)場(chǎng)效應(yīng)管。SA51采用8腳TO-3封裝,可安裝在小型散熱器上或直接焊裝在印制電路板上。
SA51的電氣極限參數(shù)如下:
*供電電壓+Vs:80V;
*峰值輸出電流:7A;
*邏輯供電電壓Vcc:16V;
*內(nèi)部功耗:120W;
*管腳焊接溫度(10s):300℃;
*環(huán)境溫度:150℃;
*貯存溫度:-65~150℃;
*使用溫度:-65~125℃;
**輸入端輸入電壓:0~Vcc;
*禁止端輸入電壓:0~Vcc。
1.2 SA51的結(jié)構(gòu)功能
SA51放大器的原理框圖如圖1所示?,F(xiàn)將各管腳的功能描述如下:
Vcc:內(nèi)部邏輯電路和MOSFETS上臂和下臂驅(qū)動(dòng)器的低壓電源;
Vs:H橋供電電源,MOSFETS從這個(gè)電源端獲得輸出電流,該腳電壓范圍為Vcc~+80V,MOSFETS標(biāo)稱(chēng)值為100V。該腳到地的旁路電容可濾除電壓被動(dòng),以確保在開(kāi)關(guān)期間供電電壓的穩(wěn)定,該電容應(yīng)盡量靠近Vs管腳;
AOUT:半橋的輸出腳A,當(dāng)PWM輸入為高時(shí),該腳輸出為Vs;
BOUT:半橋的輸出腳B,當(dāng)PWM輸入為低時(shí),該腳輸出為Vs;
RSENSE:兩個(gè)半橋下臂的共同聯(lián)接點(diǎn),可連接一個(gè)到Vs地的檢測(cè)電阻以檢測(cè)電流,實(shí)際上該腳也可以直接連到Vs的地。但該管腳相對(duì)于Vs地的最大允許電壓±2V;
GND:輸入邏輯和Vcc的地;
PWM輸入:用于輸入與TTL兼容的PWM信號(hào),占空比在0%~100%之間;
輸入禁止:用于關(guān)斷四個(gè)MOSFETS管,該腳為1時(shí)為關(guān)斷,為0時(shí)使能。
2 MSP430F1121簡(jiǎn)介
2.1 MSP430F1121的主要功能
MSP430F1121是美國(guó)TI公司生產(chǎn)的單片機(jī),它采用高效16位RISC內(nèi)核,具有27條指令和125ns的指令周期,使用1.8~3.6V(最高到4.1V)低電壓供電,程序代碼加密后無(wú)法解密。該單片機(jī)只需外接一個(gè)電阻和一個(gè)電容即可實(shí)現(xiàn)高精度斜率A/D轉(zhuǎn)換,同時(shí)可串行在線(xiàn)編程。該器件具強(qiáng)大的中斷功能和高達(dá)10萬(wàn)次的擦寫(xiě)次數(shù),其定時(shí)器A在比較模式下可方便地實(shí)現(xiàn)D/A轉(zhuǎn)換或生成脈寬調(diào)制輸出信號(hào)。MSP430F1121內(nèi)含4kB+256B Flash以及256B RAM,采用20腳SOWB或TSSOP封裝,P1、P2端口的14個(gè)I/O引腳均可獨(dú)立編程為輸入、輸出和中斷狀態(tài),也可以整體作為端口使用。
2.2 MSP430F1121的時(shí)鐘系統(tǒng)
MSP430F1121有ACLK(輔助時(shí)鐘)、MCLK(主系統(tǒng)時(shí)鐘)和SMCLK(子系統(tǒng)時(shí)鐘)三種時(shí)鐘。這三種時(shí)鐘可由低頻振蕩器LFXT1CL經(jīng)1、2、4、8分頻后得到低頻時(shí)鐘。MCLK和SMCLK也可由DCOCLK經(jīng)1、2、4、8分頻后得到高頻時(shí)鐘。DCOCLK則可將DCO振蕩器產(chǎn)生的頻率經(jīng)軟件FLL后得到。
圖2 電機(jī)轉(zhuǎn)速控制原理圖
DCOCLK的軟件FLL方法為:DCO基礎(chǔ)頻率由內(nèi)部或外部電阻向DC發(fā)生器注入的電流決定(可由DCOR控制位來(lái)選擇片內(nèi)或片外電阻),當(dāng)DCOCLK為5MHz時(shí)選片內(nèi)電阻,DCOCLK大于5MHz時(shí),選擇片外電阻。它的基礎(chǔ)頻率可由電阻控制位Rsel2、Rsel1、Rsel0分頻8為個(gè)標(biāo)稱(chēng)頻率范圍,然后由控制位DCO2、DCO1、DCO0再進(jìn)行分頻調(diào)節(jié),調(diào)整位MOD4~MOD0可用于控制DCO和DCO+1兩種頻率之間的切換。
下面是一個(gè)設(shè)置時(shí)鐘的程序,該程序以將ACLK設(shè)置為4096Hz(LFXT1CLK/8=32768Hz/8=4096Hz)、DCOCLK設(shè)置為8MHz、MCLK和SMCLK選擇DCOCLK為例進(jìn)行編寫(xiě),其中delta=DCOCLK/ACLK=8M/4096=1953。
#include "msp430x11x1.h"
#include "stdio.h"
#define delta 1953
void setdco(void);
main(void)
{
WDTCTL=WDTPW+WDTHOLD; //關(guān)看門(mén)狗
BCSCTL1|=DIVA1+DIVA0; //ACLK=LFXT1CLK/8
BCSCTL2|=DCOR; //用外部電阻
Setdco();
}
void setdco(void)
{
int fir1,fir2,lable1=1;
fir2=0;
TACTL=TASSEL1+TACLR;
CCTL2=CCIS0+CM0+CAP;
TACTL|=MC1;
For(;lable1==1;)
{
lable2:
if((CCTL2&CCLFG)==0) //測(cè)試是否捕獲到數(shù)
goto lable2;
CCTL2=CCTL2-CCLFG; //清除捕獲標(biāo)志
fir1=CCR2;
fir1=fir1-fir2;
fir2=CCR2;
if(delta>fir1)
{ DCOCTL=DCOCTL+1;
if(DCOCTL= =255)
{if((BCSCTL1&7)= =7)
lable1=0;
else
BCSCTL1=BCSCTL1+1;
}
}
if(delta<fir1)
{DCOCTL=DCOCTL-1;
if(DCOCTL= =0)
{if((BCSCTL1&7)= =0)
lable1=0;
else
BCSCTL1=BCSCTL1-1;
}
}
if(delta= =fir1)
lable1=0;
}
CCTL2=0;
TACTL=0;
}
2.3 ASP430F1121的定時(shí)設(shè)置
定時(shí)器Timer-A有三個(gè)捕獲/比較模塊,其中比較模式下可方便地生成PWM信號(hào)。下面是一個(gè)Timer-A的捕獲/比較模塊1在比較模式下生成占空比為50%的PWM信號(hào)的例程。它的PWM輸出模式為3:PWM置位/復(fù)位,改變CCR0的值可改變PWM周期(如SMCLK=8MHz,則P1.2輸出的PWM的周期為CCR0/8M=8000/8M=1ms),而改變CCR1的值則可改變占空比(0%~100%)。
#include "msp430x11x1.h"
#include "stdio.h"
main(void)
{
WDTCTL=WDTPW+WDTHOLD; //關(guān)看門(mén)狗
TACTL=TASSEL1+TACLR; //定時(shí)器時(shí)鐘源選SMCLK
CCR0=8000;
CCTL1=OUTMOD0+OUTMOD1;
CCR1=4000;
P1DIR|=4;
P1SEK=|4;
TACTL|=MCO;
}
定時(shí)器Timer-A工作在捕獲模式下可用于時(shí)間事件的精確定位。如在選定的輸入引腳上產(chǎn)生選定脈沖觸發(fā)沿,則定時(shí)器計(jì)數(shù)的值將被復(fù)制到捕獲寄存器CCRx中。下面是捕獲/比較模塊2工作在捕獲模式下的例程,其中定時(shí)器時(shí)鐘源選SMCLK,增計(jì)數(shù)模式,捕獲源為P1.3腳輸入的脈沖,捕獲次數(shù)為100次,捕獲的頻率數(shù)據(jù)放數(shù)組READCCR2[]中。
#include "msp430x11x1.h"
#include "stdio.h"
main(void)
{ int READCCR2[100];
WDTCTL=WDTPW+WDTHOLD; //關(guān)看門(mén)狗
TACTL=TASSEL1+TACLR; //定時(shí)器時(shí)鐘源選SMCLK
CCTL2=CM0+CAP;
TACTL|=MCO;
for(I=0;I<100;I++)
{TST:
IF((CCTL2&CCIF)==0)
GOTO TST;
CCTL2=CCTL2-CCIFG;
READCCR2[I]=CCR2;
}
}
3 電機(jī)轉(zhuǎn)速控制系統(tǒng)的設(shè)計(jì)
圖2是由微控制器MSP430F1121和驅(qū)動(dòng)器SA51組成的小功率電機(jī)轉(zhuǎn)速控制系統(tǒng)原理圖。圖中,V1~V4為T(mén)VS管(Transient Voltage Suggressor Diode:瞬態(tài)電壓抑制二極管),當(dāng)承受一個(gè)高能量的瞬時(shí)過(guò)壓脈沖時(shí),其工作阻抗可立即降至導(dǎo)通值,以允許大電流通過(guò),并將電壓箝位到預(yù)定水平,以有效保護(hù)電路中的精密元器件免受損壞。箝位響應(yīng)時(shí)間僅為1ps(10-12S),電路中采用TVS管可有效防止Aout和Bout輸出電壓高于Vss或低于地。
圖2中的U2為T(mén)PS77101電源管理芯片,V0=Vref(1+R1/R2),其中,Vref=1.1834V,選R2為30kΩ,若使V0為4.0V,則R1應(yīng)選72kΩ,為了減少噪聲和抑制振蕩,R1和R2應(yīng)盡可能地接近SENSE端,上電時(shí),RESET會(huì)提供給單片機(jī)一個(gè)復(fù)位信號(hào)。
單片機(jī)的P2.0、P2.1可作為電機(jī)四種模態(tài)控制輸入端,增量式編碼器的輸出脈沖經(jīng)光電隔離后將送入捕獲I/O端P1.3,在將要求的狀態(tài)和實(shí)際轉(zhuǎn)速比較后,經(jīng)過(guò)一定的控制算法處理后,改變CCR1寄存器的值,從而改變調(diào)制信號(hào)占空比,最后經(jīng)PWM輸出I/O端P1.2輸出到SA51的PWM輸入端,以控制電機(jī)的轉(zhuǎn)速。
這里給出的僅是由SA51與MSP430F1121組成的驅(qū)控制的簡(jiǎn)單閉環(huán)應(yīng)用,事實(shí)上,這種組合可應(yīng)用在很多場(chǎng)合,如利用A/D轉(zhuǎn)換或利用串行通訊進(jìn)行模擬或數(shù)字的轉(zhuǎn)換和位置控制等。