基于单片机AT89S52的直流电机PWM调速控制系统.docx

上传人:b****3 文档编号:5357447 上传时间:2022-12-15 格式:DOCX 页数:15 大小:261.83KB
下载 相关 举报
基于单片机AT89S52的直流电机PWM调速控制系统.docx_第1页
第1页 / 共15页
基于单片机AT89S52的直流电机PWM调速控制系统.docx_第2页
第2页 / 共15页
基于单片机AT89S52的直流电机PWM调速控制系统.docx_第3页
第3页 / 共15页
基于单片机AT89S52的直流电机PWM调速控制系统.docx_第4页
第4页 / 共15页
基于单片机AT89S52的直流电机PWM调速控制系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于单片机AT89S52的直流电机PWM调速控制系统.docx

《基于单片机AT89S52的直流电机PWM调速控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89S52的直流电机PWM调速控制系统.docx(15页珍藏版)》请在冰豆网上搜索。

基于单片机AT89S52的直流电机PWM调速控制系统.docx

基于单片机AT89S52的直流电机PWM调速控制系统

第一章:

前言

1.1前言:

直流電機的定義:

將直流電能轉換成機械能(直流電動機)或將機械能轉換成直流電能(直流發電機)的旋轉電機。

近年來,隨著科技的進步,直流電機得到了越來越廣泛的應用,直流具有優良的調速特性,調速平滑,方便,調速範圍廣,超載能力強,能承受頻繁的衝擊負載,可實現頻繁的無極快速起動、制動和反轉,需要滿足生產過程自動化系統各種不同的特殊要求,從而對直流電機提出了較高的要求,改變電樞回路電阻調速、改變電壓調速等技術已遠遠不能滿足現代科技的要求,這是通過PWM方式控制直流電機調速的方法就應運而生。

採取傳統的調速系統主要有以下的缺陷:

模擬電路容易隨時間飄移,會產生一些不必要的熱損耗,以及對雜訊敏感等。

而用PWM技術後,避免上述的缺點,實現了數字式控制模擬信號,可以大幅度減低成本和功耗。

並且PWM調速系統開關頻率較高,僅靠電樞電感的濾波作用就可以獲得平滑的直流電流,低速特性好;同時,開關頻率高,快回應特性好,動態抗干擾能力強,可獲很寬的頻帶;開關元件只需工作在開關狀態,主電路損耗小,裝置的效率高,具有節約空間、經濟好等特點。

隨著我國經濟和文化事業的發展,在很多場合,都要求有直流電機PWM調速系統來進行調速,諸如汽車行業中的各種風扇、刮水器、噴水泵、熄火器、反視鏡、賓館中的自動門、自動門鎖、自動窗簾、自動給水系統、柔巾機、導彈、火炮、人造衛星、太空船、艦艇、飛機、坦克、火箭、雷達、戰車等場合。

1.2本設計任務:

任務:

單片機為控制核心的直流電機PWM調速控制系統

設計的主要內容以及技術參數:

功能主要包括:

1)直流電機的正轉;

2)直流電機的反轉;

3)直流電機的加速;

4)直流電機的減速;

5)直流電機的轉速在數碼管上顯示;

6)直流電機的啟動;

7)直流電機的停止;

第二章:

總體設計方案

總體設計方案的硬體部分詳細框圖如圖一所示。

鍵盤向單片機輸入相應控制指令,由單片機通過P1.0與P1.1其中一口輸出與轉速相應的PWM脈衝,另一口輸出低電平,經過信號放大、光耦傳遞,驅動H型橋式電動機控制電路,實現電動機轉向與轉速的控制。

電動機的運轉狀態通過數碼管顯示出來。

電動機所處速度級以速度檔級數顯示。

正轉時最高位顯示“三”,其他三位為電機轉速;反轉時最高位顯示“F”,其他三位為電機轉速。

每次電動機啟動後開始顯示,停止時數碼管顯示出“0000”。

1、系統的硬體電路設計與分析

電動機PWM驅動模組的電路設計與實現具體電路見下圖。

本電路採用的是基於PWM原理的H型橋式驅動電路。

PWM電路由複合體管組成H型橋式電路構成,四部分電晶體以對角組合分為兩組:

