基于单片机的红外遥控系统毕业设计论文.docx

上传人:b****6 文档编号:5950433 上传时间:2023-01-02 格式:DOCX 页数:52 大小:313.72KB
下载 相关 举报
基于单片机的红外遥控系统毕业设计论文.docx_第1页
第1页 / 共52页
基于单片机的红外遥控系统毕业设计论文.docx_第2页
第2页 / 共52页
基于单片机的红外遥控系统毕业设计论文.docx_第3页
第3页 / 共52页
基于单片机的红外遥控系统毕业设计论文.docx_第4页
第4页 / 共52页
基于单片机的红外遥控系统毕业设计论文.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

基于单片机的红外遥控系统毕业设计论文.docx

《基于单片机的红外遥控系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外遥控系统毕业设计论文.docx(52页珍藏版)》请在冰豆网上搜索。

基于单片机的红外遥控系统毕业设计论文.docx

基于单片机的红外遥控系统毕业设计论文

(此文档为word格式,下载后您可任意编辑修改!

存档日期:

存档编号:

 

本科生毕业设计(论文)

 

论文题目:

姓名:

李灿锋

学院:

电气工程及自动化学院

专业:

自动化

班级、学号:

08电51班

指导教师:

包建华

江苏师范大学教务处印制

摘要

本设计是基于单片机的红外遥控系统设计,设计内容包括了红外接收,红外解码和步进电机控制三大块。

如今红外遥控技术已经得到了广泛的应用;其利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强。

我们日常生活中的电视机,洗衣机,空调,航天飞机,工业现场设备等都运用了红外遥控的技术。

本设计中发射端采用专用的发射芯片来实现红外遥控码的发射,且遥控码格式是NEC标准。

接收端采用市面上流行的1838一体化红外接收头,接收到的红外信号经由1838接收头完成光电转化和解调的工作,然后把33位的完整码发送到解码芯片中去完成解码工作。

本设计中的主芯片是STC89C52单片机,主芯片和解码芯片之间进行串行通讯。

系统启动后,解码芯片将解码后得到的8位数据码串行发送到主芯片中,然后通过主芯片来控制步进电机的正转,反转,加速,减速。

本设计中的被控对象是步进电机,步进电机最适合做数字控制。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

本设计中通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

关键词:

红外遥控技术步进电机控制单片机控制

 

Abstract

ThisdesignisbasedontheinfraredremotecontrolMCUsystemdesign,designelementsincludetheinfraredreceiver,infrareddecodingandsteppermotorcontrolthreeblocks.

First,theinfraredremotecontroltechnologyawiderangeofapplications;useinfraredtotransferthedata,thiscasedoesnotrequireaphysicalconnection,smallsize,lowcost,function.Inourdailylives,televisions,washingmachines,airconditioners,spaceshuttle,theindustrialfielddevicesandsotheuseofthetechnologyofinfraredremotecontrol.Thesenderofthisdesignusingadedicatedtransmitterchiptoachievetheemissionofinfraredremotecontrolcode,andtheremotecontrolcodeformatistheNECstandard.Thereceivingendofthepopularityofthe1838integrationofinfraredreceiver,theinfraredsignalreceivedthrough1838toreceivetheanddemodulationofthe33completecodesenttothedecoderchiptocompletethedecoding.

ThedesignofthemainchipisSTC89C52.Serialcommunicationbetweenthemainchipanddecoderchip.Systemstartup,thedecoderchipdecoding8-bitserialdatacodesenttothemainchip,andthenthroughthemainchiptocontrolthesteppermotorforward,reverse,speedup,slowdown.

Thedesignofthecontrolledobjectisasteppermotor,steppermotoristhemostsuitablefordigitalcontrol.Thesteppermotoristheelectricalpulsesintoangulardisplacementorlineardisplacementoftheopen-loopcontrolelement.Thisdesignbycontrollingthenumberofpulsestocontroltheamountofangulardisplacement,soastoachieveaccuratepositioningpurposes;atthesametimebycontrollingthepulsefrequencytocontrolthemotorrotationspeedandacceleration,soastoachievethepurposeofspeedcontrol.

Keyword:

SteppermotorInfraredremotecontrol

Single-ChipMicrocomputerControl

摘要I

AbstractII

1绪论1

1.1课题研究背景及意义1

1.2本设计的主要工作1

2硬件设计2

2.1整体设计方案及框图2

2.2系统功能模块设计3

2.2.1红外收发模块3

2.2.2红外解码电路模块6

2.2.3显示模块7

2.2.4步进驱动模块9

2.2.5电源模块14

2.2.6主机模块14

3软件设计19

3.1主程序设计19

3.2解码程序设计24

4调试及开发环境28

4.1硬件调试及开发环境28

4.2软件调试及开发环境30

5总结和改进33

5.1设计总结33

5.2设计改进33

致谢34

附录一35

附录二56

附录三57

参考文献58

 

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的MHz

无法解密

低功耗,掉电模式<0.1UA,空闲模式<1MA,工作模式4MA-7MA

高速,高可靠,强抗静电,强抗干扰

内部集成了RC振荡器,精度不高可以省去外部晶振

宽电压(3.4V---5.5V)

字节片内RAM数据存储器

个硬件16位定时器计数器,兼容普通的8051

K字节的Flash存储器

在系统可编程,无需编程器

(3)波特率设定的计算过程。

波特率=(2SMOD32)*定时器T1的溢出率[1]

定时器T1的溢出率=T1计数率产生溢出所需的周期数

=(fosc12)(2k-TC)

K-定时器T1的位数

TC-定时器T1的预置初值

SMOD=0,fosc=11.0592MHz=Hz,k=8,TC=0Xfd=253

代入公式中得波特率=(132)*(12)(28-253)=9600bps

红外解码电路如图2-5所示。

图2-5红外解码电路

2.2.3显示模块

(1)本设计采用的是4位合一的八段LED数码管作为显示模块,4位8段数码管采用共阳接法,将4个八段数码管的段选线分别并在一起,位选线独立引出;这种4位合一的数码管只能是动态扫描形式;所以每一时刻只能片选一个数码管,让其选中,然后送出相应的段码(反码)。

每个管子依次交替点亮,由于管子之间切换时间很短,动态扫描起来利用人眼视觉暂留,让人觉得每个管子都在亮。

之所以用共阳数码管,是由于单片机的拉电流的能力很弱,不建议用共阴极接法。

采用共阳接法,公共端接到VCC+5V,单片机的8位I0口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],因此也称为脉冲电机。

交流电机,直流电机都是连续旋转的,而步进电机是一步一步的旋转,步进电机每次能够转动的最小的角度是步距角(本设计中的步距角是0.°);每当步进电机的驱动器,收到一个脉冲信号时候,步进电机就按照设定的方向转过一个固定的角度,即步进角。

可以通过改变加在驱动器上的脉冲的频率来改变步进电机的转速和加速度;可以通过改变加在驱动器上的脉冲的个数来改变步进电机转过的角度;利用这一个线性关系的存在,使得步进电机在速度控制,位置等控制领域用步进电机来控制变得非常的简单。

本设计中用到的步进电机是28BYJ-48,5V驱动的4相5线的步进电机,且是减速的步进电机,参考手册中这个步进电机的减速比是1:

64,步进角是为0.°(5.625°64=0.°)那么转过一圈要4096个脉冲

(360°0.°=4096)。

本设计中采用四相八拍的驱动方式,8拍一步,8拍方式的精度更高。

那么每一步转过的角度是0.703125°(8*0.°=0.703125°),所以512步转一圈。

(360°0.703125°=512步)。

四相五线步进电机28BYJ-48

1.额定电压:

5V

2.相数:

4

3.减速比:

164

4.步距角:

5.625°64=0.°

5.驱动方式:

4相8拍

(5)步进驱动器

本设计采用ULN2003做驱动芯片[10]。

ULN2003的特点是高耐压、大电流复合晶体管,由七个硅NPN复合晶体管组成。

ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流下并行运行,可直接驱动继电器等负载,输入5V电平,输出可达500mA50V。

由于51的拉电流的能力小于100uA,灌电流10mA,而本设计中的步进电机需要200mA的驱动电流,所以需要ULN2003来驱动。

步进电机驱动电路如图2-7所示。

图2-7步进电机驱动电路

(6)步进驱动脉冲分配表

正转表:

4-1-2驱动,8拍一步

D-DC-C-CB-B-BA-A-AD

表2-3正转表

P2端口值

P2^0(D相)

P2^1(C相)

P2^2(B相)

P2^3(A相)

0x01

1

0

0

0

0x03

1

1

0

0

0x02

0

1

0

0

0x06

0

1

1

0

0x04

0

0

1

0

0x0c

0

0

1

1

0x08

0

0

0

1

0x09

1

0

0

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1