郭玉婷 师云秋 杨 楠 徐 颖
(辽宁科技大学 辽宁鞍山 114000)
嵌入式客流监控系统的设计*
郭玉婷 师云秋 杨 楠 徐 颖
(辽宁科技大学 辽宁鞍山 114000)
对纸币消毒的需求进行分析,设计了一款具有纸币进入自动检测、消毒液自动加液、烘干温度检测与控制、电机驱动与控制等功能的客流。对消毒液的液位检测及加液控制,纸币烘干温度检测及控制的软硬件设计方法进行分析。通过实验及样机运行证明监控系统具有较高的稳定性和实用性。
Atmega8 PT100 SPI 纸币消毒 温度控制
随着环境的污染与恶化,传染性病毒传播日益严重,近年的非典和甲流病毒就给人民群众的健康及生命带来极大的危害。作为日常生活必须用到的纸币,由于在人与人之间的流通,表面附着大量细菌及病毒,纸币的使用是传播传染病的重要途径,据有关部门对流通中的纸币票面沾染细菌和病毒的情况调查发现:纸币表面沾染细菌和病毒高达十几种之多,纸币上如此多的细菌和病毒对人们的健康是极大的隐患。对纸币进行有效地消毒成为一个重要的课题,目前市场上存在着一些对纸币消毒的方法,如紫外线消毒,远红外线消毒等,但效果均不太理想,本文设计了一款能够自动涂抹消毒液,并能对纸币进行烘干和整平的消毒机。[1]
根据纸币消毒需求的分析,设计了一款以ATMEGA8单片机作为主控芯片的客流,监控系统包括纸币进入检测、烘干温度检测、液位检测等检测环节,还包括运行状态指示、烘干温度显示、自动加液控制、电机控制以及烘干温度控制等输出控制环节。[2]
ATMEGA8单片机是ATMEL公司推出的AVR单片机,AVR监控系统单片机抛弃复杂指令计算机(CISC)追求指令完备的做法,采用精简指令集(RISC),取指周期短,又可预取指令,实现流水作业,故可高速执行指令,可达1MIPS/MHZ。2~3个PWM通道,可实现任意小于16位、相位和频率可调的PWM脉宽调制输出。有18个不同的独立中断源,并有特定的中断允许位,提高了监控系统的安全性。片内集成了较大容量的非易失性程序和数据存储器以及工作存储器,存储空间足以满足监控系统需要,并为监控系统的扩展提供了必要保证。23个可编程I/0口,可任意定义I/0的输入/输出方向;驱动能力强,可直接驱动LED等大电流负载,且多数的I/O口为复用口,除作为通用数字I/O使用外,其第二功能可作为芯片内部其他外围电路的接口。具有三个定时/计数器,除了能够实现通常的定时和计数功能外,还具有捕捉、比较、脉宽调制输出、实时时钟计数等更为强大的功能。ADC和DAC转换,可直接输入模拟量、输出数字量。有看门狗电路,一旦程序进入死循环能自动复位,保证监控系统工作的可靠性。有空闲、省电、掉电三种低功耗方式,很适合低功耗监控系统的要求。[3]
本监控系统在设计中利用探针检测消毒液的液位,并根据检测的状态控制储液罐的电池阀的动作,从而实现自动加液的功能。消毒液的液位检测采用了探针的检测原理,将三根探针安装成不同的高度,当两根之间全浸泡在液体当中时,两者之间的电阻较小,当两者之间没有液体浸泡时,电阻较大。进水的控制是由单片机的I/O口通过三极管驱动电磁阀进行控制。如果高液位端检测到信号,则停止加液,如果低液位端检测到信号时,开启加液。加液和停止加液之间设置了一个回差值,避免液位在某一点附近来回波动造成液位控制的频繁动作。
温度检测部分是监控系统的核心环节之一,直接影响到监控系统温度测量的精度,因而选择一款合适的温度传感器和设计一个优良的温度检测电路非常重要。常见的温度传感器有电阻式温度传感器、热电偶传感器和集成温度传感器。集成温度传感器如DS18B20测量的精度较高,但测量的过程占用较多的CPU资源,测量温度的范围并不是很宽;对于电阻式温度传感器,有普通的热敏电阻传感器,也有精度较高的铂电阻传感器,从测量的精度和测量的范围分析,铂电阻传感器具有较好的线性度和较宽的温度测量范围,故在本监控系统选用PT100铂电阻温度传感器。
在0~100oC范围内,PT100铂热电阻的阻值和温度关系近似为线性,其温度阻值关系可近似为:
当0oC<t<100oC时Rt是温度为toC时PT100的阻值。
运放的输出的电压的表达式为:
由于温度基本上时在0~100℃之间,2k+Rpt100≈2100,为了简化单片机软件的设计,对可对表达式作近似处理,近似后的表达式为:
在本监控系统中,通过PT100温度传感器检测温度数据,经信号放大电路放大后的电压送入单片机,监控系统没有采用外接A/D转换器的方式,而是采用了ATMEGA8单片机内部的A/D转换器,ATMEGA8单片机内置了8路10位的A/D转换器,通过PC口进行复用,通过对内部A/D转换器的相关设置,在AD转换的中断处理程序中读取采集的温度数据,并对采集的温度个数进行计数,采集的温度个数达到十个时设置温度采集完成标志。采用软件滤波的方法,去掉10个数据中的最大值和最小值,对中间的八个数据求平均值,并由此数据回算出温度值。[4]
本监控系统温度控制中通过比较检测到温度值与设置温度值以决定是否要进行加温控制,同时也决定是否要进行纸币进入的检测。当检测到的温度值低于设定的温度值时,烘干灯管进行加温控制,红色指示灯亮,绿色指示灯灭代表监控系统还在加温状态,同时关闭纸币进入的检测,此时即使有纸币送入输入口,电机也不转动。当加热温度超过设置的温度值时,烘干灯管停止加热,绿色指示灯亮,红色指示灯灭,代表已到达合适温度,置温度到达标志,并开纸币允许进入的检测,此时若有纸币进入,驱动电机将会运行。根据加热灯管的加热性质,监控系统采用了比例控制算法,根据设定的温度值与当前温度值的差值,设置对应的加热时间。
[1] 陈 宁.多用途医用仪器消毒机的研制[J].医疗卫生装备,2007(3):11-12
[2] 马潮. ATmega8原理及应用手册[M]. 北京: 清华大学出版社,2003:2-3
[3] 张军,宋涛. AVR单片机C语言程序设计实例[M]. 北京:电子工业出版社,2009: 45-47
[4] 陈德龙.基于Pt100的电子温度表设计[J]. 杭州电子科技大学学报, 2005(4):42-45
*辽宁科技大学大学生创新创业训练计划项目201710146000024