采用MSP430的烟雾报警器优化设计

发布者:变形金刚最新更新时间:2021-06-10 来源: eefocus关键字:MSP430  烟雾报警器  单片机 手机看文章 扫描二维码
随时随地手机看文章

引 言


传统的烟雾报警器一般由烟雾传感器和烟雾探测芯片构成,探测芯片接收传感器信号并进行处理,从而判断是否有火灾发生。这种烟雾探测器结构简单、成本低,但存在误报率高和环境适应能力差的缺点。为了解决这一问题,单片机被嵌入到报警器中,以识别传感器因环境影响而产生的干扰信号。但是这样做又带来了其它方面的问题:(1)采用一般的单片机,比如51单片机,会大大增加报警器的功耗,这对于长时间需要电池供电的烟雾报警器而言是不能接受的;(2)传感器产生的是微弱的模拟信号,这一信号要经过放大、模数转换之后才能被单片机处理。采用独立的A/D转化电路不仅增加了系统的功耗,还降低了系统的可靠性;(3)单片机软件设计不合理,致使报警器误报率较高,操作控制也不灵活。


针对上述情况,本设计以TI公司的MSP430单片机为核心器件设计了一款烟雾报警器。在软件设计中采用模糊滤波算法,提高了单片机对环境的监测能力和自适应能力。


系统硬件设计


MSP430单片机简介


MSP430系列单片机是TI公司推出的16位超低功耗的混合数字信号处理器,它针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上。MSP430是基于精简指令集(RISC)结构的16位单片机,使用8MHz晶振工作时,指令速度可达8MIPS。MSP430单片机的电源采用1.8V~3.6V低电压,RAM数据保持方式下耗电仅为0.1μA,I/O输入端口的漏电流最大仅50nA。MSP430有正常工作模式(AM)和5种低功耗工作模式(LPM0~LPM4)。当电源电压为3V时,各种模式的工作电流分别为AM:340μA;LPM0:70μA;LPM2:17μA;LPM3:2μA;LPM4:0.1μA,单片机可以方便地在各种工作模式之间切换。MSP430的超低功耗使其在报警系统、便携式设备等对供电要求非常苛刻的应用中表现出优良的特性。MSP430系列单片机结合了TI公司高性能的模拟技术,各成员都集成了较丰富的片内外设(视不同型号而定),这些外设包括多通道高精度的ADC和DAC、片内模拟比较器、多个具有PWM功能的定时器、片内USART、硬件乘法器、液晶驱动器、看门狗定时器(WDT)、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器等,单片可以满足绝大多数的应用需要。MSP430的高集成度使应用人员不必在各种外设上花太多的精力,便可以方便地设计出真正意义上的单片系统。


本设计采用MSP430F2254,其主要参数如下:16KB的Flash ROM 、512B片内RAM 、32个I/O口 、12通道10位的ADC 、3个16位定时器A和3个16位定时器B。


硬件电路设计


烟雾探测电路


烟雾探测采用光电传感器,传感器及放大电路如图1所示。传感器电路主要由红外发射管D1和红外接收管D2构成,探测信号经过放大之后被单片机接收。


烟雾探测采用光电传感器


D1和D2被置于光电感应室(俗称:迷宫)中,二者之间有障碍,D1发射的红外线不能直接被D2接收,当有烟雾进入迷宫时,红外线经烟雾折射后被D2接收,继而转化成电信号,以此检测烟雾的存在。单片机每隔一段时间由I/O端口P1.6输出高、低电平,控制D1发射红外线和停止发射,以探测烟雾。传感器间歇性地工作,便于降低功耗。集成运放的电源由单片机经P1.5提供。同样,只有在传感器工作时,运放才相应地对接收信号作放大处理,避免连续工作以降低功耗。信号经放大后通过单片机的P1.4引脚进入MSP430片内A/D转换器,避免了设计独立的A/D转换电路,既降低了功耗,同时也提高了系统的可靠性。P1.4作为ADC的输入通道A7。


报警电路


报警电路如图2所示。MSP430内部的定时器A能产生周期和占空比可调的脉宽调制(PWM)信号。PWM信号由P1.3引脚输出,经三极管放大之后驱动蜂鸣器。PWM信号占空比设定为50% ;改变信号频率可以调节蜂鸣器声音的大小,本系统设定为1kHz(频率为1kHz时,本报警器报警声音分贝数最大)。


报警电路


低电压监测电路


电池经过长时间的工作后,自身的电压会逐渐降低,以至于无法维持报警系统正常工作。烟雾报警器对电池供电的稳定性具有严格要求。本烟雾报警器具有对电源低电压的自动监测功能。


低电压监测电路如图3所示。P1.1输出高电平使Q4、Q5导通,VDD在R11上的压降通过单片机P1.2引脚进入MSP430片内A/D转换器,此时P1.2作ADC的输入通道A2。电压信号经A/D转换后与设定的安全电压阈值作比较,从而判断电源电压是否正常。图3所示VDD表示的是系统供电电池的电压,本报警器选用9V干电池供电。VDD经过电压转换后变成3.3V的VCC。


低电压监测电路


系统软件


信号数据处理




尽管许多烟雾报警器采用单片机来处理信号,但仍存在较高的误报率,其中一个重要的原因在于对信号的处理不够合理。本报警器在信号数据处理的程序设计上采用了模糊推理滤波的思想,以提高系统的自适应能力从而降低误报率。


火灾现场的环境复杂,火灾信号也具有很大的随机性,传感器探测到的烟雾参数是无法预知和不确定的。环境变化和探测器系统内部噪声对烟雾参数会产生干扰,需要将A/D转换后的数据经过滤波处理,并要求信号处理算法能够适应各种环境因素变化的影响,自动调整报警参数以达到既能快速探测火灾又有降低误报率的目的。


模糊数学中的模糊逻辑理论较好地解决了采用精确计算和布尔逻辑难以确定的问题,因此在软件设计中,信号数据处理程序采用了模糊逻辑算法以解决外界干扰的模糊性和报警阈值变化之间的关系,从而达到提高探测器可靠性的目的。首先对经过A/D转换后的烟雾信号模糊化,具体如下:当烟雾信号值x小于阈值 B0 时,认为没有出现火警;当信号值x大于阈值 B1时,认为出现火警;当信号值x介于B0 和B1 两个阈值之间时,认为可能出现火警,并且x越大越接近B1 时,火警出现的根据越充分。模糊化隶属度函数如下:


公式


式中,A为反应火灾出现可能性的模糊量,f(x)为相应的隶属度。


外界环境的干扰信号带来的影响是瞬态的,可采用窗口移动滤波法来提高抗干扰能力。滤波函数如下:


公式


窗口大小取值为5,当连续有5次f(x)值不为零时,计算K值,判断K值是否超过阈值K0 ,如果K大于或等于K0时立即报警,否则不报警。


在上述信号数据处理过程中,模糊量A是一个与温度相关的值。报警器在探测烟雾的同时,还通过温度传感器对现场环境温度进行监测。A与温度的对应关系表预先存入单片机中,单片机根据监测到的环境温度来查找该关系表,以确定A的值。阈值B0 、B1 和K0 是3个关系报警器精度的量,需合理设置,以确保报警器在精度符合国家标准的前提下大幅降低误报率。


应用程序设计


IAR公司的IAR Embedded Workbench是一套支持TI MSP430处理器的集成开发环境,支持汇编语言和C语言的编译、仿真与调试。为了加强软件的可读性和可移植性,采用C语言开发应用程序。


应用程序设计采用模块化的设计思想。整个程序包括:主程序和中断服务子程序两大部分。主程序由初始化模块、烟雾信号处理模块两大部分组成。中断服务子程序由烟雾信号探测及采样模块、低电压检测模块和系统自检模块构成。烟雾信号探测及采样流程如图4所示。


烟雾信号探测及采样流程


软件设计中的一些要点:(1)初始化程序时,单片机中未使用的引脚应设置为输出状态,以减小功耗。(2)在采样程序中,由于光电传感器及信号放大电路的上电和稳定需要一定时间,因此在开启A/D转换器之前要延迟一段时间,以等待传感器和放大电路稳定,如图4所示。(3)单片机中,CPU与外围模块之间是独立运行的,要灵活利用MSP430单片机的低功耗模式,以降低整个系统的功耗。例如在信号的采样过程中,ADC作为外设负责信号的采样和转换,而此时CPU可以进入低功耗模式,等待转换结束。(4)MSP430单片机的P1和P2端口除了具有输入输出功能和外部模块功能外,端口中的每一位都具有开关中断的功能,利用这些开关中断的中断服务程序可以实现一些额外的功能。


结束语


MSP430内嵌到烟雾报警器中,一方面增强了报警器的性能,使之更加智能化;另一方面降低了开发难度。MSP430系列单片机型号众多,开发者可根据产品的功能和成本作合理的选择。


关键字:MSP430  烟雾报警器  单片机 引用地址:采用MSP430的烟雾报警器优化设计

上一篇:MSP430F149单片机的flash读写程序
下一篇:MSP43F149系列单片机的IAP功能设计

推荐阅读最新更新时间:2024-11-04 10:48

循环冗余校验码的单片机及CPLD实现
    摘要: 循环冗余码校验(CRC)是一种可靠性很高的串行数据校验方法。介质循环冗余码校验的基本原理,并分别用单片机和CPLD作了循环冗余码验的软件实现和硬件实现。包括汇编语言和VHDL语言源程序。     关键词: 差错校验 查表法 CPLD 1 基本原理 串行数据的差错检验是保证数据正确的必要手段,通常采用奇遇校验法和循环冗余校验法。这两种方法都是通过冗余数据来提供必要信息。奇偶校验法适用于以字节为单位数据传输。例如用偶校验传送1个ASCII字符时,要附加1个校验位,从而使全部9位中“1”的个数为偶数。奇偶校验简单易行,但当数据崩溃或出现多位错误时,往往不能检验出来,因而可靠性不高。 循环冗余码
[半导体设计/制造]
最详尽32位MCU低功耗设计考量与经典范例参考(二)
低功耗 MCU 设计考量   制程选择   为了达到低功耗的运作,并能有效地在低耗电待机模式下,达到极低的待机功耗,可以透过对制程的选择而站上基本的要求门槛。在不强调速度极致的某些制程分类,选择极低元件截止电流制程(如下图)进行逻辑闸制作,并进行数位设计是方法之一。选择这种策略的额外效益是,通常也能在降低动态操作电流上,达到较佳的表现。另外,由于高温大幅增加静态电流,当温度由摄氏25度增加到摄氏 85度时,一个典型比例约增加 10 倍的静态电流,以非低功耗 0.18 微米制程开发的 32 位元 MCU,逻辑阀门数 200K、4KB SRAM 在核心电压 1.8V、摄氏25度的静态耗电约为 5 ~ 10 微安,当温度升高到摄氏
[模拟电子]
最详尽32位<font color='red'>MCU</font>低功耗设计考量与经典范例参考(二)
急用户所急 完美兼顾采购成本及使用成本
——瑞萨电子工程师揭开绿色MCU RL78神秘面纱 中国智能社会建设正让MCU应用愈来愈广,如同泛用型处理器走过的轨迹,原本设计逻辑应用简单易用的MCU,在各种需求驱动下,正在朝更复杂架构迈进。但MCU在研发上,由于顾客的强调和最终消费者的关注,目前仍以节约整体成本作为重要开发标的——其一,为客户的顾客提供更低的使用成本,比如提升工作效率或更显著节电;其二,为客户生产提供更低的采购成本,例如1个MCU节省0.1美元,当整批产品产量增加,就能让总成本节省愈多;当然,同时要有支持当今建设绿色环保社会的潮流命题。 从“中国制造”向“中国创造”路途踯躅前行的制造业CTO和工程师们正在不停寻找能兼容以上3大命题的新技术和产品
[单片机]
急用户所急 完美兼顾采购成本及使用成本
单片机2——动态数码管的一些实例
1.8只数码管滚动显示单个数字 #include reg52.h #include intrins.h unsigned char code duanma ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};// 显示段码值0~9 unsigned char code weima ={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//分别对应相应的数码管点亮,即位码 unsigned char tempdata ; void delay(int ms) { unsigned char j; for(;ms 0;ms--)
[单片机]
51单片机学前预备知识
一.单片机的概念: 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 二.单片机的用途: 工业自动化:数据采集,测控技术; 智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等; 消费类电子产品:洗衣机、电冰箱、空调机、手机等; 凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等。 三.怎么学单片机: 实践第一;补充必要的理论知识,即缺什么补什么;做工程项目积累经验。(可在网络上搜索些题目,也可自己有什么想法大胆的去试验。)。 四.为什么选择51
[单片机]
MSP430学习笔记-USART
Note: Initializing or Re-Configuring the USART Module The required USART initialization/re-configuration process is: 1) Set SWRST (BIS.B #SWRST,&UxCTL) 2) Initialize all USART registers with SWRST = 1 (including UxCTL) 3) Enable USART module via the MEx SFRs (URXEx and/or UTXEx) 4) Clear SWRST via software (BIC.B #SWR
[单片机]
c51单片机第二课笔记
1震荡周期:就是晶振震荡一次所用的时间。也叫做时钟周期 机器周期:单片机完成一次独立的操作需要的时间。是震荡周期的12倍。 指令周期:cpu完成一次完整的操作需要的所有时间,有单周期指令,双周期指令等。 2 用循环左移,循环右移指令 实现流水灯。 int temp; temp=0xfe; P1=temp; temp=_crol_(temp,1); 有关循环指令包含在intrins.h头文件中。 3 对蜂鸣器的操作,类似与对led的操作,对相应端口输出第电平。关于蜂鸣器的数据有待补充。 4 共阴极led显示器16进制编码表 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77
[单片机]
GD32 MCU电源复位和系统复位有什么区别
GD32 MCU的复位分为电源复位和系统复位,电源复位又称为冷复位,相较于系统复位,上电复位更彻底,下面为大家详细介绍上电复位和系统复位的实现以及区别。 电源复位包括上电/掉电复位或者从standby模式唤醒产生的复位,电源复位将会复位除备份域以外的所有寄存器以及SRAM,如果软件上希望实现电源复位,可以通过GPIO控制电源或者通过进入standby之后通过看门狗唤醒实现。 系统复位实现的方式比较多,包括外部引脚复位、独立看门狗复位、窗口看门狗复位、内核软复位等,系统复位电路如下图所示,内部系统复位会至少产生20us的NRST低电平,进而被内部电路捕捉到,实现系统复位。因而此处就要有个要求,外部电路不能影响内部拉低NRST
[单片机]
GD32 <font color='red'>MCU</font>电源复位和系统复位有什么区别
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved