欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1670|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

光電電機(jī)設(shè)計(jì)參考

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:319402 發(fā)表于 2018-4-30 15:33 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1.采用全控型的開關(guān)功率元件進(jìn)行脈寬調(diào)制(PulseWidth Modulation,簡(jiǎn)稱PWM)已成為直流電機(jī)新的調(diào)速方式。
2.本設(shè)計(jì)采用由單片機(jī)控制實(shí)現(xiàn)的脈沖計(jì)數(shù)法。
3.本設(shè)計(jì)在硬件電路上共分為5個(gè)部分,單片機(jī)部分、按鍵輸入、PWM斬波電路、測(cè)速電路以及模擬負(fù)載
4.單片機(jī)接口電路
本設(shè)計(jì)采用的是STC的89C52單片機(jī)
工作電壓范圍為5.5V-3.4V
晶振選用石英晶振,頻率為20MHz
采用的是12V直流通過7805三端穩(wěn)壓器穩(wěn)壓到5V,給單片機(jī)和顯示部分供電。
在第9腳-RST,復(fù)位腳外,加了一個(gè)復(fù)位按鍵和復(fù)位電路,復(fù)位原理為:
第一次上電時(shí),+5V通過給電容充電,于是此時(shí)電容相當(dāng)于短路,+5V直接加到RST腳上,單片機(jī)自動(dòng)復(fù)位。過了極短的時(shí)間,電容充電完畢,此時(shí)電容則相當(dāng)于開路,于是RST腳被電阻R113拉為低,單片機(jī)開始正常工作。
    當(dāng)RESET鍵按下時(shí),+5V通過按鍵加到RST腳上,單片機(jī)復(fù)位,RESET鍵彈起之后,RST腳重新被R113拉為低,單片機(jī)開始正常工作。
5.按鍵輸入電路
6.PWM驅(qū)動(dòng)電路
如圖所示,R21為P1.1口的上拉電阻10k,R20為限流電阻。
當(dāng)P1.1口為低時(shí),8050的基極電平被拉低,此時(shí)8050截止,所以9012的基極為高,9012截止,電機(jī)兩端沒有電壓。
當(dāng)P1.1口為高時(shí),8050基極電壓也為高,于是8050導(dǎo)通, 8050的集電極電壓為低,此時(shí)9012的基極也為低,9012導(dǎo)通,+12V加到電機(jī)兩端,電機(jī)開始轉(zhuǎn)動(dòng)。
所以,當(dāng)P1.1口為高時(shí),電機(jī)兩端電壓也為高;P1.1口為低時(shí),電機(jī)兩端電壓也為低。于是當(dāng)P1.1口產(chǎn)生PWM信號(hào)輸出時(shí),電機(jī)兩端會(huì)產(chǎn)生同樣的PWM波形,從而達(dá)到調(diào)節(jié)電機(jī)轉(zhuǎn)速的目的。
7.測(cè)速電路
R25=510  R22=10K   R24=10K
8.軟件編程  按鍵系統(tǒng)
其對(duì)應(yīng)程序如下:
voidclear_shake()
{
if(nn ==0)
{n = 0;}
if(nn1 == 0)
{
nn = 1;
    if(shake == 0&&n >= 100)//shake就是被按下的鍵
       {
       shake_1 = 1;
       nn1 = 1;
       nn = 0;
       }   
}
9.PWM
PWM調(diào)速子程序是放在定時(shí)器0中斷中進(jìn)行的,中斷設(shè)置如下:
//------T0-----------T0用作斬波
    ET0 = 1;//中斷允許位
    time0_set = 300;
    time0_tmp = 65536-(time0_set)*fosc/12;//
    TH0 = (time0_tmp/256);   
    TL0 = (time0_tmp%256);   
    TF0 = 0;//CLR TF0
    TR0  =1;//SETB TR0
    PT0 = 1; //高優(yōu)先級(jí)
下面是PWM的中斷子程序:
void time0_int(void) interrupt 1
{
    TH0=(time0_tmp/256);
    TL0=(time0_tmp%256);
    if(cut== 1)
       {
       time0_tmp= 65536-time0_set*20/12;
       cut= 0;
       }
    else
       {
       time0_tmp= 65536-(time0 - time0_set)*20/12;
       cut= 1;
       }
}
10.測(cè)速系統(tǒng)
//-------外部中斷1--------用做測(cè)速
    IT1= 1; //為跳沿觸發(fā)方式,引腳INT1上的電平從高到低的負(fù)跳變有效。
    IE1= 0; //中斷請(qǐng)求標(biāo)志
    EX1= 0; //外部中斷1允許位
    PX1= 0; //為高優(yōu)先級(jí)
//------T1-----------T1用做計(jì)數(shù)
    TH1= 0;
    TL1= 0;
    TF1= 0;//中斷請(qǐng)求位
    TR1= 0;//計(jì)數(shù)器1關(guān)閉
    ET1= 0; //禁止T1溢出中斷
//--------------------------------
    IE   = 0xaa;//
TMOD = 0x91;//
//---------------------------
外部中斷1中斷服務(wù)子程序如下:
void out1_int(void) interrupt 2
{
IE1 = 0;
EX1 = 0;
TR1 = 0;
TH1_1 = TH1;
TL1_1 = TL1;
TH1 = 0;
TL1 = 0;
m = 1;
}
獲取脈沖寬度值子函數(shù)如下:
void getwidth_1()
{
TH1 = 0;
TL1 = 0;
n = 0;
n1 = n;
while(INT1==1&&((n-n1)<30))//n為每1MS +2
{}
if(INT1==0)
TR1 = 1;   //計(jì)數(shù)器1打開
else
goto out;
//IE1 = 0;//中斷請(qǐng)求標(biāo)志
EX1 = 1;//外部中斷1啟動(dòng)
n = 0;
n1 = n;
while(m==0&&((n-n1)<30))
{}
if(m==0)//M=1,則已經(jīng)進(jìn)入out_int1中斷,若等于0,則說明30MS延時(shí)已過
    {
    TH1_1= 0;
    TL1_1= 0;
    }
out:
IE1 = 0;//中斷請(qǐng)求標(biāo)志
m = 0;
EX1 = 0;//外部中斷允許位
TR1 = 0;
width_1 = (TH1_1*256+TL1_1);//timepr=脈沖寬度 /μS
}
此外,為了穩(wěn)定測(cè)得的轉(zhuǎn)速值,在程序中加了一個(gè)取平均值的函數(shù):
void getwidth()
{
int gw,gw1;
width = 0;
gw1 = 0;
for(gw=0;gw<6;gw++)
    {
GG: getwidth_1();
    if(width_1!= 0)
    widthbuf[gw]= width_1;
    else
    gotoGG;
    }
width= (widthbuf[0] + widthbuf[1] + widthbuf[2] + widthbuf[3] + widthbuf[4] +widthbuf[5])/6;
這段函數(shù)的意思就是,將測(cè)得的連續(xù)6個(gè)不為零的脈沖寬度取平均值,以消除偶然的不穩(wěn)定因素,使轉(zhuǎn)速顯示更加穩(wěn)定。
11.PID調(diào)節(jié)系統(tǒng)     即精確誤差
void PI()
{
EK1 = EK;
EK = speed_set - speed;
EK2 = EK - EK1;
if(PIn == 0)
{
EK2 = 1000;
PIn++;
}
YK = KP*EK + KI*EK2;
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表