嵌入式液位自动检测装置要点.pdf

上传人:tbuqq 文档编号:5208165 上传时间:2020-02-21 格式:PDF 页数:19 大小:2.15MB
返回 下载 相关 举报
嵌入式液位自动检测装置要点.pdf_第1页
第1页 / 共19页
嵌入式液位自动检测装置要点.pdf_第2页
第2页 / 共19页
嵌入式液位自动检测装置要点.pdf_第3页
第3页 / 共19页
嵌入式液位自动检测装置要点.pdf_第4页
第4页 / 共19页
嵌入式液位自动检测装置要点.pdf_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《嵌入式液位自动检测装置要点.pdf》由会员分享,可在线阅读,更多相关《嵌入式液位自动检测装置要点.pdf(19页珍藏版)》请在三一文库上搜索。

1、控制工程学院集中实践环节课程 工作记录及成绩评定册 自动检测系统设计1 项目名称:嵌入式液位自动检测装置 指导老师: 项目负责人: 项目组成员: 2014 年 6 月 26 日 控制工程学院制 学号 姓名 嵌入式液位自动检测装置 摘要 随着社会的发展我们的生活不断向自动化、智能化方向发展, 在生活中很多 地方都要求我们对液位进行测量以满足我们生产生活的各种要求。 通过本文的研究, 总结出了压力传感器实现液位测量的优势:体积小,实际 应用系统简单实用,成本低,效益好;具有较高的性能价格比;系统不易受到干 扰,可靠性高。同时基于嵌入式的测量系统具有实时性强、可移植性好,便于二 次开发开发。将测量技

2、术应用到实际生产过程做了有益的尝试也为液位测量提供 了有参考价值的设计思路。 关键词:传感器;传感器技术;液位测量;嵌入式系统; Automatic detection device embedded level Abstract With the development of the society we live we to automation, intelligent direction, in many places in life we are required to measure liquid level to meet a variety of production and

3、living our requirements. Through this research, summed up the advantages of pressure sensor for liquid level measurement: small size, practical application system is simple and practical, low cost, good benefits; to have the high performance price ratio; the system less susceptible to interference,

4、high reliability. At the same time measurement system based on embedded system has strong real-time performance, good portability, convenient for the two development. The measurement technique is applied to the actual production process and do some beneficial attempt also provides a valuable referen

5、ce idea for liquid level measurement. Keywords: sensor; sensor technology; liquid level measurement; embedded system; 设计说明书 目录 论文总页数: 15 页 1.引言 1 2.设计要求 1 3.方案比较与论证 1 3.1 超声波测量 . 1 3.2 电阻式测量 . 1 3.3 压差法测量 . 1 3.4 压力传感器概述 . 2 3.5 传感器选型 . 2 4.硬件系统设计 3 4.1 信号调理电路 . 3 4.2 AD 采集电路 . 4 4.3 嵌入式模块电路 . 6 5软件

6、设计 . 6 5.1AD 采集与信号处理 6 5.2 串口 . 9 5.3 数据采集 . 10 5.4 显示 . 11 6.数据误差 13 6.1 数据测量与校准 . 13 6.2 误差分析 . 14 参考文献 . 15 1.引言 随着社会的发展我们的生活不断向自动化、智能化方向发展, 在生活中很多 地方都要求我们对液位进行测量以满足我们生产生活的各种要求。我们这次的课 题研究液位的测量方法与实现通过对液位的测量研究使用嵌入式系统完成液位 的测量。 2.设计要求 (1)制作一个单面板,实现液位测量。注意,该题目测试不严格要求精度, 但能直观的测量出液位 (2)该测量板可以带处理器、串口与TQ2

7、440 相连,也可直接相连,最后 需在 TQ2440 中得出测量数据 (3)技术指标:测量范围0150cm,分辨率 3cm 3.方案比较与论证 3.1超声波测量 超声波测量通过换能器将电功率脉冲转换为超声波,射向液面,经液面反射 后再由换能器将该超声波转换为电信号。超声波是机械波, 传播衰减小, 界面反 射信号强, 且发射和接收电路简单, 因而应用较为广泛; 但超声波的传播速度受 介质的密度、浓度、温度、压力等因素影响,其测量精度较低。 3.2电阻式测量 电阻式测量方法特别适用于导电液体的测量,敏感器件具有电阻特性, 其电 阻值随液位的变化而变化, 通过电阻值变化值变化可以的得到电压值的变化经

