基于51单片机的电容式液位传感器
基于51单片机的液位检测装置设计

1 51单片机的功能和结构51单片机具有的功能主要体现在以下几个方面:第一,具有8位数据总线和16位地址总线的CPU,因此51单片机的布尔处理能力和位处理能力比较强。
第二,具有相同地址的64KB 程序存储器和64KB 数据存储器,并采用了哈佛结构,每个程序存储器和数据存储器的地址空间可实现相互独立,为程序设计提供了便利的条件。
第三,拥有两个16位定时/计数器,可实现按位寻址的I/O 线。
51单片机中涉及到三条总线包括:地址总线(AB)、数据总线(DB)、控制总线(CB)。
AB 总线的主要功能为传送单片机送出的各种地址信号,从而实现访问外部存储器单元和I/O 端口。
是一条单向总线,地址信号通常只由单片机向外发出。
AB 总线数目决定了可以访问存储单元的数目。
比如:N 位地址,可形成2N个连续的地址编码,可访问2N存储单元,也就是说起寻址范围为2N个地址单元。
挂在AB 总线上的器件,通常情况下,只有地址被选中以后的单元才能和CPU 进行数据交换,其余的部分则不能操作,否则会引起冲突。
DB 总线的主要功能为实现单片机和存储器或者单片机和I/O 端口之间的数据传输。
在具体应用过程中,单片机系统数据总线的位数和单片机处理数据的字长是相同的,比如:如果MCS-51单片机为8位字长,在DB 总线的位数也是8位。
DB 总线可实现双向数据传输。
CB 总线从结构上而言,是一组控制信号线,其传输方向是单向的,但不同方向的开展信号线组合的控制总线则为双向的。
2 基于51单片机的液位检测系统的优势基于51单片机的液位检测系统,主要有由差压式液位传感器数据采集部分、A/D 转换部分、数据处理部分、数据显示部分等共同组成。
在具体应用过程中,数据采集部分将采集的液位数据以电信号的传输到A/D 转换器中,转换为具有离散性质的数字量,再通过专业的数值处理程序和数字滤波程序的处理,储存到存储器中,最后通过七段LED 显示器进行直观显示,一旦液位超出了限定范围,则系统会立即发出报警,提醒操作人员及时处理【1】。
基于单片机的电容式液位传感器参数测量

基于单片机的电容式液位传感器参数测量吕淑平; 于岩【期刊名称】《《实验技术与管理》》【年(卷),期】2019(036)010【总页数】4页(P46-48,53)【关键词】电容式传感器; 液位测量; 单片机【作者】吕淑平; 于岩【作者单位】哈尔滨工程大学自动化学院黑龙江哈尔滨 150001【正文语种】中文【中图分类】TP212传感器与检测技术是一门实践性、应用性很强的专业课[1],在工业自动化控制领域得到广泛的应用[2-3]。
液位检测技术是一种利用液位敏感元件,当被测液体液位发生变化时,能够把物理量变化通过相应的易于检测的电信号变化检测出来,实现液位到检测信号的转换[4]。
目前液位测量方法有20多种[5],其中电容式液位测量方法以其成本低、结构简单、测量精度高的特点,成为最常用的方法之一[6]。
电容式液位传感器两电极的覆盖面积随被测液体液位的变化而变化,从而引起其电容变化,依此关系进行液位测量[7],即将液位变化转换成电容变化,利用其电容值变化与液位高度呈线性关系进行液位测量。
该方法具有很高的测量精度。
电容式液位传感器主要是由细长的不锈钢管(半径为)、同轴绝缘导线(半径为),以及被测液体构成的金属圆柱形电容器[8]组成,见图1。
当液位H=0时,不锈钢管与同轴绝缘导线构成的金属圆柱形电容器的电容量为[9] 式中,为容器内液体的等效介电常数,为液位最大高度。
当液位为H时,不锈钢管与同轴绝缘电线之间的电容为式中,为容器内液体的等效介电常数。
由式(1)和式(2)可知,当液位由零增加到时,其电容变化量为参数都为定值,故传感器电容量的值与浸入液体的深度成线性关系,只要测出电容值便能计算出水位高度[10]。
基于单片机的电容式传感器进行液位测量整体设计方案如图2所示。
系统的主控部分采用STC12C5A60S2单片机,电容式传感器将液位信号转换成相应的电容量,经555定时器组成的多谐振荡器将电容变化转变为信号频率变化,利用单片机定时器/计数器计量脉冲信号频率,计算出液位高度。
基于51单片机的液体点滴速度监控装置

