DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 659|回复: 0
打印 上一主题 下一主题

[工仪] 基于S3C44B0x的室内空气质量监测仪设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-18 00:47:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 引言
  目前,困扰人们日常生活的室内空气质量问题主要有两种:
  (1)由于房屋装修、玩具、杀虫喷雾剂等带来的有害气体,如甲醛、挥发性有机物(VOCs:包含苯系物)等致癌物质;
  (2)人们日常生活中由于粗心或设备故障引起的有害气体泄露,如水煤气、天然气、液化石油气等的泄露给人体带来危害。因此,有必要设计一种集这两方面有害气体监测为一体的便携式室内空气质量监测仪(IAQ Monitoring System),及时、准确、有效地对生活坏境中这类有害气体进行检测并报警,提醒人们做出一定措施。不仅能有效地保护人们的健康,甚至能够让很多家庭灾难得以避免。
  该系统采用Samsung 公司的S3C44B0x 微处理器芯片作为硬件核心,选用μC/OS-Ⅱ实时操作系统作为嵌入式软件的基础和开发平台。S3C44B0x 芯片内集成了ARM7TDMI 核,并在ARM7TDMI 核基本功能的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。μC/OS-Ⅱ是一个完整的、源码公开的、可移植、固化、裁剪的占先式实时多任务内核。其中μC/OS-ⅡV2.52 通过了美国航天管理局(FAA)的安全认证,可以用于飞机、航天器等与人生命攸关的控制系统中,是值得放心使用的操作系统。实践结果证明,该监测仪操作简单,工作稳定可靠,成本低,具有广阔的应用前景。
  2 系统总体设计
  由于嵌入式操作系统屏蔽掉了很多底层硬件的复杂信息,在开发的过程中,通过操作系统提供的API 函数便可以完成大部分工作,可以简化开发过程,提高系统的稳定性,所以该监测仪选用采用嵌入式操作系统。
  嵌入式监测系统由硬件层、中间层、软件层、功能层组成,各层的内容结构如图1 所示。其中板级支持包(BSP)或称硬件抽象层(HAL)的功能在于将系统软件和底层硬件部分隔离,一般具有相关硬件的初始化、数据的输入/输出操作、硬件设备的配置等功能。



  3 系统硬件设计
  3.1 系统硬件基本架构
  系统硬件主要由两大部分组成:
  (1)针对该气体监测系统的传感器阵列电路,其中包括传感器加热电路、传感器信号采集电路;
                          
                       
                          
                               
  (2)典型的S3C44B0x 的外围电路,其中包括实现该系统所需要的5 V、3.3 V、2.5 V、1.4 V 的电压转换电路、用于程序和数据存储的Flash 存储器和Sdram 存储器电路、用于显示各种气体当前浓度的液晶显示电路、声光报警电路、键盘操作电路以及用于调试的JTAG 接口电路。
  室内空气质量监测系统硬件结构图如图2 所示。



  3.2 气体传感器信号拾取原理
  该设计中选用的MQ-135 气体传感器适用于测量甲醛、甲苯、烟雾、二氧化碳等有害气体;MQ-9 传感器用于测量一氧化碳、甲烷、液化石油气这类可燃气体;选用了DHT21 温湿度传感模块进行温湿度的测量。
  MQ-135 和MQ-9 的测量电路如图3 所示。该测量电路由测试回路和加热回路两部分组成。在测试回路中,传感器表面电阻RS 阻值随待测气体浓度的变化而变化,通过与其串联的负载RL 上有效电压信号VRL 的输出来反应空气中待测气体的浓度,VRL 与RS 之间关系如式(1)所示。



  图3 中,A,a,B,b,H,h 为气体传感器的6 个接头;VC 为回路电压;VH 为加热电压;RH 为加热电阻;RS 为传感器表面电阻;RL 为取样电阻;VRL 为输出电压。



                          
                       
                          
                               
 对于图3 中的加热电压VH,MQ-135 采用5 V直流电压作为加热电压;MQ-9 采用5 V 高电压、1.4V 低电压循环加热的方式。对于MQ-9,当VH=5V 时,清洗传感器;VH=1.4 V 时,传感器工作,可以采集气体浓度,其中,高电平持续时间为60 s,低电平持续时间为90 s。MQ-9 加热电压波形如图4 所示。



  4 系统软件设计
  在设计一个简单的应用程序时,可以不使用操作系统,但在设计较复杂的程序时,可能就需要一个操作系统来管理和控制内存、多任务、周边资源。以RTOS 为软件开发平台把设计分割为若干独立的任务,应用程序的设计过程可以大为简化。该设计中采用μC/OS-Ⅱ占先式实时操作系统来完成多任务之间的调度和同步。
  4.1 系统软件基本架构
  该系统的主函数流程图如图5 所示,从中也可以看出该嵌入式系统的启动过程以及该系统软件基本架构。在开启多任务调度之前,首先要进行系统硬件初始化,为随后的操作系统初始化和应用程序的运行建立硬件和软件环境;第二步要进行操作系统初始化,创建应用程序环境;根据系统需要,要进行LCD 初始化、装载字库;第五步,调用系统配置文件;第六步创建任务,包括主任务和应用任务;然后初始化用户界面和系统时钟。以上所有的工作都完成之后,通过执行OSStart();来启动多任务调度。



                          
                       
                          
                               
  4.2 应用软件设计
  为了充分发挥操作系统在任务调度、任务管理、任务通信、时间管理和内存管理等方面的优势,首先必须根据需要实现的功能,合理地划分任务和分配任务的优先级。任务优先级的确定原则是工作频率越高,任务的优先级越高。系统中并行存在7 个应用任务,按优先级从高到低依次是模拟信号采集任务、模拟信号处理任务、数字信号采集任务、系统时间修正任务、液晶刷新任务、键盘扫描任务、液晶自动关闭任务。任务之间的通信是通过发送或接收消息、信号量或数据队列来实现的。
  μC/OS-Ⅱ操作系统上允许同时运行64 个任务,其中8 个任务被系统的内核使用。要想在应用程序中建立一个新的任务,必须先为任务定义自己的栈空间,选定一个系统唯一的任务优先级。下面以键盘扫描任务为例,具体程序见程序清单4.1。
  程序清单4.1 键盘扫描任务相关代码:






  5 结语
  本文主要介绍了基于S3C44B0x 和μC/OS-Ⅱ的室内空气质量监测系统的软、硬件设计方案以及系统中气体传感器的工作原理。在监测仪中移植嵌入式实时操作系统对提高嵌入式系统的实时性、可靠性,缩短开发周期和减小后期维护的难度具有重要意义。经测试,该监测仪具有运行稳定、测量准确、报警及时、操作简单、功能齐全、便携性好等优点,并且随着S3C44B0x 以及其外围电子芯片价格的降低,该监测仪更具有成本低廉的优点,适合普通家庭使用
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-4 02:09 , 耗时 0.087776 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表