搜索
您的当前位置:首页正文

基于单片机的直流电机控制设计性实验报告

来源:好走旅游网


设计题目:直流电机控制电路设计

一 设计目的 1

掌握单片机用PWM实现直流电机调整的基本方法,掌握直流电

机的驱动原理。 2

学习模拟控制直流电机正转、反转、加速、减速的实现方法。

二 设计要求

用已学的知识配合51单片机设计一个可以正转、反转或变速运动的直流电机控制电路,并用示波器观察其模拟变化状况。 三 设计思路及原理

利用单片机对PWM信号的软件实现方法。MCS一51系列典型产品8051具有两个定时计数器。因为PWM信号软件实现的核心是单片机内部的定时器,所以通过控制定时计数器初值,从而可以实现从8051的任意输出口输出不同占空比的脉冲波形。从而实现对直流电动机的转速控制。

。AT89C51的P1.0—P1.2控制直流电机的快、慢、转向,低电平有效。P3.0为PWM波输出,P3.1为转向控制输出,P3.2为蜂鸣器。PWM控制DC电机转速,晶振为12M,利用定时器控制产生占空比可变的PWM波,按K1键,PWM值增加,则占空比增加,电机转快,按K2键,PWM值减少,则占空比减小,电机转慢,当PWM值增加到最大值255或者最小值1时,蜂鸣器将报警 四 实验器材

DVCC试验箱 导线若 电源等器件 PROTUES仿真软件 KRIL软件 五 实验流程与程序 #include < reg51.h > sbit K1 =P1^0 ; 增加键 sbit K2 =P1^1 ; 减少键 sbit K3 =P1^2 ; 转向选择键 sbit PWMUOT =P3^0 ; PWM波输出 sbit turn_around =P3^1 ; 转向控制输出 sbit BEEP =P3^2 ; 蜂鸣器 unsigned int PWM; void Beep(void);

void delay(unsigned int n); void main(void) {

TMOD=0x11; //设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536-TH)/fose/12} TL0=0;

TH1=PWM ; //脉宽调节,高8位 TL1=0;

EA=1; //开总中断 ET0=1; //开T0中断

ET1=1; //开T1中断 TR0=1 ; // T0定时允许 while(1) {

if(K3==0&&K1==1&&K2==1) // 转向 {

turn_around=!turn_around; }

while(K3==0); //检测K3是否释放 do{

PWM++ ;

if(PWM>0xfe)//防止PWMS计数溢出 {

PWM=0xff; }

if(PWM==0xff)Beep() ; 响 delay(3000); }

while(K1==0&&K2==1); do{

PWM-- ; if(PWM<1)

{

PWM=1; }

if(PWM==1)Beep() ; delay(3000); }

while(K1==1&&K2==0); } }

void timer0() interrupt 1 using 2 // 定时器0中断服务程序 {

TR1=0 ; //T1禁止 TH0=0 ; //置T0定时常数 TL0=0 ;

TH1=PWM ; //置T1定时常数 TL1=0;

TR1=1 ; //T1允许 PWMUOT=0 ;// PWM波输出0 }

void timer1() interrupt 3 using 3 //定时器1中断服务程序 {

TR1=0 ; //T1禁止 PWMUOT=1 ; //PWM波输出1 }

void Beep(void) //蜂鸣器子程序 {

unsigned char i; for (i=0;i<100;i++) {

delay(100);

BEEP=!BEEP; }

BEEP=1; delay(100); }

void delay(unsigned int n) {

while(n--) ; }

六 Proteus仿真截图

C2R1110020pF直流电机PWM控制原理U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X1C3C110uF20pF18FREQ=12MHz9XTAL2ABCDRSTR121K293031PSENALEEA转向K3慢K2快K112345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U2:ALS113274LS08Q3R1100Q12N2222AR31002N2222ASOUNDERU2:BU3:A174LS04246574LS08Q2R4100Q42N2222AR21002N2222A

七 实验结果

此次试验通过仿真系统进行了仿真,按下相应的开关,可实现控制直流电机的加速、减速及转向。 八 实验结论与心得

通过软件的设计及运行,实验达到了预期的结果,实现了电机的正转、反转,加速和减速设计。设计过程中遇到了很多的问题,但是我们没有半途而废,加深了对知识的理解,一点一点的分析。总而言之,这次课程设计让我受益匪浅。在摸索该如何设计电路使之实现所需功能的过程中,培养了我的设计思维,增加了实际操作能力,也让深深地体会到了自己学习知识的不足之处,对于知识的理解程度不够深,自己以为明白的实际上不明白。在以后的学习过程中,我会重视这些问题,逐渐改变自己的学习习惯,不断的进步!

因篇幅问题不能全部显示,请点此查看更多更全内容

Top