键盘控制 数码显示
设定滴速
显示滴速
红外水位 判断系统
80C51
扬声器 声光报警
速度反馈
电机驱动
红外测速系统
步进电机 改变高度
图 4 电机控制液态点滴原理框图 3.1 系统的硬件设计 3.1.1 步进电机部分 随着生产过程机械化、电气化和自动化的不断发展,出现 了各种类型的特种电动机。这些电动机的工作原理,一般与普 通的异步电动机和直流电动机的基本原理近似,但是它们在性 能、结构、生产工艺上各有其特殊性,多用于自动控制过程中。 步进电机就是其中的一种。 步进电机是工业过程控制及仪表中的主要控制元件之一。 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点 讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按 设定的方向转动一个固定的角度(即步进角)。您可以通过控制 脉冲个数来控制角位移量,从而达到准确定位的目的;同时您 可以通过控制脉冲频率来控制电机转动的速度和加速度,从而 达到调速的目的。 3.1.2 红外测速 红外传感器是作为光电传感器的一种,我们先来介绍一下 反射式红外传感器,它是一种可以利用其对物体表面黑度的敏 感特性,应用于测量微小的位移。从光源红外发射管发射出的 一定强度的光束到达测量面后,根据物体表面的不同黑度和表 面光洁度,部分光散射和反射到红外敏感接收管转变成为和接 收管接收到的光强成正比的电信号。 若在具有同样表面光洁度的一块测量面上涂上黑白涂料, 有意造成反射光强的不同。当红外光束的光斑从黑色移动到白 色区域时,接收管输出的电信号将产生一个阶跃,阶跃的过程 主要取决于光斑的大小、测量面的移动及电信号响应的速度 等。虽然水滴的速度不快,红外线足以响应,但是水是透明的不 好反射,它的反射信号几乎没有,所以利用反射式红外传感很 难测到信号。 下面介绍一下对射式红外传感器,其原理和反射式红外传 感器差不多,只不过我们经过实验发现对射式红外传感器对水 滴的测量信号会更好一些。
基于51单片机的多传感器智能液体容器

基于51单片机的多传感器智能液体容器作者:宋团来源:《价值工程》2020年第22期摘要:该智能液体容器以STC89C52单片机为控制核心,利用压力传感器、超声波模块和谐振电路采集数据。
由HX711A/D转换器对检测的压力信号进行转换,再经过单片机对数据进行处理运算和分析,得到被测溶液的密度参数。
设计555定时器电路测量液体的电导率,详细区分液体性质,进一步确定液体的种类。
经过多次仿真试验和实践,本系统可利用多传感器实现对液体性质的判断,成本低,可一键实现液体的识别判断并显示。
Abstract: The intelligent liquid container uses STC89C52 single-chip microcomputer as the control core, and uses pressure sensors, ultrasonic modules and resonant circuits to collect data. The detected pressure signal is converted by the HX711A/D converter, and then the data is processed, calculated and analyzed by the single-chip microcomputer to obtain the density parameter of the measured solution. It designs the 555 timer circuit to measure the conductivity of the liquid, distinguishes the liquid properties in detail, and further determines the type of liquid. After many simulation experiments and practice, this system can use multiple sensors to realize the judgment of the liquid properties, the cost is low, and the identification, judgment and display of the liquid can be realized with one click.關键词:单片机;多传感器;智能;液体容器Key words: single chip microcomputer;multi-sensor;intelligence;liquid container中图分类号:TP212; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文献标识码:A; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文章编号:1006-4311(2020)22-0194-030; 引言随着电子技术的迅速发展,智能化的简易测量设备越来越受人关注。
基于单片机的电容式液位传感器设计

上. ADC0809转换是采用逐次比较的方法完成A/D转换的,由单一的+5V
供电,片内带有锁存功能的8路选一的模拟开关,由A,B,C引脚的编码 来确定所选通道。0809完成一次转换需要100us左右,输出具有TTL三态 锁存缓冲器,可直接连到MCS-51的数据总线上,通过适当的外接电路, 0809可对0-5V的模拟信号进行转换。
=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.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
电容式液位传感器的设计

电容式液位传感器的设计李一峰;吴振陆;樊海红【摘要】设计了一种基于单片机的电容式液位传感器,主要由单片机系统、555定时器、液晶显示屏组成。
单片机作为主要控制的部分,控制系统所有的部分,接收555定时器方波信号并读取出其频率,将频率转换成液位高度,显示到LCD1602液晶显示屏幕上,软件计算液位高度,减小了电容与频率转换的线性误差,最终实现算法的设计。
%Capacitance type liquid level sensor based on single chipwas designed. The system consists of single-chip microcomputer system, 555 timer, LCD screen. Single chip microcomputer, as the main control part, control all part of the system, receive a 555 timer square wave signal and read out the frequencywhich is transformedinto the height of liquid level and is displayed on the LCD1602 liquid crystal screen.The liquid level height is calculated by software, by reducing the linearity error of capacitance and frequency conversion,and finally the algorithm is designed.【期刊名称】《广东海洋大学学报》【年(卷),期】2015(000)001【总页数】5页(P90-94)【关键词】电容式液位传感器;555定时器;多谐振荡电路;频率转换【作者】李一峰;吴振陆;樊海红【作者单位】广东海洋大学信息学院,广东湛江524088;广东海洋大学信息学院,广东湛江 524088;广东海洋大学信息学院,广东湛江 524088【正文语种】中文【中图分类】TP212在石油化工、水利水电、农田灌溉、环境监测以及食品加工等众多行业,液位是一个重要的技术参数。
基于51单片机的液位控制器

(1)判断液位高度(2)用力控软件绘出工程平面图以及用keil编辑程序(3)设置相应的实时控制和报警(4)确定I/O端口功能#include<at89x51.h>#define uint unsigned intvoid delay(uint a);void display1(uint a);void key_control();void pour_liquid();void emit_liquid();// void alarm1();int alarm();void give_out();void control();uint ADC() ;sbit ALE=P2^0;sbit EOC=P2^1;sbit OE=P2^2;sbit clk=P2^3;//sbit p17=p1^7;sbit P14=P1^4;sbit P15=P1^5;sbit P16=P1^6;sbit P24=P2^4;sbit P25=P2^5;sbit P26=P2^6;sbit P27=P2^7;/*模数转换器工作的前提条件是(由于在本题中不需要地址锁存,所以ALE不管,eoc为数模转换完毕由低电平变成了高电平,oe为打开三态门数据接收,start为数模开始转换负跳变为开始工作)clk为数模转换器提供时钟*///显示uint TAB[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09} ;//提供时钟脉冲void timer0_int(void) interrupt 1 //时钟中断定时器/计数器0{clk=~clk; //计数器提供工作时钟}void timer1_int(void) interrupt 3 //报警定时器/计数器1 {uint recieve;recieve=ADC(); //接收转换后的数据TH1=0xB1;TL0=0XDF; //给定时器重新装初值//缓冲区半场鸣......}void main(){uint data1;TMOD=0X12; //使定时器0 工作在方式2 定时器1 工作方式2 TR0=1; //开计数器/定时器0TR1=1; //开计数器/定时器1IE=0X8A; //开中断,能响应计数器溢出中断TH0=240; TH1=0xB1;TL0=0; TL0=0XDF; //中断时间定时器0 :15us 定时器1 :20ms IP=0x02; //优先级的设置:定时器0的优先级高于定时器1的优先级while(1){data1=ADC();//模数转换display1(data1);alarm();control();}}//数模转换uint ADC() //返回数据为液体的高度{uint data1;ALE=0;ALE=1;ALE=0;//给start端开始信号即使数模转换器开始工作delay(100);while(EOC==0);OE=1; //接收转换后的数据data1=P0;OE=0;data1=(uint)50.0*data1/255.0;return data1;}//报警int alarm(){ uint a ;int recieve;a=ADC();if(a>35&&a<=40) //缓冲区{P24=0 ;// P25=1;recieve=1;}else if(a>40) //报警;液体过多;需放掉一部分{P24=0;P25=1;recieve=2;}else if(a<=35&&a>=15) //在合适区{P24=0;P25=0;recieve=3;}else if(a<15) //液体过少,需加液体{P24=1;P25=0;recieve=4;}return recieve;}//选通数码管void display1(uint a){ uint temp1,temp2,temp3,temp4;temp1=a/1000; temp2=a%1000/100;temp3=a%100/10;temp4=a%10;if(temp1){P1=TAB[temp1];delay(100);P1=TAB[temp2]|0x10;delay(100);P1=TAB[temp3]|0x20;delay(100);P1=TAB[temp4]|0x30;delay(100);}else if(temp1==0){P16=1;if(temp2){P1=TAB[temp2]|0x10; delay(100);P1=TAB[temp3]|0x20; delay(100);P1=TAB[temp4]|0x30; delay(100);}else if(temp2==0) {P16=1;if(temp3){P1=TAB[temp3]|0x20; delay(100);P1=TAB[temp4]|0x30; delay(100);}else if(temp3==0) {P16=1;P1=TAB[temp4]|0x30; delay(100);}}}}//延时程序段void delay(uint a) {uint i;for(i=a;i>0;i--);}//开关控制void key_control() {uint a;a=ADC();if(a>=15&&a<35) {P27=0;P3=0X63;P27=1;}else if(a>35&&a<40){P27=0;P3=0X63;P27=1;P25=1;P24=0;}else if(a<15||a>=40){P27=0;P3=(uint)a*5.5;}}//注如液体时void pour_liquid(){P27=0;P3=0X46; //开注入液体开关P27=1; //锁存地址,直到注入液体大于35米时//if(a>35);// P27=0; //如果在35米到40米之间断开注入液体开关那么不进行报警了//return 1;//else return 0;}//需要清洗容器时,将液体清放完全/*void emit_liquid(){alarm();P27=0;P3=0XBC;P27=1;} *///清放液体时,如果液体高度在35米到40米之间关闭清放液体开关那么也不进行报警了/*void give_out(){ uint a;a=ADC();alarm();P27=0;P3=0XBC; //开输出液体开关P27=1; //锁存地址,直到输出液体小雨40米时if(a>35&&a<40);// P27=0; //如果在35米到40米之间断开注入液体开关那么不进行报警了return 3;else return 2;} *///控制液体的流量void control(){ uint a;int recieve1;a=ADC();recieve1=alarm();if(recieve1!=1)P26=1;if(recieve1==1){ if(P26==0)//关闭两开关{ P26=0;P25=0;display1(a);// recieve1=alarm1();P27=0;P3=0X63;P27=1;}else if(P26==1){ display1(a);//alarm();key_control();P25=1;}}if(recieve1==2) //大于40米{key_control();// recieve1=alarm();display1(a);}if(recieve1==3) //合适区{key_control();//recieve1=alarm();display1(a);}if(recieve1==4) //小于15米*/while(a<35){a=ADC();//pour_liquid();display1(a);if(a<15)P24=1;elseP24=0;P27=0;P3=0X46; //开注入液体开关P27=1; //锁存地址,直到注入液体大于35米时//key_control();。
(完整版)基于单片机的液位监测系统的设计(完美版)

