作者 / 陈艳丽 姜德志 青岛融禾信息技术有限公司 (山东 青岛 266000),李燕霞 北华航天工业学院(河北 廊坊 065000)
采用上海东软载波微电子有限公司出品的HR7P179单片机,配合外围电路实现了脉冲方式的水位检测,可以轻松又有效的避免探针生锈的问题,且检验测试可靠性高,电路参数调整方便。文中给出了非常详细的应用电路包括电路参数,同时给出了检测的新方法的流程图。
内部资源丰富,1个8位定时器,3个12位定时器,3路PWM,7+1路12位ADC,且有一个内部高精度基准电源。
内嵌上电复位电路POR、掉电复位电路BOR、低电压检测模块(LVD)、独立硬件看门狗定时器以及支持外部复位N_MRST。
内部集成了高频16MHz RC振荡时钟源(出厂前校准精度为±1%,常温25℃)。
支持在线编程(ISP)接口、支持在线调试(ICD)功能、支持编程代码加密保护。
可以说麻雀虽小五脏俱全,功能很强大,这也是我们这个检测电路选择这个芯片的原因。
水位检测的方法很多,相信我们大家都能随便说出多种,但是在许多消费电子科技类产品中,需要采用成本低廉,可靠性高,寿命长的检测的新方法,这个要求就限制了我们的设计。
最简单的检测应用中,采用一对电极,当水没过电极后,电极间电阻变小,通过电路检测电阻的变化即可检测出是否有水,例如采用振荡方式,采用分压方式的模拟数字转换检测等。
但这种方法存在最大的问题是探针生锈的问题,且需要多档水位检测时,有的方法电路会变得复杂。有的方法检验测试可靠性会大大降低。
另外,探针生锈的问题严重制约了这种方法的应用,因为消费电子应用中,不可能因为水位检测的问题挨家去定期更换探针。
是否有一种简单有效且可以有很大成效避免生锈的方法呢?本文的目的是解决这一个问题,同时本文的方法检验测试电路简单,处理方法也简单。
图1是我们设计的总的电路原理图,当然我们省略了一些简单的辅助电路,这样更方便理解。
图1中右边的IC1是东软载波微电子有限公司的HR7P179单片机。选择这款单片机是因为这个单片机资源丰富、封装小,能够完全满足4~6段水位检测的要求,这在许多实际应用中已经足够了。
图2是信号产生和发送电路,这个电路中主要的部分是电阻R6和电容C1。N2组成的电路和N3组成的电路的目的是在电阻R6和电容C1上产生振荡的信号。
通过单片机编程,给RR端送出低电平,此时N2截至,通过R5 R6使得C1左端为高电位。
同时通过单片机编程,给CC端送出高电平,此时N3导通,使得C1右端为低电位。
经过固定时间后,给RR端和CC端送出相反的电平,即给RR端送出高电平,此时N2导通,通过R6使得C1左端为低电位;给CC端送出低电平,此时N3截止,通过R8使得C1右端为高电位。
由于电容C1的隔直作用,在探针上的信号变成了有正有负的交流信号,当然探针也就不容易生锈了。
图4是各档水位检测信号的接收电路。需要说明的是,我们只是画出了一个水位检测端的电路,如果您需要5档水位,只需要5个这样的电路,分别连到单片机剩余的IO口上即可。
信号发送电路,发出方波信号,经过电容C1的隔直作用,在信号发送的电极上产生了有正有负的交流信号,这样做才能够有效的避免电极探针的电化学腐蚀。
当有水的时候,产生的信号,通过水传递到信号接收端,在信号接收端,经过二极管D1的作用,吸收了低于信号地的信号部分,剩下的正电平信号通过二极管N1产生了新的脉冲信号,供单片机检测。
当没有水的时候,信号无法传递到接收端,故接收端就没有相应的脉冲信号出现。
信号发送端,可以产生500Hz的信号,只要求我们每1毫秒处理一次信号电平方向即可。实际检验测试中,我们也无需时时刻刻发送信号进行仔细的检测,因为水位的变化不会那么快。一般来说,我们每隔2秒进行一次检测,一次检测只产生50个脉冲信号,也就是100ms即可。其余的时间,关闭电路的输出。使得信号产生电极上电平为0。能够准确的通过需要调整这些参数。
信号接收端,需要在100毫秒内检测是否收到了50个信号,如果收到了50个脉冲信号,则证明有水。当然,实际检验测试中咱们不可以严格的检测50个脉冲,因为检测的原因,总是会差一两个,所以我们实际判断方法是收到的脉冲个数大于40个即可。当然,也要注意信号是否多于50个,因为干扰的原因可能会产生多于50个脉冲的情况,因此我们要判断脉冲个数是否超过55个,只要脉冲个数在40~55个之间,即可以可靠的说明有水。
信号产生函数,每1毫秒调用一次,会产生500Hz的方波,最终形成500Hz的检测信号。
本文介绍的水位检测电路,是针对分段式水位的检测,这种检测的新方法的检测结果受水质的影响较小,检验测试可靠性高。如果要检测连续的水位,则需要采用其它的方法了。本文为抛砖引玉,与各位共同交流提高。