基于80C51的水流量控制装置设计
0 引言
随着时代发展科技进步,流量相关的传感器技术也越来越成熟,种类繁多。按照流量传感器的结构型式可分为叶片(翼板)式、量芯式、热线式、热膜式、卡门涡旋式等几种。
用以测量管路中流体流量(单位时间内通过的流体体积)的仪表。有转子流量计、节流式流量计、细缝流量计、容积流量计、电磁流量计、超声波流量计等。至今为止,可供工业用的流量仪表种类达60种之多。品种如此之多的原因就在于至今还没找到一种对任何流体、任何量程、任何流动状态以及任何使用条件都适用的流量仪表。这60多种流量仪表,每种产品都有它特定的适用性,也都有它的局限性。
尽管流量计种类繁多,但目前市面上却很少看到一种流量控制的装置,即:可设定流量并能自动控制(类似加油站的加油器)。也没有一个能将流量计和阀门(电磁阀)组装的简单方案,即便实现类似的方案也会造成很大的成本问题。本文将设计一种低成本的水流量控制装置。
1.装置结构
该装置的原理上还是简单清晰的:水流量的检测,到达一定数值后,控制(关闭)阀门。设计时更多的要考虑的实现的可行性、精度以及低成本。
首先考虑流量检测传感器。测量方法很多,有差压式、容积式、速度式等等。
其中速度式又可分为涡轮式和涡街式。
从成本和实现上考虑,采用涡轮式,结构上就是叶片式。根据叶片式检测原理可知,叶片的转速大体和流速成正比,因此就能检测出具体的流量。叶片的转速检测通过霍尔传感器来实现,叶片的转轴上需要镶嵌一个磁铁。
其次,控制阀门如果简单地选用一般的电磁阀将带来成本上的问题,尤其是低压控制的电磁阀。因此需要重新设计一种阀门。本文所设计的阀门由一个直流小电机(9V即可驱动)去控制,正转为打开阀门(通过压缩相应的弹簧并最终卡住),反转则关闭阀门(释放卡闩,弹簧释放)。成本则大大降低。事实证明,只要密封圈足够好,密封效果就很好。
2.硬件和软件设计
2.1 硬件设计
从前面的原理中可以了解到,此系统主要有三部分功能:流量检测、显示以及阀门控制。因此选用常见的80C51单片机作为MCU就可以满足功能实现和低成本的要求。
流量检测硬件上体现在检测涡轮叶片的转速。这里采用霍尔传感器来检测。所选用的霍尔器件供电电压和MCU的电压一致均为5V,并且内置有施密特触发器,使得检测干扰较少,因此直接将其输出连接至MCU的外部中断口INT0.
显示部分主要有两个功能:显示设定数值和显示当前流量。本设计只要求显示三位数值,因此只需6位七段数码管采用动态扫描的方式就可以上述要求。接口上P0.0~P0.6作为各段显示,P2.0~P2.5作为位选。
采用三个按键作为人机输入接口,其中一个按键作为功能选择,如,进入流量设定模式、设定后确认、强制关阀门等。
为方便软件上的实现,将其直接连接在外部中端口INT1.另外两个按键用于数值的加减设定,连接至普通的I/O口即可。
阀门控制就是对一个直流小电机驱动进行控制,选用的直流电机供电电压大于5V,因此不能直接由MCU的电压来直接驱动,需用总电源9V来驱动。电机的控制端采用5V的继电器。也使有效驱动继电器,IO输出端通过上拉电阻以及NPN型的三极管进行驱动。
电源使用9 V的电池供电,5 V则通过7 8 0 5转换得到。整体硬件设计如图1所示。
?
?
2.2 软件设计
软件的流程如图2所示。开机后首先进入流量设定过程,此时设定值闪烁显示,加、减键进行数值改变,设定完毕按“功能”键确认,设定值正常显示。接下来可以再次按“功能”键打开阀门,开始流量测量。若想在阀门打开之前重新设定数值,可以长按“功能”键重新进入流量设定过程。
流量通过过程中显示屏上实时显示当前流量值,当所通过的流量和设定值一致时,阀门自动关闭。当然在流量未到设定值时,也可以通过按下“功能”键手动关闭阀门。
?
3.传感器标定
由于水的流速和叶片的转速理论上是成正比的,即v∝n,v为流速(m3/s),n为转速(rpm)。
将上述式子左边乘上时间t和截面积S可以得到对应时间内的流量V(体积),式子右边乘上时间t可以得到相应时间内叶片转的圈数N.由于截面积S是常数,因此可以得到流量V和叶片转的圈数N大致成线性,即V∝N.
因此,我们在标定传感器时可以直接去确定流经涡轮叶片的流量V(体积)和叶片圈数N之间的关系即可。
由于本装置主要应用于自来水的控制,选用常用的通径为25mm的管子作为标定实验使用,自来水水压通常约0.2-0.6MPa,分别间隔0.1MPa对其进行逐一标定。表1为不同水压下的数据。
?
?
由图3可以看出在0.2-0.6MPa的水压下,水流量和叶片转数具有较好的线性。
误差基本上
- 80C51单片机通过模拟SPI口驱动UZZ9001读写操作(11-30)
- 实验六 定时器、计数器(80C51单片机汇编语言编程(11-23)
- 实验七 串行通信(80C51单片机汇编语言编程)(11-23)
- 实验八 交通灯控制(80C51单片机汇编语言编程)(11-23)
- 实验九 定时、记数、显示(80C51单片机汇编语言编程)(11-23)
- 实验二:排序、加法(80C51单片机汇编语言编程)(11-23)