图表 6
5、蜂鸣器报警子程序:传感器输入值经A/D转换后,调用比较程序,再经过数据处理后显示的测量值与程序中设定的报警阈值比较,小于等于阈值则继续执行显示程序,大于阈值则将单片机PA5端口输出高电平进行报警。
9
大于阈值 蜂鸣器报警
图表 7
四、 测试过程处理
调试分析包括硬件调试分析和软件调试分析及软、硬件联调。由于硬件调试分析和软件调试分析是独立进行的,所以可以先调硬件再调软件。在调试中找出错误、缺陷,判断各种故障,并做出软硬件的修改,直至设计作品能够正确体现其功能。 1、硬件调试
硬件调试包括传感器电路、显示电路、单片机外围电路、报警电路等。下面主要介绍传感器电路、报警电路的调试。
首先把MQ303A酒精传感器,接1.5v左右电压上由于电压预热3秒以上,酒精传感器里已经集成了放大电路,而用万用表测量可证实传感器输入电路中输出是一稳定的0-5V的电压信号,符合单片机的输入条件,因此此信号可以直接接人单片机进行A/D转换而不需要放大、滤波等。
其次对于声光报警电路的调试分为蜂鸣器和LED的调试。经试验可知蜂鸣器在高电平时正常工作,LED为共阳极。 2、仿真调试
10
软件调试为利用ICCAVR,CVAVR,AVR Studio软件进行模块化调试。调试过程中观察各个变量的变化,查找所写程序的错误,并改正。
ADC 转换结果
转换结束后(ADIF 为高),转换结果被存入ADC 结果寄存器(ADCL, ADCH)。 单次转换的结果如下:
1024是2的10次方,因为转换结果是10位的
仿真电路图:
报警时:
11
不报警时:
3、综合调试
利用AVR Studio软件和硬件电路板进行软硬件联合仿真,首先将软件程序下载到AVR Studio中,然后运行一下,确认无误后,再把程序写入硬件之中。对调试过程中出现的错误要仔细分析,然后不断修正,直至达到理想效果为止。在软硬件联调时,根据在程序中设定的阈值,用酒精渐渐接近传感器来模仿酒精浓度的增大,显示结果良好,报警结果十分精确,在到达阈值时能够准确发出报警声。 4、测试过程问题分析:
1、 PCB板多处电路不通,只能在开发板上调试 2、 MQ-3传感器的输入和输出非线性,因此计算它的浓度和输出电压的值的关系非常困难,
我们只能测出数据,然后折合为几条曲线,通过编程控制输出,由于硬件参数存在的误差,开始我们的输出数据不理想,通过多次调试,逐渐把它的输入和输出值接近真实值。 3、 该开发只能在100-1000这个值内进行工作,由于受加热温度的影响,加热时间对输出有
比较大影响,所以超出这个范围,我们都强制它等于0,这个范围已经可以够我们进行酒后驾车的测试了,避免了超出输出范围,很难进行数据的处理这个方面的设计。 4、 酒精传感器的电阻值随时间,温度和酒精浓度变化较大,这是我们不能进行定量计算的
难点。
5、 用酒靠近传感器进行测量,有相应的数据输出,但撤去酒精的时候,数值只能缓慢地下
降至低值,可能是因为酒精残留的缘故。所以酒精传感器不能进行快速的多次测量。这
12
相关推荐: