单片机控制直流电动机课程设计.docx

上传人:b****2 文档编号:1259303 上传时间:2022-10-19 格式:DOCX 页数:15 大小:197.14KB
下载 相关 举报
单片机控制直流电动机课程设计.docx_第1页
第1页 / 共15页
单片机控制直流电动机课程设计.docx_第2页
第2页 / 共15页
单片机控制直流电动机课程设计.docx_第3页
第3页 / 共15页
单片机控制直流电动机课程设计.docx_第4页
第4页 / 共15页
单片机控制直流电动机课程设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机控制直流电动机课程设计.docx

《单片机控制直流电动机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机控制直流电动机课程设计.docx(15页珍藏版)》请在冰豆网上搜索。

单片机控制直流电动机课程设计.docx

目录

一、设计目的

二、设计任务和要求

三、设计原理分析

四、硬件资源及原理

五、硬件图

六、程序框图

七、程序

八、调试运行

九、仿真截图

十、设计心得体会

一、设计目的

1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中,提高我们的动脑和动手的能力。

2、通过对单片机控制直流电动机控制系统的设计,掌握A/D转换、D/A转换的有关原理,加深对PWM波的理解和使用,同时对单片机的使用更加熟练,通过对简单程序的编写提高我们的逻辑抽象能力。

二、设计任务和要求

任务:

采用单片机设计一个控制直流电动机并测量转速的装置。

要求:

1、通过改变A/D输入端的可变电阻来改变A/D输入电压,D/A输入检测量大小,进而改变直流电机的转速。

2、手动控制。

在键盘上设置两个按键——直流电动机加速键和直流电机减速键。

在手动状态下,每按一次键,电机的转速按照约定的速率改变。

3、键盘列扫描(4*6)。

三、设计原理分析

1.设计思路

本文设计的直流PWM调速系统采用的是调压调速。

系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。

PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。

由定时器来产生宽度可调的矩形波。

通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。

增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。

设计以AT89C51单片机为核心,以键盘作为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。

在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。

本文介绍了直流电机的工作原理和数学模型、脉宽调制控制原理和H桥电路基本原理设计了驱动电路的总体结构,根据模型,利用PROTEUS软件对各个子电路及整体电路进行了仿真,确保设计的电路能够满足性能指标要求,并给出了仿真结果。

2、基本原理

主体电路:

即直流电机PWM控制模块。

PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。

这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。

其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。

四、硬件资源及原理

1.1直流电机调速原理

直流电动机根据励磁方式不同,直流电动机分为自励和他励两种类型。

不同励磁方式的直流电动机机械特性曲线有所不同。

但是对于直流电动机的转速有以下公式:

n=U/Cc-TR内/CrCc其中:

U—电压;—励磁绕组本身的电阻;—每极磁通(Wb);Cc—电势常数;Cr—转矩常量。

由上式可知,直流电机的速度控制既可采用电枢控制法,也可采用磁场控制法。

磁场控制法控制磁通,其控制功率虽然较小,但低速时受到磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差。

所以在工业生产过程中常用的方法是电枢控制法。

图1-1直流电机的工作原理图

电枢控制是在励磁电压不变的情况下,把控制电压信号加到电机的电枢上,以控制电机的转速。

在工业生产中广泛使用其中脉宽调制(PWM)应用更为广泛。

脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。

图1-2电枢电压占空比和平均电压的关系图

根据上图,如果电机始终接通电源时,电机转速最大为,占空比为D=/T,则电机的平均速度为:

,可见只要改变占空比D,就可以得

到不同的电机速度,从而达到调速的目的。

1.2直流调速系统实现方式

PWM为主控电路的调速系统:

基于单片机类由软件来实现PWM,在PWM调速系统中占空比D是一个重要参数在电源电压不变的情况下,电枢端电压的平均值取决于占空比D的大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。

改变占空比D的值有三种方法:

A、定宽调频法:

保持不变,只改变t,这样使周期(或频率)也随之改变。

(图1-2)B、调宽调频法:

保持t不变,只改变,这样使周期(或频率)也随之改变。

(图1-2)C、定频调宽法:

保持周期T(或频率)不变,同时改变和t。

(图1-2)

前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与

系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空

比从而改变直流电动机电枢两端电压。

1.389C51单片机

图1-389C51单片机

2硬件电路设计

2.1pwm波的实现

随计算机技术及电力电子技术的发展,PWM波形采用软件方法实现显得非常灵活和实用,以89C51单片机为控制核心,晶振频率为12MHz定时计数器TO,T1作定时器使用,工作在方式1,定时时间为0.1ms,若PWM波形的频率为50Hz,占空比为1:

1,则和R0载入30H和31H单元的值初始100,若在程序中利用按键产生中断调用来改变30H和31H单元的值就可以改变占空比.系统流程图如图2-1所示:

开始

系统初始化

发加速命令

加速

发减速命令

减速

调用子程序

图2-1程序流程图

2.2直流电动机驱动

在直流电动机的驱动中对大功率的电动机常采用IGBT作为主开关元件,对中小功率的电机常采用功率场效应管作为主开关元件.另外还可以采用集成电路来完成对电机的驱动,系统采用集成电路L298来驱动电机

图2-2L298内部结构和功能引脚图

L298是双H高电压大电流功率集成电路.直接采用L逻辑电平控制,可以驱

动继电器、直流电动机、步进电动机等电感性负载。

其内部有两个完全相同的功率放大回路。

其内部结构和引脚功能如图2-2所示。

L298引脚符号及功能

SENSA、SENSB:

分别为两个H桥的电流反馈脚,不用时可以直接接地

ENA、ENB:

使能端,输入PWM信号

IN1、IN2、IN3、IN4:

输入端,TTL逻辑电平信号

OUT1、OUT2、OUT3、OUT4:

输出端,与对应输入端同逻辑

VCC:

逻辑控制电源,4.5~7VGND:

VSS:

电机驱动电源,最小值需比输入的低电平电压高

当使能端为高电平时,输入端IN1为PWM信号,IN2为低电平信号时,电机正转;输入端IN1为低电平信号,IN2为PWM信号时,电机反转;;IN1与IN2相同时,电机快速停止。

当使能端为低电平时,电动机停止转动。

五、硬件图

六、程序框图

1、主程序框图

系统初始化

启动

从键盘发命令送入intx中(x=0或1)

定时中断给电机输入脉冲

电机转动,数码管显示速度

开始

结束

2、中断服务程序框图

中断响应

设置中断返回地址

返回

七、程序

#include

#defineucharunsignedchar

ucharTABLE[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};

unsignedintfrq1,c;

voiddelay(unsignedintk)

{

unsignedinti,j;

for(i=0;i

{

for(j=0;j<121;j++)

;

}

}

voiddisplay()

{

ucharqian,bai,shi,ge;

qian=0;

bai=0;

shi=0;

ge=0;

c=frq1;

qian=c/1000;

bai=c/100%10;

shi=c/10%10;

ge=c%10;

P1=0x01;

P2=TABLE[qian];

delay(5);

P1=0x02;

P2=TABLE[bai];

delay(5);

P1=0x04;

P2=TABLE[shi];

delay(5);

P1=0x08;

P2=TABLE[ge];

delay(5);

}

voidchang(void)interrupt0using0

{

if(INT0==0)

while(!

INT0)

frq1++;

}

voidmain()

{

unsignedinti=0;

while

(1)

{

TMOD=0x01;

TH0=55536/256;

TL0=55536%256;

TR0=1;

EA=1;

EX0=1;

while(TF0==1)

{ i++;

if(i==10)

{

display();

frq1=0;

TF0=0;

}

}

;

}

}

调速程序

#include"reg51.h"

#include"intrins.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitP20=P2^0;

sbitP21=P2^1;

ucharflag=0;/***高低电平标志***/

bitdirection=0;/***方向标志***/

staticucharconstant=1;//可以改变占空比

voidtime0(void)interrupt1using1

{

staticuchari;

i++;

/**频率为固定的1kHZ左右,只是占空比发生变化**/

if(i<=constant)

flag=1;

if(i<=10&&i>constant)

flag=2;

if(i==10)

i=0;

TH0=0X9C;

TL0=0X9C;

}

/****改变转向标志*****/

voidint1_srv(void)interrupt2using2

{

if(INT1==0)

{

while(!

INT0);

constant--;

if(constant==10)

constant=0;

}

}

/*******中断,调节占空比********/

voidchange(void)interrupt0using0

{

if(INT0==0)

{

while(!

INT0);

constant++;

if(constant==10)

constant=0;

}

}

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

voidmain()

{

EA=1;

TMOD=0x02;

ET0=1;

TR0=1;

EX0=1;

IT0=1;

EX1=1;

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

当前位置:首页 > 工程科技 > 材料科学

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

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