目录一、概述 (1)二、系统设计方案的确定 (1)2.1功能需求分析 (1)2.2系统设计方案的选择 (1)三、部分电路的设计 (2)3.1传感器 (2)3.2单片机电路设计 (3)3.2.1 AT89C51功能及引脚分布 (3)3.2.2 振荡方式的选择 (5)3.2.3 复位电路的设计 (5)3.3AD转换电路的设计 (6)3.3.1 ADC0809主要信号引脚的功能 (6)3.3.2 ADC0809和AT851单片机的连接 (7)3.3.3 转换数据的传送 (8)3.4键盘输入电路的设计 (9)3.4.1 按键去抖 (9)3.4.2 键盘扫描方法 (10)3.5数显输出电路的设计 (11)3.6报警及控制电路的设计(略) (12)四、软件设计部分 (12)4.1原理图的绘制 (12)4.2流程图的设计 (12)五、心得体会 (12)参考文献 (13)附录 (13)基于单片机的液位检测系统的设计一、概述随着微电子工业的迅速发展,单片机控制的智能型控制器广泛使用于电子产品中,为了使学生对单片机控制的智能型控制器有较深的了解。
经过综合分析选择了由单片机控制的智能型液位控制器作为研究项目,通过训练充分激发学生分析问题、解决问题和综合使用所学知识的潜能。
另外,液位控制在高层小区水塔水位控制,污水处理设备和有毒,腐蚀性液体液位控制中也被广泛使用。
通过对模型的设计可很好的延伸到具体使用案例中。
本设计基于AT89C51单片机,包括测量电路部分、AD转换部分、键盘输入控制部分、液位实时数显输出部分以及液位控制部分(原理图中不涉及),还可在此基础上添加报警器(不涉及)。
本设计只是概念性设计了电路部分,并不涉及具体的数值设定,未经过实际使用检测。
二、系统设计方案的确定2.1 功能需求分析(1)要求能够实现较高精度的测量(2)以单片机AT89C51为基础,设计外围电路。
(3)电路设计,包括AD转换模块、数显模块、键盘输入模块(4)对测量电路的各种精度指标进行测试(非线性误差、重复性、滞后、灵敏度、抗侧向能力大小、温变对灵敏度的影响等指标)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的电容式液位传感器
摘要:本文设计了一种基于51单片机的电容式液位传感器,主要由单片机系统、555 定时器、LCD1602组成。
单片机作为控制部分,接收 555 定时器方波信号并
读取其频率,将该频率转换成液位高度,显示到 LCD1602 液晶显示屏上。
在计算
液位高度前,采用限幅滤波算法对所测频率进行滤波处理,减小了电容与频率转
换的误差,提高了传感器的精度,并且系统的成本较低。
关键词:液位传感器;555 定时器;频率测量;软件滤波
引言
液位准确检测一直以来是传感检测技术方面的研究热点,同时也是控制领域
的一项关键技术。
通常进行液位测量的方法分为直接法和间接法。
随着工业自动
化规模的不断扩大,因直接液位测量法原始、精度低等逐渐被间接测量方法取代。
本文设计的液位传感器,在充分考虑具体工程应用背景的基础,对传统电容传感
器进行了改进,提出了基于51单片机的电容式传感器的油位检测系统,并采用
限幅滤波算法,减小了电容与频率转换的误差。
一、电容液位检测的原理
电容式液位传感器是利用被测介质液位高度的变化引起电容变化的原理,将
被测液位高度的变化转化为电容值,利用555定时器产生振荡,只要检测出了
555定时器的频率信号就可以得到电容值,进而检测出液位的高度H。
工作原理
如图1所示。
其电容值的计算公式如下:
图1
二、系统硬件设计
系统的总体硬件框图如图2所示
图2
2.1多谐振荡电路
由555定时器构成的多谐振荡器是测量的方波信号源,其具体电路如图3所示。
其可以为电容检测电路提供电压幅值为5V、频率为500KHZ的方波信号源。
图3
2.2单片机和显示电路
选用AT89C51单片机,即满足精度和实时性的要求,又符合低成本要求。
采
用LCD1602作为显示屏,具有清晰度高、方案成熟、应用广泛等优点。
三、软件设计
系统软件主要包括转换程序及LCD1602显示子程序、限幅滤波程序。
3.1LCD1602显示子程序
图4 LCD液晶显示程序
3.2主程序
图5 主程序
四、结论
本文结合实际行业的要求,设计了基于单片机的液位测量系统。
本文主要研究了电容液位检测的基本原理及液位的计算方法,构建了电容检测电路、方波信号源产生电路及LCD1602显示电路并对转换进行了相应的软件编程。
实验表明:该系统能够精确地进行液位的测量。
参考文献:
[1] 伍艮常. 磁致伸缩式液位传感器[J]. 仪表技术与传感器, 2007(12):9-11.
[2] 张晓, 史丽萍. 基于电容感应元的多层液位传感器的研究[J]. 仪表技术与传感器, 2003(9):5-7.
[3] 王幸之. 单片机应用系统抗干扰技术[M]. 北京航空天大学出版社, 2000.。