立即注册
查看: 2197|回复: 1

[技术资料] 基于51单片机的红外线家用电器控制系统

已绑定手机
已实名认证
发表于 2016-1-9 22:21:31 | 显示全部楼层 |阅读模式 来自 湖南省

                                 目  录


1.引言
随着现今社会的快速发展,各种各样家用电器随着科技进步已经进入了各家各户,各式各样的家用电器,比如空调、电视、影音系统等传统家电现今已成为我们百姓幸福生活离不开的一部分了,甚至连投影机、数字化接收机顶盒,防盗系统等新兴电器也正以迅猛的速度进入了现代家庭,所以导致我们家里的各种遥控器也越来越多,数不胜数,不同形式的家电也需要各种不同的遥控器来控制。关于遥控器,我相信大家都不会太陌生,这是一种简单的对于家电的控制方式,基本上所有的可控的家用电器都配备了遥控器,甚至连以前功能单一的台灯、风扇这样的家电也功能多样化起来了,并且配备了遥控器。可是,电器越来越多之后,遥控器也就越来越多了,这样就导致控制繁琐起来了,在我们的生活中,会遇见许多随手拿错,或者因为遥控器较多,乱摆乱放的行为也就突出了起来,对于整洁问题也变得繁琐起来。 本设计的目的就是设计一种遥控器,可以使用一个遥控器来控制多个不同家电的使用与否,这样就可以让我们的生活变得更加简洁,也更简单化起来。可是不同家电需要使用的遥控器原理都各有不同, 基本上各种家用电器都需要配备自己专门的遥控器,所以我们为了解决这个问题,专门设计探讨了一个这样关于遥控器的设计方案:这种遥控器可以通过控制多个继电器从而来控制多个家电的开关,这样就能省去我们大量的人力物力,也会省去我们对于多个遥控器控制的繁琐。本设计硬件部分的主要原理是通过利用控制电路来操控继电器的工作,从而达到控制家电的是否工作的目的,我们这个设计一共用了四组继电器,所以能控制四台家电,如果对于控制数量有要求,我们可以通过增加或减少继电器数量来控制不同数量的家电。对于红外线遥控解码,常规的来说就是把红外线接收端所接收到的二进制编码进行解码,然后还原出最开始红外线发射端所发射的数据信号。通常有硬件编码和软件编码两种方案,其中硬件编码又分为使用专用解码芯片和自行开发解码电路两种情况[1]。本设计根据实际情况主要是利用遥控器编码来发射红外控制信号,至于接收模块,是使用的一体化接收模块来接收红外线信号的,当编码经过加载38KZ的载波发射出时,接收模块接收并滤除载波后,传回单片机内并解码,当单片机译出发射端所发射的编码,也就是遥控器所按的按键后,就会输出指令控制继电器工作,进而使得软件来驱动硬件,最后电器开始工作,这就实现了遥控器控制电器开关的目的。
2.系统方案设计2.1设计功能要求
家用电器的红外线控制系统的设计要求为以STC89C52为核心控制元件,再选用适当的红外线发射与接收器、控制元件和显示屏来实现红外线控制多个家用电器的基本功能,同时显示屏实时显示家用电器的工作情况。系统电路总体上分为单片机最小系统、控制模块、红外线发射与接收模块及液晶显示模块。
2.2方案的分析与选择
    电子技术发展到今天,单片机的种类越来越多。其中ARM系列32位的单片机得到了广泛应用,而本设计数据处理能力要求不高,所以用32位单片机有点“大材小用”。单片机最小系统是整个电路的核心模块,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,要实现这些基本功能,STC较其他的单片机更加有优势,因为它不但对工作环境的要求比较低,能够在电压低于5伏时仍然正常工作,而且执行指令的速度也很快,更重要的是下载指令也较其他种类单片机更为方便。因而,我选择用STC89C52芯片完成设计。
一般来说红外线发射管有850nm、880nm、940nm等等多种不一样波长的,我们这次采用的是940nm,通常大家也是选择940nm。之所以选择940nm是因为价格方面的话940nm的最便宜,而且虽然850nm的发射功率是最大的,但是因为我们接收头一般都是黑色胶体,会滤除光干扰,一般都会滤除850nm以下的光干扰,所以850nm的发射功率虽然大,但是因为处在接收头滤光的波段边缘,所以大部分都会被滤除掉了,导致其性能并不比940nm的好,甚至还要稍差一点,毕竟大多数接收头接收范围是850~1100nm,而940nm的波长处于峰值区域。
根据本设计的要求,当我们发射出信号并进行译码后,我们的显示器应当显示出工作的电器名,并不需要显示汉字,所以大多数液晶显示都能满足,但是出于对成本的考虑,我就选择了成本更低的LCD1602。
控制主要是通过单片机给数据,通过三极管来驱动继电器。继电器的优势就在于价格比较的优惠,而且可以很好的通过低电压来控制220V的交流电,可以使的整个系统可以通过单片机来控制。继电器还有作为开关一样,来控制所想要控制的电器。
综合上面的分析,系统整体设计方案有单片机最小系统模块、显示模块、控制模块、红外线发射端、红外线接收端组成。系统的工作原理是通过红外线的发射与接收来达到一个控制信号的输送,然后通过单片机控制电路中继电器的工作,从而家用电器的开启或关闭,与此同时,调用子程序,就会在液晶显示屏上显示出相应的家用电器的开启情况,如当按下“电灯”按键时,电灯开始工作,并在液晶显示屏上显示出“Deng”字样,以此类推。此外还可以利用发射端或者手动按键来驱动显示屏是否工作,从而达到省电的功能。
系统框图如图1所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg

图1 系统框图

3.系统硬件电路实现3.1单片机最小系统
本设计我们采用的是51系列单片机中的STC89C52。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-5内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案[2]。
单片机最小系统主要由STC89C52单片机芯片、复位电路和晶振电路组成。振荡电路和复位电路通过接口与单片机各引脚相连。振荡电路是由石英晶体和电容组成的并联谐振回路,选用晶振进行内部振荡为系统提供最基本的时钟信号,振荡电路外接在单片机的XTAL1和XTAL2引脚上,内部振荡器就会产生自激振荡[3]。单片机复位电路分为上电复位和按键复位两种方式,本设计选用按键复位的方法实现,其原理是在复位电容上并联一个开关[4]。如图2所示,当并联的开关被按下时,复位电容放电,同时单片机RST脚也被拉到高电平,由于电容的充电,将可以保持一段时间的高电平来供单片机复位[5]。
复位电路主要是由电容串联电阻而构成的,通过“电容电压不能突变”的原理,我们可以了解到,当系统上电的时候,芯片的RST脚就会出现高电平,并且,高电平的持续时间也是由电路中的RC值的大小来决定的。一般典型的51单片机,在RST脚上的高电平如果持续了两个机器周期的话就会复位。
单片机最小系统如图2所示。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif

图2 单片机最小系统
3.2红外线控制模块
红外线接受模块就是针对于红外线发射器发射的数据信号进行接收的,然后再把接收到的数据信号传给单片机。红外线发射端是以红外线发光LED, 发射波长为940nm红外线不可见光,以此来传送信号。整个遥控器系统是分为两个部分,发射端和接收端,先由发射端发射出红外线控制信号,然后接收端接收,再进行译码,最后输出动作,通过这样的方式完成遥控的功能。红外通信存在已经很久了,但是进入90年代后,由于科学技术水平的提高和地球空间技术的不断进步,也就使得人们对红外线技术的研究愈加深入,应用范围也更加广泛,特别是在红外通信技术和红外遥感技术领域里,数字锁相技术和传感器技术的巨大进步,大大加速了这个进程,目前无线产品在商业销售中的使用已相当普遍,但大多存在着很大的局限性,电路繁杂,计算难度大且多为模拟电路,抗干扰能力差,准确度底,电路的维护调试很不方便。当前,数据通信系统跟远距离控制都加入红外线来作为传输媒介,组成红外线控制通信系统。这种系统拥有精度高、保密性强、成本低、技术性能稳定的特点,所以受到众多用户和专业人士的欢迎。 红外遥控系统的发射部分的主要元件为红外发光二极管,实际上就是一个特殊的发光二极管,当在它两端施加一定电压时,它会发射出红外线光,而不是普通发光二极管发射的可见光。现在我们通常使用的红外发光二极管发射出的红外线波长一般在940nm左右。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif     

                                图3接收模块电路
3.3控制模块
本设计采用4个继电器并联工作,可同时控制4路电器开关。继电器一般由铁圈、衔铁、触点簧片、铁芯等组成,是电子设备的一种。在自动控制电路中常常被使用,主要作用能够以一个微小的电流控制大电流的导通和切断,还能扩大控制范围,在信号达到一定值时,可以按触点的不同形式,同时换接、开断、接通多路电路,达到自动开关的目的。
继电器在接通电源后,会产生电磁效应,电磁力就会吸引衔铁,让它接触到铁芯,带动衔铁的常闭触点与常开触点吸合,电流切断后,电磁的吸力也就没有了,衔铁就又回到原来的位置,将电流切断。继电器与三极管相连,三极管采用PNP方式,低电平导通。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif


图4 控制模块
3.4显示模块
液晶显示器(Liquid Crystal Display,LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。各种型号的液晶经常是按照显示字符的行数或液晶点阵的行、列来命名的,比如:1602的意思是每行显示16个字符,一共可以显示两行;类似的命名还有0801,0802,1601等,这类液晶经常都是字符型液晶,只能显示ASCII码字符,如数字、大小写字母、各种符号等。12232液晶属于图形型液晶,它的意思是液晶优122列、32行组成,即共有122*32个点来显示各种图形,我们可以通过控制着122*32个点的任一个点显示或不显示。类似的命名还有12864、19264、192128等[6]。
本设计采用LCD1602液晶显示屏作位显示,电路图如图7所示。LCD1602液晶显示屏的电压驱动大小为5V,可以显示两行,每行为16个字符,但是不能显示汉字,带背光,并且内置了带有128个ASCII字符的集字库。因为设计对于实时显示的要求较高,而并行传送速度较快,所以选择并行连接方式传送。LCD1602引脚图如图5所示。




file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
图5 LCD1602引脚图
4.系统软件设计
本设计的软件采用KEIL μVision4集成开发环境进行C语言程序编写,Keil μVision3 是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比较,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
根据各个模块的功能,建立模块子程序,然后各个模块的子程序组件在一起形成系统主程序,通过对主程序的编写建立程序流程图,主程序的功能分为以下几个方面。
首先系统的主程序主要是通过单片机对红外线接收头接收的信号进行红外解码,首先通过对红外解码及其液晶显示程序进行初始化,跳到外部中断1进行红外信号的判断,红外编码包括32位,其中前面16位是用户识别码,8位低电位用户编码,8位高电位用户编码,这种编码主要是用来防止不同遥控设备的编码干扰;后面16位包括8位操作码以及8位操作反码,8位操作码以及8位操作反码主要是用来核对接收到的红外编码是否准确,继电器程序则是通过高低电平来控制继电器的开启和关闭功能,以此来实现控制目的。
如果通过判断数据码为对应的编码,则对按键进行相应的处理,一方面通过液晶屏幕LCD1602进行相应显示,另一方面通过三极管来驱动继电器来控制电路进行相应的处理,否则,跳出主程序,不做任何处理。其具体流程图如图6所示。





file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif

图6 主程序流程图
5.硬件调试
5.1 排除逻辑故障
为了让调试顺利进行,我们先做显示器部分调试。我们先将单片跟LCD显示部分分离开来,这样的话就可以使用静态方法来测试LCD显示是否正常,我们再将电平加到规定大小连接位显示的引脚,看结果是不是跟我们理论上显示一致。不一致,一般为LCD显示器接触不良所致,必须找出故障,检测单片机电路工作是否正常。对单片机进行编程调试时,分为两个步骤:第一,对其进行初始化。第二,将单片机与LCD结合起来,借助开发机,通过编制程序进行调试。如果调试通过了,我们就可以开始编制应用程序了。针对于我们一般的逻辑故障来说的话,往往都是因为设计跟焊接过程中我们的错误所造成的,主要包括错线、开路、短路,排除的方法是首先将焊接好的电路板认真对照原理图,看两者是否一致。另外,我们应该特别注意检查下电源系统,防止电路电源短路或者极性错误,还需要重点检查系统总线是不是存在相互之间的短路和跟其他信号线是不是存在短路,必要的话我们还可以利用万用表来检测,可以减少我们的排错时间。
5.2 排除元器件失效
通常情况下,元器件失效的问题还是较少的,如果发生了,我们应该要知道造成这一类的原因常见的有两种:一种是当我们买回来时元器件就已经损坏了,还有一种就是因为我们安装的时候不注意,导致元器件烧坏了。这个时候我们就应该检查元器件跟我们设计要求的型号、规格和安装是不是一致的,在保证安装没有问题的情况下,我们就应该替换一个元器件来排除错误。最后实物图如图7所示。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg

图7  实物图
6.结论
本设计经过硬件的焊接及软件编程,现在已经基本上实现了预期要求,在单片机和遥控发射模块的控制下,继电器可按照预期指令工作,从而各个家用电器将按照命令实现开与关功能。同时液晶显示模块可实时显示各家用电器工作情况。本设计具有性能稳定、电路简单、成本较低的特点。但由于时间有限,此设计仍有可拓展的功能没有完成,有待日后加以完善。比如控制灯光强弱,高温报警,烟雾报警等,可加强其实用性。
2016-1-9 22:21 上传
文件大小:
187.89 KB
下载次数:
6
本地下载

16RD supports Paypal , Payment is calculated at the exchange rate of the day. Unable to download please contact 18902843661 (WhatsApp OR wechat number)

关于一牛网在微软浏览器(Microsoft Edge、IE浏览器)警报通告&解决方案!(无法下载直接更换浏览器即可)

*附件为作者发布,与本站无关,如有侵权,请联系客服删除


已绑定手机
已实名认证
 楼主| 发表于 2016-1-9 22:23:50 | 显示全部楼层 来自 湖南省
如果有有用的小伙伴可以下载下面的压缩文件夹,然后又什么不懂的可以直接问我压缩文件中有代码和完整的毕业论文,希望大家可以帮我多多顶一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表