永磁無刷直流電動機體積小,功率密度高,控制性能好,效率很高,在工業、車輛、家電、計算機及軍事等諸多領域得到廣泛應用,尤其在電動車應用領域倍受青睞,是當前電動車電動機研發的熱點.可以預見,隨著永磁材料和電力電子器件的價格的進一步降低,以及無刷直流電機驅動的理論研究和實踐應用的不斷完善和提高,永磁無刷直流電機及其控制系統將在很多場合有廣泛的應用前景.該文通過大量的文獻資料閱讀,在對永磁無刷直流電機的發展和現狀有了一個整體了解的基礎上,針對復合式轉子結構永磁無刷直流電機研制了一套弱磁恒功率控制系統,提出一種"雙模控制"的控制策略,成功的實現了基速以下恒轉矩控制,基速以上弱磁恒功率控制.該文的主要內容包括:首先介紹了永磁無刷直流電機的應用現狀和基本原理,以及永磁無刷直流電機弱磁恒功率控制運行機理和難點;其次,對采用復合式永磁無刷直流電機本體的弱磁控制,詳述了其本體結構和整套控制系統,給出了硬件電路和軟件編程,提出了相關控制策略;最后,系統成功運行,獲得了相關實驗數據和波形,驗證了控制策略和系統設計的正確性.
標簽:
無刷直流電機
恒功率
弱磁控制
上傳時間:
2013-04-24
上傳用戶:user08x
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。
TLC2543的特點
(1)12位分辯率A/D轉換器;
(2)在工作溫度范圍內10μs轉換時間;
(3)11個模擬輸入通道;
(4)3路內置自測試方式;
(5)采樣率為66kbps;
(6)線性誤差±1LSBmax;
(7)有轉換結束輸出EOC;
(8)具有單、雙極性輸出;
(9)可編程的MSB或LSB前導;
(10)可編程輸出數據長度。
TLC2543的引腳排列及說明
TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1
TLC2543電路圖和程序欣賞
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit clock=P1^0; sbit d_in=P1^1;
sbit d_out=P1^2;
sbit _cs=P1^3;
uchar a1,b1,c1,d1;
float sum,sum1;
double sum_final1;
double sum_final;
uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[]={0xf7,0xfb,0xfd,0xfe};
void delay(unsigned char b) //50us
{
unsigned char a;
for(;b>0;b--)
for(a=22;a>0;a--);
}
void display(uchar a,uchar b,uchar c,uchar d)
{
P0=duan[a]|0x80;
P2=wei[0];
delay(5);
P2=0xff;
P0=duan[b];
P2=wei[1];
delay(5);
P2=0xff;
P0=duan[c];
P2=wei[2];
delay(5);
P2=0xff;
P0=duan[d];
P2=wei[3];
delay(5);
P2=0xff;
}
uint read(uchar port)
{
uchar i,al=0,ah=0;
unsigned long ad;
clock=0;
_cs=0;
port<<=4;
for(i=0;i<4;i++)
{
d_in=port&0x80;
clock=1;
clock=0;
port<<=1;
}
d_in=0;
for(i=0;i<8;i++)
{
clock=1;
clock=0;
}
_cs=1;
delay(5);
_cs=0;
for(i=0;i<4;i++)
{
clock=1;
ah<<=1;
if(d_out)ah|=0x01;
clock=0;
}
for(i=0;i<8;i++)
{
clock=1;
al<<=1;
if(d_out) al|=0x01;
clock=0;
}
_cs=1;
ad=(uint)ah;
ad<<=8;
ad|=al;
return(ad);
}
void main()
{
uchar j;
sum=0;sum1=0;
sum_final=0;
sum_final1=0;
while(1)
{
for(j=0;j<128;j++)
{
sum1+=read(1);
display(a1,b1,c1,d1);
}
sum=sum1/128;
sum1=0;
sum_final1=(sum/4095)*5;
sum_final=sum_final1*1000;
a1=(int)sum_final/1000;
b1=(int)sum_final%1000/100;
c1=(int)sum_final%1000%100/10;
d1=(int)sum_final%10;
display(a1,b1,c1,d1);
}
}
標簽:
2543
TLC
上傳時間:
2013-11-19
上傳用戶:shen1230