以纮康HY16F184实现Gas Sensor量测应用设计

发布时间:2015-12-3 10:32    发布者:designapp
关键词: 纮康 , HY16F184
1. 内容简介
  近年来由于日趋严重的环境污染及工业上之需求,使得传感器的发展倍受重视。在空气污染防治日益复杂及工业上迫切需要的今日,高效能的气体传感器愈来愈受重视。以金属氧化物半导体(MOS)为材料之气体传感器,由于其耐热性及耐蚀性佳、应答速率快、组件制作容易,以及易与微处理器组合成气体感测系统或携带式监测器,因此被广泛的使用在家庭、工厂环境中以侦测毒性气体及燃烧爆炸性气体。而本文将介绍以HY16F184内建高精密Sigma-Delta 24 Bit ADC搭配CCS801 CMOS Sensor来实现一个Gas Sensor应用电路。 在本文中的Gas Sensor应用电路上,主要的组件有:气体传感器(CCS801 Gas Sensor)、ADC和MCU控制芯片。 而纮康HY16F184控制芯片内建高精密Sigma-delta 24 Bit ADC、可程序放大PGA和多段式稳压输出等功能,可以很大幅简化PCB周边线路,精准完成由模拟到数字的讯号转换。
  本文Gas Sensor应用电路是由纮康HY16F184芯片之内建ADC精确的量测到CCS801 CMOS Sensor内的RS电阻变化量,并且透搭配CCS801 CMOS Sensor所提供的C Library算法,可以换算出相对应的PPM浓度数值。而在加热驱动器(Heater)回路上的微小电流变化量(RH_Current),同样也可使用HY16F184内建ADC精准的量测到。本文内也提供了GUI软件接口,透过I2C通讯来输出实时的PPM与RS和RH_Current数据变化量。使用I2C转USB网桥与计算机连接,由计算机端GUI做实时三个信道的数据变化量显示。
  2. 原理说明
  2.1. 量测原理
  CCS801 Gas sensor半导体气体感测材料在侦测气体时,RS电阻会产生变化,如下图1。此情况主要导因于侦测可燃性气体如一氧化碳(CO)及多种挥发性有机化合物(VOC)与吸附在半导体氧化物且带负电荷的氧离子产生反应。当空气侦测到可燃性气体时候,RS电阻会产生变化,此时可测量到RS两端的电压会有所改变。典型的RS电阻值范围在100k~2M奥姆之间. RH电阻则是可当温度反应电阻,当Gas Sensor有一电流回路流经Heater+与Heater GND,则可视为加热现象,随着Heater温度的变化,RH端的电阻也会有所改变,典型的RH电阻值范围在20~100奥姆之间。

  图1 CCS801 CMOS Sensor
  2.2. Gas Sesnor应用电路基本架构
  本文Gas Sensor的基本架构如下图2所示,包含一个气体传感器(CCS801 Gas Sensor)、PMOS NX2301、ADC和MCU单芯片。HY16F184可输出PWM来控制PMOS NX2301做为电流开关控制。当PWM输出为High时候,则是关闭PMOS,此时较为省电,不会有电流流经过Heater端。而当PWM输出为Low时候,则是导通PMOS,会有电流流经过Heater端,此时则开始做Gas Sensor加热动作,当Gas Sensor再加热的时相对来说也会比较耗电。 本文的电路应用架构即是利用PWM来做整体消耗电流功耗控制,设定PWM输出周期为97us,PWM输出Low的时间为比57us而PWM输出High的时间为40us。PWM On的输出持续时间是100ms,此时为CCS801的加热时间,之后PWM Off的时间为持续400ms,当PWM Off时候,此时会输出保持High,以500ms为一个控制周期不断的循环控制PMOS NX2301开关,做为加驱动器(Heater)的控制。详细的PWM控制时间图,可以参考以下图3。 HY16F184除了使用PWM做PMOS开关控制来达到功耗控制与省电的设计效果,还使用了高精度ADC来做RS与RH_Current变化量测量,而撷取到的数据可以由I2C来做数据的输出与读取,详细HY16F184 ADC规格可以参考下图4。

  图2 HY16F184 Gas Sensor基本架构图

  图3 HY16F184 PWM输出控制时序图
  2.3. 控制芯片
  单片机简介:HY16F系列32位高性能Flash单片机(HY16F184)

  图4 纮康HY16F系列32位高性能Flash单片机(HY16F184)
  (1)采用最新Andes 32位CPU核心N801处理器。
  (2)电压操作范围2.4~3.6V,以及-40℃~85℃工作温度范围。
  (3)支持外部16MHz石英震荡器或内部20MHz高精度RC震荡器,
  拥有多种CPU工作频率切换选择,可让使用者达到最佳省电规划。
  (3.1)运行模式 350uA@2MHz/2(3.2)待机模式 10uA@32KHz/2(3.3)休眠模式 2.5uA
  (4)程序内存64KBytes Flash ROM
  (5)数据存储器8KBytes SRAM。
  (6)拥有BOR and WDT功能,可防止CPU死机。
  (7)24-bit高精准度ΣΔADC模拟数字转换器
  (7.1)内置PGA (Programmable Gain Amplifier)最高可达128倍放大。
  (7.2)内置温度传感器TPS。
  (8)超低输入噪声运算放大器OPAMP。
  (9)16-bit Timer A
  (10)16-bit Timer B模块具PWM波形产生功能
  (11)16-bit Timer C 模块具数字Capture/Compare 功能
  (12)硬件串行通讯SPI模块
  (13)硬件串行通讯I2C模块
  (14)硬件串行通讯UART模块
  (15)硬件RTC时钟功能模块
  (16)硬件Touch KEY功能模块
  (17)Sigma-delta 24 Bit ADC ENOB & RMS Noise

                               
                  3. 系统设计
  3.1. 硬件说明
  使用HY16F184内建ADC搭配CCS801 CMOS Sensor做Gas Sensor应用电路。 HY16F184的ADC通道模拟脚位会使用到AIO0/AIO1/AIO2/AIO3。 AIO0与AIO3主要负责做流经过RH电阻的RH_Current电流变化量测量,AIO1与AIO2负责做RS电阻的电压变化量测量,因为RS电阻本身为高阻抗(100k~2M奥姆),而ADC的输入阻抗大约只有200k奥姆, 所以在AIO2的输入脚位部份会先经过HY16F184内建R2ROP做一个Unit Gain buffer输出,再由OPOI输出到ADC当作输入参考引脚,这样可以避免量测讯号时负载效应的产生,详细关于AIO1与AIO2的通道设置,可以参考下图5。完整硬件线路图可以参考下图6。

  图5 HY16F184 ADC通道设置AIO2与AIO1

  图6 HY16F184 Gas Sensor硬件线路连接图(TOP)

  图7 HY16F184 Gas Sensor硬件线路连接图(Bottom)
  主要组件介绍
  (1)HY16F184 : 数据处理与运算核心,主要负责执行PWM输出与运算CCS801 Gas Sensor的PPM, RS, RH_Current数据,并且透过I2C通讯做数据输出。
  (2)ADC:HY16F184内建之模拟数字转换器,能够精确的将Gas sensor上的RS与RH_Current讯号,做模拟数字电压讯号转换。
  (3)CCS801 Gas Sensor :气体传感器,负责侦测环境中气体变化量,内部的RS电阻值会随着气体中可燃性气体浓度的不同而产生变化量。
  (4)NX2301 PMOS : 在此主要当作开关使用,由HY16F184的PWM来做开关控制使用。开启时候可对Heater做加热动作,关闭时候没有电流经过不做加热动作。
  3.2. 软件说明
  程序流程图 :

  图8 Gas Sensor程序流程图
  4. 数据规格与总结
  4.1. 耗电流测量
  在CPU频率设定为2MHz与工作电压VDD=3V, VDDA=2.4V, 使用PWM做PMOS开关控制. PWM On的输出持续时间是100ms,此时为CCS801的加热时间,之后PWM Off的时间为持续400ms,以500ms为一个控制周期不断的循环控制PMOS,在此情况下所测得到的耗电流约0.89mA。
  4.2. ADC Raw Data与I2C通讯格式说明
  I2C Slave Address:0x20
  I2C Command:0x80
  S+Addr+0x80+rS+(Addr+1)+CH1Data_L+CH1Data_M+CH1Data_H+CH2Data_L+CH2Data_M+CH2Data_H+CH3Data_L+CH3Data_M+CH3Data_H+CH4Data_L+CH4Data_M+CH4Data_H+P
  S: Star; Addr: Slave address; rS: repeat start; P: stop.
  CH1: RS 的ADC RawData经过ccsmox_set_data_iaq计算后所得PPM
  CH2: RS端的ADC RawData
  CH3: RH_Current端的ADC RawData
  CH4: NC
  L: ADC Low byte; M: ADC Middle byte; H: ADC High byte;
  每个信道数据(Chx)共8*3=24bit
  Bit0,统一为旗标,Bit0=0b,代表为旧资料; Bit0=1b,代表为新资料;
  使用者应该在Bit0=1b时,取得数据才有效.
  Bit23,统一为Sign bit,
  Bit23=0b,代表正数; Bit23=1b, 代表负数
  4.3. ADC Raw Data数据显示界面介绍
  扫描Gas Sensor所输出的ADC Raw Data可透过I2C接口来做数据的传输与读取,搭配纮康设计的I2C转USB的网桥配合PC端的GUI,可以做为实时的ADC Raw Data数据显示。详细数据画面显示GUI操作说明,可以参考如下 :
  1.Connect : USB连接状态,如果有正常连接会显示 Connect,如果连接不正常,会显示control board connect fail
  2.I2C Slave addr: 预设为0x20.
  3.Chart: 显示四个信道的Gas sensor扫描数据。
  4.Scan: 开始读取四个信道的Gas sensor扫描数据。
  5.Save: 存取四个信道的Gas sensor扫描数据。

  图9 HY16F184 Gas Sensor与USB转I2C Board硬件接线图

  图10 ADC Raw Data数据显示界面
  连上GUI观察CH1~CH3的数据显示画面如下图,因为PWM On与PWM Off的周期为500ms, 所以换算频率约每2秒在GUI画面做一次数据的更新。CH1的数据为气体浓度PPM,当Gas Sensor没有侦测到任何的可燃性气体时候,可以看到都为平稳数值不会跳动,CH2的数据为RS,一开始的ADC Raw Data会呈现平稳的上升,CH3则为RH_Current数据,一开始的ADC Raw data会呈现平稳的下降。

  图11 Gas Sensor无侦测到任何可燃性气体时候的ADC Raw Data变化量
  当有挥发性有机化合物接近Gas Sensor时候,在此是拿奇异笔接近Gas Sesnor,可以看到CH1的PPM数据会透过算法算出变化量,同时CH2的RS ADC Raw data会呈现明显下降状态,CH3的RH_Current ADC Raw data也会呈现明显下降状态,在奇异笔离开Gas Sensor之后才会慢慢回复平稳状态。

  图12 Gas Sensor侦测到可燃性气体时候的ADC Raw Data变化量
  4.4. 总结
  在本文中,提供了完整的Gas Sensor相关应用与开发工具供使用者参考,用户可以依据三个通道PPM, RS, RH_Current的ADC Raw Data变化量,来做后续功能设计与开发。
  5. 参考文献
  [1] http://www.hycontek.com/attachments/MSP/DS-HY16F188_TC.pdf, 纮康科技HY16F188 Datasheet.
  [2] http://www.hycontek.com/attachments/MSP/UG-HY16F188_TC.pdf, 纮康科技HY16F188 User Guide.
  [3] http://www.ccmoss.com/products/ccs801, CCS801 CMOS Sensor Website.
                               
               
本文地址:https://www.eechina.com/thread-158364-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。

相关文章

您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表