基于EFM32TG840F16 MCU的室内甲醛检测仪设计

发布者:psi33最新更新时间:2014-11-18 来源: 21ic关键字:甲醛检测  EFM32TG840F16  MCU 手机看文章 扫描二维码
随时随地手机看文章

     甲醛是一种重要的化工原料和有机溶剂,广泛使用于家庭装修的材料中。过量甲醛气体,将诱发疾病甚至致癌,直接危害着人们的身体健康和生命安全。本检测仪采用32 位超低功耗EFM32TG840F16 微处理器和高灵敏度甲醛传感器CH20/S-10,实现甲醛浓度的信号处理和采样,系统外接通讯接口及必要的扩展功能模块,构建智能化、多功能的检测系统。

1 系统硬件设计

     甲醛检测仪硬件主要由单片机主控系统、甲醛传感器接口、液晶显示(LCD)、功能键盘、数据存储、打印和报警输出等功能模块构成。系统硬件结构框图(见图1)。

 

 

图1: 系统功能框图
图1: 系统功能框图

 

    该系统采用32 位EFM32TG840F16 单片机作为主控核心,内嵌16KB Flash 程序存储器和4KB RAM、多达160 段LCD 驱动器(最大8COM 驱动、支持动画、闪烁等各种特效)、8 通道/12 位 ADC(支持硬件过采样)、2 个USART(支持SPI\\UART\\I2S)、1 个LEUART、1 个LESENSE(支持阻、感、容性信号检测)、3 个运放、硬件加解密AES、2 个12 位DAC 及大量的I/O 端口等,完全满足本甲醛检测仪的各项功能需求。该芯片主要特点是:低电压(1.85 ~ 3.8V)、低功耗( EM2 模式下仅有0.9uA)、 32 位指令、高性能(基于Cortex-M3 内核),具有极低的运行功耗、快速的唤醒时间、功能强大、高抗扰(未用引脚都是和MCU 内部断开的)、外设可以自主工作(主要得益于DMA 和PRS 外设反射系统)以及超节能(ADC:12bit,1Msps,仅需350uA;Analog Comparator:仅需100nA;LCD:本位功耗0.55uA;LEUART:9600 波特率下仅需150nA;AES:128/256bit 加/解密仅需54/75 个周期)、便于智能化和便携式等优点。而且齐全的配套开发工具比如开发板具有电流实时监控功能,可以定位代码位置,便于工程师及时优化代码以节能!

 

1.1 甲醛传感器接口模块

传感器接口模块由CH20/S-10 甲醛传感器、I/ V 转换器RCV420 等组成。甲醛传感器由甲醛探头和CH20 传感器构成。当室内甲醛气体被内部采样系统吸收后,产生与甲醛浓度成正比的电流值,由于单片机A/D 采样的是电压值,而被检测的是微量的电流值;因而需要将电流值放大并转换为相应的电压值。采用集成I/V 转换器RCV420,将电流值转换为对应的0 ~ 3.6V 电压, 送至 EFM32TG840F16 的A/D 转换接口ADC,实现对浓度信号的检测。单片机进行运算和处理,将处理结果及范围进行查表和分段线性化,完成传感器信号与浓度高低对应。系统中RCV420 具有精密运放和电阻网络功能,能将4 ~ 20mA 环路电流转换为 0 ~ 3.6V 电压, 在无外部调整的情况下,可用获得 86dB 的共模抑制比, 具有高性能及抗干扰能力。

1.2 数据存储与打印模块

在EFM32TG840F16 外扩展2KB 的E2PROM(也可用片内flash 模拟EEPROM),通过I2C 总线与EFM32TG840F16 数据口相连,用于存储采样来的甲醛浓度数据,以备打印机打印。打印机接口电路通过RS-232 串行口直接和微处理器相连,通过采用软件设定的方式打印出甲醛浓度值。

1.3 键盘与显示模块

系统外接键盘和LCD 显示设备,实现人机对话功能。键盘设置为3×3 阵列键盘,设有功能选择键、OK 键、报警确认及打印键,完成浓度显示、数据查询、打印及开关机功能。微处理器EFM32TG840F16 内含LCD 驱动电路,可驱动160 段的LCD,且超低功耗,特别适合便携式仪器仪表中使用。用户通过LCD 显示,读取检测浓度值、打印和设置相关功能等信息。

