基于红外遥控的电机控制毕业设计论文.docx
- 文档编号:9568164
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:58
- 大小:835.35KB
基于红外遥控的电机控制毕业设计论文.docx
《基于红外遥控的电机控制毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于红外遥控的电机控制毕业设计论文.docx(58页珍藏版)》请在冰豆网上搜索。
基于红外遥控的电机控制毕业设计论文
JIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY
本科毕业设计(论文)
基于红外遥控的电机控制
学院名称:
电气信息工程学院
专业:
测控技术与仪器
班级:
07测控1W
姓名:
曹森
指导教师姓名:
刘素芬
指导教师职称:
讲师
2011年6月
基于红外遥控的电机控制
摘要:
为使电机调速系统具有操作简单、运行安全可靠和成本低等优点,设计以AT89S51单片机为核心的红外遥控系统。
系统由发射和接收以及测速三大部分组成。
采用脉宽调制(PWM)技术对电机进行调速,通过红外发射模块和红外接收模块来实现远程控制。
在测试使用后,证明其方便、可靠并具有使用价值。
关键词:
无线遥控;直流电机;单片机;脉宽调制
ElectricalMachineControlBasedon
Infraredremotecontrol
ABSTRACT:
Torealizeasimple,safe,reliableandlowcostspeedcontrolsystemofmotor,infraredremotecontrolsystemisdesignedbasedonAT89S51SCM.Itconsistsofthreemajorcomponentsofsendingandreceivingandspeedmeasurement.Pulsewidthmodulationtechnology(PWM)isusedonmotorspeed.Torealizeremotecontrol,infraredemissionmoduleandinfraredreceivingmoduleisusdonthesystem.Itprovesthatthissystemisconvenient,reliableandpracticalafterusingit.
Keywords:
wirelessremotecontro;DCmotor;singlechipmicrocomputer;pulsewidthmodulation(PWM)
第一章绪论
1.1课题的选题背景
红外线遥控是目前使用广泛的一种通信和遥控手段,它不影响周边环境、不干扰其它电器设备;电路调试简单,只要按给定电路连接无误,一般不需要任何调试即可投入工作;编解码容易,可进行多路遥控[1]。
由于红外线遥控装置具有体积小、功耗小、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、印象设备、空调机以及玩具等其它小型电器装置上夜纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下。
采用红外遥控不仅完全可靠而且能有效地隔离电气干扰。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为在实时检测和自动控制领域中广泛应用的器件,更是工业生产中必不可少的器件,尤其在日常生活中发挥的作用也越来越大。
而在电气时代的今天,电机在工农业生产、人们日常生活中亦起着十分钟要的作用[2]。
随着计算机,微电子技术的发展以及新型电力电子功率器件的不断涌现,电动机的控制策略也发生了深刻的变化。
电动机控制技术的发展得力于微电子技术,电力电子技术,传感器技术,永磁材料技术,微机应用技术的最新发展成就。
变频技术和脉宽调制技术已成为电动机控制的主流技术。
正是这些技术的进步使电动控制技术在近二十年内发生了很大的变化。
其中,电动机控制策略的模拟实现正逐渐退出历史舞台,而采用微处理器,通用计算机,FPGA/CPLD,DSP控制器等现代手段构成的数字控制系统得到了迅速发展。
电动机的驱动部分所采用的功率器件经历了几次的更新换代以后,速度更快,控制更容易的全控型功率器件MOSFET和IGBT逐渐成为主流。
功率器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。
其中,脉宽调制(PWM)方法,变频技术在直流调速和交流调速系统中得到了广泛应用。
本次设计中电机的调速就是使用的PWM调速方法[3]。
1.2直流电机PWM调速原理
所谓脉冲宽度调制是指用改变电机电枢电压接通与断开的时间的占空比来控制电机转速的方法,称为脉冲宽度调制(PWM)。
对于直流电机调速系统,使用FPGA进行调速是极为方便的。
其方法是通过改变电机电枢电压导通时间与通电时间的比值(即占空比)来控制电机速度。
在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。
只要按一定规律改变通、断电时间,即可让电机转速得到控制。
设电机永远接通电源时,其转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为
Vd=Vmax•D(1.1)
式中,Vd——电机的平均速度
Vmax——电机全通时的速度(最大)
D=t1/T——占空比
平均速度Vd与占空比D的函数曲线,如图1-1所示。
图1-1平均速度和占空比的关系
由图1-1可以看出,Vd与占空比D并不是完全线性关系(图中实线),理想情况下,可以将其近似地看成线性关系(图中虚线)。
因此也就可以看成电机电枢电压Ua与占空比D成正比,改变占空比的大小即可控制电机的速度。
由以上叙述可知:
电机的转速与电机电枢电压成比例,而电机电枢电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比α=1时,电机转速最大[4]。
第二章总体方案设计
2.1系统功能与框图
本系统是红外遥控控制电机的研制,主要通过自行设计的红外发射板和接收板来控制电机的起动、停止、正转、反转、加速、减速,并且通过LCD液晶显示出电机的转速。
硬件电路由红外发射电路、红外接收电路、霍尔测速电路、单片机最小系统、按键电路、LCD显示电路组成。
本设计的一般框图如图2-1所示:
(a)发射模块
图2-1系统框图
2.2设计方案
为较好的实现各模块的功能,分别设计了几种方案并分别进行了论证。
2.2.1控制器选择
方案1:
采用可编程逻辑期间CPLD作为控制器。
CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。
采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。
但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。
且从使用及经济的角度考虑放弃了此方案。
方案2:
采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。
处理速度高,尤其适用于语音处理和识别等领域。
但是当凌阳单片机应用语音处理和辨识时,由于其占用的CPU资源较多而使得凌阳单片机同时处理其它任务的速度和能力降低。
本系统主要是采集温度以及对电机的控制。
如果单纯的使用凌阳单片机,从系统的稳定性和编程的简洁性考虑,放弃了单纯使用凌阳单片机而考虑其它的方案。
方案3:
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM)。
采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元.,128×8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器,6个中断源,低功耗空闲和掉电模式[5]。
本系统主要结合已学知识,再加上实际应用方便、经济性,故选择了方案3。
2.2.2红外收发电路
方案1:
采用专门的红外编解码芯片。
优点:
软件开销小,编解码芯片帮助软件
完成很多工作。
缺点:
成本高,电路复杂。
方案2:
利用单片机内部定时器调制到38KHz红外信号,利用单片机外部中断进行解码。
优点:
成本低,电路简单。
缺点:
软件复杂,使用的中断资源多。
但是本设计中,在红外发射和接受时,单片机并没有其他并发的任务需要执行,故选择方案2以简化电路设计。
2.2.3测转速传感器模块
方案1:
用光敏电阻组成测速传感器。
光敏电阻的阻值可以跟随周围环境光线的变化而变化。
当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。
因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。
将阻值的变化值经过比较器就可以输出高低电平[6]。
但是这种方案受光照影响很大,不能够稳定的工作。
因此考虑其他更加稳定的方案。
方案2:
用红外发射管和接收管自己制作光电对管测速传感器。
红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。
这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此放弃了这个方案[7]。
方案3:
用槽开光电开关作为测速传感器,把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽形光电。
发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。
但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。
输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。
槽形开关的检测距离因为受整体结构的限制一般只有几厘米,但是输出波形需要整形。
方案4:
用霍尔开关作为测速传感器,检测不到磁场时输出高电平,检测到磁场时输出低电平[8]。
输出波形较为平整,不需要整形亦可直接测量,且不会丢失下降沿,相比槽型光电开关安装方便。
十分符合本设计的需求[9]。
因此选择了方案4。
2.2.4电机模块
方案1:
采用步进电机作为该系统的驱动电机。
由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。
虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。
经综合比较考虑,放弃了此方案[10]。
方案2:
采用直流减速电机。
直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便,能够较好的满足系统的要求,因此选择了此方案。
2.2.5电机驱动模块
方案1:
采用专用芯片L293D作为电机驱动芯片。
L293D是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L293D可以分别控制两个直流电机,而且还带有控制使能端。
用该芯片作为电机驱动,操作方便,稳定性好,性能优良[11]。
方案2:
对于直流电机用分立元件构成驱动电路。
由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。
但是这种电路工作性能不够稳定。
因此选用了方案1。
2.3最终方案
经过反复论证,最终确定了如下方案:
(1)采用通用板制作。
(2)采用ATMEL公司生产的AT89C51单片机作为主控制器。
(3)用霍尔开关作为测速传感器
(4)L293D作为直流电机的驱动芯片。
第三章硬件电路的设计
第2章介绍了本次设计的方案选定及系统框图。
本章主要介绍本次设计硬件电路的具体设计。
红外通信的基本原理实质上就是利用红外线来作为载体传送信息。
把单片机等产生的的编码控制信号,经由调制电路调制为32~40KHz的方波信号(提高发射效率、降低功耗)。
在经由驱动电路驱动红外发光二极管发出红外遥控信号;在接收端使用与发射端相配对的红外光电二极管,接收含有控制信号的红外信号,在将该红外信号解调为电信号后,再送入单片机进行解码,以得到相应的控制信号,从而完成红外信息的传送。
3.1CPU模块设计
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM)。
采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元.,128×8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器,6个中断源,低功耗空闲和掉电模式。
3.1.1复位和时钟电路
复位电路和时钟电路如图3-1所示,对于复位电路,本设计采用上电复位电路,由于89C51是高电平复位,因此通过在RESET端接一个电阻到地,并接一个电容到电源的方式完成上电复位,上电时电源给电容充电,电容导通,因此RESET脚就相当于连接到+5V电源,开始复位,当电容充电完成后,电容断开,RESET脚被下拉电阻钳位在低电平,则退出复位状态。
对于时钟电路,采用11.0592M的晶振并加以两个22pF的起振电容。
图3-1复位和时钟电路
3.1.2红外发射电路
本设计的红外发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。
当不同的指令键被按下时,指令信号电路产生不同的脉冲编码的指令信号,也就是进行编码,然后经由调制电路进行调制从而产生不同的编码信号,再由驱动电路驱动红外发射器发射红外信号。
如图3-2所示:
图3-2红外发射电路
3.2红外接收电路
红外接收电路是红外遥控系统中的指令信号及检出电路,通过一体化红外接收头1838(集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线的接收到输出与TTL电平信号兼容的所有工作)然后将接收到的信号发送给AT89C51,然后AT89C51通过内部程序对所接收信号进行判断然后就驱动相应的外部设备进行相应的动作。
此设计的遥控开关是在通用遥控的基础上加以改进的,其实就是将红外遥控器接收部分采用单片机AT89C51来控制。
即当一体化红外接收器接收到的红外遥控信号,经放大、解码滤波后,将原编码信号传送入单片机AT89C51中进行信号识别编码然后进行相应的处理,已达到控制电路的目的。
红外接收电路如图3-3所示。
1838接收头的1号脚接到单片机的P3.3号脚上。
图3-3红外接收电路
如图3-3所示,图中R10为22欧姆的小电阻,串联进1838的电源脚,起保护作用。
C11为104电容(0.1uF),对1838的电源起到滤波作用,增加抗干扰性能。
3.3按键电路
由于本设计中只需要六只按键且单片机I/O口富足,因此,按键电路只需如图3-4所示即可,而不必采用复杂的矩阵键盘。
Key1到Key6分别接到单片机的P2.7到P2.2号脚上。
图3-4按键电路
如图3-4所示,六个按键从1号到6号分别表示起动,停止,正转,反转,加速,减速。
每个按键接4.7K的上拉电阻,以保证按键未被按下时,I/O口检测到的电平为高电平,而不会引起按键的误操作,提高按键电路的抗干扰能力。
3.4电机电路
本设计中电机驱动选用的驱动芯片为L293D,它包含4个输出通道,最大输出峰值电流为1.2A,能同时驱动2个直流电机工作;其信号输入端和使能端接收到来自单片机的信号,控制电机的通断以及正、反转,还可以通过向使能端输入不同占空比的方波信号来调整电机转速(PWM方式)。
如图3-5所示,IN端口接控制信号,OUT端口接电机的两端,EN端口接使能信号。
一组IN端口输入为高/低或低/高电平时,能实现电机的正/反转。
一组IN端口输入均为高或低电平时,电机将停转。
EN使能端为高电平时,相应端口输入信号有效;反之,则输入信号无效。
在EN端输入PWM波,通过调整PWM波的占空比,即可实现电机的无级调速。
图3-5电机驱动电路
3.5霍尔测速电路
本设计中采用霍尔开关来进行测速。
霍尔开关是检测磁场的传感器,当无磁场信号时输出高电平,有磁场信号时输出低电平,因此将霍尔开关输出的信号接入单片机的外部计数引脚,然后通过测频法将很容易求得电机的转速,霍尔开关电路如图3-6所示。
图3-6霍尔开关电路
如图3-6所示,霍尔开关1脚为输出脚,2脚为地脚,3脚接电源,使用十分方便,需要注意的是霍尔开关是OC输出的,因此在输出脚需要加一个上拉电阻。
3.6LCD转速显示电路
本设计中采用LCD1602模组来显示转速,要驱动该模组只需要按照1602模组的时序操作即可,参考1602模组的数据手册,设计的驱动电路如图3-7所示。
图3-7液晶显示电路
如图3-7所示,LCD模组1、2脚分别接地和电源(5V),3脚为液晶显示偏压信号,通过一可调电阻接地,调节该电位器可以调节液晶的对比度,4-6脚分别接单片机的P2.0-P2.2,7-14脚分别接单片机P1.0-P1.7,15、16脚分别接电源(5V)和地。
第四章软件设计
4.1软件功能
本设计的软件主要结合硬件电路实现预计各种功能,包括红外遥控电机起动,停止,正转,反转,加速,减速,并且通过LED指示电机所处运行状态。
另外还需要检测出转速并予以显示。
4.2红外发射板程序分析
红外发射板主程序主要实现对按键的检测,并根据相应按键发射相应的红外码给红外接收板。
软件流程图如图4-1所示:
图4-1红外发射板程序流程图
其中红外编码发射的具体函数如下所示:
/*******************************************
发送红外数据
*******************************************/
voidsendcode(void)
{
set_count=575;//发送9ms38K红外光
flag=1;
count=0;
TR0=1;
while(count TR0=0; set_count=320;//间隔4.5ms flag=0; count=0; TR0=1; while(count TR0=0; ircode=irsys[0];//发送26位系统码的前1-8位 sendcode_8(); ircode=irsys[1];//发送26位系统码的前9-16位 sendcode_8(); ircode=irsys[2];//发送26位系统码的前17-24位 sendcode_8(); ircode=irsys[3];//发送26位系统码的前24-26位 sendcode_2(); ircode=irdata;//发送8位数据码 sendcode_8(); ircode=~irdata;//发送8位数据反码 sendcode_8(); set_count=28;//发送0.56ms38k红外波(编码中的0.56ms低电平) flag=1; count=0; TR0=1; while(count TR0=0; ir=0; delay(23);//延时23ms(编码中的23ms高电平) set_count=575;//发送9ms38k红外波 flag=1; count=0; TR0=1; while(count TR0=0; set_count=330;//间隔4.5ms flag=0; count=0; TR0=1; while(count TR0=0; set_count=30;//发送0.56ms38k红外波(编码中的0.56ms低电平) flag=1; count=0; TR0=1; while(count TR0=0; ir=0; } 38KHz的信号周期为26us。 在单片机内部通过开启一个13us的定时器,来完成把要发送的调制到38KHz的任务。 4.3红外接收板解码程序分析 由于红外码的“0”,“1”是通过不同脉冲宽度来区分的,所以所谓解码就是能用单片机把以不同宽度的脉冲区别开来,一种比较好思路就是计算两次下降沿间隔时间,当单片机外部中断1口有下降沿时中断一次,并启动定时器,定时器定50us,当下次下降沿到来时计算定时器中断的次数,这样就能很好的区分不同宽度的脉冲了。 解码部分的软件流程图如下所示(分为主程序和外部中断服务子程序)。 图4-2红外解码程序流程图 外部中断,红外解码程序 **********************************************/ voidint1()interrupt2using3///外部中断 { TR0=1;//开定时器中断 if(count>12&&count<270)//如果信号合法,则放入buf_count,count清0,对下一个脉冲信号计时 { buf_count=count; count=0; } delay_10us(10);//延时100us以消除下降沿跳变抖动 if(ir==0)//INT1引脚稳定为低电平,则表法确实是信号,count重新计时,因上面延时了50us,故要补偿1次TO中断 { count=2; } if(buf_count>12&&buf_count<270)//若收到的信号合法,则再进行信号分析 { if(ir_status==0)//如果之前未收到引导码 { if(buf_count>210&&buf_count<270)//判断是否引导码13.5ms { ir_status=1;//系统标记 buf_count=0;// } } elseif(ir_status==1)///收到引导码 { if(common_code_count>=25)//若收完26个脉冲 { ir_status=2;//数据解码标记 common_code_count=0;//系统码计算清零 buf_count=0;//中断计数暂存清0 } elseif((buf_count>40&&buf_count<70)||(buf_count>12&&buf_count<32)) { buf_count=0; common_code_count++;//每收到一个信号自加1 } } 4.4测速和显示子程序设计 图4-3测速和显示子程序流程图 由于霍尔开关输出的转速方波被接到外部计数端口,那么在单片机内部只要使用测频法测量转速,在单片机内部开启10ms定时器,当定时器计到0.5s时。 读出外部计数端的计数值,就是0.5s的转速,将此转速乘以120即得到了每分钟的转速。 测速部分的代码如下所示: voidmain(void) { ucharnum; init(); TMOD=0x15; IE=0X88; TH1=0x4c; TL1=0x00; TH0=TL0=0; TR1=1; TR0=1; wirte_cmd(0x01); while (1) { if(TF0==1) { TF0=0; N++; } if(flag) { freq=(65536*N+T0H*256+T0L)*120;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 红外 遥控 电机 控制 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)