基于PWM原理的红外遥控电机设计Word下载.docx
- 文档编号:5736721
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:29
- 大小:1.10MB
基于PWM原理的红外遥控电机设计Word下载.docx
《基于PWM原理的红外遥控电机设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于PWM原理的红外遥控电机设计Word下载.docx(29页珍藏版)》请在冰点文库上搜索。
201223030228
题目
课题性质
工程设计
课题来源
自拟
指导教师
刘伍丰
主要内容
(参数)
本设计是基于PWM原理,通过定时器和中断产生可以调节的PWM波,然后通过无线将控制电机的指令代码传送给MCU,从而使MCU完成相应的的操作如下:
1、遥控电机启动停止2、遥控电机加速3、遥控电机减速
4、遥控控制电机正转5、遥控控制电机反转
任务要求
(进度)
第1-2天:
熟悉课程设计任务及要求,查阅技术资料,确定设计方案。
第3-4天:
按照确定的方案设计单元电路。
要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。
第5-6天:
软件设计,编写程序。
第7-8天:
程序调试。
第9-12天:
撰写课程设计报告。
要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确。
主要参考
资料
(1)张迎新.单片微型计算机原理、应用及接口技术[M].国防工业出版社,2009.
(2)单片机原理与接口技术(作者:
赵嘉蔚,)出版社:
清华大学出版社
(3)C语言程序设计学习辅导(作者:
谭浩强)出版社:
任务分工
学生1:
张延庆软件编写学生2:
胡腾飞原理图绘制
学生3:
王博林硬件设计学生4:
张凯福资料查询
学生5:
李准调试整理
附录23
摘要
本文介绍了基于红外遥控电机控制系统的设计,讲述了直流电机调速的相关知识以及PWM调速的基本原理和实现方法。
直流电机具有优良的调速特性,调速平滑,方便,调速范围广,过载能力大,能承受频繁的冲击负载,可实现频繁的快速启动、制动和反转;
能满足生产过程中自动化系统各种不同的特殊运行要求。
电机控制系统采用红外遥控控制是电气传动的发展方向之一。
采用红外遥控控制后,整个电机系统体积小、结构简单、可靠性高、操作维护方便,电动机稳态运转时转速精度可达到较高水平。
本设计方案基于市场的需求,结合红外遥控设计简单,操作方便,成本低廉等特点,采用了51单片机作为遥控发射接收芯片,HS0038作为红外一体化接收发射管,在此基础上设计了一个简单的红外遥控直流电机系统。
本设计实现了直流电机的几项基本功能:
启动、停止、加速、减速、正转、反转。
关键词:
PWM;
直流电机调速;
红外无线遥控
1直流电机的调速分析及研究意义
1.1直流电机调速原理
根据励磁方式不同,直流电机分为自励和他励两种类型。
不同励磁方式的直流电机机械特性曲线有所不同。
对于直流电机来说,人为机械特性方程式为:
(1.1)
式中UN,
----额定电枢电压、额定磁通量;
----与电机有关的常数;
----电枢外加电阻、电枢内电阻;
——理想空载转速、转速降。
分析(1.1)式可得.当分别改变UN、
和Rad时,可以得到不同的转速n,从而实现对速度的调节。
由于
=
,当改变励磁电流If时,可以改变磁通量
的大小,从而达到变磁通调速的目的。
但由于励磁线圈发热和电动机磁饱和的限制,电动机的励磁电流If,和磁通量
只能在低于其额定值的范围内调节,故只能弱磁调速。
而对于调节电枢外加电阻Rad时,会使机械特性变软,导致电机带负载能力减弱。
对于他励直流电机来说,当改变电枢电压时UN,分析人为机械特性方程式,得到人为特性曲线如图1-1。
如图1-1所示。
理想空载转速
随电枢电压升降而发生相应的升降变化。
不同电枢电压的机械特性曲线相互平行,说明硬度不随电枢电压的变化而改变,电机带负载能力恒定。
当我们平滑调节他励直流电机电枢两端电压时,可实现电机的无级调速。
基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被广泛采用。
改变电枢电压可通过多种途径实现,如晶闸管供电速度控制系统、大功率晶体管速度控制系统、直流发电机供电速度控制系统及晶体管直流脉宽调速系统等。
图1-1直流电动机机械特性曲线图1-2电枢电压“占空比”与平均电压关系
1.2PWM基本原理及其实现方法
1.2.1PWM基本原理
PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
因此,PWM又被称为“开关驱动装置”。
在脉冲作用下,当电机通电时,速度增加;
电机断电时,速度逐渐减少。
只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为:
*
(1.2)
式中,Vd----电机的平均速度;
Vmax----电机全通电时的速度(最大);
D=t1/T----占空比。
由公式1-2可见,当我们改变占空比时D=t1/T,就可以得到不同的电机平均速度,从而达到调速的目的。
严格地讲,平均速度Vd与占空比D=t1/T并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系.
1.2.2实现方法
PWM信号的产生通常有两种方法:
一种是软件的方法;
另一种是硬件的方法。
硬件方法的实现已有很多文章介绍,这里不做赘述。
本文主要介绍利用单片机对PWM信号的软件实现方法。
STC89C51单片机具有两个定时器T0和T1。
通过控制定时器初值T0和T1,从而可以实现输出口输出不同占空比的脉冲波形。
由于PWM信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。
因此,首先必须明确定时器的定时初值与定时时间的关系。
如果单片机的时钟频率为f,定时器/计数器为N位,则定时器初值与定时时间的关系为:
(1.3)
式中,T----定时器定时初值;
N----一个机器周期的时钟数。
N随着机型的不同而不同。
在应用中
应根据具体的机型给出相应的值。
这样,我们可以通过设定不同的定时初
值,从而改变占空比D=t1/T,进而达到控制电机转速的目的。
1.3控制程序设计
控制程序的设计有两种方法:
软件延时法和计数法。
软件延时法的基本思想是:
首先求出占空比D=t1/T,再根据周期T分别给电机通电M个单位时间t0,所以M=t0/t1。
然后,再断电M'
个单位时间,所以M'
=t2/t0。
改变M和M'
的值,从而也就改变了占空比D。
计数法的基本思想是:
当单位延时个数M求出之后,将其作为给定值存放在某存储单元中。
在通电过程中,对通电单位时间t0的次数进行计数,并与存储器的内容进行比较。
若不相等,则继续输出控制脉冲,直到计数值与给定值相等,使电机断电。
软件采用定时中断进行设计。
如图2-12所示,单片机上电后,系统进入准备状态。
当按动按钮后,执行相应的程序,根据P2.6或P2.7输出的高电平决定直流电机的正反转。
根据不同的加、减速按钮,调整P2.6或P2.7输出高低电平时的占空比,从而可以控制P2.6或P2.7输出高低电平时的延时时间,进而控制电压的大小来决定直流电机转速。
2.系统硬件设计
2.1系统方案
本设计以STC89C51单片机为核心,以红外遥控器的5个按键作为输入达到控制直流电机的停止、加速、减速、正转、反转。
在设计中,采用PWM技术对电机进行控制,通过对占空比的改变达到调速的目的。
2.2功能简介
直流电动机具有优良的调速特性,调速平滑、方便,调速范围广;
过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、停止和反转;
能满足生产过程自动化系统各种不同的特殊运行要求。
电动机调速系统采用微机实现自动控制,是电气传动发展的主要方向之一。
采用微机控制后,整个调速系统实现自动化,结构简单,可靠性高,操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求。
由于单片机性能优越,具有较佳的性能价格比,所以单片机在工业过程及设备控制中得到日益广泛的应用。
PWM调速系统与可控整流式调速系统相比有下列优点:
由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好:
同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;
开关器件只工作在开关状态,主电路损耗小,装置效率高。
本文所介绍的系统就是一个采用典型的开环调速原理组成的单片机PWM调速系统。
2.3主要内容
采用单片机构成的直流电动机数字PWM调速系统,其控制核心主要由51单片机、电源模块、电机驱动电路、按键(加速、减速、停止、正转、反转)、直流电机组成。
系统采用L298N芯片作为PWM驱动直流电动机的供电主回路。
单片机通过软件处理输出PWM信号,实现了直流电动机的速度控制,在运行中获得了良好的动静态性能。
在介绍了基于单片机用PWM实现直流电机调整的基本方法,直流电机调速的相关知识,及PWM调整的基本原理和实现方法。
重点介绍了基于STC89C51单片机的用软件产生PWM信号的途径,并介绍了一种独特的通过软件定时中断实现PWM信号占空比调节的方法。
由于单片机的驱动能力不强,驱动直流电机需要很强的电流所以必须有外围的驱动电路,因此本设计采用L298芯片放大单片机微弱的电流。
控制原理:
以STC89C51单片机为核心的直流电机控制系统控制,由软件转换成PWM信号,并由P1.4、P1.5输出,经驱动电路输出给电机,从而控制电机得电与失电。
单片机上电后,系统进入准备状态。
当按动启动按钮后,根据P2.6为高电平实现电机正转,P1.4为高电平时实现电机反转。
根据不同的加减速按钮,调整P1.4/P1.5输出高低电平时的预定值,从而可以控制P1.4/P1.5输出高低电平时的占空比,进而控制电压的大小。
控制程序应用于电机的加减速。
2.4电机调速控制模块
2.4.1方案选择
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般电动机的电阻很小,但电流很大;
分压不仅会降低效率,而且实现很困难。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:
采用驱动芯片L298N驱动直流电机,L298N具有驱动能力强,外围电路简单等优点,因此我们采用方案三。
2.4.2PWM调速工作方式
双极性工作制。
双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。
单极性工作制。
单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。
由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了方案二。
2.5系统分析与硬件设计
键盘向单片机输入相应控制指令,由单片机通过P1.4与P1.5其中一口输出与转速相应的PWM脉冲,另一口输出低电平,经过信号放大、驱动电动机控制电路,实现电动机转向与转速的控制,电动机正转,反转,加速,减速、停止。
总体设计方案的硬件部分详细框图如图2-1所示:
图2-1系统硬件框图
2.5.1设计部分分析
1、STC89C51
STC89C51内有8位的CPU、4K的ROM程序存贮器,128个字节RAM数据存贮器,4个8位并行口,2个16位定时器T0和T1,一个异步串行口UART。
STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用高密度非易失性存储器技术制造。
另外,STC89C51可降至0HZ静态逻辑操作,支持两种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切停止工作,直到下一个中断或硬件复位为止。
2、复位电路及时钟电路
复位电路和时钟电路是维持单片机最小系统运行的基本模块。
复位电路通常分为两种:
上电复位和手动复位。
图2-2上电复位图2-3手动复位
有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。
所以本次设计选用手动复位。
2.5.2直流电机驱动电路设计
由于单片机P3口输出的电压最高才有5V,难以直接驱动直流电机。
所以我们需要使用恒压恒流桥式2A驱动芯片L298N来驱动电机。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB接控制使能端,控制电机的停转。
同时需要加四个二极管在电机的两端,防止电机反转的时候产生强大的冲击电流烧坏电机。
具体驱动电路如下图2-9:
2.6红外遥控电路设计
2.6.1红外系统方框图
(1)发射端电路:
由单片机系统、红外发射电路及红外遥控按键,电源电路等组成。
其设计原理图如下:
图2-4遥控器方框图
2.6.2系统功能需求
本遥控系统要求用单片机作为控制芯片制作一个遥控器,使一个单片机系统能被遥控操作。
本系统要求遥控器能够实现直流电机的启停、加速、减速、正转、反转功能。
用STC89C51来作主芯片控制,采用红外接收头,具有红外遥控功能。
2.6.3红外发射电路
本遥控发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。
在确定选择STC89C51作为本设计发射电路核心芯片和点触式开关作为控制键后,加上一个简单红外发射电路和12M晶体振荡器便可实现红外发射。
发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。
目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通二极管相同,只是颜色不同。
图2-5红外发射电路
2.6.4红外检测接收电路
在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路,从而完成相应的遥控功能。
接收电路如图
通常,红外遥控器将遥控信号(二进制脉冲码)调制在40KHZ的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。
将上述的遥控编码脉冲对频率为40KHZ的载波信号进行脉幅调制(PAM),再经缓冲放大后送到红外发光管,将遥控信号发射出去。
根据遥控信号编码和发射过程,遥控信号的识别——即解码过程是去除40KHZ载波信号后识别出二进制脉冲码中的0和1。
由ST89C51单片机、一体化红外接收头、还原调制和红外发光管驱动电路组成。
接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
2.7设计所需部分器件
变压器、单片机STC89C51、直流电机驱动芯片L298N、12MHZ晶振、7805、四位共阳数码管、电容、电阻、红外遥控器、5V直流电动机等。
2.8应用软件的编制、调试
使用Keil软件工具时,项目开发流程和其它软件开发项目的流程极其相似。
(1)创建一个项目,从器件库中选择目标器件,配置工具设置。
(2)用C语言或汇编语言创建源程序。
(3)用项目管理器生成应用。
(4)修改源程序中的错误。
(5)测试,连接应用。
3.系统软件的设计
3.1电机控制系统程序的总体设计
利用P2口,编制程序输出一串脉冲,经放大后驱动直流电机,改变输出脉冲的电平的持续时间,达到使电机正转、反转、加速、减速、停转等目的。
由软件编程从P1.4/P1.5管脚产生PWM信号,经驱动电路输出给电机,从而控制电机得电与失电。
软件采用延时法进行设计。
当按动启动按钮后,根据P1.4为高电平时实现电机正转,P1.5为高电平时实现电机反转。
根据不同的加减速按钮,调整P1.4/P1.5输出高低电平时的占空比,从而可以控制P1.4/P1.5输出高低电平时的有效值,进而控制电机的加减速。
其总体流程图如图3-1示:
图3-1总体程序流程图
3.2红外遥控器的程序设计
3.2.1遥控码的发射
(1)遥控码的发射
当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码得脉冲个数,再调制成40KHZ方波由红外线发光管发射出去。
通常,红外遥控是将遥控信号(二进制脉冲码)调调制在40KHZ的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。
为了提高抗干扰性能和降低电源消耗,将上述的遥控编码脉冲对频率为40KHZ(周期为26us)的载波信号进行脉幅调制(PAM),再经缓冲放大后送到红外发光管,将遥控信号发射出去。
红外信号发射过程:
首先装入发射脉冲个数(发射时为3ms脉冲,停发时为1ms脉冲),此时若发射脉冲个数为1则返回主程序,若不为1则发1ms脉冲,然后停发1ms脉冲,这样结束整个发射过程。
在实践中,采用红外线遥控时,由于受遥控距离、角度等影响,使用效果不是很好,如采用调频或调幅发射接收码,可提高遥控距离,并且没有角度影响。
(2)发射端程序流程图
图3-2遥控发射主程序流程图
图3-3遥控发射器遥控码发射程序流程图
3.2.2红外接收
遥控接收部分的主程序及初始化及延时过程如下:
首先初始化,然后判断是否有按键按下,若有,则发送相应信号;
若无按键按下,则返回。
(1)接收端程序流程图
图3-4遥控接收器主程序流程图
(2)中断过程:
首先判断低电平脉宽是否大于2ms,若脉宽不到2ms,则中断返回;
若低电平大于2ms,则接收并对低电平脉冲计数,接下来看判断高电平买宽度是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;
若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序,此时中断返回。
图3-5遥控接收器中断程序流程图
4.系统的电路原理图
图4-1红外信号接收图
图4-2电路原理图
总结和体会
经过努力,我们终于完成这次课程设计任务。
在这次的单片机课程设计中我感觉受益匪浅,不用说我在其中学到的新知识是多么有价值,也不用说它拓宽了我多少的眼界,只是说它让我的能力得到了提高就已足以成为我努力付出的回报。
通过课程设计,我增强了对单片机的理解,学会查寻资料﹑比较方案,学会单片机的设计﹑计算;
进一步提高分析解决实际问题的能力,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化;
通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。
做程序设计时,有些指令读不懂,不会用,要翻书上网查看,所亮的灯不是所预想的,经过仔细检查发现程序赋值问题并解决。
同时也做出了实物,基本上实现了直流电机的停止、加速、减速以及转向控制。
个人感觉其中还有许多不够完善的地方,例如:
对红外遥控器控制时加速和减速控制不能连续进行,另外,电机驱动电路的设计也不是很成熟。
通过此次设计,我们的学习能力和解决问题的信心都得到了提高。
在设计的过程中,遇到了很多困难,但是在查阅了很多有关书籍和向同学请教后终于解决了。
通过这次设计,我不仅对理论有了更深一步的认识,还培养了自学能力和解决问题的能力,更重要的是,培养了克服困难的勇气和信心。
参考文献
附录
1实物图
2程序
#include<
reg52.h>
//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbitIR=P3^2;
//红外接口标志
#defineDataPortP0//定义数据端口程序中遇到DataPort则用P0替换
#defineuintunsignedint
sbitLATCH1=P2^6;
//定义锁存使能端口段锁存
sbitLATCH2=P2^7;
//位锁存
sbitINPUT1=P1^0;
//控制口
sbitINPUT2=P1^1;
sbitINPUT3=P1^2;
sbitINPUT4=P1^3;
sbitENA=P1^4;
//产生PWM波
sbitENB=P1^5;
uintMA=0,MB=0,JIAN=20;
staticintflag=1,JIA=20;
uintSpeedA=20;
//50%占空比
uintSpeedB=20;
/*------------------------------------------------
全局变量声明
------------------------------------------------*/
unsignedcharcodedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//显示段码值0~9
unsignedcharirtime;
//红外用全局变量
bitirpro_ok,irok;
unsignedcharIRcord[4];
unsignedcharirdata[33];
函数声明
----------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PWM 原理 红外 遥控 电机 设计