基于单片机设计的直流电机论文.docx
《基于单片机设计的直流电机论文.docx》由会员分享,可在线阅读,更多相关《基于单片机设计的直流电机论文.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机设计的直流电机论文
基于单片机设计的直流电机
摘要
电机在各行各业发挥着重要的作用,而电机转速是电机重要的性能指标之一,因而测量电机的转速和电机的调速,使它满足人们的各种需要,更显得重要,而且随着科技的发展,PWM调速成为电机调速的新方式。
随着数字技术的迅速发展,微控制器在社会的各个领域得到了广泛的应用,由于数字系统有着模拟系统所没有的优势,如抗干扰性强、便于和PC机相联、系统易于升级维护。
本设计是以单片机STC89C52RC和L298控制的直流电机脉宽调制调速系统。
利用STC89C52RC芯片进行低成本直流电动机控制系统的设计,能够简化系统构成、降低系统成本、增强系统性能、满足更多应用场合的需要。
系统实现对电机的正转、反转、急停、加速、减速的控制,以及PWM的占空比在LCD上的显示。
关键词:
STC89C52RC、直流电机、L298、PWM调速
Abstract
Motorsplayimportantrolesinallwalksoflifeandtherotationspeedofmotorsisoneofthevatalperformanceindexs.Inaddition,itismoreimportanttomeetpeople’sdemandsbytestingtherotationspeedandthespeedgoverningofmotors.What’smore,withthedevelopmentofscience,anewwayofspeedgoverningturnedupwhichcalledPWM.
Withtherapiddevelopmentofdigitaltechnology,micro-controllerinallareasofsocietyhavebeenwidelyused.Becausedigitalsystemhasmanyadvantageswhichanalogsystemdoesnothave,suchasstronganti-interference,simpleinterfacewiththePC,easyupgradeandmaintenanceforsystem.
ThisprojectisaspeedgoverningsystemofthepulsewidthofDCmotorcontrolledbymicrocontrollerSTC89C52RCandL298.MakingtheuseofthechipofSTC89C52RC,IdesignacontrollingsystemofDCmotoroflowcost.Itcansimplifythesystemstructurereducesystemcost,strengthensystemperformanceandmeetmoreneedsfrommoreapplications.Andthesystemcancontrolthecorotation,reversal,scraming,acceleratingandslowdownofmotorsanddisplaythedutyratioofPWMonLCDinrealtime.
KeyWords:
STC89C52RCDCMotorL298PMWSpeedAutomatic
1绪论
1.1直流电机的发展
直流电动机在冶金、矿山、化工、交通、机械、纺织、航空等领域中已经得到广泛的应用。
而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。
如今,直流电动机的调速控制已经离不开单片机的支持,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现。
现代科学技术的飞速发展,改变了世界,也改变了人类的生活。
由于单片机的体积小、重量轻、功能强、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,计算机性能的不断提高,单片机的应用也更加广泛特别是在各种领域的控制、自动化等方面。
在实际应用中,电动机作为把电能转换为机械能的主要设备,一是要具有较高的能量转换效率;二是应能根据生产工艺的要求调整转速。
电动机的调速性能如何对提高产品质量、提高劳动生产率和节省电能有着直接的决定性影响。
因此,调速技术一直是研究的热点。
1.2直流电机控制方法和工作原理
直流电动机转速的控制方法可分为两类:
励磁控制法与电枢电压控制法。
励磁控制法控制磁通,其控制功率虽然小但低速时受到磁场饱和的限制,高速时受到换向火花和转向器结构强度的限制,而且由于励磁线圈电感较大动态响应较差。
所以常用的控制方法是改变电枢端电压调速的电枢电压控制法。
传统的改变端电压的方法是通过调节电阻来实现的,但这种调压方法效率低。
随着电力电子技术的发展,创造了许多新的电枢电压控制方法。
其中脉宽调制(PulseWidthModulation,PWM)是常用的一种调速方法。
其基本原理是用改变电机电枢电压的接通和断开的时间比(即占空比)来控制马达的速度,在脉宽调速系统中当电机通电时,其速度增加,电机断电时其速度降低。
只要按照一定的规律改变通断电的时间,就可使电机的速度保持在一稳定值上。
直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:
直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。
直流电机电路模型如图1-1所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。
当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。
根据左手定则可知,当流过线圈中电流改变方向时,线圈的方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。
直流电机模型见图1-1。
图1-1直流电动机电路模型
2课题背景
早期直流传动的控制系统采用模拟分离器件构成,由于模拟器件有其固有的缺点,如存在温漂、零漂电压,构成系统的器件较多,使得模拟直流传动系统的控制精度及可靠性较低。
随着计算机控制技术的发展,微处理器已经广泛使用于直流传动系统,实现了全数字化控制。
由于微处理器以数字信号工作,控制手段灵活方便,抗干扰能力强。
所以,全数字直流调速控制精度、可靠性和稳定性比模拟直流调速系统大大提高。
所以,直流传动控制采用微处理器实现全数字化,使直流调速系统进入一个崭新的阶段。
微处理器诞生于上个世纪七十年代,随着集成电路大规模及超大规模集成电路制造工艺的迅速发展,微处理器的性价比越来越高。
此外,由于电力电子技术的发展,制作工艺的提升,使得大功率电子器件的性能迅速提高。
为微处理器普遍用于控制电机提供了可能,利用微处理器控制电机完成各种新颖的、高性能的控制策略,使电机的各种潜在能力得到充分的发挥,使电机的性能更符合工业生产使用要求,还促进了电机生产商研发出各种如步进电机、无刷直流电机、开关磁阻电动机等便于控制且实用的新型电机,使电机的发展出现了新的变化。
对于简单的微处理器控制电机,只需利用用微处理器控制继电器、电子开关元器件,使电路开通或关断就可实现对电机的控制。
现在带微处理器的可编程控制器,已经在各种的机床设备和各种的生产流水线中普遍得到应用,通过对可编程控制器进行编程就可以实现对电机的规律化控制。
对于复杂的微处理器控制电机,则要利用微处理器控制电机的电压、电流、转矩、转速、转角等,使电机按给定的指令准确工作。
通过微处理器控制,可使电机的性能有很大的提高。
目前相比直流电机和交流电机他们各有所长,如直流电机调速性能好,但带有机械换向器,有机械磨损及换向火花等问题;交流电机,不论是异步电机还是同步电机,结构都比直流电机简单,工作也比直流电机可靠,但在频率恒定的电网上运行时,它们的速度不能方便而经济地调节。
高性能的微处理器如DSP(DIGITALSIGNALPROCESSOR即数字信号处理器)的出现,为采用新的控制理论和控制策略提供了良好的物质基础,使电机传动的自动化程度大为提高。
在先进的数控机床等数控位置伺服系统,已经采用了如DSP等的高速微处理器,其执行速度可达数百万兆以上每秒,且具有适合的矩阵运算。
2.1设计任务与要求
基本要求:
(1)控制直流电机的启动和停止。
(2)控制直流电机的正转和反转。
(3)电机的速度可调并显示速度等级。
发挥部分:
(1)可直接显示电机的旋转速度。
(2)能检测电机的工作电流。
(3)能实现速度设定及控制。
2.2设计目的
通过该设计对单片机系统要有一个全面的了解、掌握常规芯片的使用方法、掌握简单单片机应用系统软硬件的设计方法,进一步锻炼在单片机应用方面的实际动手能力。
对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。
学习知道单片机的性能与功能,在现实生活中的应用。
并且设计并制作一采用PWM调制方式实现直流电机斩波调速系统。
并熟练对单片机编程及Proteus仿真软件的实际应用。
2.3设计题目的概述
直流电机PWM调速系统以STC89C52RC单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。
采用独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形,完成电机正,反转和急停控制;同时单片机不停的将PWM脉宽调制占空比送到LCD液晶完成实时显示。
3总体设计方案
3.1设计思想
基于单片机的直流电机PWM调速系统以STC89C52RC单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。
采用独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形,完成电机正,反转和急停控制;同时单片机不停的将PWM脉宽调制占空比送到LCD液晶完成实时显示,其系统框图如图3-1所示。
图3-1基于单片机的直流电机控制系统框图
采用传统的直流电机调速系统的模拟电路容易随时间漂移,会产生一些不必要的热损耗,以及对噪声敏感等。
而在用了PWM技术后,避免了以上的缺陷,实现了用数字方式来控制模拟信号,可以大幅度降低成本和功耗。
另外,由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好;同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;开关器件只工作在开关状态,主电路损耗小,装置效率高。
PWM具有很强的抗噪性,且有节约空间、比较经济等特点。
3.2方案选择与论证
3.2.1微处理器的选择
方案一:
采用一片单片机(STC89C52RC)完成系统所有测量、控制运算,并输出PWM控制信号。
方案二:
采用两片单片机(STC89C52RC),其中一片做成PID控制器,专门进行PID运算和PWM控制信号输出;另一片则系统主芯片,完成电机速度的键盘设定、测量、显示,并向PID控制器提供设定值和测量值,设定PID控制器的控制速度等。
方案一的优点是系统硬件简单,结构紧凑。
但是其造成CPU资源紧X,程序的多任务处理难度增大,不利与提高和扩展系统性能,也不利于向其他系统移植。
方案二则与方案一相反,虽然硬件增加,但在程序设计上有充分的自由去改善速度测量精度,缩短测量周期,优化键盘,显示及扩展其它功能。
与此同时,PID控制算法的实现可以精益求精,对程序算法或参数稍加改动即可移植到其他PID控制系统中,但是没有学过PID算法。
因此通过比较,选择方案一。
3.2.2键盘显示方案论证
方案一:
采用4×4键盘,可直接输入设定值。
显示部分使用4位数码管,优点是显示亮度大,缺点是功耗大,不符合智能化趋势而且不美观。
方案二:
使用2个按键,进行逐位设置。
显示部分是使用支持中文显示的LCD,优点是美观大方,有利于人与系统的交互,及显示内容的扩展;缺点是成本高,抗干扰能力较差。
为了系统容易扩展、操作以及美观,本设计完全采用方案二。
3.2.3电机驱动方案论证
方案一:
采用专用小型直流电机驱动芯片。
这个方案的优点是驱动电路简单,几乎不添加其它外围元件就可以实现稳定的控制,使得驱动电路功耗相对较小,而且目前市场上此类芯片种类齐全,价格也比较便宜。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:
采用由达林顿管组成的H型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
通过比较和对市场因素的考虑,本设计采用方案一。
3.2.4PWM实现方案论证
PWM信号的产生通常有两种方法:
一种是软件的方法;另一种是硬件的方法。
方案一:
基于NE555,SG3525等一系列的脉宽调速系统:
此种方式采用NE555作为控制电路的核心,用于产生控制信号。
NE555产生的信号要通过功率放大才能驱动后级电路。
NE555、SG3525构成的控制电路较为复杂,且智能化、自动化水平较低,在工业生产中不利于推广和应用。
方案二:
基于单片机类由软件来实现PWM:
在PWM调速系统中占空比D是一个重要参数在电源电压
不变的情况下,电枢端电压的平均值取决于占空比D的大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。
改变占空比D的值有三种方法:
A、定宽调频法:
保持
不变,只改变t,这样使周期(或频率)也随之改变。
(图3-2)
B、调宽调频法:
保持t不变,只改变
,这样使周期(或频率)也随之改变。
(图3-2)
C、定频调宽法:
保持周期T(或频率)不变,同时改变
和t。
(图3-2)
图3-2电枢电压占空比图
前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空比从而改变直流电动机电枢两端电压。
利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整,此种方式可简化硬件电路,操作性强等优点。
所以选方案二,采用定频调宽法。
4硬件设计
4.1直流电机的总体硬件结构及原理
硬件电路主要分为单片机系统及显示电路、键盘电路和电机驱动电路三部分组成。
4.2硬件原理框图
图4-1硬件原理框图
4.3单片机系统及显示电路
单片机采用STC89C52RC或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。
采用独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形,完成电机正,反转和急停控制;同时单片机不停的将PWM脉宽调制占空比送到实用的液晶LCD1602实时显示。
4.4电机驱动电路的设计
本设计采用目前市场上较容易买到的L298N直流或步进电机驱动芯片,它采用单片集成塑装,是一个高电压、大电流全双桥驱动器,由标准的TTL电平控制。
L298N支持50V以内的电机控制电压,在直流运转条件下,可以通过高达2A的电流,因此它满足了一般小型电机的控制要求。
接法见图4.2,图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。
PWM控制信号由in3、in4输入。
如果in3为高电平,in4为低电平时电机为正向转速,反之in3为低电平,in4为高电平时,电机为反向转速。
本设计用单片机两个I/O口控制(P2.0和P2.1)控制in3、in4的高低电平实现正反转,即采用双向制动的方式。
图4-2电机驱动电路原理图
4.5LCD显示电路和键盘与单片机的接口设计
引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4-1所示:
表4-1:
引脚接口说明表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
图4-3LCD显示电路原理图
图4-4独立按键电路原理图
4.6芯片及作用
4.6.1单片机
本课题所设计的超声波测距系统是基于单片机控制的,直流电机系统是以宏晶公司的8位单片机STC89C52RC为核心的。
单片机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。
在直流电机系统中,将其作定时器使用。
4.6.2L298
恒压恒流桥式2A驱动芯片L298。
L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压X围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB接控制使能端,控制电机的停转。
图4.5是L298N功能逻辑图。
图4-5L298N功能逻辑图
IN1
IN2
ENA
电机状态
X
X
0
停止
1
0
1
顺时针
0
1
1
逆时针
0
0
0
停止
1
1
0
停止
表4-2L298逻辑功能
5软件设计
直接应用STC89C52RC的软件方法实现PWM信号输出,这比硬件实现PWM信号成本低,限制少,实现便捷。
5.1改变转向子程序设计
voidreverse(void)
{
if(direction==0)//顺时针转
{
P21=0;
if(flag==1)
{
flag=0;
P20=0;
}
if(flag==2)
{
flag=0;
P20=1;
}
}
if(direction==1)//逆时针转
{
P20=0;
if(flag==1)
{
flag=0;
P21=0;
}
if(flag==2)
{
flag=0;
P21=1;
}
}
}
5.2主程序
voidmain()
{
EA=1;
TMOD=0x01;//TO做定时,工作方式1
ET0=1;
TR0=1;
EX0=1;//开外部中断0
IT0=1;//下降沿触发
EX1=1;//开外部中断1
IT1=1;//下降沿触发
TH0=0xff;
TL0=0xe7;//定时25us
/*************液晶初始化***************/
lcd_init();
write_lcd_string(0,0,"Dutycycle(5:
5)!
");
write_lcd_string(0,1,"pleasepress!
");
/***************死循环*****************/
while
(1)
{
reverse();//调用反转子函数
}
}
5.3调节占空比中断程序
/****************中断,调节占空比*****************/
voidchange(void)interrupt0using0
{
if(INT0==0)//外部中断0中断
{
while(!
INT0);//等待外部中断0按键放开
constant++;//改变占空比
/********************************/
write_lcd_string(0,0,"Dutycycle!
");
if(constant==10)
{
write_lcd_char(6,1,coder[0]);
write_lcd_char(8,1,coder[1]);
write_lcd_char(9,1,coder[0]);
}
else
write_lcd_string(0,1,":
");
if(constant!
=10)
{
write_lcd_char(6,1,coder[constant]);
write_lcd_char(8,1,coder[10-constant]);
}
else
{
_nop_();//_nop_()相当于汇编的NOP
}
/********************************/
if(constant==10)
constant=0;
}
}
6调试及性能分析
6.1调试
一、察看外观质量
1、察看电路板是否有明显的裂痕、短路、开路或裸露铜线等现象。
2、察看元器件是否有错装、漏装、错联和歪斜松动等现象。
3、察看焊点是否有漏焊、虚焊、毛刺、挂锡等缺陷。
二、电路板电源模块的调试
1、先用万用表测量一下电路板电源和地之间是否短路。
2、上电时可用带限流功能的可调稳压电源。
先预设好过流保护的电流,然后将电压值慢慢往上调,同时监测输出电流和输出电压。
3、如果往上调的过程中,没有出现过流保护等问题,且输出电压也达到了正常,则说明电源部分正常。
4、如果往上调的过程中,出现过流保护,则要断开电源,寻找故障点,并重复上述步骤,直到电源正常为止。
三、电路板功能模块的调试
1、功能模块上电过程的调试:
每个功能模块,都要上电测试一下,也要按照电源模块调试的步骤进行,以避免因为设计错误和安装错误而导致过流烧坏元器件。
2、确定功能模块故障的办法:
一般有下面几种:
⑴测量电压法。
先要确认的是各芯片电源引脚的电压是否正常,再检查各参考电压是否正常,还要测试主要功能点的电压是否正常等。
⑵信号注入法。
将信号源加至输入端,依次测量各点的电压或波形,判断是否正常,以找到故障点。
⑶其它方法,看、听、