feedback的典型应用.docx
《feedback的典型应用.docx》由会员分享,可在线阅读,更多相关《feedback的典型应用.docx(13页珍藏版)》请在冰豆网上搜索。
feedback的典型应用
SPCE061A在语音环境湿度丈量仪的应用
SPCE061A在语音环境湿度丈量仪的应用
作者:
凌阳科技教育推广中心
摘要:
本文先容了利用16位单片机SPCE061A作为控制中心,配合电容式湿度传感器HS1101丈量湿度的方案。
该湿度丈量仪具有语音播放功能,利用按键控制湿度的丈量和湿度值的播放。
该方案利用湿度传感器和一个固定电阻串联,与SPCE061A的IOB2和IOB4连接,形成RC反馈电路,即SPCE061A的Feedback电路;利用SPCE061A的Feedback功能,实现了湿度传感器从电容到频率的转换,SPCE061A读取Feedback电路的工作频率后,又转换成电容,根据电容值计算得到湿度值。
关键词:
SPCE061A;传感器;湿度;HS1101;Feedback
1引言
工农业生产、气象、环保、国防、科研、航天等部分,经常需要对环境湿度进行丈量及控制。
对环境温、湿度的控制以及对产业材料水份值的监测与分析都已成为比较普遍的技术条件之一,但在常规的环境参数中,湿度是最难正确丈量的一个参数。
这是由于丈量湿度要比丈量温度复杂得多,温度是个独立的被丈量,而湿度却受其他因素(大气压强、温度)的影响。
此外,湿度的校准也是一个困难。
目前,人们探测的湿度丈量从原理上有二、三十种之多。
随着20世纪后半期电子业的发展,电子式湿度传感器产品及湿度丈量于90年代也随之兴起,并在后面这些时间内取得了长足的发展。
该方案就是利用电子式传感器配合单片机实现具有语音功能人性化的测湿仪。
1.1系统参数
本方案系统的主要参数:
工作温度:
0~70℃;
工作湿度:
0~100%RH;
丈量范围:
1%~99%RH;
精度:
±5RH%。
1.2功能简介
本方案可以实现:
按键控制启动湿度丈量;
语音播放丈量湿度值;
湿度判定,并有温馨提示语,当湿度太高时,播放"湿润,请打开除湿机",湿度太低时,播放"太干,请打开加湿器"。
2系统硬件设计
对于湿度丈量仪,除了具有一个控制器控制丈量外,还需要丈量器。
本系统中采用SPCE061A作为控制器,电容式湿度传感器HS1101作为丈量器,利用一个按键来启动湿度丈量和语音播放。
由于电容不能直接和SPCE061A的I/O口连接进行丈量,所以需要一个电路模块,与SPCE061A的Feedback接口IOB2、IOB4,IOB3、IOB5连接,实现从电容到频率的转换,系统的结构框图如图2.1。
图2.1系统结构框图
SPCE061A单片机作为主控芯片,根据读到的键值判定是否启动丈量,丈量时负责读取Feedback电路的工作频率,根据频率计算HS1101的电容和它所在环境的湿度,并把湿度通过喇叭播放出来。
同时假如湿度值太高或者太低,系统会播放温馨提示。
2.1SPCE061A芯片简介
SPCE061A是一款基于'nSP内核的16位单片机,其芯片特性如下:
◆工作电压:
内核工作电压VDD为3.0~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);
◆CPU时钟:
0.32MHz~49.152MHz;
◆内置2K字SRAM和32K闪存ROM;
◆系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;
◆具备触键唤醒的功能;
◆32位通用可编程输进/输出端口;
◆2个16位可编程定时器/计数器(可自动预置初始计数值);
◆7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;
◆2个10位DAC(数-模转换)输出通道;
◆14个中断源可来自定时器A/B,时基,2个外部时钟源输进,键唤醒;
◆具备串行设备接口;
◆低电压复位(LVR)功和低电压监测(LVD)功能;
◆内置在线仿真(ICE,In-CircuitEmulator)接口。
SPCE061A的内部结构框图如图2.2所示。
图2.2SPCE061A内部结构图
2.2湿度传感器HS1101
2.2.1湿度丈量简介
1、湿度定义
在计量法中规定,湿度定义为"物象状态的量"。
日常生活中所指的湿度为相对湿度,用RH%表示。
总言之,即气体中(通常为空气中)所含水蒸气量(水蒸气压)与其相同情况下饱和水蒸气量(饱和水蒸气压)的百分比。
2、湿度丈量方法
从测试的输出参量上区分,湿度丈量方法主要分为以下几类:
利用物质几何尺寸变化的测湿法(伸缩法),干湿球法,冷凝露点法,氯化锂露点法,电湿度丈量法(电阻法、电容法),电解法(库仑湿度计)以及其它测湿方法。
这些丈量方法读者可以找相关资料进行进一步了解,限于篇幅,这里不再赘述。
下面重点先容本系统中用到的电湿度丈量法的特点。
3、电子式湿度传感器的特点
电子式湿度传感器是近几十年,特别是近20年才迅速发展起来的。
湿度传感器生产厂在产品出厂前都要采用标准湿度发生器来逐支标定,电子式湿度传感器的正确度可以达到2%一3%RH。
在实际使用中,由于尘土、油污及有害气体的影响,使用时间一长,会产生老化,精度下降,湿度传感器年漂移量一般都在±2%左右,甚至更高。
一般情况下,生产厂商会标明1次标定的有效使用时间为1年或2年,到期需重新标定。
电子式湿度传感器的精度水平要结合其长期稳定性往判定,一般说来,电子式湿度传感器的长期稳定性和使用寿命都不是很好。
湿度传感器是采用半导体技术,因此对使用的环境温度有要求,超过其规定的使用温度将对传感器造成损坏。
所以电子式湿度传感器测湿方法更适合于在洁净及常温的场合使用。
电子式湿度传感器主要有电容式和电阻式两种。
电容式湿敏元件的优点在于响应速度快、体积小、线性度好、较稳定,国外有些产品还具备高温工作性能。
但是达到上述性能的产品多为国外名牌,价格都较昂贵。
市场上出售的一些电容式湿敏元件低价产品,往往达不到上述水平,线性度、一致性和重复性都不甚理想,30%RH以下,80%RH以上感湿段变形严重。
有些产品采用单片机补偿修正,使湿度出现"阶跃"性的跳跃,使精度降低,出现一致性差、线性差的缺点。
无论高档次或低档次的电容式湿敏元件,长期稳定性都不理想,多数长期使用漂移严重,湿敏电容容值变化为pF级,1%RH的变化不足0.5pF,容值的漂移改变往往引起几十%RH的误差,大多数电容式湿敏元件不具备40℃以上温度下工作的性能,往往失效和损坏。
本系统中我们使用电容式湿度传感器HS1101,这颗传感器比较常见,适用于一些对精度要求不高的场合。
2.2.2HS1101简介
1、基本参数
如图2.3。
假如没有特别标注,默认下图的丈量温度Tα=25℃,丈量时HS1101工作频率为10KHz。
图2.3HS1101参数图
2、特性曲线
如图2.4。
丈量温度Tα=25℃,丈量时HS1101工作频率为10KHz。
图2.4HS1101特性曲线
2.3硬件电路
2.3.1SPCE061A最小系统
本方案使用SPCE061A精简开发板(61板)作为单片机最小系统。
61板包括SPCE061A芯片及其外围的基本模块,外围模块包括:
晶振输进模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如下图所示。
图2.5SPCE061A最小系统
2.3.2电容式湿度传感器HS1101电路模块
由于湿度传感器HS1101是电容式的,所以要想办法丈量得到它的电容,利用单片机没有办法直接读到,但是利用SPCE061A的Feedback功能可以测得HS1101所在RC电路的工作频率,这样就可以计算得到它的电容。
为了减小误差,利用一个固定电容和一个电阻构成另一个Feedback电路,作为湿度传感器HS1101的基准。
如图2.6:
根据图2.3中的参数,为了使湿度传感器HS1101的工作频率尽量接近10KHz,选择一个620KΩ的电阻和HS1101形成Feedback1;390pF的电容作为基准,和另外一个620KΩ电阻形成Feedback2。
图2.6电容式湿度传感器电路模块电路
2.3.3按键电路
本系统直接使用SPCE061A精简开发板上的按键,61板上按键电路如图2.7。
图2.761板按键电路
3系统软件设计
本方案的软件系统包括下面模块:
按键扫描:
扫描按键,判定是否有键按下,在Key.c文件中实现;
湿度丈量:
端口初始化,丈量湿度并返回湿度值,在Hum_Measure.c文件中实现;
语音播放任意数字:
播放任意的整数,本系统中用来播放湿度值,在PlayVoice.c文件中实现;
中断服务:
语音播放中断服务程序和IRQ2中断读计数值程序,在isr.asm文件中定义。
3.1各模块程序说明
3.1.1主程序
主程序流程如图3.1:
调用按键扫描程序读取键值,假如是KEY1键按下则启动丈量,调用湿度丈量函数丈量湿度,并根据丈量结果进行相应播放;假如不是KEY1键按下,返回继续扫描按键。
留意:
在每次丈量前都会关断快速中断FIQ,这是由于在丈量过程中用到了定时/计数器TimerA,而在语音播放时打开了FIQ中断,所以在丈量前需先封闭,以免在丈量过程中CPU一直相应FIQ中断,造成不必要的麻烦。
图3.1主程序流程图
3.1.2按键扫描模块
本系统中只用到了一个按键--61板上的KEY1键,这个键和IOA0连接。
按键扫描程序流程如图3.2所示。
利用延时往抖的方法,先取一次端口数据,延时一段时间,一般延时几十ms即可,再取一次端口数据,假如二者相同,说明取到了正确的键值。
图3.2按键扫描程序流程图
3.1.3湿度丈量程序流程图
湿度丈量程序流程如图3.3,为了减少误差,确保丈量的正确性,丈量四次,往掉一个最高值和一个最低值,假如中间两个数相差不大于10,则中间两个数的均匀值就是丈量的终极数据,程序中这个数据为TimerA的计数值。
由于用Feedback功能丈量传感器的电容,如图2.6。
事实上利用Feedback功能直接能测到传感器工作的频率,根据这个频率来才能计算传感器的电容值。
丈量传感器工作频率的方法:
利用TimeB作为定时器,TimeA作为计数器;根据TimeB定时时间内TimeA计数的个数来测得传感器的工作频率。
图3.3湿度丈量程序流程图
3.1.4语音播放任意整数数据程序
语音播放任意三位整数程序流程如图3.4。
这个程序可以定义形式参数来传递任意三位数。
先计算这个数据的百、十、个位,再分别进行播放,播放的流程如下:
图3.4语音播放任意三位数流程图
3.1.5中断服务程序流程图
FIQ的中断服务程序如图3.5。
FIQ中断服务程序主要功能是调用F_FIQ_Service_SACM_S480函数解码并输出。
IRQ2中断服务程序如图3.6。
IRQ2中断服务程序有两个功能:
一是保存TimerA的计数值;二是为了配合湿度丈量函数,设置定时时间溢出标志,假如进进这个中断服务程序,说明定时溢出。
图3.6IRQ2中断服务程序流程图
4结语
湿度丈量本身比温度丈量复杂的多,主要是由于湿度受温度、大气压的影响。
对于电容式湿度传感器来说,更是难上加难,由于丈量电容本身也是一个非常复杂的过程。
SPCE061A的Feedback功能给这种丈量提供了很大的方便,利用固定电阻和电容式湿度传感器形成RC振荡电路,接在Feedback的输进和输出端,这样通过丈量频率,很轻易就能得到电容式湿度传感器的电容,根据标定值就可以得到丈量湿度。
(end)