8、过 校准即得到液位。 同时也可以通过浮力用探针式利用跟踪测量法来测量液位,以 液位上升的情形为例来说明液位测量原理,当液位上升时, 提起探针完全脱离液 体, 然后缓慢降低探针寻找液面, 则探针与液体刚接触时的位置即与液位相对应。 探针式的特点是测量精度很高、控制电路复杂。 3.3压差法测量 我们都知道液体会在容器里会产生压力且压强PgH ,在液体密度均匀不 变的情况下 、g 保持不变,液位的高度H 和压强 P 成正比,通过压强的变化我 们可以得到液位高度。 我们可以用压力传感器来测量水压的变化来测量液位。通 过这种方法测量液位精度高、测量稳定维护方便,是比较成熟的液位测量方法。 我们这次课题采

9、用压差法测量液体液位,提高测量精度简化外围电路设计。 图 3-1 系统框图 通过压力传感器测量水压, 由于传感器输出信号比较微弱我们通过差分方式 输入仪表放大器进行放大, 将信号放大到 05V 然后用 STC12C5A60S2进行 AD 采集,并进行数据的采集滤波。最后通过串口将数据发送到TQ2440 开发板上进 行数据显示。 3.4压力传感器概述 在各类传感器中压力传感器具有体积小、重量轻、灵敏度高、稳定可靠、成 本低、便于集成化的优点, 可广泛用于压力、 高度、加速度、液体的流量、 流速、 液位、压强的测量与控制。除此以外,还广泛应用于水利、地质、气象、化工、 医疗卫生等方面。由于该技术是

10、平面工艺与立体加工相结合,又便于集成化,所 以可用来制成血压计、风速计、水速计、压力表、电子称以及自动报警装置等。 压力传感器已成为各类传感器中技术最成熟、性能最稳定、 性价比最高的一类传 感器。 压力传感器是用于测量液体与气体的压强的传感器。压力传感器工作时将压 力转换为电信号输出。 随着微电子工业的迅速发展, 单片机控制的智能型控制系 统作为压力传感器的一种被广泛应用于电子产品中,为了使自己对单片机控制的 智能型控制系统有较深的了解。 经过综合分析选择了由单片机控制的智能型液位 控制系统作为研究项目, 通过训练充分激发自己分析问题、解决问题和综合应用 所学知识的潜能。 并且,液位控制在高层

11、小区水塔水位控制,污水处理设备和有 毒,腐蚀性液体液位控制中也被广泛应用。 3.5传感器选型 传感器我们选用 MPS20N0040D-S,它是一款 SMD 封装的产品。此款产品 被广泛应用于与气压相关的产品。 并且具有良好的可重复性和长时间的工作稳定 性。量程 040KPa,线性度 0.3%,其内部结构为一个电桥可有效的抑制共模干 扰,同时也可以进行在线校准提高精确度。传感器外部安装1 根直径为 5mm 的 软管,一端安装在被测液位底部; 另一端与传感器连接。 水箱水位高度发生变化 时,引起软管内气压变化,然后传感器把气压转换成电压信号,输送到AD 转 换器。 图 3-2 传感器内部结构图 4

12、.硬件系统设计 4.1信号调理电路 水箱水位高度发生变化时, 引起软管内气压变化, 然后传感器把气压转换成 电压信号 ,电压信号经过放大电路,单片机采集到输出信号就可以判断出液位高 度。 V S + 2 V S - 5 VOU T+ 3 VOU T- 1 VOU T- 6 MPS 1 MPS 20N 02 00D V CC R1 R3 C 610 3 C 7 10 3 R G 1 V -IN 2 V +IN 3 V - 4 R EF 5 VO 6 V+ 7 RG 8 INA 1 INA 12 8 VIN -V IN+ VIN + VIN - R2 47 N C 1 C AP + 2 G ND

13、3 C AP - 4 V o 5 LV 6 O SC 7 V DD 8 ICL 1 ICL 76 60 V CC C1 C1 C 2 C 1 C5 C2 C 4 C 2 -5 -5 VCC1 1 2 2 3 3 D IP1 D IP3 VCC C 9 1 04 C 8 10 4 -5 R 29 1K D 3 LE D V CC 图 4-1 信号调理电路 如 图4-1 所 示 , 为 信 号 调 制 信 号 电 路 图 , 液 位 变 化 引 起 传 感 器 MPS20N0040D-S 输出电压信号有微弱的变化,将微弱的信号用INA282 仪表运 放将信号放大,单片机采集INA282 输出信号,

14、 INA282 采用双电源供电,放大 更精确, ICL7660 为正压变负压芯片,将 +5V 转变为 -5V。D3 为电源指示灯。 图 4-2 信号调理电路实物图 4.2 AD 采集电路 通过压力传感器测量水压, 通过差分方式输入仪表放大器进行放大,将信号 放大到 05V 然后用 STC12C5A60S2进行 AD 采集,并进行数据的采集滤波。 最后通过串口将数据发送到TQ2440 开发板上进行数据显示。 EA/VP 31 X1 19 X2 18 RE SET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10/T 1 P11/T 2 P12 3 P13

15、 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 AL E/P 30 TXD 11 RXD 10 U1 80C52 R1 1k 1 6 2 7 3 8 4 9 5 J4 DB9 C1+ 1 V+ 2 C1- 3 C2+ 4 C2- 5 V- 6 2Cout 7 2Cin 8 251out 9 251 in 10 151 in 11 151out 12 1

16、C in 13 1Cout 14 GND 15 VCC 16 MAX232 U2 MAX232 C6 105 C7 105 C8 105 C9 105 C10 105 C2 CAP C3 CAP +5 P30 P31 IN IN OUT OUT Y1 CRYSTAL C5 10uf S1 SW-PB +5 +5 P30 P31 12 J1 CON2 12 J2 CON2 12 J3 CON2 +5 C1 100UF C4 104 图 4-3 AD 采集电路 如图4-3 所 示 , 为 AD采集 电 路 和 单 片 机 串口 电 路 , 单 片 机 选择 STC12C5A60S2,单片机采集 I

17、NA282 放大过后的电压,再通过内部滤波,再通 过串口发送出去,选择芯片为MAX232. 图 4-4 单片机实物电路图 4.3嵌入式模块电路 嵌入式模块选择天嵌公司的TQ2440 开发板,开发板详细资料和电路接口见 其他资料。 图 4-3 TQ2440 嵌入式开发板 TQ2440 开发板上有串口 (RS232) ,AD 采集电路板上也纯在串口 (RS232) , 将两个串口接在一起, 两个电路板经过程序控制, 就实现串口通信, 能够把水位 高度先通过 STC12C5A60S2 采集,再通过串口发送到TQ2440 开发板,然后再 通过 QT 显示出液面高度。 5软件设计 5.1AD 采集与信号

18、处理 我们通过 STC12C5A60S2 单片机自带的AD 采集气压传感器的变化程序流 程图如图: 开始 AD初始化 清空寄存器 AD采集 AD采集是否结 束 均值滤波 结束 N Y 图 5-1 AD 采集程序流程图 特殊功能寄存器说明 sfr ADC_CONTR = 0xBC; /ADC 控制寄存器 sfr ADC_RES = 0xBD; /ADC 结果寄存器高位 sfr ADC_RESL = 0xBE; /ADC 结果寄存器低位 sfr P1ASF = 0x9D; /P1 口模拟功能控制寄存器 sfr P1M0 = 0x92; /IO 输出模式寄存器 sfr P1M1 = 0x91; /

19、IO 输出模式寄存器 主要代码说明 1、ADC 初始化 void InitADC() P1ASF=0xff; /设置 P1口为 AD 输入口 ADC_RES=0; /清零结果寄存器 ADC_RESL=0; ADC_CONTR=0x88; /ADC 控制寄存器设置1000 1000-即开启 ADC 的电源, 540 时钟转换周期 Delay(2); /延时一段时间让 ADC 的电源稳定 / ADC_CONTR=0x88; /开启 ADC 转换,选择通道 0 AUXR1 /将 ADRJ 置 0 P1M0 = 0x01; P1M1 = 0x01; 2、开始 AD 转换 uint AD_get(uch

20、ar channel) ES = 0; ADC_CONTR=0x88|channel; /开启AD 转换 1000 1000 即 POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 _nop_(); _nop_(); _nop_(); _nop_(); /要经过 4 个 CPU 时钟 的延时,其值才能够保证被设置进ADC_CONTR 寄存器 while(!(ADC_CONTR /等待转换完 成 ADC_CONTR /关闭AD 转换, ADC_FLAG 位由软件清 0 ES = 1; return(ADC_RES); /返回 AD 转换完成

21、的 8 位 数据 3.滤波与液位换算 void Get_ADdate() float res; uint res1; res = AD_work(channel1); / Clr_lux(); res1=res*10000; res1 = 5300 - res1; res1 = res1 / 5; lux0=res1/10000+0; lux4=c; lux5=m; lux1=res1%10000/1000+0; lux2=res1%1000/100+0; lux3=res1%100/10+0; / lux5=res1%10+0; lux6=0; send_com(lux); send_cha

22、r(n); /send_char(0x0d); /send_char(0x0a); / Delay(100); 我们通过采集100 次 AD 值进行均值虑波提高数据精度。 5.2串口 通过单片机采集的数据用串口发给TQ2440 进行处理。 串口初始化设置定时器1 工作方式 2 波特率设置为 9600. void Init_UART() TMOD = 0x20; /设置定时器 1 工作方式 2 SCON = 0x50; PCON = 0x00; TH1 = 0xfd; TL1 = 0xfd; TR1 = 1; /启动定时器 1 / SM0 = 0; / SM1 = 1; / REN = 1; E

23、A = 1; /打开总中断 ES = 1; 5.3数据采集 主函数主要代码如下: #include“AD.h“ #include “UART.h“ /#include “reg51.h“ void INIT(); void main() Delay(100); Init_UART(); InitADC(); send_com(“12345“); while(1) Get_ADdate(); Delay(500); 开始 AD初始化 串口初始化 读取数据 AD采集是否结 束 延时 结束 N Y 图 5-2 主程序流程图 5.4显示 (1)设置波特率 首先使用 gedit test.cpp命令打开

24、 test.cpp文件,修改串口设备号。本项目中 使用串口 2 进行数据交互。 图 5-3 设置波特率 修改函数 serial_fd = open(*/dev/ttySAC2*,0_PDWR,0); 选择串口号 2. 修改波特率 图 5-4 设置波特率主要代码 这里仅仅使用数据输入,只需cfsetispeed( (2)编译 arm 版本的 test. 使用make命令编译完成后,应用程序“test ”在 /opt/EmbedSky/Qte/arm-qtopra-2.2.0/qtopia/opt/Qtpia/bin下,桌面图标test.png在 /opt/EmbedSky/Qte/arm-qto

25、pra-2.2.0/qtopia/opt/Qtpia/pics,启 动 器 test.desktop 在 /opt/EmbedSky/Qte/arm-qtopra-2.2.0/qtopia/opt/Qtpia/apps/EmbedSky/ 下 . 然 后 使 用。将这三个文件分别考到TQ244 开发板上相应文件夹下。重启生效。 图 5-5 液位显示效果图 6.数据误差 6.1数据测量与校准 我们通过实验完成了液位测量, 采用 AD 采集得到了气压传感器的电压值但 是不能得到我们需要测量的液位高度,我们采用米尺测量校准得到了液位高度。 下面是测量数据。 表 6-1 测量数据校准 实际液位( cm

26、)测量液位( cm) 5 6 10 9 15 17 20 22 25 28 30 31 50 53 80 81 通过测量我们将测量误差控制在3cm 以内, 并在 TQ2440 上进行了液位显示 完成了设计要求。 图 6-1 液位校准 6.2误差分析 可以看出本次课程设计制作的液位检测装置精度不是很高误差到达3cm, 由 于本次设计不强调精度在器件选型方面,选用了精度较低的器件。 误差主要由以 下几个方面。 (1)AD 精度不够高 压力传感器输出信号比较微弱且当距离在小范围内变化(0-10cm)时电压 值的变化很小,这就要求我们AD 的精度较高能够分别出10mv 内电压的精确变 化,我们选用的

27、STC12C5A60S2 单片机 AD 位数为 8 位,不足以精确测量液位。 (2)气压测量存在误差 压差法测量液位高度需要测量起始气压然后通过做差得到液位高度。如果起 始气压测量不准缺也会造成测量不准。 (3)受环境影响 由于外界环境温度不同也会使气压有所不同,同时在不同的密度液体里也会 使压强不一样,在不同地域重力常数也会影响气压值。 参考文献 1 王俊峰 ,孟令启 .现代传感器应用技术M. 北京 :机械工业出版社,2007. 2 范晶彦 .传感器与检测技术应用M. 北京 :机械工业出版社,2005. 3 宋文绪 ,杨帆 .自动检测技术 M. 北京 :高等教育出版社,2000. 4 周航慈 .单片机应用程序设计技术M. 北京:北京航空航大大学出版社,2005. 5 徐惠民 ,安德宁 .单片微型计算机原理接口与应用M 北京:北京邮电大学出版社,1996. 6 刘侃 ,张永泰 ,刘洛琨 .ARM 程序设计优化策略与技术J单片机与嵌入式系统应用, 2004,(04). 7 徐千洋 .LinuxC 函数库参考手册.M 中国青年出版社.2002. 8 杜春雷 .ARM 体系结构与编程M. 清华大学出版社.2003 9 邹思铁 .嵌入式 Linux 设计与应用 M. 北京清华大学出版社.2002

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1