根據兩個輸入端的高低電平決定電晶體的導通和截止。

4個二極體在電路中起防止電晶體產生反向電壓的保護作用,防止電動機兩端的電流和電晶體上的電流過大的保護作用。

在實驗中的控制系統電壓統一為5v電源,因此若複合管基極由控制系統直接控制,則控制電壓最高為5V,再加上三極管本身壓降,加到電動機兩端的電壓就只有4V左右,嚴重減弱了電動機的驅動力。

基於上述考慮,我們運用了TLP521-2光耦集成塊,將控制部分與電動機的驅動部分隔離開來。

輸入端各通過一個三極管增大光耦的驅動電流;電動機驅動部分通過外接12V電源驅動。

這樣不僅增加了各系統模組之間的隔離度,也使驅動電流得到了大大的增強。

在電動機驅動信號方面,我們採用了占空比可調的週期矩形信號控制。

脈衝頻率對電動機轉速有影響,脈衝頻率高連續性好,但帶帶負載能力差脈衝頻率低則反之。

經實驗發現,當電動機轉動平穩,但加負載後,速度下降明顯,低速時甚至會停轉;脈衝頻率在10Hz以下,電動機轉動有明顯跳動現象。

而具體採用的頻率可根據個別電動機性能在此範圍內調節。

通過P10輸入高電平信號,P11輸入低電平,電機正轉;通過P10輸入低電平信號,P11輸入高電平,電機反轉;P10、P11同時為高電平或低電平時,電機不轉。

通過對信號占空比的調整來對電機轉速進行調節。

2、系統的軟體設計

本系統編程部分工作採用KELI-C51語言完成,採用模組化的設計方法,與各副程式做為實現各部分功能和過程的入口,完成鍵盤輸入、按鍵識別和功能、PWM脈寬控制和數碼管顯示等部分的設計。

單片機資源分配如下表:

P0

顯示模組介面

鍵盤中斷

P1

鍵盤模組介面

P1.0/P1.1

PWM電機驅動介面

系統時鐘

①PWM脈寬控制:

本設計中採用軟體延時方式對脈衝寬度進行控制,延時程式函數如下:

/*****************延時函數*************************/

delays()

{

uchari;

for(i=5000;i>0;i--);

}

②鍵盤中斷處理副程式:

採用中斷方式,按下鍵,完成延時去抖動、鍵碼識別、按鍵功能執行。

要實現按住加/減速鍵不放時恒加或恒減速直到放開停止,就需在判斷是否鬆開該按鍵時,每進行一次增加/減少一定的占空比。

③顯示副程式:

利用數組方式定義顯示緩存區,緩存區有8位,分別存放各個數碼管要顯示的值。

④定時中斷處理程式:

採用定時方式1,因為單片機使用12M晶振,可產生最高約為65.5ms的延時。

對定時器置初值B1E0H可定時20ms,即系統時鐘精度可達0.02s。

當20ms定時時間到,定時器溢出則回應該定時中斷處理程式,完成對定時器的再次賦值,並對全局變數time加1,這樣,通過變數time可計算出系統的運行時間。

3、軟體設計中的特點:

對於電機的啟停,在PWM控制上使用漸變的脈寬調整,即開啟後由停止勻加速到默認速度,停止則由於當前速度逐漸降至零。

這樣有利於保護電機。

鍵盤處理上採用中斷方式,不必使程式對鍵盤反復掃描,提高了程式的效率。

 

第三章:

系統硬體電路設計

整體框圖如下:

 

第四章:

系統功能調試

仿真整體圖如下:

直流電機的調試功能仿真如下圖:

1、正轉時,電機正轉,數碼管最高位顯示“三”,其他三位先所給定頻率,如下圖:

2、反轉時,電機反轉,數碼管最高位顯示“F”,其他三位先所給定頻率,如下圖:

3、輸出波形如下:

4、加速分5檔,波形依次如下:

5、減速分5檔,波形如下:

第五章:

程式

見附件1

第六章:

PCB圖

見附件2

第七章:

元件清單

見附件3

第8章:

心得體會

附件1

/***************基於單片機AT89C51的直流電機PWM調速控制系統*************/

/*******************地點:

廣東松山職業技術學院************************/

