| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 单片机遥控开关系统设计(结构原理、电路、程序) -> 正文阅读 |
|
[嵌入式]单片机遥控开关系统设计(结构原理、电路、程序) |
本设计提出了一种基于单片机的遥控开关系统。通过对样机的测试结果表明,本系统采用单片机进行遥控系统的应用设计,具有编程灵活多样,操作码个数可随意设定等优点。一般设备系统采用专用的遥控编码及解码集成电路。此方案具有制作简单,容易等特点,但由于功能键数及功能受到特定的限制,只适合用于某一专用电器产品的应用,应用范围受到限制。而本系统消除了此问题,智能化大大提高。通过对样机的调试运行,节能效果很好,具有极其广泛的应用价值和应用前景。 1 引言 随着电子技术的飞速发展,新型大规模遥控集成电路的不断出现,遥控技术有了日新月异的发展。遥控装置的中心控制部件已从早期的分立元件、集成电路逐步发展到现在的单片微型计算机,智能化程度大大提高。近年来,遥控技术在工业生产、家用电器、安全保卫以及人们的日常生活中使用越来越广泛。 本论文是基于单片机设计了一个智能化的遥控开关系统。该系统用AT89C2051单片机作为控制芯片,制作一个遥控器,键盘采用行列式操作,按键中断扫描方式提高了CPU效率。遥控器发射器采用红外线脉冲个数编码,根据脉冲个数来确定是哪个按键按下,并发射相应的信号来控制电灯调光,无键按下时处于低功耗空闲方式状态。另一个单片机控制系统能被遥控操作,通过软件解码实现对一个电灯的调光,以及对继电器的控制功能。 2 系统的结构组成和工作原理 用单片机制作一个红外遥控器,可以分别控制8个控制继电器开关,和一个电灯开关,并且可以对电灯进行亮度的调光控制。 红外发射部分结构图如下图2.1所示 当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去。 红外接收部分结构如下图2.2所示: 采用红外遥控不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,适合进行多路遥控。 3 硬件电路设计 3.1 遥控发射器电路设计 电路主要由AT89C2051单片机、行列式操作键盘、低功耗空闲方式控制电路、红外发射电路电源等部分组成。 遥控电路的主芯片采用美国ATMEL公司的AT89C2051Flash单片机。它是一个低电压,高性能CMOS8位单片机,片内含2KB的可反复擦写的只读Flash程序存储器和128字节的随机存取收据(RAM);2.7~6V的电源使用电压、两个16位定时器∕计数器;6个中断源、15条I∕O引线;1个精密模拟比较器以及片内振荡器和时钟电路;直接LED驱动输出以及空闲和掉电方式等功能。遥控器采用两节1.5V电池串联提供3V电源供电,在遥控系统设计中,片内模拟比较器接口只是作普通I∕O运用。 行列式操作键盘又称为矩阵式键盘。用I∕O线组成行、列结构,按键设置在行列的交点上,行列线分别连接到按键开关的两端,键盘中有无按键按下是由列线送入扫描字、行线读入行线状态来判断的。为了提高CPU效率,同时也为了节约电池电源能量,遥控器采用按键中断扫描方式。无键按下时,单片机处于低耗空闲待机方式,有键按下时触发外部中断实现查键及执行键功能程序。 AT89C205l的CPU有2种节电工作方式,即空闲方式和掉电方式,遥控器采用空闲节电工作方式。当CPU执行完置IDL=1(PCON.0=1)指令后,系统进入空闲工作方式,这时内部时钟不向CPU 提供,而只供给中断、串行口、定时器部分。遥控器退出低功耗空闲方式电路由IN4148二极管组成“与”门实现。当有键按下时,由“与”门触发外部中断1发生中断,单片机退出空闲工作方式,进入键盘和红外发射程序,结束后又进入低功耗空闲方式待机。在使用过程中单片机基本上处于空闲工作方式,功耗相当低,从而为使用电池电源提供了保障。 红外线发射和指示灯电路利用遥控器信息码由AT89C2051单片机的定时器1调制成38.5kHz红外线载波信号,由P3.5口输出,经过三极管9013放大,由红外线发射管发送。电阻R1的大小可以改变发射距离,按键的操作指示灯使用一个LED发光二极管。定时器1按照方式2工作,即设置自动8位重装模式。在用作定时器时,在每个机器周期计算器加1,所以可以把它看成累加机器周期,1个机器周期包括12个振荡周期,则计数频率为振荡频率的十二分之一。当M1M0为10时,定时器∕计数器工作于方式2。在此方式下,设置了一个8位的计数器,并自动恢复初值的功能,以T1为例,将TL1作为计数器,将TH1作为寄存器使用,存放计数初值。当TL1作增1计数至溢出时,除了把溢出标志位TF1置1外,同时还将TH1中的计数初值送入TL1中,使TL1又重新从初值开始计数。而TH1中的计数初值由软件编程置入,在常数重装入的过程中,TH1保持不变。在方式2中,T0和T1的操作功能完全相同,可自由选择使用。 3.2 遥控接收器电路设计 接收控制系统主要由AT89C52单片机、电源电路、红外接收电路、50Hz交流过零检测电路、电灯调光控制电路、控制继电器电路等部分组成。 单片机AT89C52有40个引脚,32个外部双向输入∕输出(I∕O)端口,同时内含2个外中断口,3个16位定时器∕计数器,6个中断源、低功耗空闲和掉电方式,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微机处理器和Flash存储器结合在一起,特别是可以反复擦写的Flash存储器可有效地降低开发成本。控制系统采用5V电源电压,外接12MHz晶振。 电源电路由桥式整流、电容滤波、7805稳压器及电源指示灯组成。交流电经过桥式整流变成直流电,再经过电容滤波,7805集成稳压器稳压成为稳定的+5V电源,用一个发光二极管指示灯指示电源状态。 红外遥控接收器集成了模块化,一般为三个引脚,输出为检波整形过的方波信号。红外接收电路如图3.1所示,接收器前端红外滤光片去除可见光使红外光通过。监测器红外光敏二极管,使器件构成最大受光区。在放大器端增加电滤波,消除低频干扰和高频干扰。数据检测一般用峰值监测器,通用信号比较器电路,输出新电平去处理器。 交流电过零检测电路如图3.2所示。过零检测电路主要由两个NPN型三极管组成,Q1的基极过一200K电阻进行限流,电阻另一端为被检测端,经过全桥整流后为全波,一周期内可以触发两次。被检测端为经过变压器后整流得到的,此处电源主要供给AT89C52用,电路设计中仅有输入和输出端的电解电容滤波,考虑高频杂波最好加入104/50V的钽电容而使得电源更干净,更好的防止干扰。在桥后串一二极管是为防止电源反接,一般在CPU电路板上。 可控硅电灯调光控制电路设计原理图如图3.3所示。电灯调光是由可控硅的导通角控制的。AT89C52产生可控硅控制的移相脉冲,移相角的改变实现导通角的改变,即当移相角较大是,可控硅的导通角较小,分布在电灯上的电压较低,电等较暗;当移相角较小时,可控硅的导通角较大,分布在电灯上的电压较高,电灯很亮;当导通角不为0时,电灯即可发光;当导通角为0时,电灯熄灭。当AT89C52的P0.0位为低电平时,9012三极管导通,三极管电极电流驱动光电耦合器导通,使可控硅的G极产生脉冲信号触发可控硅导通;当AT89C52的P0.0位为高电平时,9012三极管截止,则光电耦合器和可控硅都处于截止状态。 本设计有八路控制继电器电路,在红外接收原理图上只画出一路控制继电器电路。图3.4为HK4100F继电器驱动电路原理图,三极管Q5的基极B接到AT89C52单片机的P0.7口,三极管的发射极E接到继电器线圈的一端,线圈的另一端接到+5V电源VCC上;继电器线圈两端并接一个二极管IN4148,用于吸收释放继电器线圈断电时产生的反向电动势,防止反向电势击穿三极管Q5及干扰其他电路;R14和发光二极管LED9组成一个继电器状态指示电路,当继电器吸合的时候,LED9点亮,这样就可以直观的看到继电器状态了 4.1 遥控发射器的程序设计 4.1.1初始化程序和主程序 初始化程序流程图如4.1所示。初始化程序主要是设置P1口和P3口为高电平状态复位,关P3.5口遥控输出,设置堆栈指针SP为#70H,关闭总中断源,设置中断优先级IP,选择定时器∕计数器1和设置工作方式为2的自动8位重装载模式。方式2是8位定时器/计数器,晶体振荡器频率为12MHZ,则机器周期为f/12=12/12=1μs。计数功能计数初值X=28—计数值(计数值=T×f/12)。 ?主程序流程图如4.2所示。主程序部分首先调用初始化程序,再进入主程序循环状态。在循环中主要有两个任务,即调用键盘程序和进入低功耗空闲待机方式。系统完成键盘查询程序后即进入空闲节点方式,直到外部中断1中断或硬件复位而退出,CPU再次转向循环部 ?在发射程序中,首先要装入发射脉冲个数,第一个码间隔即起始码为3ms时,开高频定时中断调制(P3.7端口设为高电平)。然后设置软件陷阱,提高单片机的可靠性,以免出现死机现象,在进行循环指令,第一个码间隔3ms完成既R0为0时码距间隔为1ms,如果之后脉冲个数为零,这时取反,关高频中断调制即P3.7为低电频,系统退出发射程序。如果脉冲个数还有则再循环发射。P3.7端口取反为低电频时工作指示灯开,高电频时指示灯关。在程序中调用500ms的延时程序是确保遥控器发射的准确性。发射程序流程图如下4.3所示。 4.2 遥控接收器的程序设计 初始化程序流程图如图4.4所示。初始化程序部分主要使系统进入复位初始化的状态值。具体是:P1、P2、P3口置位设置为高电平状态,使之成为输入口。选择工作寄存器区,设置堆栈指针SP,设置中断优先级IP,开外部中断0和定时器1,开总中断允许。设置导通角为零的延时值,并设置电灯默认熄灭的标志位。 主程序部分首先调用初始化程序,再进入主程序循环状态。在循环中主要任务是50Hz交流电过零检测,如果是过零则调用延时子程序,发开导通角脉冲,调用延时256μs程序,然后关脉冲并返回过零检测状态。图4.5为主程序流程图。 5 性能指标 调试后系统性能指标测试如下: 1最大遥控距离:10m; 2最大接收角:90度; 3遥控器发射时工作电流:8mA; 4遥控器静态电流:0.6mA; 5调光控制系统最大输出电压(5档调光):交流200V; 6调光控制系统最慢输出电压(1档调光):交流50V; 7调光控制系统停止输出电压:0V; 8继电器正常工作。 采用红外遥控方式时,距离、角度等使用效果受一顶的限制,如果采用调频或调副发射接受,则发射距离会更远,接受将不受角度的影响。本单片机遥控编码及解码方案适合一切需要应用到遥控的电器系统,是自行设计带遥控功能的控制系统的首选理想方案。 6 结束语 随着遥控技术的使用越来越广泛,智能化控制已成为一种趋势。本设计提出了一种基于单片机的遥控开关系统。通过对样机的测试结果表明,本系统采用单片机进行遥控系统的应用设计,具有编程灵活多样,操作码个数可随意设定等优点。一般设备系统采用专用的遥控编码及解码集成电路。此方案具有制作简单,容易等特点,但由于功能键数及功能受到特定的限制,只适合用于某一专用电器产品的应用,应用范围受到限制。而本系统消除了此问题,智能化大大提高。通过对样机的调试运行,节能效果很好,具有极其广泛的应用价值和应用前景。 【学习交流群586269249】 【网盘免费资料包,大家需要的自行领取】: 嵌入式物联网 stm32 c/c++、QT Linux资料包【华清远见发放资料包】http://makerschool.mikecrm.com/7ADq4jq【下方分享一些免费教程资料,大家感兴趣的可以看下】 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 17:29:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |