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

  • 格式:doc
  • 大小:57.50 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

一设计目的

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仿真截图

七实验结果

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

八实验结论与心得

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