3.1 单片机的选型
单片机是烟雾检测报警器的核心部件,一方面它要接收来自传 感器的烟雾浓度的模拟信号和故障检测信号,另一方面要对两种信 号分别进行处理,控制后续电路的相应工作;同时,查询是否有键按下的 命令。在单片机实现的功能中,将模数转换后的信号做数字滤波,再进行 线性化处理,然后送LCD显示,这一过程的软件实现,需要单片机有较 快的运算速度,使仪表监测人员能够观测到实时的烟雾浓度,并进 行相应处理。同时,在能够满足报警器设计的计算速度及接口数的要求的 同类型单片机中,要考虑选择价格低廉且体积轻巧的机型,在保证了报警 器的精确性、可靠性及抗干扰性的基础上,能够不提高成本,缩小体积。
如今市面上比较普遍的单片机有8051系列与STC系列。
8051单片机虽然应用普遍,工具多,易上手,片源广,价格低,但 是速度慢,功耗大,适合民用,商用,不适合工业用途。
STC单片机是MICROCHIP公司的产品,其突出的特点是功耗低, 精简指令集 ,抗干扰性好,可靠性高,但是存在溢出隐患问题。8051系 列采用的是堆栈指针,STC采用硬件堆栈8级。当堆栈指针设定合理,局部变量少的情况下,8051系列用10层的程序嵌套不会出现问题。而STC单片机程序嵌套包括中断最多不能超过8层。所以如果用C语言进行STC编程设计容易堆栈溢出。
汇编语言对于不同的CPU,其汇编语言可能有所差异,所以不易移 植。而C语言是一种结构化的高级语言,虽然占用资源较汇编多,但是可读性好,移植容易,是普遍使用的一种计算机语言。鉴于C语言的易读性和普遍性,本论文的软件设计选择C语言编程,所以STC系列单片机在此处不是非常适合。
为适用于本论文设计的烟雾检测报警器,应选择一种比8051系列速度快,功耗低,抗干扰性好,而又避免C语言编程溢出问题的单 片机。 宏晶科技新推出的STC12系列单片机具有高速、低功耗、超强抗干扰等优点,是的新一代8051单片机,指令代码完全兼容传统8051,速度 却比8051单片机快8~12倍。而且STC12系列下属的STC12C54xxAD系 列单片机是低功耗Flash单片机,它的高效寻址方式、大容量Flash、 EEPROM、A/D转换、硬件乘法器、硬件脉宽调制器(PWM)等功能特点, 较好的实现了强大的功能与超低功耗的结合。而且在功能同样的情况下, 管脚较少封装体积小,价格比其他型号便宜,因此具有很好的性价比和应 用适应性。
STC12C54xxAD系列单片机有6种型号:分别是STC12C5412AD、 STC12C5410AD、STC12C5408AD、STC12C5406AD、STC12C5404AD、 和STC12C5402AD。 它们是以单片机内部集成Flash的大小区分的。在价格相同的情况下,尽量选择Flash较大的芯片,所以选择了STC12C5410AD单片机作为本论文设计的烟雾报警器的单片机核 心芯片。它体积小,价格低,非常适用于本设计,下面介绍STC12C5410AD的自身特点。
3.2 烟雾检测报警机器人硬件电路设计
3.2.1 信号采集及前置放大电路
传感器输出信号一般比较微弱,需要经过前置电路对其进行放大、滤波、电平调整,满足单片机对输入信号的要求。本系统采用的半导体烟雾 传感器属于电阻型,因此只需串联一个参考电阻,再经过一个放大电路即可发送给ADC采集。由于系统采用的是单极性
8
供电,所以采用同相比例 放大电路,可以减少硬件开销;反之,如果采用反相放大,则一般需要利 用双极性供电,这就需要系统额外的利用变压芯片产生一个负压,这显然 会造成浪费。常见的运算放大器中,LM324价格低廉、使用简单等优点 比较突出,所以本设计中的前置放大电路采用LM324作为电路的运算放大器。
LM324是单片高增益四运算放大器,可在较宽电压范围内的单电源 或双电源下工作,其电源电流很小且与电源电压无关,四个运放一致性好; 其输入偏流电阻是温度补偿的,也不需外接频率补偿,可做到输出电平与 数字电路兼容。
下面详细介绍运算放大电路:
如图3.2所示,从传感器的上端出来的信号Vi经过运算放大器的同相 输入端,但是为保证引入的是负反馈,输出电压Vo通过电阻R4接到反相输入端,同时,反相输入端通过电阻R3接到参考电压Vref。
同相比例运算电路中反馈的组态为电压串联负反馈,同样可以利用理 想运放工作在线性区时的两个特点来分析其电压放大倍数。 在图3.2中,根据运放的“虚短”和“虚断”的特点可知,I- = I+ = 0,
所以V- = Vo*R3/R3 + R4 +Vref*R4/R3 + R4 (3-1) 而且V- = V+ = Vi
Vo = Vi*(R3 + R4)/R3 (3-2) 由以上两式可求出Vo=Vref-R4/R3 (3-3)
所以本放大电路的放大倍数A =1+ R4 R3 ,此放大电路为同相比例放大电路,它的放大倍数总是大于或等于1。同相比例运算电路有以下几个特点:
(1)同相比例运算放大电路是一个深度的电压串联负反馈电路。因为不存在“虚地”现象,所以其输入端有较高的共模输入电压。
(2)电压放大倍数A =1+ R4 R3 ,即输出电压与输入电压的幅值成正比,且相位相同,所以此电路实现了同相比例放大。如果不接R3和R4,则此电 路就成了“电压跟随器”,它可以减少电路模块间由于阻抗引起的干扰。
(3)由于引入了深度电压串联负反馈,因此电路的输入阻抗很高,输出阻抗很低。高输入阻抗就可以减少放大电路对前端电路的影响,同时低输出阻抗也可以提高自身的抗干扰性,这显然有利于电路中其他模块的设 计。 此放大电路还加了参考电压,引入了零点调节功能,这样可以更方便 的调整由于不同传感器导致的零点变化问题。它利用滑动变阻器产生一个参考电压Vref,再利用电压跟随器把电压输入到运算放大电路的电压参考 端。所以调节滑动变阻器,就可以直接改变放大电路的参考电压。而电压 跟随器的作用就如上面介绍的,它只是用来匹配阻抗用的,防止R3和R4对 滑动变阻器输出电压的影响。
9
图3.2前置放大电路图
3.2.2 声音报警电路
声音报警电路图如图3.3所示。报警装置采用无源压电式KM3712x型蜂鸣器[26],较一般的蜂鸣器体积大,声音响亮,适用于家用煤气报警 器的报警声音源。当单片机
STC12C5410AD的17脚(P3.7)置1时,三极 管Q1导通,蜂鸣器报警。本报警器采用单片机STC12C5410AD的PWM功 能,如果烟雾浓度达到报警限,单片机控制P3.7(PWM)口输出占空比一定 的脉冲,报警时蜂鸣器会发出如警车警笛的声音。
10
图3.3声音报警电路图
3.2.3 数码管显示电路
报警器浓度显示采用共阳数码管。显示浓度级别,其主要技术参数如下: 模块工作电压: 2.7~5.5V 工作电流: 80ma,每段10ma
字高:11.4mm环境相对湿度:<85% 视角:6:00 工作温度:-10~+50°C
显示方式:反射式正显示存储温度:-20~+60°C 接口方式:8线并行接口
11
图3.11 数码管结构图
3.2.4 状态指示灯及控制键电路
状态指示灯及控制键电路图如图3.5所示。单片机STC12C5410AD的18脚(P1.0)、12脚(P2.4)、13脚(P2.5),控制输出的状态指示灯。绿灯常亮表示正常状态,环境中可燃烟雾浓度极低。黄灯闪亮表示传感器加热 丝或者电缆发生断线或者接触不良。红灯闪亮表示环境中可燃烟雾浓度超 过报警限值,提醒用户尽快作相应安全措施。
当烟雾浓度超过报警限,报警器发出鸣叫,用户到达现场,可按下按键停止报警器鸣叫。若过一点时间浓度仍超出报警限,报警器会再次鸣叫提醒用户。
12