智能液位传感器 毕业论文(设计).doc
- 文档编号:709410
- 上传时间:2023-04-29
- 格式:DOC
- 页数:38
- 大小:747KB
智能液位传感器 毕业论文(设计).doc
《智能液位传感器 毕业论文(设计).doc》由会员分享,可在线阅读,更多相关《智能液位传感器 毕业论文(设计).doc(38页珍藏版)》请在冰点文库上搜索。
智能液位传感器
摘要
摘要:
介绍了压力传感器的应用,设计了智能液位传感器。
此设计通过压力传感器测出液体的压力,输出0-+5V的模拟电压通过ADC0804采集转换成数字量送入单片机处理,由RS232串口通信送到上位机,并显示出高度。
此设计能完成0-1.5m高度的液位测量,能精确到厘米。
此设计主要由压力传感器,单片机,ADC0804转换器构成。
关键词:
智能液位传感器,单片机,AD转换器
Abstract:
Thisarticleintroducestheapplicationofpressuresensor,anddesignsaintelligentlevelsensor.Thisdesigndetectstheliquidpressurethroughthepressuresensors,anditwillsendthevoltagefrom0to5VwhichisconvertedintodigitalquantitybythesimulationADC0804acquisitiontotheSCMprocessing.ThenthedigitalwillbesenttothePCwhichshowsthehighbyRS232serialinterfacecommunication.Thisdesigncanfinish0to1.5mhighlevelmeasurement,andaccuratetocm.Thisdesignmainhavepressuresensor,asingle-chipmicrocomputer,andADC0804convertertoform.
Keywords:
Intelligencelevelsensor,Single-chipmicrocomputer,ADconverter
目录
1绪论 4
1.1 设计目的 5
1.2设计任务与要求 5
1.3智能液位传感器的基本原理 5
2总体方案设计 6
2.1智能液位传感器设计方案框图 6
2.2方案论证 7
2.3方案可能的扩展功能 8
3单元模块电路的设计 9
3.1各单元模块功能介绍及电路设计 9
3.1.1传感器输出部分 9
3.1.2ADC0804数据采集转化部分 9
3.1.3单片机最小系统模块 10
3.1.4RS232模块 11
3.2电路参数计算及元器件的选择 12
3.2.1元器件的选择 12
3.3特殊元器件介绍 13
3.2.1ADC0804 14
3.1.2压力传感器D3B 16
3.4个单元模块的联接 17
4软件设计 19
4.1软件设计原理及所用的工具 19
4.1.1单片机部分 19
4.1.2上位机VB部分 20
4.2软件的设计流程框图 22
4.3软件设计总结 23
5系统调试 24
5.1硬件结构部分 24
5.2VB部分 24
5.3压力传感器部分 25
6系统功能及指标参数 26
6.1系统功能 26
6.2系统各部分的测试参数 26
6.2.1AD部分调试参数 26
6.2.2系统测量液面高度的数据参数 27
6.2.3调试总结 28
7结论 29
8总结与体会及感谢语 30
9参考文献 31
附录 32
附录1:
32
附录2:
程序 35
附录3元器件清单 38
1绪论
液位检测在许多控制领域已较为普遍,各种类型的液位检测传感器较多,按原理分有浮子式、压力式、超声波式、吹气式等。
各种方式都根据其需要设计完成,其结构、量程和精度适用于各自不同的场合,大多结构较为复杂,制造成本偏高;市面上也有现成的液位计,有投入式、浮球式、弹簧式等,多数成品价格惊人。
以上液位计多数输出为模拟量电流或电压,有些为机械指针读数,不能用于远程监视;普遍适用于静止液面,在波动液面易引起读数的波动;也有用电容法测液位的系统,此法是一种简单易行的方案。
本文利用压力传感器测液体压力的原理,结合单片机设计出一种智能液位检测装置。
本学期开设了传感器及传感器技术,单片机等课程。
本课程设计是在学完这么多课程的基础上,为了能更好的掌握这些课的内容,把理论应用于实际而提出来的。
旨在发挥我们的设计,创新意识。
通过本课程设计可以掌握和巩固传感器的基本设计方法,工业水位的测量方法,单片机的基本应用,显示电路的连接等知识。
进一步加强对课堂理论知识的理解与综合应用能力,从而提高我们解决问题的能力和创造发明能力。
如今传感器的应用是非常的广泛,并且已经融入到我们的生活,工作,科研等领域中。
在我组进行设计中我们首先对压力传感器输出的电压和对应的液体高度进行整理和多次测量得出一个比较与实际高度符合的函数。
我们通过压力传感器测出液体压力,利用ADC0804对传感器的输出电压进行采集并将模拟电压信号转换成数字电平信号0,1。
然后将采集的数据送入单片机最小系统进行处理然后利用RS232电平转换送到PC机,PC机上用VB编写一个显示界面,再在VB中利用程序将数字量转换成以厘米为单位的高度并显示出来。
液位传感器的应用虽然非常广泛,但是现在高精度的液位的传感器价格非常贵,实现民用还有一定的难度。
所以我们的设计应更加创新利用更小的成本设计生产出更好的传感器。
1.1设计目的
1.理解并掌握智能液位传感器的原理及实现的方法。
2.掌握ADC,RS232电平转换电路的原理,压力传感器的特性参数的计算及选择。
3.掌握单片机最小系统的组成。
4.培养实践技能,提高分析和解决实际问题的能力。
5.学习基本理论在实践中综合运用的初步经验,掌握模拟电路及数字电路设计的基本方法、设计步骤,培养综合设计与调试能力。
1.2设计任务与要求
1.利用一个液位传感器及周边电路,完成液位到电信号的转换;液位测量采用测量液体的压强的方式;测量范围0-1.5米;
2.设计一个单片机系统控制一个ADC对压力变送器输出的电信号进行采集;
3.编写数据转换程序;将二进制的量化数据转换为以厘米为单位的ASCLL标准字符串形式传送到PC机;注:
ASCLL标准字符串是以ASCLL码为信息的编码方式,字符串结尾数据是一个字节00H;
4.设计单片机通信程序以及RS232电平转换电路;
5.设计单片机相关运行程序;
6.设计相关电路,如单片机系统,模拟输入通道,ADC,和电源电路等;
7.报告格式严格按照《课程设计报告格式要求说明》执行;
1.3智能液位传感器的基本原理
本次设计的智能液位传感器的基本原理是利用一个压力传感器测出在水管的水的压力,压力变送器的输出为是0-5V的模拟电压信号(或是4-20毫安的模拟电流信号),利用ADC0804对传感器的输出电压进行采集并将模拟电压信号转换成数字电平信号0,1。
然后将采集的数据送入单片机最小系统进行处理然后利用RS232电平转换送到PC机,PC机上用VB的MS.COM控件编写一个显示界面,再在VB中利用程序将数字量转换成以厘米为单位的高度并显示出来。
2总体方案设计
通过查阅大量相关技术资料,并结合自己的实际知识,我主要提出了两种技术方案来实现系统功能。
下面我将首先对这两种种方案的组成框图和实现原理分别进行说明。
2.1智能液位传感器设计方案框图
两种方案的框图如下图:
方案1:
利用应变片自制的压力传感器
AD转换器(ADC0832)
单片机最小系统
RS232串口通信
上位机显示液面高度
方案2:
压力传感器
AD转换器
(ADC0804)
单片机最小系统
RS232串口通信
上位机显示液面高度
2.2方案论证
对于方案1和2按照理论来看做出来能够达到一定的预期效果,能达基本满足本次设计的基本要求。
但是两种方案不同之处就在于传感器的选择和AD的选择,现就这两个方面来论述.为什么选择方案2。
方案1的传感器部分是利用应变片做的压力变送器,其结构如下图2.1:
图2.1
这是利用4片应变片做的全桥电路其电压灵敏度比单臂工作时提高了4倍,消除了一定的非线性误差。
其输出的为电流信号但是非常小,所以在外部又加了一个差动放大将信号放大才能满足AD0-+5V的输入电压的要求。
但是此类的工作都是提供1.5mA的横流源,我们自己做的恒流源很难满足要求。
硬件部分完成以后还要对其进行测试线性度,但是测量比较麻烦后期的数据处理也比较繁琐,最后达到的效果也比较差所以就没有选择应变片制作。
对于AD的选择主要是ADC0832与ADC0804之间的选择。
ADC0832是8位分辨率;+5V电源供电;输入电压为0-+5V;工作频率250HZ;转换时间为32us;数据转送是8位串行传送;
ADC0804是8位分辨率;5V电源供电;输入电压为0-+5V;转换时间的100us;存取时间是135us;数据传送是8位并行传送;
通过直观的观察可以发现由于ADC0832的数据传送是8位串行的所以传完8位数据需要的时间为256us,而ADC0804为8位的并行数据传送,传8位数据只需100us。
所以ADC0804的转换存取速度更快,这样系统的工作效率更高。
所以我们采用的是ADC0804。
综上我们本次设计液位传感器采用的方案2。
2.3方案可能的扩展功能
我们这次设计的智能液位传感器结构还比较简单,只是完成测液位并读出页面高度的基本功能,在这几完成后发现该系统还能扩展许多功能。
比如增加报警系统(应用于比如水库的水位测量时可以做下限报警和超限报警);远程的控制系统(比如家用的水塔水不足时可以控制水泵加水)。
3单元模块电路的设计
本节主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。
3.1各单元模块功能介绍及电路设计
本系统电路模块主要分为四个单元模块,它们分别是:
传感器输出部分;ADC0804的数据采集转换模块;单片机最小系统模块;RS232模块.各单元模块功能及相关电路的具体说明如下。
3.1.1传感器输出部分
3.1.2ADC0804数据采集转化部分
该级电路一共实现了两个功能:
第一个是对模拟电压信号的采集。
第二个功能是将模拟电压信号转换成数字信号。
这一级的原理图如图3.2:
图3.2ADC0804数据采集转换电路图
3.1.3单片机最小系统模块
这部分主要是由STC89C52单片机组成的一个最小系统,通过单片机来控制ADC0804的信号采集转换以及对RS232串口通信的控制。
该级电路原理图如图3.3:
图3.3单片机最小系统电路图
3.1.4RS232模块
RS232模块主要通过USB转串口线来与PC机通信将ADC0804采集和转换的数据传给上位机显示出所测得液面高度。
模块的原理图如图3.4:
图3.4RS232电路图
3.2电路参数计算及元器件的选择
3.2.1元器件的选择
设计所用仪器及器件如下表1:
单片机STC89C52
1片
MAX232
1片
ADC0804
1片
串口母头
1个
晶振
1个
0.1uf电容
5个
22pf电容
2个
10uf极性电容
1个
33pf电容
1个
1k电阻
2个
10k电阻
2个
排线
若干
USB转串口线
1根
电烙铁
一台
面包板
1块
焊锡
若干
+5V直流可调电压源
1台
压力传感器
1个
示波器
1台
水管
1根
万用表
1台
钳子
1个
电脑
1台
表1
3.3特殊元器件介绍
这一节将对设计过程中用到的一些特殊元器件进行介绍,主要是介绍该特殊元器件的内部结构,工作原理,及使用时应该注意的事项。
3.2.1ADC0804
ADC0804的内部原理结构图如下图3.5:
图3.5ADC0804的内部原理结构图
ADC0804主要技术指标如下:
(1)高阻抗状态输出
(2)分辨率:
8位(0~255)
(3)存取时间:
135us
(4)转换时间:
100us
(5)总误差:
-1-+1LSB
(6)工作温度:
ADC0804C为0度-70度;ADC0804L为-40度-85度
(7)模拟输入电压范围:
0V-+5V
(8)参考电压:
2.5V
(9)工作电压:
5V
(10)输出为三态结构
ADC0804的引脚图如下图3.6:
图3.6ADC0804引脚图
引脚及功能特性如下:
CS、RD、WR(引脚1、2、3):
是数字控制输入端,满足标准TTL逻辑电
平。
其中CS和WR用来控制A/D转换的启动信号。
CS、RD用来读A/D转换的结
果,当它们同时为低电平时,输出数据锁存器DB0~DB7各端上出现8位并行二进制数
码。
LKI(引脚4)和CLKR(引脚19):
ADC0801~0805片内有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生A/D转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。
其典型应用参数为:
R=10KΩ,C=150PF,fCLK≈640KHZ,转换速度为100μs。
若采用外部时钟,则外部fCLK可从CLKI端送入,此时不接R、C。
允许的时钟频率范围为100KHZ~1460KHZ。
INTR(引脚5):
INTR是转换结束信号输出端,输出跳转为低电平表示本次转换已经完成,可作为微处理器的中断或查询信号。
如果将CS和WR端与INTR端相连,则ADC0804就处于自动循环转换状态。
CS=0时,允许进行A/D转换。
WR由低跳高时A/D转换开始,8位逐次比较需8×8=64个时钟周期,再加上控制逻辑操作,一次转换需要66~73个时钟周期。
在典型应用fCLK=640KHZ时,转换时间约为103μs~114μs。
当fCLK超过640KHZ,转换精度下降,超过极限值1460KHZ时便不能正常工作。
VIN(+)(引脚)和VIN(-)(引脚7):
被转换的电压信号从VIN(+)和VIN(-)输入,允许此信号是差动的或不共地的电压信号。
如果输入电压VIN的变化范围从0V到Vmax,则芯片的VIN(-)端接地,输入电压加到VIN(+)引脚。
由于该芯片允许差动输入,在共模输入电压允的情况下,输入电压范围可以从非零伏开始,即Vmin至Vmas。
此时芯片的VIN(-)端应该接入等于Vmin的恒值电码坟上,而输入电压VIN仍然加到VIN(+)引脚上。
AGND(引脚8)和DGND(引脚10):
A/D转换器一般都有这两个引脚。
模拟地AGND和数字地DGND分别设置引入端,使数字电路的地电流不影响模拟信号回路,以防止寄生耦合造成的干扰。
VREF/2(引脚9):
参考电压VREF/2可以由外部电路供给,从“VREF/2”端直接送入,VREF/2端电压值应是输入电压范围的二分之一。
所以输入电压的范围可以通过调整VREF/2引脚处的电压加以改变,转换器的零点无需调整。
ADC0804转换器的工作时序如图3.7:
图3.7工作时序图
3.1.2压力传感器D3B
我们这次智能液位传感器设计使用的传感器部分采用的是压力传感器D3B,液位测量采用的测量液体压强的方式。
压力传感器如下图3.8:
图3.8
传感器主要参数如下:
工作电压:
4.2v—6.2v;压力范围:
0-----1000mm水柱,0----0.1Kg/c㎡;电压输出:
0.23v---4.9v;线性度0.2%;外型:
30×30×20mm 。
接线方式:
每个接线柱下皆有标示,G-接地,I-接+5V另与O-之间加载2.2K上拉电阻即可通过0-输出
传感器本身不能放到水里,所以设计时我们是利用水管引水到传感器中央的压力感应膜上。
3.4个单元模块的联接
个单元的联接如下图3.9:
图3.9个单元模块的联接图
说明:
AD的输入连接的是压力传感器的输出端。
4软件设计
本次设计主要用到的软件主要涉及到单片机的c语言编程,上位机的VB部分的界面编程。
4.1软件设计原理及所用的工具
4.1.1单片机部分
单片机程序部分主要功能是:
控制ADC0804接收模拟数据转换成数字量,由89C52接收数字量,将处理后的数字量通过串口通讯传给上位机。
该程序部分设计过程中使用的是keil软件来编写的,利用STC-ISP软件进行下载和调试的。
主要就是通过STC89C52来控制AD采集转换部分和串口通信,该部分的核心程序如下:
voidadopen()//adc0804初始化
{
wr=1;
wr=0;
wr=1;
delay
(1);
rd=0;
i=i;
i=i;//延时
j=P1;
rd=1;
}
voidinitial()//串口初始化
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;//串口始能REN=1时允许串行口接收数据
SM0=0;//模式1,8位数据,波特率由软件设置
SM1=1;
EA=1;//总通断
ES=1;//串口通断
}
4.1.2上位机VB部分
这个部分主要是通过MicrosoftVisualBasic6.0这个软件来编写一个上位机界面来显示所测得到的液面高度,利用的VB里面的串口通信控件MS.COM来实现的。
显示的输入的两个部分都是显示在vb里的text文本框里的。
核心程序如下:
串口的设置如下程序:
PrivateSubForm_Load()'设置串口
MSComm1.Settings="9600,N,8,1"'串口通讯初始化:
波特率为9600,没有校验位,八位数据传送,一位停止位
MSComm1.RThreshold=1
MSComm1.InputMode=comInputModeText'以文本形式接收数据
Combo1.AddItem"COM1"
Combo1.AddItem"COM2"
Combo1.AddItem"COM3"
Combo1.AddItem"COM4"
Combo1.AddItem"COM5"
Combo1.AddItem"COM6"
j=0
EndSub
程序的核心部分:
VB的串口通讯控件MSComm
PrivateSubMSComm1_OnComm()
DimaAsString
SelectCaseMSComm1.CommEvent
CasecomEvReceive'每接收一个数据就触发一次事件
a=MSComm1.Input
b=Asc(a)
e(j)=b'收20个数据取平均值再显示出来减小抖动
j=j+1
Ifj=19Then
MSComm1.PortOpen=False
Fork=0To19
summ=summ+e(k)
Nextk
c=summ/20
summ=0
i=(c/255)*10
Ifi<0.08Then
Text2.Text=0
Text1.Text=0
Else
Text2.Text=i*1.04
Text1.Text=18.33766*i*1.04
EndIf
MSComm1.PortOpen=True
j=0
EndIf
EndSelect
EndSub
4.2软件的设计流程框图
开始
ADC0804的初始化
串口的初始化
打开AD,对数据采集转换
串口通信将数据传送给上位机
结束
VB通过MSComm控件接收数据,进行数字滤波,显示电压
4.3软件设计总结
软件设计中主要运用了所学的单片机课程和VB语言中的知识,单片机中的程序用的是C语言。
程序主要包含了ADC0804的初始化;调用串口功能;串口的初始化;延时程序,主代码段实现了打开AD并对数据进行采集转换。
上位机利用的是VB的知识,利用串口通信控件MS.COM来实现的。
编写出来的显示界面如下图4.1:
图4.1显示界面
该界面内可以选择串口端口号,达到了本次设计的基本要求,显示了AD的输入电压和测得的液面高度值。
5系统调试
5.1硬件结构部分
硬件部分我们先是通过PROTEL软件画的AD部分;单片机部分和RS232部分的原理图,然后这部分没有画PCB图就直接用万用板和排线进行搭建的。
这样在焊接的过程中就会显得比较
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能液位传感器 毕业论文设计 智能 传感器 毕业论文 设计