/****************班級:

2009級檢測技術及應用****************************/

/*****************指導老師:

張軍濤***********************************/

/***************時間:

2011年7月1日***********************************/

/************頭檔*********/

#include

#include

#include

/**************************/

/********自定義變數********/

#defineuintunsignedint//自定義變數

#defineucharunsignedchar

chargw,sw,bw,qw;

ucharj;//定時次數,每次20ms

ucharf=5;//計數的次數

sbitP10=P1^0;//PWM輸出波形1

sbitP11=P1^1;//PWM輸出波形2

sbitP12=P1^2;//正反轉

sbitP13=P1^3;//加速

sbitP14=P1^4;//減速

sbitP15=P1^5;//停止

sbitP16=P1^6;//啟動

uchark;

uchart;//脈衝加減

/**************************/*

/*********控制位定義********************/

ucharcodesmg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71};//程式存儲區定義字型碼表

chardataled[4]={0x08,0x04,0x02,0x01};//位碼

uintx;//數碼管顯示的數值

display();//數碼管顯示

delays();//延時函數

key();

displays();

/*****************************************/

/***************主函數********************/

main(void)

{

TMOD=0x51;//T0方式1定時計數T1方式1計數

TH0=0xb1;//裝入初值20MS

TL0=0xe0;

TH1=0x00;//計數567

TL1=0x00;

TR0=1;//啟動t0

TR1=1;//啟動t1

gw=sw=bw=qw=0;//數碼管初始化

P0=0xc0;

P2=1;

while

(1)//無限迴圈

{

display();//數碼管顯示

key();

}

}

/*****************************************/

/***************數碼管顯示****************/

display()

{

uchari;

gw=x%10;//求速度個位值,送到個位顯示緩衝區

sw=(x/10)%10;//求速度十位值,送到十位顯示緩衝區

bw=(x/100)%10;//求速度百位值,送到百位顯示緩衝區

qw=x/1000;//求速度千位值,送到千位顯示緩衝區

for(i=0;i<4;)

{

P2=led[i];

if(i==0)//顯示個位

{

P0=smg[gw];

delays();

}

elseif(i==1)//顯示十位

{

P0=smg[sw];

delays();

}

elseif(i==2)//顯示百位

{

P0=smg[bw];

delays();

}

elseif(i==3)//顯示千位

{

if(k==0)//正轉時顯示"三"

{

P0=0x49;

delays();

}

else

{

P0=0x71;//反轉時顯示"F"

}

}

i++;

}

}

/*******************************************************/

/*****************延時函數*************************/

delays()

{

uchari;

for(i=5000;i>0;i--);

}

/************************************************/

/*********t0定時*中斷函數*************/

voidt0()interrupt1using2

{

TH0=0xb1;//重裝t0

TL0=0xe0;

f--;

if(k==0)

{

if(f

P10=1;

else

P10=0;

P11=0;

}

else

{

if(f

P11=1;

else

P11=0;

P10=0;

}

if(f==0)

{

f=5;

}

j++;

if(j==50)

{

j=0;

x=TH1*256+TL1;//t1方式1計數,讀入計數值

TH1=0x00;

TL1=0x00;

x++;

display();

}

}

/****************按鍵掃描**************/

key()

{

if(P12==0)//如果按下,

{

while(!

P12)//去抖動

display();

k=~k;

}

if(P16==0)//啟動

{

while(P16==0);

IE=0x8a;

}

if(P13==0)//加速

{

while(P13==0);

t++;

}

if(t>=5)

t=5;

if(P14==0)//減速

{

while(P14==0);

t--;

}

if(t<1)

t=1;

if(P15==0)//停止

{

while(P15==0);

EA=0;

P10=0;

P11=0;

}

}

/******************************************************/

附件2:

附件3:

元件

數量(個)

元件

數量(個)

光電耦合器:

TLP521-2

1

三極管8550

4

按鍵

5

三極管8050

5

自鎖按鍵

1

1N4007

4

At89s52

1

四位一體數碼管

1

12M晶振

1

電容104

1

Led

1

直流電機

1

電阻1K

3

電容22P

2

電阻10K

1

電解電容47P/16V

2

74LS04

1

下載口

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1