基于单片机的红外遥控系统设计本科生毕业设计.docx
《基于单片机的红外遥控系统设计本科生毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外遥控系统设计本科生毕业设计.docx(72页珍藏版)》请在冰豆网上搜索。
基于单片机的红外遥控系统设计本科生毕业设计
本科生毕业设计(论文)
基于单片机的红外遥控系统设计
论文题目:
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
摘要
本设计是基于单片机的红外遥控系统设计,设计内容包括了红外接收,红外解码和步进电机控制三大块。
如今红外遥控技术已经得到了广泛的应用;其利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强。
我们日常生活中的电视机,洗衣机,空调,航天飞机,工业现场设备等都运用了红外遥控的技术。
本设计中发射端采用专用的发射芯片来实现红外遥控码的发射,且遥控码格式是NEC标准。
接收端采用市面上流行的1838一体化红外接收头,接收到的红外信号经由1838接收头完成光/电转化和解调的工作,然后把33位的完整码发送到解码芯片中去完成解码工作。
本设计中的主芯片是STC89C52单片机,主芯片和解码芯片之间进行串行通讯。
系统启动后,解码芯片将解码后得到的8位数据码串行发送到主芯片中,然后通过主芯片来控制步进电机的正转,反转,加速,减速。
本设计中的被控对象是步进电机,步进电机最适合做数字控制。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
本设计中通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
关键词:
红外遥控技术步进电机控制单片机控制
Abstract
ThisdesignisbasedontheinfraredremotecontrolMCUsystemdesign,designelementsincludetheinfraredreceiver,infrareddecodingandsteppermotorcontrolthreeblocks.
First,theinfraredremotecontroltechnologyhasbeenawiderangeofapplications;useinfraredtotransferthedata,thiscasedoesnotrequireaphysicalconnection,smallsize,lowcost,function.Inourdailylives,televisions,washingmachines,airconditioners,spaceshuttle,theindustrialfielddevicesandsotheuseofthetechnologyofinfraredremotecontrol.Thesenderofthisdesignusingadedicatedtransmitterchiptoachievetheemissionofinfraredremotecontrolcode,andtheremotecontrolcodeformatistheNECstandard.Thereceivingendofthepopularityofthe1838integrationofinfraredreceiver,theinfraredsignalreceivedthrough1838toreceivethehead,theoptical/electricalconversionanddemodulationofthe33completecodesenttothedecoderchiptocompletethedecoding.
ThedesignofthemainchipisSTC89C52.Serialcommunicationbetweenthemainchipanddecoderchip.Systemstartup,thedecoderchipdecoding8-bitserialdatacodesenttothemainchip,andthenthroughthemainchiptocontrolthesteppermotorforward,reverse,speedup,slowdown.
Thedesignofthecontrolledobjectisasteppermotor,steppermotoristhemostsuitablefordigitalcontrol.Thesteppermotoristheelectricalpulsesintoangulardisplacementorlineardisplacementoftheopen-loopcontrolelement.Thisdesignbycontrollingthenumberofpulsestocontroltheamountofangulardisplacement,soastoachieveaccuratepositioningpurposes;atthesametimebycontrollingthepulsefrequencytocontrolthemotorrotationspeedandacceleration,soastoachievethepurposeofspeedcontrol.
Keyword:
SteppermotorInfraredremotecontrol
Single-ChipMicrocomputerControl
1绪论
1.1课题研究背景及意义
本设计采用红外线来遥控步进电机。
红外遥控是如今广泛使用的一种通信和遥控手段;红外线遥控利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强;因此红外遥控设备已经广泛的应用在如今的电气设备的数据交互和设备控制中[2]。
比如航空航天及我们日常中的电视机,洗衣机,空调等。
并且在工业设备中,在辐射,高压,粉尘,有毒气体,许多恶劣的环境中能够有效的隔离电气干扰。
在工业控制系统中,通常需要控制机械部件的平移和转动[4],这些机械部件的驱动大多采用交流电机,直流电机和步进电机,在这三种电机中,步进电机最适合做数字控制,因此在数控机床,家用电器,步进电机都得到了广泛的应用。
由于红外遥控和步进电机的优越性,本设计中采用了单片机来实现红外解码及产生步进电机脉冲信号。
因为红外遥控和步进电机都得到了广泛的应用,所以此课题基于红外遥控步进电机是很有实际意义的。
1.2本设计的主要工作
本设计是红外遥控步进电机,设计的工作主要包括以下几个方面。
(1)硬件电路设计,包括红外接收电路,红外解码电路,主电路,显示电路,步进驱动电路的设计,双机通讯等。
(2)软件设计,在keiluVison3平台上编写步进控制主程序,显示程序,红外解码程序。
(3)软硬件的调试,包括在protel99se平台下原理图的绘制,焊接电路板,keil平台下程序的编写及调试,STC_ISP下载等。
(4)总结以及改进。
2硬件设计
2.1整体设计方案及框图
本设计采用的是NEC编码的遥控器,当遥控器的某个按键被按下以后,遥控器产生红外脉冲信号通过红外发射管发射出去[2],接收端采用1838的红外接收头来接收红外脉冲信号,1838接收头的信号输出端OUT连接到STC12C2052的外部中断INT0,这样1838把接收到的红外脉冲信号送到STC12C2052去解码,解码处理完成后得到的8位有效数据通过串行口TXD发送到主机STC89C52去处理,主程序中的switch语句能够判断出什么键被按下了,同时根据不同键值产生不同的控制策略,比如步进电机的控制脉冲通过P2.0~P2.3送出,经由ULN2003功率放大,驱动4相5线的步进电机转动,同时P0口能送出段码使数码管上显示转速。
本设计硬件包含了5个主要部分。
(1)红外接收部分,包括1838红外接收器及其外围电路。
(2)红外解码电路,包括STC12C2052做解码芯片。
(3)显示部分,包括有3个运行指示灯和4位8段数码管。
(4)主机STC89C52及其外围电路,复位电路,晶振电路等。
(5)步进驱动电路,ULN2003驱动芯片,驱动4相5线的步进电机。
系统整体的框图如图2-1所示。
图2-1系统整体框图
2.2系统功能模块设计
2.2.1红外收发模块
红外遥控系统由发射和接收两个部分组成。
发送部分包括了遥控器键盘,编码调制芯片,LED红外发射器;接收部分包括了光/电转化放大器[2],解码,解调。
本设计采用现成遥控器,此遥控器使用了专用的集成发射芯片来实现遥控码的发射。
信号发射,就是将某个按键所对应的控制指令和系统码,调制在38KHz的载波上,经由放大,驱动红外发射管将信号发射出去。
而接收电路采用红外线接收和放大于一体的一体化红外接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的的塑料封装的三极管大小一样,它适用于各种红外遥控和红外线数据传输。
如图2-2所示。
图2-2红外线遥控系统框图
由于不同公司的遥控芯片,采用的遥控码格式不一样。
现在市场上较为普遍的编码标准有两种,一种是NEC标准,一种是PHILIPS标准。
本设计中的遥控器的遥控芯片是NEC标准,下文介绍一下什么是NEC标准。
遥控发射的信号调制在频率38KHz的载波上;当用户按下按键时发送一个完整码。
一个完整码[7]=一位引导码+8位用户码+8位用户码+8位数据码+8位数据反码,总共33位,其中引导码是9ms=4.5ms的高电平+4.5ms的低电平;其中用户码16位,它的作用是用来区分不同的遥控设备,不至于不同的遥控设备互相干扰。
注意同一个遥控器,按哪个键用户码都是一样的。
最后发送的是16位的数据码,数据码是有8位的数据码和8位的数据反码组成[12],数据反码用来校验接收的是否准确。
在本设计中,真正需要的是8位的数据码,所以解码过程中最重要的工作就是判断出这8位的二进制数据码是什么?
需要逐次判断出8位数据码中每一位是0还是1,这就是所谓的解码。
然后发送给主机的就是解码后的8位数据码。
由于0码和1码电平持续的时间是不同的,通过判断0,1电平持续的时间的不同来区分。
由于NEC标准中:
0的表示:
0.56的高电平+0.565ms的低电平=1.125ms
1的表示:
0.56的高电平+1.69ms的低电平=2.25ms
但是要非常注意的是当LED发射管发射高电平的时候,1838红外接收管输出的是低电平。
且当LED发射管发射的是低电平的时候,1838红外接收管输出的是高电平;所以1838接收头输出的波形是与发射波形反向的。
红外信号是从1838的OUT端获得的,所以解码时候要按照如下来判断0,1:
0的表示:
0.56的低电平+0.565ms的高电平=1.125ms
1的表示:
0.56的低电平+1.69ms的高电平=2.25ms
显而易见,由于低电平时间一致;那么解码程序编写的思路就是在解码程序通过一个while循环语句判断出每位高电平的时间是0.565ms还是1.69ms,如果一位码的高电平持续的时间0.565ms,那么就是码0;如果高电平持续的时间是1.69ms,那么这位码就是1。
遥控器发射的信号和1838输出的信号的区别如图2-3所示。
图2-3遥控器输出信号和1838输出信号对比
本设计采用protel99se绘制红外接收电路,1838是自建的元件库画出来的,104是0.1UF瓷片电容做去耦电容用,与47UF电容配合做电源滤波用。
22k是上拉电阻,100欧是限流电阻。
1838红外接收头的OUT端是信号输出端,GND端接地,VCC端供电。
信号输出端OUT端接到解码芯片的INT0口。
图2-4红外接收电路
2.2.2红外解码电路模块
(1)本设计中采用STC12C2052作为红外解码芯片。
1838的OUT管脚接到STC12C2052的INT0端,1838将红外信号送到解码芯片中去解码。
然后解码芯片STC12C2052的TXD端接到主机STC89C52的RXD端[2],STC12C2052将解码后的8位数据发送到主机中去。
双机通讯,主机和从机的波特率均是设定为9600bps。
(2)解码芯片STC12C2032
STC12C2052,DIP-20,超小封装的8051.特点如下:
-------增强型1T流水线,精简指令集RISC型CPU内核,速度比普通的8051快12倍
-------工作频率范围:
0---35MHz,当大于8051的0---420MHz
--------无法解密
--------低功耗,掉电模式<0.1UA,空闲模式<1MA,工作模式4MA-7MA
--------高速,高可靠,强抗静电,强抗干扰
---------内部集成了R/C振荡器,精度不高可以省去外部晶振
--------宽电压(3.4V---5.5V)
--------256字节片内RAM数据存储器
--------2个硬件16位定时器/计数器,兼容普通的8051
--------2K字节的Flash存储器
--------在系统可编程,无需编程器
(3)波特率设定的计算过程。
波特率=(2SMOD/32)*定时器T1的溢出率[1]
定时器T1的溢出率=T1计数率/产生溢出所需的周期数
=(fosc/12)/(2k-TC)
K-定时器T1的位数
TC-定时器T1的预置初值
SMOD=0,fosc=11.0592MHz=11059200Hz,k=8,TC=0Xfd=253
代入公式中得波特率=(1/32)*(11059200/12)/(28-253)=9600bps
红外解码电路如图2-5所示。
图2-5红外解码电路
2.2.3显示模块
(1)本设计采用的是4位合一的八段LED数码管作为显示模块,4位8段数码管采用共阳接法,将4个八段数码管的段选线分别并在一起,位选线独立引出;这种4位合一的数码管只能是动态扫描形式;所以每一时刻只能片选一个数码管,让其选中,然后送出相应的段码(反码)。
每个管子依次交替点亮,由于管子之间切换时间很短,动态扫描起来利用人眼视觉暂留,让人觉得每个管子都在亮。
之所以用共阳数码管,是由于单片机的拉电流的能力很弱,不建议用共阴极接法。
采用共阳接法,公共端接到VCC+5V,单片机的8位I/0口P0分别接在段选线上,P0输出的相应的反码即可显示相应的数字。
由于位选线上的电流可能很大,比如8位数码管一起亮,所以位选端要用PNP三极管驱动。
将e极接在VCC上;基极接在p1.4到p1.7,当基集是低电平的时候,管子导通,完成片选,集电极提供了数码管驱动电流。
(2)由于是共阳接法,P0.0~P0.7送出相应的反码使得数码管相应的段点亮。
表2-1是段码表。
表2-1段码表
显示字符
反码
dp
g
f
e
d
c
B
A
0
0xc0
1
1
0
0
0
0
0
0
1
0xf9
1
1
1
1
1
0
0
1
2
0xa4
1
0
1
0
0
1
0
0
3
0xb0
1
0
1
1
0
0
0
0
4
0x99
1
0
0
1
1
0
0
1
5
0x92
1
0
0
1
0
0
1
0
6
0x82
1
0
0
0
0
0
1
0
7
0xf8
1
1
1
1
1
0
0
0
8
0x80
1
0
0
0
0
0
0
0
9
0x90
1
0
0
1
0
0
0
0
A
0x88
1
0
1
0
0
0
0
0
B
0x83
1
0
1
1
0
0
0
0
C
0xc6
1
1
0
0
0
0
0
0
D
0xa1
1
1
0
1
0
0
0
0
E
0x86
1
1
1
0
0
0
0
F
0x8e
1
1
1
1
0
0
0
0
数码显示电路如图2-6所示。
图中的4位数码管是自建的,其中的三极管是PNPS8550,段选段的限流电阻是470欧,位选端的限流电阻是5.1K。
图2-6数码管显示电路
2.2.4步进驱动模块
(1)步进控制系统组成
步进控制系统由3个部分组成,第一部分是控制器,第二部分步进驱动器,第三部分是步进电机以及步进电机拖动的工作台[4];控制器可以是PLC,定位控制模块和单片机,控制器的功能是产生脉冲以及正弦方案信号,步进驱动器收到控制器发出来的脉冲,对脉冲进行分配和功率放大以控制步进电机每一相线圈是否得电,步进电机旋转,拖动工作台工作[10]。
(2)步进电机的分类
步进电机的分类表2-2所示。
表2-2步进电机分类表
分类方式
具体类型
按力矩产生的原理[5]
(1)反应式:
转子无绕组,由被激磁的定子绕组产生反应力矩实现步进运行(我们现在大量用的是反应式的步进电机)
(2)激磁式:
定,转子均有激磁绕组,或转子是永久磁钢
由电磁力矩实现步进运行
按输出力矩大小
(1)伺服式:
输出力矩在百分之几至十分之几(N.M)只能驱动较小的负载,要与液压扭矩放大器配用,才能驱动机床工作台等较大的负载
(2)功率式:
输出力矩在5~50N.m以上,可以直接驱动机床工作台等较大的负载
(我们现在主要用的是功率式的,步进电机和机床工作台直接相连)
按定子数
(1)单定子式
(2)双定子式(3)三定子式(4)多定子式
按各相绕组的分布
(2)径向分布式:
电机各相按圆周依次排列
(2)轴向分布式:
电机各相按轴向依次排列
我国使用的多为反应式步进电机,分为轴向分布式和径向分布式两种。
反应式的步进电机的转子上有小齿,不同的步进电机,转子上齿的个数是不同的,定子上要有线圈(线圈按轴向分布,或径向分布),反应式步进电机定子除了有轴向分布的绕组外,它的定子还分成几个极.,一个极上一个绕组以及有小齿,转子上也有小齿。
(3)步进电机工作原理
步进电机工作原理实际上是电磁铁作用的原理[6],当某相定子励磁后(所谓励磁后就是给定子绕组,线圈通电),它吸引转子,转子的齿与该定子磁极上的齿对齐了,转子转过一个角度,换一相得电,转子又转过一个角度,如此每一相不停的轮流得电,转子不停转动。
也就是说,先给定子线圈通电,定子线圈(绕组,磁极)产生磁场,在磁场力的作用下会吸引转子转动,转子转动的角度就是转子上的齿和定子上的齿对齐了,转子就停下来了,不停的给每一相轮流通电,转子就不停转动了。
假设先给A相通电以后,产生磁场,因为磁力线力图通过磁阻最小路径,故而产生磁阻转矩,使靠近A相转子齿被吸引到与定子极A对齐的位置,这个磁力线经过转子,将转子磁化,因此在磁场力的作用下,这个时候,磁场会吸引.这个转子,对齐后就不会转动了。
A相断电,B相通电以后,那么会在这个方向建立一个磁场,这个转子会随着磁场变化下转动,它会将离这个B相磁极最近的齿把它吸引过来。
步进电动机在启动时,启动转矩不仅要克服负载转矩,而且还要克服惯性转矩,如果脉冲频率过高,转子跟不上,电动机就会失步,甚至不能启动,步进电动机不失步启动的最高频率为启动频率。
步进电机的转角与脉冲数成正比,转速与脉冲频率成正比,不受电压,负载与环境的影响,上述特性正好符合数字控制系统的要求,因此步进电机在数控机床,军事工业获得了广泛的应用。
(4)步进电机控制
步进电机是将电脉冲信号转变为输出轴的角位移或线位移的电动机[10],因此也称为脉冲电机。
交流电机,直流电机都是连续旋转的,而步进电