智能电风扇控制器设计与开发方案.docx

上传人:b****5 文档编号:7020729 上传时间:2023-01-16 格式:DOCX 页数:55 大小:620.53KB
下载 相关 举报
智能电风扇控制器设计与开发方案.docx_第1页
第1页 / 共55页
智能电风扇控制器设计与开发方案.docx_第2页
第2页 / 共55页
智能电风扇控制器设计与开发方案.docx_第3页
第3页 / 共55页
智能电风扇控制器设计与开发方案.docx_第4页
第4页 / 共55页
智能电风扇控制器设计与开发方案.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

智能电风扇控制器设计与开发方案.docx

《智能电风扇控制器设计与开发方案.docx》由会员分享,可在线阅读,更多相关《智能电风扇控制器设计与开发方案.docx(55页珍藏版)》请在冰豆网上搜索。

智能电风扇控制器设计与开发方案.docx

智能电风扇控制器设计与开发方案

智能电风扇控制器设计与开发方案

1绪论

1.1智能电风扇在当今社会中的研究意义

电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复的态势。

其主要原因:

一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,体积轻巧,摆放方便,安装和使用都非常简单。

尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:

当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时围有限,且无法对温度变化灵活处理。

有鉴于现今家里不可或缺的电器产品电风扇,我们希望可以借由步进电机组合做出利用红外感应接收模块接收到有人的讯号,来改变电风扇转动的方向,以取代传统电风扇只能以固定形式转动,希望能够让电风扇自动能感应到人所在的方向,未来让电器更能人性化、科技化,以达到方便性智利于未来科技产业的发展,我们希望能将科技运用在电器上,再于产业结合,已达到居家生活里的便利性。

现今社会上,不可或缺的是将生活周遭事物简单化,而我们将运用单芯片在电风扇上,研究出符合未来人们的需求,研发低成本、多功能的全自动化电风扇让社会大众能够接受,取代传统式手动电风扇,让科技产业在电器上有重大的突破。

于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。

1.2研究容及论文安排

1.2.1研究容

本论文主要目标是使电风扇能够根据人的位置来自动选择送风角度。

以SONIX公司研发的SN8P2501B为主控器,利用红外感应接收装置,接受人体辐射出的红外线,通过此讯号利用PM35L-048步进电机来改变红外感应接受装置,进而确定人体围,再通过发光二极管指示锁定角度并模拟风扇循环闪烁。

由手动开关转变为红外线人体感应自动开关,是应用先进的红外线人体感应科技主动侦测人体的问题是否在探测围,在设定15秒时间都可以探测到人,则开启电机开关,开启LED角度循环闪烁;若在15秒开始存在有人信号,后存在无人信号,则重新计时15秒检测;若一直存在无人信号则不操作动作。

1.2.2论文安排

论文第1章为绪论,主要介绍了电风扇的现状,智能电风扇研究意义,本设计研究的容及论文安排;第2章为系统设计方案的介绍,包括其具体可实现的功能及方案选择;第3章为硬件设计部分,这部分详细介绍了所选硬件的特性及其各部分对实现自己所需要功能的作用及其电路图;第4章为软件设计部分,给出了主程序和各子程序流程图,程序清单以附件的形式附在论文最后。

第5章为结论部分。

接下来为致和参考文献。

最后附有原理图及程序清单。

2系统设计方案

2.1系统总体介绍

本次设计选用SONIXSN8P2501B为主控制芯片,与外围电路构成人体围检测系统。

MCU记录下侦讯到的人围,并送给LED发光二极管,使其模拟风扇循环闪烁。

系统框图如下图所示:

图2-1系统框图

2.2系统功能介绍

本系统利用LED发光二极管的循环闪烁来模拟风扇的来回旋转送风动作。

主要功能为:

a)自动启动及关闭开关

我们由步进电机配合红外感应控制器经由红外线扫描来控制开关,检测到一定时间有人时自动开启电机开关及LED闪烁;无人时关闭电机开关及LED闪烁。

b)自动搜索围人数

我们以SN8P2501B来控制步进电机的步数,使它去侦测人数围有多大。

c)锁定人体位置

我们利用红外感应控制器搜寻配合步进电机步数,有红外感应控制模块传回探测信号给MCU,再由MCU来记忆人体位置,记录最大最小角度,锁定人体位置。

d)发光二极管指示锁定角度并模拟风扇循环闪烁

用LED循环闪烁来模拟电风扇来回循环送风动作,每相邻两个LED之间间隔为30°。

例:

当锁定人围为30°-90°时,LED从LED1至LED3循环闪烁(LED从左到右依次为LED1、LED2、LED3、LED4、LED5、LED6,分别代表30°、60°、90°、120°、150°、180°)。

2.3设计方案

本设计根据红外感应装置的不同处理共有两种设计方案

a)方案一

将红外感应模块前的菲泥尔滤光透镜用不透红外的材质覆盖上,让红外感应模块只能检测到一个小围(小于10°)的红外变化,步进电机正转180°后即可反转180°,如图2-2所示

图2-2设计后的红外感应模块探测围

利用这种方法,可以不用考虑红外检测围是否存在人这种情况,原因是LED模拟的角度是以30°来递增的,相比而言,红外检测的角度远远小于模拟的角度,即使在红外检测围存在有人,在步进电机旋转一步后就可以检测出来,不会影响到检测的结果。

例:

当步进电机正转90°后,红外探头检测到有人(探测角度87.5°…92.5°),此时记录下的电机步数为X大步(X=3,90°);步进电机再次旋转7.5°,此时检测不到人(探测围95°…100°),记录此时的电机步数为X+1大步(X=3,120°),对检测没有什么影响。

图2-3检测到有人存在

图2-4下一状态检测不到人

这种方法的优点:

思路比较简单,基本没有涉及到算法,在步进电机旋转速度比较慢的情况下能够很快获得人的位置,从而改变LED的闪烁;缺点:

需要利用不透红外材料来封装,在开机情况下,需要人在此等待十几秒时间,确认一直有人存在开机后才能离开此位置。

b)方案二

事先确定红外感应装置的探测角度,步进电机需要正转360°。

下面举例说明:

假设红外感应装置的探测角度为150°,人所在围为30°-120°围,则在步进电机开始正转时就能够检测到有人存在(检测角度-75°…75°),步进电机旋转至90°(3大步)时仍能检测到人(检测围30°…150°),只有当步进电机旋转至195°(6大步)时才检测不到人(检测围120°…270°),此时记录的角度为210°(6+1大步),需要减去红外感应装置探测角度的一半,此时才是真正开始没探测到人时人的位置,即结束角度,角度为120°(6+1-(2+1)=4大步)(2+1为探测角度一半所占大步);步进电机继续正转,当步进电机正转至315°(10大步)时,又一次检测到有人(检测围为240°…30°),此时记录的角度为315°(10大步),仍然需要减去红外感应装置探测角度的一半,则起始角度为30°(10+(2+1)-12=1大步)(2+1为探测角度一半所占大步,12为旋转360°所需步数)。

这样只记录两次值就得到了人的围,不论人站的稀疏。

图2-5红外探头初始位置

图2-6检测到无人时的位置

图2-7检测到刚有人时的位置

这种方法的优点:

不需要做什么其他操作,开机更加人性化,不需要让电机进行反转动作,在判断完人围后即可判断是否需要关机操作;缺点:

思路有点复杂,中间涉及到算法问题,事先必须知道此红外感应装置的探测角度,因为步进电机转速比较慢导致确定一个围需要比较长的时间。

注:

方案一和方案二中涉及到得确定围需要的时间是由所选红外感应装置决定的,在这里所选的BISS0001默认延时时间为10秒,因此需要的时间比较长,如果调为1秒,则步进电机旋转的速度扩大10倍,需要的时间也就相应缩短。

两种方案硬件电路完全一样,只是对红外感应装置的处理不同,主要表现在红外感应装置的探测围上,实现不同的方案由程序控制。

本设计选用方案一作为主要思路,原因有几点:

思路简单,容易被他人理解;可以允许在未检测区域随意改动位置,在当前正转结束后用LED模拟显示出;在实物演示中,正转后反转不会对引线产生影响;在较短时间可以看到演示效果。

3硬件设计

本系统主要由微处理器控制、红外感应模块、步进电机模块及LED模拟风扇旋转模块等组成。

下面介绍各部分原理及电路图。

3.1微处理器

3.1.1SN8P2500系列介绍

SN8P2500系列单片机是SONIX公司最新推出的高速低功耗8位单片机。

它采用低功耗CMOS设计工艺及高性能的RISC架构,具有优异的抗干扰性能。

突出的特点是:

低成本、高抗干扰性、置16MhzRC振荡电路、高速8位、59条精简指令集。

3.1.2SN8P2501B单片机介绍

当前市场上的单片机有51系列,STC系列等单片机,考虑到设计只需实现自动开关机及锁定人围LED闪烁的功能,但又要确保其抗干扰能力强的特点,在考虑功能需求及成本的基础上,选择了SONIX公司研发的SN8P2501B8位单片机作为本系统的控制器,有14个引脚,如图3-1,它具有以下特性:

a)OTPROM空间:

1K*16位;

b)RAM空间:

48字节;

c)STKP堆栈:

4层;

d)多种振荡源选择:

最大可达16MHz的外部晶振、10MHz的外部RC振荡、部16MHz的高速时钟及16KHz的低速时钟;

e)高速的CPU指令周期,可达1T,即每个指令周期为1个时钟周期;

f)满足低功耗的需求,可编程设定4种工作模式:

正常模式、低速模式、睡眠模式和绿色模式;

g)置高速PWM/Buzzer输出接口,可输出不同频率的信号;

h)置RTC实时时钟(0.5s)、看门狗定时器(16KHz3V,32KHz5V)及3级低电压检测系统;

i)具有3个中断源,2个部中断源:

T0、TC0,1个外部中断源:

INT0。

1)I/O引脚配置

I/0口引脚为:

a)输入输出双向端口:

P0、P1、P2、P5;

b)单向输入引脚:

P1.1;

c)可编程的漏极开路引脚:

P1.0;

d)具有唤醒功能的端口:

P0、P1电平变化触发;

e)置上拉电阻端口:

P0、P1、P2、P5;

f)外部中断引脚:

P0.0,由寄存器PEDGE控制,其触发方式为上升沿或下降沿。

图3-1SN8P2501B引脚

2)程序寄存器

图3-2程序存储器

SN8P2501B的程序寄存器为OTPROM(一次性可编程),存储器容量为1K*16位,可由10位程序计数器PC对程序寄存器进行寻址,或由系统寄存器(R,X,Y和Z)对ROM的数据进行查表访问。

其中:

系统复位后从地址0000H开始执行;地址0008H是中断向量入口地址。

3)数据存储器

图3-3数据存储器

SN8P2501B单片机的片RAM共有256个存储单元,地址围为000H-0FFH。

片寄存器可分为通用数据存储区和系统存储器两大部分。

通用数据存储区可作为用户自定义的变量,临时数据,中间数据存放地,而系统寄存器则用来控制片外设或表示外设的状态。

4)定时/计数器

SONIXSN8P2708AMCU定时/计数器大分致为两大类。

一类为基本定时器T0,另一类为多功能定时器TC0。

二进制定时器T0溢出(从0FFH到00H)时,T0继续计数并给出一个溢出信号触发T0中断请求。

定时器T0的主要用途如下:

a)8位可编程定时器:

根据选定的时钟频率定时产生中断请求;

b)定时器:

根据选定的时钟信号产生中断请求,RTC功能仅限于编译选项为High_Clk=IHRC_RTC;

c)绿色模式唤醒功能:

T0ENB=1时,T0溢出将系统从绿色模式中唤醒。

定时/计数器TC0具有双时钟源,可根据实际需要选择部时钟或外部时钟作为计时标准。

其中,部时钟来自Fcpu,外部时钟INT0由P0.0引脚(下降沿触发)输入。

寄存器TC0M控制时钟源的选择。

当TC0从0FFH溢出到00H时,TC0在继续计数的同时产生一个溢出信号,触发TC0中断请求。

TC0的主要作用如下:

a)8位可编程定时器:

根据选定的时钟频率在特定时间产生中断信号;

b)外部事件计数:

对外部事件计数;

c)蜂鸣器输出;

d)PWM输出。

下面以基本定时器T0为例,说明初始值的设定方法。

T0C:

T0累加计数寄存器,上电初始值为00H,可以软件重置,每次溢出之后,初始值需要用户重置。

初始值设定方法如下:

T0C初始值=256–(T0溢出间隔时间×输入时钟)

例如:

用T0做一个10ms的定时,Fcpu=1M。

T0rate选择010(Fcpu/64),那么

T0C初始值=256–(T0溢出间隔时间×输入时钟)

=256–(10ms×1M/64)

=64H

T0M中的Bit6:

Bit4决定分频数的比率,T0的时钟源来自CPU,通过T0M中的Bit6,Bit5,Bit4来控制分频数的比率,T0ENB位控制计数器时钟,如果为1则时钟输入到T0计数器T0C中,T0开始计数,否则T0C的时钟被切断,T0C停止计数。

当T0C计数器从0FFH增加到000H时,系统会将标志位T0IRQ置为1。

表3-1T0M寄存器

0D8H

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

T0M

T0ENB

T0rate2

T0rate1

T0rate0

-

-

-

T0TB

复位后

0

0

0

0

-

-

-

0

T0TB:

RTC时钟控制位。

0=禁止RTC;

1=RTC模式。

T0RATE[2:

0]:

T0分频选择位。

T0ENB:

T0启动控制位。

0=禁止T0;

1=开启T0。

表3-2分频比

T0rate2~T0rate0

分频比

000

Fcpu/256

001

Fcpu/128

010

Fcpu/64

011

Fcpu/32

100

Fcpu/16

101

Fcpu/8

110

Fcpu/4

111

Fcpu/2

注:

在RTC模式下,T0RATE的设置是无效的。

5)中断

SONIX单片机是当今世界上很有影响力的精简指令集微控器,具有丰富的中断功能。

不过它们也存在一定的局限性,例如中断矢量只有一个,并且各个中断源之间也没有优先级别之分,不具备中断屏蔽功能。

不同的芯片具有不同的中断。

SN8P2501B单片机具有3个中断源:

2个部中断源(定时器T0、定时/计数器TC0)、1个外部中断源(INT0/P00)。

对于SONIX单片机来说,中断源的要否会得到响应,受允许中断寄存器INTIEN中各位的控制。

在全局中断控制位GIE为1时,才能使能中断请求,当中断源同时产生中断时,要靠部的查询逻辑来确定响应的次序,不同的中断源其中断地址均为0008H。

一次中断活动的全过程如图3-4所示。

图3-4中断处理流程图

在图中,

(1),

(2),(3)和(9)是由硬件自动实现的,而其它的阶段是由用户软件完成的。

有中断请求发生并被响应后,程序转至0008H执行中断子程序。

响应中断之前,必须保存ACC、PFLAG的容。

芯片提供PUSH和POP指令进行入栈保存和出栈恢复,从而避免中断结束后可能的程序运行错误。

PUSH/POP指令仅对ACC和PFLAG作中断保护,而不包括NT0和NPD。

某些芯片PUSH/POP只能保护PFLAG寄存器的值,ACC的值需要用户自己保存,此芯片中PUSH/POP可直接对ACC和PFLAG进行保护。

PUSH/POP缓存器是唯一的且仅有一层,因此只能出现在中断保护现场中。

6)SN8P2501B单片机编译选项表

利用SN8P2501B芯片作为微控制器,在编译过程中需要注意对应的选项表,见表3-3。

表3-3SN8P2501B单片机编译选项表

编译选项

配置项目

功能说明

Noise_Filter

Enable

开启杂讯滤波功能,Fcpu=Fosc/4~Fosc/16

Disable

关闭杂讯滤波功能,Fcpu=Fosc/1~Fosc/16

Fcpu

Fhosc/1

指令周期=1个时钟周期,必须关闭杂讯滤波功能;

IHRC_16M和IHRC_RTC模式下,不支持Fosc/1

Fhosc/2

指令周期=2个时钟周期,必须关闭杂讯滤波功能;

IHRC_16M和IHRC_RTC模式下,不支持Fosc/2

Fhosc/4

指令周期=4个时钟周期

Fhosc/8

指令周期=8个时钟周期

Fhosc/16

指令周期=16个时钟周期

High_Clk

IHRC_16M

高速时钟采用部16MHzRC振荡电路,XIN/XOUT(P1.3/P1.2)作为普通的I/O引脚;

IHRC_16M模式下,Fcpu取值在Fosc/4~Fosc/16之间

IHRC_RTC

高速时钟采用部16MHzRC振荡电路,具有RTC功能(0.5sec),XIN/XOUT(P1.3/P1.2)作

为普通的I/O引脚;

IHRC_RTC模式下,Fcpu取值在Fosc/4~Fosc/16之间

RC

外部高速时钟振荡器采用廉价的RC振荡电路,XOUT(P1.2)为普通的I/O引脚

32KX’tal

外部高速时钟振荡器采用低频、省电晶体/瓷振荡器(如32.768KHz)

12MX’tal

外部高速时钟振荡器采用高频晶体/瓷振荡器(如10MHz~12MHz)

4MX’tal

外部高速时钟振荡器采用标准晶体/瓷振荡器(如1M~10MHz)

Watch_Dog

Always_On

始终开启看门狗定时器,即使在睡眠模式和绿色模式下也处于开启状态

Enable

开启看门狗定时器,但在睡眠模式和绿色模式下关闭

Disable

关闭看门狗定时器

Reset_Pin

Reset

使能外部复位引脚

P11

P1.1为单向输入引脚,无上拉电阻

LVD

LVD_L

VDD低于2.0V时,LVD复位系统;

LVD_M

VDD低于2.0V时,LVD复位系统;

PFLAG寄存器的LVD24位作为2.4V低电压监测器

LVD_H

VDD低于2.4V时,LVD复位系统;

PFLAG寄存器的LVD36位作为3.6V低电压监测器

Security

Enable

ROM代码加密

Disable

ROM代码不加密

注:

a)在干扰严重的情况下,建议开启杂讯滤波功能,此时Fcpu=Fosc/4~Fosc/16,并将Watch_Dog设置为“Always_On”;

b)如果用户设置看门狗为“Always_On”,编译器将自动开启看门狗定时器;

c)编译选项Fcpu仅针对高速时钟,在低速模式下Fcpu=FILRC/4;

d)在IHRC_16M和IHRC_RTC模式下,Fcpu=Fosc/4~Fosc/16。

3.1.3单片机复位电路

SN8P2501B有以下几种复位方式:

a)上电复位;

b)看门狗复位;

c)掉电复位;

d)外部复位(仅在外部复位引脚处于使能状态)。

上述任一种复位发生时,所有的系统寄存器恢复默认状态,程序停止运行,同时程序计数器PC清零。

复位结束后,系统从向量0000H处重新开始运行。

PFLAG寄存器的NT0和NPD两个标志位能够给出系统复位状态的信息。

用户可以编程控制NT0和NPD,从而控制系统的运行路径。

表3-4PFLAG寄存器

086H

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

PFLAG

NT0

NPD

LVD36

LVD24

-

C

DC

Z

读/写

R/W

R/W

R

R

-

R/W

R/W

R/W

复位后

X

X

0

0

-

0

0

0

NT0、NPD:

复位状态标志

表3-5复位状态标志复位情况

NT0

NPD

复位情况

说明

0

0

看门狗复位

看门狗溢出

0

1

保留

-

1

0

上电及LVD复位

电源电压低于LVD检测值

1

1

外部复位

外部复位引脚检测到低电平

任何一种复位情况都需要一定的响应时间,系统提供完善的复位流程以保证复位动作的顺利进行。

对于不同类型的振荡器,完成复位所需要的时间也不同。

因此,VDD的上升速度和不同晶振的起振时间都不固定。

RC振荡器的起振时间最短,晶体振荡器的起振时间则较长。

在使用的过程中,应注意考虑主机对上电复位时间的要求。

图3-5为各种复位方式的响应。

图3-5各种复位电路的响应

在这里所用的复位为外部复位。

外部复位功能由编译选项“Reset_Pin”控制。

将该编译选项置为“Reset”,可使能外部复位功能。

外部复位引脚为施密特触发结构,低电平有效。

复位引脚处于高电平时,系统正常运行。

当复位引脚输入低电平信号时,系统复位。

外部复位操作在上电和正常工作模式时有效。

需要注意的是,在系统上电完成后,外部复位引脚必须输入高电平,否则系统将一直保持在复位状态。

外部复位的时序如下:

a)外部复位(当且仅当外部复位引脚为使能状态):

系统检测复位引脚的状态,如果复位引脚不为高电平,则系统会一直保持在复位状态,直到外部复位结束;

b)系统初始化:

初始化所有的系统寄存器;

c)振荡器开始工作:

振荡器开始提供系统时钟;

d)执行程序:

上电结束,程序开始运行。

外部复位可以在上电过程中使系统复位。

良好的外部复位电路可以保护系统以免进入未知的工作状态。

外部复位电路有多种复位方式,如RC复位电路、二极管及RC复位电路等。

1)RC复位电路

如图3-6

图3-6RC复位电路

图3-7为一个由电阻R1和电容C1组成的基本RC复位电路,它在系统上电的过程中能够为复位引脚提供一个缓慢上升的复位信号。

这个复位信号的上升速度低于VDD的上电速度,为系统提供合理的复位时序,当复位引脚检测到高电平时,系统复位结束,进入正常工作状态。

2)二极管及RC复位电路

如图3-7

图3-7二极管及RC复位电路

R1和C1同样是为复位引脚提供输入信号。

对于电源异常情况,二极管正向导通使C1快速放电并与VDD保持一致,避免复位引脚持续高电平、系统无常复位。

注:

“基本RC复位电路”和“二极管及RC复位电路”中的电阻R2都是必不可少的限流电阻,以避免复位引脚ESD(ElectrostaticDischarge)或EOS(ElectricalOver-stress)击穿。

本设计电路比较简单,对复位响应时间没有太大的要求,考虑成本及电路规划的基础上采用RC复位电路作为此MCU的复位电路。

3.1.4单片机晶振电路

对于本芯片来说,主要有两种晶振来源:

外部石英/瓷振荡器和部高速RC振荡器。

1)外部石英/瓷振荡器

其电路图如图3-8

图3-8外部石英/瓷振荡器

图3-9中,XIN/XOUT/VSS引脚与石英/瓷振荡器以及电容C之间的距离越近越好。

2)部高速RC振荡器

编译选项“IHRC_16M”和“IHRC_RTC”控制单片机的置RC高速时钟(16MHz)。

若选择“IHRC_16M”,则置16MHzRC振荡器作为系统时钟源,XIN和XOUT引脚作为通用I/O口。

若选择“IHRC_RTC”,则系统时钟来自置16MHzRC振荡器,同时XIN和XOUT引脚与实时时钟源(RTC)32768HZ石

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

当前位置:首页 > 初中教育 > 语文

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

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