1.4 其它模块

本系统的供电电压为3V,采用两节电池供电,也可外接3V 直流电源。系统的时钟是外置晶振提供。为满足个性化需要,还增加蜂鸣器报警电路。[page]

2 系统软件设计

在软件设计中采用模块化设计方法,使用嵌入式C 语言编写,在IAR 编译环境中进行。这不仅给程序的调试、修改提供很大方便,而且为今后功能的进一步扩展创造有利条件。

2.1 主程序设计

主程序是系统软件的核心,它通过调用各子程序便可实现系统功能。系统主程序结构框图(见图 2)。

图 2:主程序结构框图
图 2:主程序结构框图

系统上电后,进行初始化和中断处理操作,主要完成系统自检和复位。初始化完成后,开始采样浓度值,并判断是否有按键按下。如果有按键按下,则进行相应数据处理,并执行功能指令,然后在液晶显示屏上显示相应信息。如果没有按键按下,则显示当前实测浓度值,等待用户进行下一步操作,系统转入定时计时阶段。

 

2.2 低功耗中断子程序

为减小系统功耗,延长电池的使用时间,设计时考虑设备在较长时间段内处于待机状态时,应尽量降低功耗。系统设计低功耗中断子程序(见图3)

图3:低功耗中断子程序结构框图
图3:低功耗中断子程序结构框图

这里采用一个定时器。当定时器大于0 时,系统处于开机状态;当定时器倒数到0 时,系统自动进入低功耗模式,并关闭LCD 模块和A/D 模块。其中定时器是通过软件对控制寄存器进行设置实现的。具体操作是这样:开机时,对定时器初始化一个大于0 的值,比如60,并且在每按一次有效键时,系统重新初始化这个值。因此,当没有按任何有效键时,60s 后就会自动进入休眠状态,从而实现降耗目的。在休眠期间,若有按键按下,微处理器响应中断,系统退出休眠状态,返回到正常工作状态。

2.3 采样数据处理子程序

为提高检测精度,采样数据处理软件设计是关键。系统采用采样数据排队与中值滤波法。数据排队就是在给定的数据暂存区内不断地用最新数据取代最早数据的过程;利用软件进行数据排队具有通用性和灵活性。原理(见图4)。

 

图4:采样数据更新排队的双倍暂存区扩展法
图4:采样数据更新排队的双倍暂存区扩展法

 

由图4 可见, 将暂存区的空间扩大为需要保存数据空间的2 倍, 并将暂存区等分为前后相连的2 个区, 每个区的长度与需保存数据长度相等。当前采样得到的一组新数据同时存入2 个区的对应位置,这样2 组相同采样数据之间刚好间隔1 个区的长度, 间隔内的全部数据连同最后1 个最新数据即为当前排队结果。以后每组新采样数据依次向后存入暂存区, 存满后再从头开始。每次采样周期中完成相应的排队更新任务后记下当前队列的首(或末)地址作为指针并保存,供处理程序取数时使用,这样一来就满足实时排序的要求。

对排队后的数据采取中位值滤波算法。算法的具体实现过程:取N 个连续采样数据,并按照递增或递减顺序排列,取中间值作为本次采样值。中位值滤波算法能有效地克服因偶然因素引起的干扰或波动而产生的误差。即提高系统的检测精度。

3 结束语

本甲醛检测仪采用EFM32TG840F16 单片机作为核心控制单元,电路结构简单、外设功能模块丰富,功耗低,待机时间长,支持IAP 功能,软件升级方便,另外该MCU 性能强劲,可升级空间极大。

关键字:甲醛检测  EFM32TG840F16  MCU 引用地址:基于EFM32TG840F16 MCU的室内甲醛检测仪设计

上一篇:单片机+FPGA实现家居遥控
下一篇:基于MSP430的PID参数整定义

推荐阅读最新更新时间:2024-03-16 13:46

单片机控制的自动锁相调频发射机的设计
0 引言 无线电技术诞生以来,信息传输和信息处理始终是其主要任务。要将无线电信号有效地发射出去,天线的尺寸必须和电信号的波长为同一数量级 。为了有效地进行传输,必须将携带信息的低频电信号调制到几十MHz~几百MHz以上的高频振荡信号上,再经天线发送出去。为减小各种因素引起的系统不稳定,增强系统的可靠性,系统必须包括自动增益控制、自动频率控制和自动相位控制(锁相环)在内的反馈控制电路。其中锁相环电路的性能就显得尤其重要。本文所讨论的就是一个利用锁相环组成的直接调频信号合成器、小功率发射机并由此而组成一个调频发射电台的设计。 1 系统的整体设计方案 1 .1 调频发射电台基本原理 发射电台的原理很简单,如图1所示,携带
[单片机]
<font color='red'>单片机</font>控制的自动锁相调频发射机的设计
51单片机的出租车计价器C51程序
已通过模拟测试 #include reg52.h unsigned char cir_num,pwm_mach,temp,distance,wait_time,price,distance; unsigned int a,t; sbit pwm_mach=P1^0; sbit key_clean=P3^0;//定义按键位置 sbit key_stop=P3^1; sbit key_cheak=P3^2; sbit key_oneway=P3^3; sbit key_doubleway=P3^4; unsigned char code led_buf ={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07
[单片机]
51单片机中断的开放和关闭控制
由 中断 允许寄存器IE实现两级控制(SFR地址: 0A8H) EA X X ES ET1 EX1 内容来自单片机之家www.dpj100.com ET0 EX0 EA:总允许位(一级控制) EA=0时:禁止一切中断;EA=1时:中断开放。 ES:串行口中断允许位(二级控制) ES=1:允许RI、TI引发中断,否则禁止串口中断。 ET1、ET0:定时器T1、T0允许位(二级控制) ET=1 允许TF0、TF1引发中断,否则禁止相应的定时器中断。 EX1、EX0:外中断/ int1、/int0允许位(二级控制) EX =1
[单片机]
ARM和单片机AVR的区别
AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比运行效率高很多、芯片内部的Flsah、EEPROM、SRAM容量较大、全部支持在线编程烧写(ISP、每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成AD、DA模数转换器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。主要现在使用的型号是ATMEGA8/16。 ARM不是单片机,准确来讲ARM是一种处理器的IP核。英国ARM公司开发出处理器结构后向其他芯片厂商授权制造,芯片厂商可以根据自己的需要进行结构与功能的调整,因此实际中使用的ARM处理器有很多种类,主要有三星、飞利浦、ATMEL、I
[单片机]
单片机结构和原理
89C51单片机结构框图 1、一个8位 的微处理器CPU。 2、片内数据存储器(RAM128B/256B):用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。 3、片内4kB程序存储器Flash ROM(4KB):用以存放程序、一些原始数据和表格。 4、四个8位并行I/O(输入/输出)接口 P0~P3:每个口可以用作输入,也可以用作输出。 5、两个或三个定时/计数器: 每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制 6、一个全双工UART的串行I/O口:可实现单片机与单片机或其它微机之间串行通信。 7、片内振荡器和时钟产生
[单片机]
<font color='red'>单片机</font>结构和原理
基于CAN总线的电梯外呼系统方案设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。 电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过CAN总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。 AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI- SC结构,具有1
[单片机]
基于CAN总线的电梯外呼系统方案设计
STC89系列单片机
STC89系列单片机是由STC公司生产制造的新型单片机。它与AT89系列单片机拥有的功能一样,都利用了8051技术制作芯片的CPU。以AT89C51为例,它采用了两排直插式的封装(PDIP),如图2-7。它的各管脚分别有不同的作用,具体说明如下: 1)40脚(VCC):连接电源的正极,为芯片提供工作所需要的电压(5V)。 2)20脚(VSS):连接电源的负极,即接地。 3)19脚(XTAL1):连接芯片外部晶振体的 图2-7 TA89C51 一个管脚。在芯片内部,它作为反向放大器的输入端。 4)18脚(XTAL2):连接芯片外部晶振体的另一个管脚,从而形成一个芯片外部的时钟振荡器。在芯片内部,它作为放大器的输出端,与前述的输入端一
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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