基于单片机AT89c51直流电机调速控制系统.docx
- 文档编号:3126265
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:18
- 大小:337.86KB
基于单片机AT89c51直流电机调速控制系统.docx
《基于单片机AT89c51直流电机调速控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89c51直流电机调速控制系统.docx(18页珍藏版)》请在冰豆网上搜索。
基于单片机AT89c51直流电机调速控制系统
第一章:
前言
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
第八章:
心得体会
略
附件1
/***************基于单片机AT89C51的直流电机PWM调速控制系统*************/
/*******************地点:
松山职业技术学院************************/
/****************班级:
2021级检测技术及应用****************************/
/*****************指导教师:
军涛***********************************/
/***************时间:
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--
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 AT89c51 直流电机 调速 控制系统