基于单片机的电容式液位传感器设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
二极管
1
电解电容
0.015uF
1
MCS-51系列的8051
1
附录一:系统总图
附录二:程序清单 ----------------------MC144999显示程序--------------------------
MC14499XS: MOV P2.4,#0 MOV P2.3,#1 MOV 30H,#8 MOV A,30H
ADC0809与单片机的接口电路
图3-4 ADC0809与单片机的接口电 路 3.5 控制电路的设计
控制电路在这里起到非常重要的作用,在水位测量中测量到水罐中
水位的高度,当水位高于2.5m水位时,电动机停转,水泵停止对水罐供 水;当水位低于2.5m水位时,电动机起转,水泵开始对水罐供水。其电 路图如图3-5所示。
3.7 软件系统的设计 软件主要由主程序、定时中断程序、外中断程序组成。其中主
程序完成参数的初始化,中断的管理,结果的显示等工作。主程序流 程图如下:程序运行开要初始化各种参数,可以默认液位设定值 等,之后如果要进入液位设定的话就按SET按键进入液位设定模 式,然后进行比较,看当前的液位有没有超过默认的极限值,如果 超过了极限值,通过按键UP或DOWN进行液位调节,直至液位到达 正常范围;没有超过极限值就正常显示。
表2 修正后液位实际高度与测量结果比较(测试水温20℃)
实 际0 值 测 量0 值
1 5 10 15 20 25 30 35 45 45 1 5.2 10.4 14.8 19.5 24.7 30.1 35.0 39.6 44.6
实 际 50 55 60 65 70 75 80 85 90 95 100 值
图3-1-2 为传感器部分的结构原理图。它主要是由细长的不锈钢管 (半径为R1 ) 、同轴绝缘导线(半径为R0 ) 以及其被测液体共同构成的金 属圆柱形电容器构成。该传感器主要利用其两电极的覆盖面积随被测液 体液位的变化而变化, 从而引起对应电容量变化的关系进行液位测量。
图3-1-2传感器原理图 3.1.3 测量原理
筒式液位传感 器
电解电容
160nF
电解电容
174nF
NE5532
电阻
500K
电阻 电阻 电阻 电阻 电阻
3K 5.5K 1K 500
Leabharlann Baidu47
个数
1 1 1 3 1
1 1 2 1 8
电阻
5.1K
3
74LS02
2
74LS04
1
数码管
4
ADC0809
1
74LS373
1
NPN
4
PNP
1
MC14499
1
74LS74
(2) 式中, ε为容器内气体的等效介电常数, 单位为F/ m。因此, 当传感器内 液位由零增加到H 时, 其电容的变化量ΔC 可由式(1) 和式(2) 得
(3) 由式可知, 参数ε0 , ε, R1 , R0 都是定值。所以电容的变化量ΔC 与液 位变化量H 呈近似线性关系。因为参数ε0 , ε, R1 , R0 , L 都是定值, 由 式(2) 变形可得:CH = a0 + b0 H ( a0 和b0 为常数) (4)。可见, 传感器的电 容量值CH 的大小与电容器浸入液体的深度H 成线性关系。由此, 只要测 出电容值便能计算出水位。 3.2将电容转化成电信号部分
=279.0KHz, 100cm高液位时=3.312KHz,频率最大时小于单片机的最高频
率测量范围,频率最小时也不至于降低测频精度。经过测试,实际高度
与测试结果如表1。
表1 液位实际高度与测试结果比较 (测试水温20℃)
实 际 0 1 5 10 15 20 25 30 35 42 45 值 测 量 0 0.6 3.2 6.5 10.7 15.6 21.9 27.5 33.5 41.9 46.1 值
3.6 显示电路设计
图3-5 控制电路电路图
发现需要4位的LED足可满足本设计的显示精度要求,为了减少所需 的I/O数量,降低成本,采用动态显示控制方式。通过对显示接口电路的 综合分析,发现测距仪利用串行输入BCD码—十进制译码驱动显示器件 MC14499来完成与单片机系统的显示接口较为简单可靠。用MC14499设计 的LED显示器动态显示接口电路如图3-6所示。
第2章方案论证 2.1设计原理
本设计采用筒式电容传感器采集液位的高度。主要利用其两电极的 覆盖面积随被测液体液位的变化而变化,从而引起对应电容量变化的关 系进行液位测量。由于从传感器得出的电压一般在0~30mv之间,太小 不易测量,所以要通过放大电路进行放大。从放大电路出来的是模拟 量,因此送入ADC0809转换成数字量,ADC0809连接于单片机,把信 号送入单片机。通过单片机控制水泵的运转。显示电路连接于单片机用 于显示水位的高度。该显示接口用一片MC14499和单片机连接以驱动数 码管。 2.2.系统框图
由图1 可知, 当可测量液位H = 0 时, 不锈钢管与同轴绝缘导线构成 的金属圆柱形电容器之间存在电容C0 , 根据文献得到电容量为:
(1)式中, C0 为电容量, 单位为F ; ε0 为容器内气体的等效介电 常数,单位为F/ m; L 为液位最大高度; R1 为不锈钢管半径;R0 为绝缘导线 半径, 单位为m。当可测量液位)为H 时, 不锈钢管与同轴绝缘电线之间 存在电容CH :
被测物理量:主要是指非电的物理量,在这里为水位。 传感器:将输入的物理量转换成相应的电信号输出,实现非电量 到电量的变换。传感器的精度直接影响到整个系统的性能,所以是系 统中一个重要的部件。 放大,整形,滤波:传感器的输出信号一般不适合直接去转换数
字量,通常要进行放大,滤波等环节的预处理来完成。 A/D转换器:实现将模拟量转换成数字量,常用的是并行比较型、
上. ADC0809转换是采用逐次比较的方法完成A/D转换的,由单一的+5V
供电,片内带有锁存功能的8路选一的模拟开关,由A,B,C引脚的编码 来确定所选通道。0809完成一次转换需要100us左右,输出具有TTL三态 锁存缓冲器,可直接连到MCS-51的数据总线上,通过适当的外接电路, 0809可对0-5V的模拟信号进行转换。
路将液位高度变化转换成相应的电压脉冲宽度变化, 再由单片机进行测
量并转换成相应的液位高度进行显示,该系统对液位深度具有测量、显
示与设定功能, 并具有结构简单、成本低廉、性能稳定等优点。 3.1.2传感器的组成
YK-YYC系列电容式液位传感器的传感部分是一个同轴的容器,当液体进入容器后引起传感器壳 体和感应电极之间电容量的变化,这个变化量通过电路的转换并进行精确的线性和温度补偿, 输出 4-20mA 标准信号供给显示仪表。 YK-YYC液位油位变送器 (传感器 )性能指标 ● 检测范围: 0.05 -5m ● 精度 : 0.1 、 0.2 、 0.5 级 ● 承压范围 : -0.1MPa-32MPa ● 探极耐温 : -50 -250 ℃ ● 输出信号 : 4-20mA 、 4-20mA 叠加 HART 通讯、 485 通讯、 CAN 总线通讯 ● 供电电压 : 12-28VDC (本安型需经安全栅供电) ● 固定方式 : 螺纹安装 M20 × 1.5 、 M27 × 2 , M18 × 1.5 、 M16 × 1 法兰安装 DN25 、 DN40 、 DN50 。特殊规格可按要求定制 ● 探极直径 : Φ 12 、Φ 16 、Φ 25 ● 防爆等级 : 本安 Exia Ⅱ C T6 隔爆 Exd Ⅱ C T5 ● 防护等级 : IP65 ● 本安参数 : Ui : 28VDC , Ii : 93mA , Pi : 0.65W , Ci : 0.042uf , Li : 0mH
报警 >80%
初始化 取液位值 显示液位值
开始
是 否
取液位值 <20%
打开供水阀 是
液位在20%~80%?
液位在20%~80%?
显示液位值
液位在20%~80%? 液位值? 关闭供水阀
>90% 取液位值
显示液位值 <10%
报警
>30% <30%
报警
是 5分钟后?
数据测试与误差修正
在实际设计中, 取L为100cm,对水位进行实测,当无液时的频率
AA: ANL A,#01H MOV P2.2,A MOV 30H,A RR A DJNZ 20H,AA MOV P2.4,#1 MOV P2.3,#0 ACALL DELAY1 MOV P2.4,#0 MOV P2.3,#1 MOV 30H,#8 MOV A,30H
BB: ANL A,#01H MOV P2.2,A MOV 30H,A RR A DJNZ 20H,BB MOV P2.4,#1 MOV P2.3,#0 ACALL DELAY1 MOV P2.4,#0 MOV P2.3,#1 MOV 30H,#8
逐次逼近式、积分式等。在此用到逐次逼近式。 单片机:目前的数据采集系统功能和性能日趋完善,因此主控部
分一般都采用单片机。 显示设备:在此用到8段数码管。 控制设备:控制电动机的运行或关闭。
3.1传感器设计
第三章单元电路设计
3.1.1传感器原理 电容式液位传感器系统; 它利用被测体的导电率, 通过传感器测量电
图3-3 比例放大电路 要将30mV电压放大成5V,根据公式U=-(R1/R2)Uo,所以选择 R1=500K,R2=3K,R4=R1//R2,,后边的是一个反相器,把第一个运放得 到的电压反相成正的,其中R3=R5=1K,R6=R3//R5。
3.4 A/D转换器设计 本设计采用A/D转换器ADC0809。 ADC0809是CMOS单片型逐次逼近式A/D转换器,由于输出级有8位三
测 量 50.1 54.8 59.8 64.5 70.3 75.4 80.4 85.2 89.3 95.0 99.8 值
由表2可知,经过修正后,误差小于0.5cm,分辨率为0.1cm。抽样 检测不同水温的不同高度,误差都在1.0cm以内,符合设计要求。
液位高度与电压变化曲线:
第4章 元器件清单
元器件 参数
实 际 50 55 60 65 70 75 值
80 85 90 95 100
测 量 52.7 59.0 65.8 73.3 78.3 83.8 88.9 94.0 98.1 101.3 104.7 值
由上表中可知,测量结果是一条波动曲线, 在0cm、20cm处误差较 小,为两线的交点,低误差为负,高端误差为正,90cm以后误差逐渐减 小,预计在110cm处达到交点。经分段修正后,测量结果如表2。
图3-6 MC14499设计的LED显示器动态显示接口电路 用MCS - 51系列单片机作为控制核心的水位测量计,其数据输出既 可以通过单片机的通用I/O口输出,也可以通过单片机的串口用串行方式 输出。这里假设使用的单片机是8051 ,单片机的P1口为数据输出口, 显 示器采用共阴极8段LED, 显示位数为4位,由于一片MC14499 可以驱动4 个LED 显示器,因此该显示接口只需用一片MC14499和单片机连接。图是 该动态显示接口的原理图。P1.0用来向MC14499 发送数据,P1.1用来向 MC14499发送时钟脉冲,P1.2用于控制单片机输出数据向MC14499串行输 入(当P1.2 = 0时,允许MC14499输入数据)。反相器74LS06作为显示器的 位驱动, 8 个47Ω的电阻是LED 的限流电阻, 3个5.1kΩ的电阻是上拉 电阻,使单片机8031输出电平与MC14499输入电平相兼容。由于MC14499 具有输入自动锁存功能,而串行输入一帧数据又需要一定的时间,所以 LED显示的数据不会出现闪烁现象。
态输出锁存器,因而0809的数据输出端可以直接与单片机的数据总线连 接。
ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存 入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信 号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示 A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线
采用运算法测量电路来转化。该电路由传感器Cx和固定的标准电 容Co以及运算放大器A组成,如图3-2所示。
图3-2 运算放大器测量电路原理图 3.3 电信号放大电路设计
由于从传感器得出的电压一般在0~30mv之间,太小不易测量,所以 要通过放大电路进行放大,如图3-3所示,采用最基本的比例运算反放 大电路.