| 摘要:介紹了脈寬調(diào)制功率放大器SA51和16位單片機(jī)MSP430F1121的基本特性,給出了由它們組成的兩片式的電機(jī)轉(zhuǎn)速控制系統(tǒng)的簡(jiǎn)單應(yīng)用方法和電路。 關(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ì)橋上臂和下臂開關(guān)的驅(qū)動(dòng)和控制電路混合集成在器件內(nèi),用戶只需提供與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)通電阻很低,而開關(guān)速度卻很高(最高可達(dá)500kHz),效率可達(dá)97%。對(duì)于空閑/休眠模式或錯(cuò)誤保護(hù),SA51提供有與TTL兼容的禁止管腳來關(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所示。現(xiàn)將各管腳的功能描述如下: Vcc:內(nèi)部邏輯電路和MOSFETS上臂和下臂驅(qū)動(dòng)器的低壓電源; Vs:H橋供電電源,MOSFETS從這個(gè)電源端獲得輸出電流,該腳電壓范圍為Vcc~+80V,MOSFETS標(biāo)稱值為100V。該腳到地的旁路電容可濾除電壓被動(dòng),以確保在開關(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)低電壓供電,程序代碼加密后無法解密。該單片機(jī)只需外接一個(gè)電阻和一個(gè)電容即可實(shí)現(xiàn)高精度斜率A/D轉(zhuǎn)換,同時(shí)可串行在線編程。該器件具強(qiáng)大的中斷功能和高達(dá)10萬次的擦寫次數(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控制位來選擇片內(nèi)或片外電阻),當(dāng)DCOCLK為5MHz時(shí)選片內(nèi)電阻,DCOCLK大于5MHz時(shí),選擇片外電阻。它的基礎(chǔ)頻率可由電阻控制位Rsel2、Rsel1、Rsel0分頻8為個(gè)標(biāo)稱頻率范圍,然后由控制位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)行編寫,其中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)看門狗 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)看門狗 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)看門狗 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為TVS管(Transient Voltage Suggressor Diode:瞬態(tài)電壓抑制二極管),當(dāng)承受一個(gè)高能量的瞬時(shí)過壓脈沖時(shí),其工作阻抗可立即降至導(dǎo)通值,以允許大電流通過,并將電壓箝位到預(yù)定水平,以有效保護(hù)電路中的精密元器件免受損壞。箝位響應(yīng)時(shí)間僅為1ps(10-12S),電路中采用TVS管可有效防止Aout和Bout輸出電壓高于Vss或低于地。 圖2中的U2為TPS77101電源管理芯片,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)過一定的控制算法處理后,改變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)換和位置控制等。 |