新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Eastsoft HR7P179的脉冲水位检测电路

基于Eastsoft HR7P179的脉冲水位检测电路

作者:时间:2018-02-06来源:电子产品世界收藏

作者 / 陈艳丽 姜德志 青岛融禾信息技术有限公司 (山东 青岛 266000),李燕霞 北华航天工业学院(河北 廊坊 065000)

本文引用地址:http://www.eepw.com.cn/article/201802/375430.htm

      采用上海东软载波微电子有限公司出品的单片机,配合外围电路实现了脉冲方式的水位检测,可以有效的避免探针生锈的问题,且检测可靠性高,电路参数调整方便。文中给出了非常详细的应用电路包括电路参数,同时给出了检测方法的流程图。

  1的特点

  是上海东软载波微电子有限公司的一款RISC单片机,在一个10引脚(HR7P179F8RB)芯片的封装内,集成了4K Words FLASH程序存储器,8级程序堆栈,512 Words 可配置数据FLASH存储器(可以代替EEPROM使用),256 Bytes SRAM数据存储器,以及最多支持8个I/O。

  内部资源丰富,1个8位定时器,3个12位定时器,3路PWM,7+1路12位ADC,且有一个内部高精度基准电源。

  内嵌上电复位电路POR、掉电复位电路BOR、低电压检测模块(LVD)、独立硬件看门狗定时器以及支持外部复位N_MRST。

  内部集成了高频16MHz RC振荡时钟源(出厂前校准精度为±1%,常温25℃)。

  支持在线编程(ISP)接口、支持在线调试(ICD)功能、支持编程代码加密保护。

  可以说麻雀虽小五脏俱全,功能非常强大,这也是我们这个检测电路选择这个芯片的原因。

  2水位检测的要求

  水位检测的方法很多,相信大家都能随便说出多种,但是在许多消费电子产品中,需要采用成本低廉,可靠性高,寿命长的检测方法,这个要求就限制了我们的设计。

  最简单的检测应用中,采用一对电极,当水没过电极后,电极间电阻变小,通过电路检测电阻的变化即可检测出是否有水,例如采用振荡方式,采用分压方式的模拟数字转换检测等。

  但这种方法存在最大的问题就是探针生锈的问题,且需要多档水位检测时,有的方法电路会变得复杂。有的方法检测可靠性会大大降低。

  探针生锈的原因是因为持续给探针通直流电,很快就产生了电化学腐蚀。

  另外,探针生锈的问题严重制约了这种方法的应用,因为消费电子应用中,不可能因为水位检测的问题挨家去定期更换探针。

  是否有一种简单有效且可以有效避免生锈的方法呢?本文的目的就是解决这个问题,同时本文的方法检测电路简单,处理方法也简单。

  3脉冲方式的水位检测电路

  3.1电路总体原理图

  图1是我们设计的总的电路原理图,当然我们省略了一些简单的辅助电路,这样更方便理解。

  图1中右边的IC1是东软载波微电子有限公司的HR7P179单片机。选择这款单片机是因为这个单片机资源丰富、封装小,可以满足4~6段水位检测的要求,这在许多实际应用中已经足够了。

  图1 总体原理图

  3.2电路说明

  下面我们分别对这个电路的每一部分进行说明,当然,单片机无需多说。

  图2 信号产生和发送部分电路

  图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右端为高电位。

  如此反复处理,则在R12上就产生了一个正负交替的振荡信号。

  图3是各点信号的模式的示意图。

  图3 信号发送电路各点信号模式

  由于电容C1的隔直作用,在探针上的信号变成了有正有负的交流信号,当然探针也就不容易生锈了。

  图4 水位检测信号接收电路

  图4是各档水位检测信号的接收电路。需要说明的是,我们只是画出了一个水位检测端的电路,如果您需要5档水位,只需要5个这样的电路,分别连到单片机剩余的IO口上即可。

  当有水的时候,接收电路各点波形如图5所示。

  图5 信号接收电路各点波形

  3.3检测原理

  1)硬件原理说明

  根据前面电路的介绍,可以很容易的理解检测电路的原理。

  信号发送电路,发出方波信号,经过电容C1的隔直作用,在信号发送的电极上产生了有正有负的交流信号,这样可以有效的避免电极探针的电化学腐蚀。

  当有水的时候,产生的信号,通过水传递到信号接收端,在信号接收端,经过二极管D1的作用,吸收了低于信号地的信号部分,剩下的正电平信号通过二极管N1产生了新的脉冲信号,供单片机检测。

  当没有水的时候,信号无法传递到接收端,故接收端就没有相应的脉冲信号出现。

  2)检测软件方法

  信号发送端,可以产生500Hz的信号,只需要我们每1毫秒处理一次信号电平方向即可。实际检测中,我们也无需时时刻刻发送信号进行检测,因为水位的变化不会那么快。一般来说,我们每隔2秒进行一次检测,一次检测只产生50个脉冲信号,也就是100ms即可。其余的时间,关闭电路的输出。使得信号产生电极上电平为0。可以根据需要调整这些参数。

  信号接收端,需要在100毫秒内检测是否收到了50个信号,如果收到了50个脉冲信号,则证明有水。当然,实际检测中我们不能严格的检测50个脉冲,因为检测的原因,总是会差一两个,所以我们实际判断方法是收到的脉冲个数大于40个即可。当然,也要注意信号是否多于50个,因为干扰的原因可能会产生多于50个脉冲的情况,因此我们要判断脉冲个数是否超过55个,只要脉冲个数在40~55个之间,即可以可靠的说明有水。

  4检测流程图

  水位检测包括两个主要的函数,一个是信号产生函数,一个是信号检测函数。

  信号产生函数,每1毫秒调用一次,会产生500Hz的方波,最终形成500Hz的检测信号。

  信号检测函数每100微秒调用一次,检测收到的信号。

  图6 信号发送处理函数流程图

  图7 信号接收处理流程图

  图8 信号接收处理流程图

  5结论

  本文介绍的水位检测电路,是针对分段式水位的检测,这种检测方法的检测结果受水质的影响较小,检测可靠性高。如果要检测连续的水位,则需要采用其它的方法了。本文为抛砖引玉,与各位共同交流提高。



关键词: Eastsoft HR7P179

评论


技术专区

关闭