基于单片机的红外遥控系统设计本科生毕业设计

更新时间:2023-09-02 10:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科生毕业设计(论文)

论文题目:

基于单片机的红外遥控系统设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

I

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

II

注意事项

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)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

III

摘要

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

如今红外遥控技术已经得到了广泛的应用;其利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强。我们日常生活中的电视机,洗衣机,空调,航天飞机,工业现场设备等都运用了红外遥控的技术。本设计中发射端采用专用的发射芯片来实现红外遥控码的发射,且遥控码格式是NEC标准。接收端采用市面上流行的1838一体化红外接收头,接收到的红外信号经由1838接收头完成光/电转化和解调的工作,然后把33位的完整码发送到解码芯片中去完成解码工作。

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

本设计中的被控对象是步进电机,步进电机最适合做数字控制。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。本设计中通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

关键词:红外遥控技术步进电机控制单片机控制

IV

Abstract

This design is based on the infrared remote control MCU system design, design elements include the infrared receiver, infrared decoding and stepper motor control three blocks.

First, the infrared remote control technology has been a wide range of applications; use infrared to transfer the data, this case does not require a physical connection, small size, low cost, function. In our daily lives, televisions, washing machines, air conditioners, space shuttle, the industrial field devices and so the use of the technology of infrared remote control.The sender of this design using a dedicated transmitter chip to achieve the emission of infrared remote control code, and the remote control code format is the NEC standard.The receiving end of the popularity of the 1838 integration of infrared receiver, the infrared signal received through 1838 to receive the head, the optical / electrical conversion and demodulation of the 33 complete code sent to the decoder chip to complete the decoding.

The design of the main chip is STC89C52. Serial communication between the main chip and decoder chip. System startup, the decoder chip decoding 8-bit serial data code sent to the main chip, and then through the main chip to control the stepper motor forward, reverse, speed up, slow down.

The design of the controlled object is a stepper motor, stepper motor is the most suitable for digital control. The stepper motor is the electrical pulses into angular displacement or linear displacement of the open-loop control element. This design by controlling the number of pulses to control the amount of angular displacement, so as to achieve accurate

V

positioning purposes; at the same time by controlling the pulse frequency to control the motor rotation speed and acceleration, so as to achieve the purpose of speed control.

Key word:Stepper motor Infrared remote control

Single-Chip Microcomputer Control

VI

目录

摘要............................................... I Abstract............................................. V

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)

VII

致谢 (34)

附录一 (35)

附录二 (56)

附录三 (57)

参考文献 (58)

VIII

江苏师范大学本科生毕业设计红外遥控步进电机1 绪论

1.1 课题研究背景及意义

本设计采用红外线来遥控步进电机。红外遥控是如今广泛使用的一种通信和遥控手段;红外线遥控利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强;因此红外遥控设备已经广泛的应用在如今的电气设备的数据交互和设备控制中[2]。比如航空航天及我们日常中的电视机,洗衣机,空调等。并且在工业设备中,在辐射,高压,粉尘,有毒气体,许多恶劣的环境中能够有效的隔离电气干扰。

在工业控制系统中,通常需要控制机械部件的平移和转动[4],这些机械部件的驱动大多采用交流电机,直流电机和步进电机,在这三种电机中,步进电机最适合做数字控制,因此在数控机床,家用电器,步进电机都得到了广泛的应用。

由于红外遥控和步进电机的优越性,本设计中采用了单片机来实现红外解码及产生步进电机脉冲信号。因为红外遥控和步进电机都得到了广泛的应用,所以此课题基于红外遥控步进电机是很有实际意义的。

1.2本设计的主要工作

本设计是红外遥控步进电机,设计的工作主要包括以下几个方面。

(1)硬件电路设计,包括红外接收电路,红外解码电路,主电路,显示电路,步进驱动电路的设计,双机通讯等。

(2)软件设计,在keil uVison3平台上编写步进控制主程序,显示程序,红外解码程序。

(3)软硬件的调试,包括在protel99se平台下原理图的绘制,焊接电路板,keil平台下程序的编写及调试,STC_ISP下载等。

(4)总结以及改进。

1

江苏师范大学本科生毕业设计 红外遥控步进电机

2

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 系统整体框图

红外接收

STC12C2052 INT0

TXD

解码芯片

P1.0~p1.2 P1.4~p1.7

P3.0/RXD

P2.0~p2.3

主机 STC89C52

数码管显示

步进驱动 步进电机

外发射

运行指示灯

江苏师范大学本科生毕业设计 红外遥控步进电机

3 2.2 系统功能模块设计

2.2.1 红外收发模块

红外遥控系统由发射和接收两个部分组成。发送部分包括了遥控器键盘,编码调制芯片,LED 红外发射器;接收部分包括了光/电转化放大器[2],解码,解调。本设计采用现成遥控器,此遥控器使用了专用的集成发射芯片来实现遥控码的发射。信号发射,就是将某个按键所对应的控制指令和系统码,调制在38KHz 的载波上,经由放大,驱动红外发射管将信号发射出去。而接收电路采用红外线接收和放大于一体的一体化红外接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL 电平信号兼容的所有工作,而体积和普通的的塑料封装的三极管大小一样,它适用于各种红外遥控和红外线数据传输。如图2-2所示。

NEC 编码键盘编码和调制LED

LED 光电放大解调

解码

单片

红外遥控器

一体化红外接收头 图2-2 红外线遥控系统框图

由于不同公司的遥控芯片,采用的遥控码格式不一样。现在市场上较为普遍的编码标准有两种,一种是NEC 标准,一种是PHILIPS 标准。

本设计中的遥控器的遥控芯片是NEC 标准,下文介绍一下什么是NEC 标准。遥控发射的信号调制在频率38KHz 的载波上;当用户按下按键时发送一个完整码。一个完整码[7] = 一位引导码 + 8位用户码 + 8位用户码 + 8位数据码 + 8位数据反码 ,总共33位,其中引导码是9ms = 4.5 ms 的高电平 + 4.5 ms 的低电平;其中用户码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所示。

4

江苏师范大学本科生毕业设计 红外遥控步进电机

5

0.56ms 高电平

0.565ms 低电平

遥控器发送的码“0”共1.125ms

0.56ms 低电平

0.565ms 高电平

1838接收头输出的码“0”共1.125ms

0.56ms 高电平

1.69ms 低电平

遥控器发射的码“1”共2.25ms

0.56ms 低电平

1.69ms 高电平

1838输出的码“1”共2.25ms

图2-3 遥控器输出信号和1838输出信号对比

本设计采用protel99se 绘制红外接收电路,1838是自建的元件库画出来的,104是0.1UF 瓷片电容做去耦电容用,与47UF 电容配合做电源滤波用。22k 是上拉电阻,100欧是限流电阻。1838红外接收头的OUT 端是信号输出端,GND 端接地,VCC 端供电。信号输出端OUT 端接到解码芯片的INT0口。

O U T

3

G N D 2

V C C 1

R222K

R3100

C1104

VC C

C247UF

图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.4 V---5.5V)

--------256字节片内RAM数据存储器

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

--------2K字节的Flash存储器

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

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

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

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

= (f osc / 12)/ (2k - TC)

K- 定时器T1的位数

TC-定时器T1的预置初值

SMOD = 0 ,f osc = 11.0592MHz = 11059200Hz,k = 8 ,TC = 0Xfd = 253

代入公式中得波特率= (1 / 32)* (11059200 / 12) / (28 - 253 ) = 9600bps

6

江苏师范大学本科生毕业设计 红外遥控步进电机

7

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

RS T

1P3.1/TXD 3XTAL24XTAL15P3.2/INT06P3.3/INT17P3.4/T08P3.5/T19GND

10

P3.0/RXD 2VC C 20P1.719P1.618P1.517P1.416P1.315P1.214P1.113P1.012P3.7

11

STC12C 2052R4

1K

C430PF

C330PF

晶振

11.0592MHz

TXD RXD

D2LED

R5470

VC C

hw_in

图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位数码管是自建的,其中的三极管是PNP S8550 ,段选段的限流电阻是470欧,位选端的限流电阻是5.1K。

8

江苏师范大学本科生毕业设计 红外遥控步进电机

9

R8470R9470R10470R11470R12470R13470R14470R15

470

Q1

PNP

Q2

PNP

Q3

PNP

Q4

PNP

VC C

VC C

VC C

VC C

R17 5.1K R16 5.1K R18 5.1K R19

5.1K

P1.4P1.5P1.6P1.7

a 1

b 2

c 3

d 4

e 5

f 6

g 7dp

8

1

1

2

2

3

3

4

4

b

c

d

e

a f

g b

c

d

e

a f

g b

c d

e

a f

g b

c

d e

a

f

g

4位8段数码管

图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)轴向分布式:电机各相按轴向依次排列

我国使用的多为反应式步进电机,分为轴向分布式和径向分布式两种。

反应式的步进电机的转子上有小齿,不同的步进电机,转子上齿的个数是不

同的,定子上要有线圈(线圈按轴向分布,或径向分布),反应式步进电机定子

除了有轴向分布的绕组外,它的定子还分成几个极.,一个极上一个绕组以及有

小齿,转子上也有小齿。

10

本文来源:https://www.bwwdw.com/article/efai.html

Top