资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 1 页,共 28 页引言引言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。以往电风扇大部分采用机械方式进行手动控制,功能少,噪音大,各档位的风速变化大。然而当今产品更加趋向于自动化、智能化、环保化、人性化,于是产生了微机控制的智能电风扇该技术实现了家电产品的更新换代,提高产品的附加值,使产品更具有人性化。本设计主要是结合实际情况,考虑的实际需要。为了实现遥控控制电风扇,本设计采用了人们最为常用的近距离通信方式红外遥控。我们使用单片机PWM 实现对直流电机的控制,通过改变占空比实现其无级调速,同样采用PWM 控制步进电机达到控制转动角度(送风范围) 。当然我们利用了 STC89C52的定时功能通过软件设计实现对风扇的 8 小时内定时开关。第 2 页,共 28 页1.1.硬件电路设计硬件电路设计本部分从硬件电路组成框图出发,设计出来出单元电路。1.11.1 硬件电路框图硬件电路框图根据设计任务,提出如图 1.1 所示的硬件电路组成框图。图 1.1 总体硬件电路组成框图硬件设计核心为三大部分:红外编码发射模块;红外接收解码模块;单片机控制模块,其各单元模块的方案论证和选择分析如下。1.21.2 红外编码发射电路红外编码发射电路本设计要求的是 5m 以上的无线遥控,且遥控的功能不是单一的,因而本设计可以采用红外线遥控达到近距离控制的目的,通过按键输入,最终经由红外发射管产生红外控制信号,采用集成芯片实现多功能。1.2.11.2.1 方案设计与论证方案设计与论证方案一方案一:市场上品牌智能风扇多半采用的遥控器是以专用芯片为基础设计的,采用那些芯片将有很好的针对性,但兼容性有所欠缺。方案二方案二:采用用于红外发射系统中的专用集成芯片 SC9012,有 32 个功能键,还提供六种双重按键功能。红外编码发射红外接收解码LCD 显示单片机PWM 电机驱动MCU 控制执行第 3 页,共 28 页本设计选择第二种方案,因为从达到要求的基础上尽量简化电路,提高设计的智能化程度,方案一的品牌风扇芯片实现遥控还需要外加编码芯片和较多的外围电路,而我们可以直接采用集成芯片 SC9012,并以此芯片为基础建立红外发射模块。1.2.21.2.2 基于基于 SC9012SC9012 的发射电路的发射电路采用 SC9012 芯片的红外编码发射电路如图 1.2 所示。图 1.2基于 SC9012 芯片的红外编码发射电路上面电路是基于 SC9012 典型的发射电路,也就是本设计采用的发射模块电路,具体电路将进行设计要求分析后确定,下面将分析介绍该模块的基本外围电路部分,芯片引脚和内部框图见附录(一) 。第 4 页,共 28 页1.2.31.2.3振荡线路部分振荡线路部分SC9012 的振荡线路是由 OSCO 与 OSCI 间接一支 455KH 的陶瓷谐振器及 2 个 100pf 的接地电容组成,其振荡频率为455kHz.没有按键操作时,该振荡电路处于待机态以减少功率消耗。当有按键操作时。振荡电路起振,由发射码输出,按键释放后,电路重新处于待机状态,请参考图 1.3 图 1.3 振荡线路部分1.2.41.2.4振荡频率部分振荡频率部分SC9012 的振荡频率为 455kHz,经内部的 12 分频电路,得到频率为 37.9-39.2kHz,占空比为 1/3 的调制载波。455kHz 的振荡频率经过 256 分频,得到系统的基本工作时钟为 1.78kHz。调制载波的频率(fc)及内部工作时钟周期(Tm)与振荡频率(fosc)的对应关系如下式表示:fc=(1/12)fosc(占空比:1/3) ;Tm=256/fosc(Tm:一个高电平脉冲的宽度) 。1.2.51.2.5按键线路部分按键线路部分SC9012 的键扫描输入端“KI0KI3”内置由下拉电阻,他与键扫输入端“KO0KO7”可以构成一 32 个按键的键盘矩阵。除了规定的 6 种双重组合外,其他按键组合同时按下将不会产生发射码输出。SC9012 的键盘输入矩阵请参考图 1.4图 1.4 键盘输入矩阵第 5 页,共 28 页1.2.61.2.6用户编码部分用户编码部分SC9012 的用户编码一共有八种,可以利用“SEL”脚与“KO1KO7”中的任一脚线连接来进行选择,见下图表 1.1表 1.1编码选择和相应系统码表SC9012 共有 8 位用户编码:其中 S0,S1,S2 由 SEL 与 KO1KO7 的连接来选择:S3 固定为“1” ;S4S7 固定为“0” 。1.2.71.2.7发射码部分发射码部分图 1.5发射码的构成如上图所示,SC9012 一帧完整的发射码由引导码、用户码和键数据码三部分。引导码由一 4.5ms 的低电平脉冲组成:八位的用户编码被连续发送两次:八位的键数据码也被连续发送两次,第一次发送的是键数据码的原码,第二次发送的是键数据的反码。SC9012 的发射码采用脉冲置位调制方式(PPM)来进行编码(即 NEC编码) 。这样的编码方式效率高,抗干扰性能好,解码芯片多。第 6 页,共 28 页引导码及位“0”和位“1”的波形见下图 1.7图 1.6码对应的波形1.2.81.2.8双重按键操作双重按键操作SC9012 的双重按键操作已共有 6 种,即 K21 键与 K22K24 键配合,K25 键与 K26K28 键配合,如下表:表 1.2双重按键对应的数据码除这六种之外的双键或多键按下都将被确认认为无效操作,无发射码输出。另外,双重按键的操作是分按键先后顺序的,必须先按下K21 键或 K23 键,再按其他组合键。请参阅右上图:图 1.7唯一正确组合按键第 7 页,共 28 页方式1.2.91.2.9SC9012SC9012 的键数据码的键数据码按键数码如下表所示:表 1.3按键数码表综合上面对红外遥控发射各个部分的介绍相信大家已经能够有一个较为清晰的硬件模块在头脑里形成,并对其工作原理有一定的了解。接下来我将设计系统的红外接收模块。第 8 页,共 28 页1.31.3红外接收解码模块红外接收解码模块本部分的核心是接收到红外信号后的解码方式选择,通过解码我们可以将发射电路发射码信号解读,然后送到 MCU 执行相应的操作。方案一方案一:用红外接收管接到信号后,直接送到单片机,通过软件实现解调,并执行对应操作。方案二方案二:用红外接收管接收到型号后,直接接红外遥控解码芯片,再将控制信号送到单片机执行操作。本设计采用第二方案,是基于一款低成本通用红外遥控解码芯片BC7210,与第一方案相比采用该芯片可以缩短开发时间,软件耗损少。1.3.11.3.1基于基于 BC7210BC7210 的接收解码电路的接收解码电路图 1.8红外接收解码电路为了简化电路设计降低成本,将扩展的用户码设置为 0,即不接任何二极管的话,BC7210 将忽略所接收到数据中的高 8 位用户码,只对低第 9 页,共 28 页8 位用户码做比较。1.3.21.3.2红外接收头部分红外接收头部分一般的红外接收头,内部已经包括 38K(40K)载波处理放大AGC等电路,一般为 3 个引脚,包括 2 个电源引脚和 1 个输出引脚。一般电源电压均为 5V。尽管可以直接将红外接收头连接于 5V 电源,但是因为其内部的放大电路放大倍数很高,比较容易受到电源杂波等干扰,因此采用如下接法,在红外接收头的电源中接入如图 1.8 的滤波电路:图 1.8红外接收头电路本设计采用 SM0038 作为红外接收头,其正常接收频率是 38kHz,典型接收距离是 35m。1.3.31.3.3BC7210 芯片引脚及其说明芯片引脚及其说明特点特点支持多种编码可选择有无用户码(Customer Code)可由外接电阻及二极管设置用户码可选择并行或者串行解码输出兼容 SPI 及 UART(波特率 9600)的串行输出采用数字滤波技术,高抗干扰,无误差接收有效指示输出工业级温度范围第 10 页,共 28 页图 1.9BC7210 引脚图引脚说明引脚说明表 1.4BC7210 引脚说明1.3.41.3.4芯片用户码(地址码)芯片用户码(地址码)CC 引脚用来设置用户码的方式。如果 CC 引脚通过一个小于 10K 的上拉电阻连接到 VCC,则 BC7210 将工作于不使用用户码的方式,对接收到的遥控数据,BC7210 会将用户码(地址码)和按键码顺序以串行的方式输出(在这种工作模式下,BC7210 强制按串行方式输出,而不管 S/P 引脚的设置) 。如果 CC 上没有接上拉电阻,则工作在使用用户码的状态下,BC7210在复位时会读取用户码(地址码)的设置,并在解码时收到的遥控信号的用户码(地址码)与设置的用户码进行比较,只有当接收数据的用户码与设置的用户码相同时,才会将按键数据输出,否则则将数据忽略。在这种第 11 页,共 28 页模式下,BC7210 只输出一个字节的按键码数据,输出的方式可以由 S/P引脚来选择串行或并行方式。1.3.41.3.4解码电路输出解码电路输出本设计采用串行输出,串行数据输出使用 D5,D6,D7 三个引脚,分别用作 SS(选通信号) ,CLK(时钟信号) ,DAT(串行数据) 。使用串行输出时,ACT 引脚电平将会在数据开始输出前变为低电平。BC7210 的串行输出,采用的是标准的 3 线 SPI 接口方式,不过,为了达到最大的兼容性,数据的传送速率(波特率)特别设定为 9600,因此,发出的数据也可以直接用于波特率为 9600 的异步串行接口。数据采用低电位在前的方式。输出时,SS 首先变为低电平,同时 DAT 端也变为低电平,这个状态将保持 104us,这个时间正好是波特率 9600 的异步串行口传达 1BIT 所用的时间,如果接收数据方是 UART,则 DAT 保持低电平的这个 104us,相当于发送了 1 个起始位(START BIT) 。随后第一个数据位在 DAT 上输出,CLK 开始输出同步脉冲,每输出以为所用的时间为 104us,8 位数据的最后一位数据输出完成后,SS 恢复为高电平。图 1.10 数据传送波形当 BC7210 使用用户码时,每接收一个红外遥控按键指令,只输出一个字节,即按键键码数据。当 BC7210 工作在不使用用户码的模式时,会将收到的用户码和按键键码一同输出,因此每次输出 2-3 个字节,NEC模式地址有 16 位用户码,因此将输出 3 个字节,用户码高 8 位在前,其次是用户码低 8 位,最后是按键的键码下面给出 NEC 模式下的输出波形:第 12 页,共 28 页图 1.11 NEC 模式输出波形1.3.41.3.4解码电路与解码电路与 MCU 的接口的接口因为 BC7210 有灵活的输出接口设计,BC7210 可以有多种的接口方式,可以和任何微控制器接口。方案一方案一:使用 UART 方式本设计的控制芯片 STC89C52 提供了 UART 接口,BC7210 的串行输出兼容于“波特率 9600,1 个起始位,1 个停止位,无奇偶校验为”的UART,将 BC7210 的 D7(DAT)引脚与 STC89C52 的 RXD 引脚相连,直接送到单片机。方案二方案二:使用并行方式上面方案是通过单片机的硬件接口来实现,我们可以通过将 BC7210的 D0-D7 接到单片机的一个数据口上,将 ACT 作为处理器的外部中断信号,外部中断设为下降沿触发,在中断处理程序中直接读取 BC7210 所连接的数据口,即可获得键码数据。方案三方案三:使用外部中断读取串行数据采用 SS 信号的下降沿或者 CLK 信号的上升沿作为中断的触发条件。SS 下降沿作为触发时,从中断触发到数据出现 DAT 引脚上,有 104us 的时间,可以用中断程序监视 CLK 的状态
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号