历史上的今天
返回首页

历史上的今天

今天是:2025年06月10日(星期二)

正在发生

2021年06月10日 | 采用MSP430的烟雾报警器优化设计

2021-06-10 来源:eefocus

引 言


传统的烟雾报警器一般由烟雾传感器和烟雾探测芯片构成,探测芯片接收传感器信号并进行处理,从而判断是否有火灾发生。这种烟雾探测器结构简单、成本低,但存在误报率高和环境适应能力差的缺点。为了解决这一问题,单片机被嵌入到报警器中,以识别传感器因环境影响而产生的干扰信号。但是这样做又带来了其它方面的问题:(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系列单片机型号众多,开发者可根据产品的功能和成本作合理的选择。


推荐阅读

史海拾趣

Elytone Electronics Co Ltd公司的发展小趣事

近年来,Elytone公司积极响应国家环保政策,致力于推动绿色发展。他们采用环保材料和清洁能源进行生产,减少了对环境的污染。同时,公司还加强了对废弃物的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了公司的社会形象,也为行业的可持续发展做出了积极贡献。

Adam Tech公司的发展小趣事

为了进一步拓展市场,Adam Tech开始实施全球化战略。公司在北美、欧洲和亚洲等地设立了多个代表处,以便更好地服务全球客户。这些代表处不仅为公司带来了更多的业务机会,也提升了公司在国际市场上的知名度。同时,公司还积极与各地合作伙伴建立紧密的合作关系,共同推动电子连接器行业的发展。

Andersen Laboratories Inc公司的发展小趣事

为了满足客户对高效物流配送的需求,AnalogicTech建立了完善的物流配送体系。公司通过与快递公司或邮政EMS合作,实现了全国范围内的快速配送,并确保产品的及时送达。此外,AnalogicTech还为客户提供增值税专用发票和一系列优惠政策,进一步提升了客户满意度。

博林(BL)公司的发展小趣事

在竞争激烈的电子市场中,博林公司始终坚持品质至上的原则。公司建立了严格的质量控制体系,从原材料采购到生产制造的每一个环节都进行严格把控。同时,博林公司还注重产品的售后服务,为客户提供全方位的支持和解决方案。正是凭借着卓越的品质和完善的服务,博林公司的品牌形象逐渐深入人心,赢得了广大客户的信赖和支持。

AiT Semiconductor Inc公司的发展小趣事

对于半导体行业来说,产品质量是企业的生命线。AiT公司一直注重质量管理,从原材料采购到产品生产、检测等各个环节都严格把关。他们引进了先进的质量管理体系和检测设备,确保每一件产品都符合高标准的质量要求。同时,公司还建立了完善的客户服务体系,及时解决客户在使用过程中遇到的问题。这些举措使得AiT公司的产品在市场上赢得了良好的口碑和客户信任。

迈翔科技(COILMX)公司的发展小趣事

迈翔科技(COILMX)的创始人看到了电子行业,特别是电感器市场的巨大潜力。1996年,公司正式成立,初期主要专注于SMD电感的设计、制造和销售。公司从香港起步,逐步在深圳设立工厂,引进先进的生产设备和技术,为未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

nios的软件设计

大伙有谁会FPGA的nios设计啊 请教个问题 altera_avalon_pio_regs.h的具体内容的详细说明在哪儿找啊? 还有像UART TIMER等等的…

查看全部问答>

对安森美NCP370和瑞侃Polyzen保护模块的优缺点分析

我没有查到NCP370内部的具体电路,好像安森美公司也没有提供NCP370内部的具体电路,在NCP370的DATASHEET.PDF文件中只看到NCP370的应用电路及其IC脚的说明,因此要认真分析几位读者提出的不同意见,并对其做出比较公正分析还是有些难度,这里谈谈我 ...…

查看全部问答>

非常创意之——电脑用节能插线板

传统的插线板通常只能够简略的用来节制电源的开关,而为了达到更加节能的目标就有公司专门开发出了这样一款节能的可编程插线板。 它是专门为那些经常应用电脑的朋友设计的,可以通过USB接口与电脑相连,并通过配套的软件来对插座的开关进行相干的 ...…

查看全部问答>

evc程序debug错误

D:\\SourceCodes\\ECMS\\Document\\1.JPG D:\\SourceCodes\\ECMS\\Document\\2.JPG 如上面两图所示,debug evc程序的时候出现了上述的错误。 不知道是什么原因。…

查看全部问答>

请问谁有《计算机硬件与组成原理》课后习题答案?

Arnold S. Bergerz著,吴为民,喻建军翻译. 他的书后面只有奇数号的习题答案,没有偶数号的习题答案,请问那位有麻烦传下.qq:454728671,email:peng888883@163.com. 书上面说的教师资源网http://textbooks.elsevier.com/0750678860上有偶数号的答案, ...…

查看全部问答>

一个四阶椭圆低通滤波器滤波器

用Filter Solution做的一个四阶椭圆滤波器,Fc是100KHz,微调了一下电容电阻后,用Multisim仿真测出来Fc为105KHz,但实际做板出来调试却只达到了1KHz 的样子,板的电路连接没问题,用的运放是NE5532,求教各位高手了…

查看全部问答>

求教各位大侠

我刚用stm32,,请问可以用v2.0的固件库来开发stm32f107RB的usb从设备吗,,,用v3.0库中的USB-OTG-FS各种看不懂,,,求来解救…

查看全部问答>

CC2530,超声波传感器通过协议栈z-stack2.5.1发送距离信息出现错误

源代码://////////////////COORDINATOR_H/////////////////// #ifndef COORDINATOR_H #define COORDINATOR_H #include \"ZComDef.h\" #define GENERICAPP_ENDPOINT 10 #define GENERICAPP_PROFID   0x0F04 #define GENERICAPP_DEV ...…

查看全部问答>

请教一个AVR定时器中断的问题

#pragma interrupt_handler timer1_capt_isr:12 void timer1_capt_isr(void) {     服务程序;    ETIMSK=0B00000100;   TCNT3=10000; } #pragma interrupt_handler timer3_ovf_isr:30 void timer3_ovf_isr( ...…

查看全部问答>