上海市柳营路650弄36号302室
销售热线:021-56906880 56982876
图文传值:021-56982876
企业邮箱:dzyb@vip.sina.com
当前位置:网站首页 -> 一种轿车车内CO浓度实时测控系统的设计
一种轿车车内CO浓度实时测控系统的设计 [2014/3/26] |
1 引言轿车空调运行在车辆停驶期间产生的一氧化碳进入轿车车厢内极易诱发中毒事故,随着轿车的普及,由此引发的一氧化碳安全事故也越来越多。为了减少这类的事故的发生,本文设计实现了一个能够检测轿车一氧化碳浓度的系统,该系统采用凌阳公司高性能16位单片机液位计SPCE 061 A作为控制核心,利用CO传感器MQ-7采集车内一氧化碳,引入μC/OS-II实时操作系统。中国《工业企业设计卫生标准》规定:车间连续接触8小时的最高容许浓度为300 ppm.因此,设定CO报警门限为300 ppm,当车内一氧化碳达到设定的该值时,系统可以发出声光告警提示通风换气,延时一分钟后则自动打开天窗进行通风,以保证车内人员安全,另外,为便于观察车内温度操作空调,设计了温度辅助测试单元,采用DS18B20温度传感器实现温度测量。 图1所示系统包括传感器采集电路、CO信号调理电路、声光报警电路、LCD显示电路、温度测量、电源电路等功能模块,系统通过CO传感器MQ-7采集电路采集CO信号,输出与CO浓度成正比的模拟电压信号,把电压信号送入SPCE061A内进行A/D转换后,经单片机处理后驱动器显示出CO浓度值,若CO浓度大于报警电路预设数值,报警电路发出报警,延时1分钟会启动天窗通风,从而防止CO中毒事故的发生。 1.2 温度测试电路设计温度检测电路选用DALLS公司生产的“一线总线”数字化温度传感器DS18B20,其测量温度范围达-55~125℃,在-10~85℃范围内,精度为±0.5℃。该器件只有3个引脚(即电源VDD、地线GND、数据线DQ),不需要外部元件,一条数据线进行通信。设计系统检测温度范围设计为-5~35℃,精度为0.5℃,已经能够满足绝大多数工作环境的要求;用9位数字量来表示温度。本系统用1块DS18B20实现对环境温度的检测,获得温度信息时,先由SPCE061 A的IOA8脚发送复位脉冲,使DS18B20复位并向SPCE061A发送响应脉冲,SPCE061A就可以发送读DS18B20序列号的命令,然后,SPCE061A再发出定位命令启动DS18B20进行温度转换,当温度转换结束后,SPCE061A发送DS18B20数据存储指令,即完成了温度信息数据的转换和读取。 数据采集A/D转换主程序和外部中断O的服务程序。A/D转换主程序主要实现SPCE061 A硬件初始化、数据采集处理、达到设定浓度300 ppm时进行声光告警。数据采集子程序如图4所示。 3 μC/OS-Ⅱ的植入μC/OS-II是一种专门为微控制器设计的实时抢占式多任务操作系统,它以源代码的形式给出。其内核主要提供进程管理、时间管理、内存管理等服务。系统最多支持56个任务,每个任务均有一个独有的优先级。由于其内核为抢先式,所以总是处于运行态最高优先级的任务占用CPU.系统提供了丰富的API函数,实现进程之间的通信以及进程状态的转化。多任务系统在进行任务切换时需要完成的主要操作步骤如下:首先将当前子任务CPU所有的寄存器数值压入堆栈:然后将CPU系统堆栈的数据全部拷贝到当前子任务的堆栈中;获取下一个处于运行态且优先级最高的子任务的堆栈指针;再恢复下一个子任务的CPU寄存器的值和系统堆栈中的数据;最后通过中断返回指令或函数返回指令。在对μC/OS-Ⅱ编写任务切换程序时需注意:μC/OS-II在每个中断发生后都会产生任务调度,但在中断结束后进行任务切换时,不能调用普通任务切换函数,这是因为在中断过程中通常要将CPU的状态寄存器压栈操作。
|