基于压力传感器的水位报警器_第1页
基于压力传感器的水位报警器_第2页
基于压力传感器的水位报警器_第3页
基于压力传感器的水位报警器_第4页
基于压力传感器的水位报警器_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2016年测控专业创新实践第二届自动化与电气工程学院仪器仪表设计竞赛设 计 报 告设计题目:基于压力传感器的水位控制报警器队伍编号:323队员姓名:陈昊、吴天剑、张赟、董嘉仪年 月 日摘要控制器单片机,液位控制高度,报警、高度显示等功能,主要元器件时应变片,使其附着在容器外壁,使其具有与液面不接触的特点,可用于有毒、腐蚀性液体液位的控制,具有较高的研究价值。该控制器不仅可用于学校进行教学研究,还可用于生产实际,是目前比较缺少的一种产品。由物理学原理可知,液体的压力是与液体的高度有关系的,当液体的高度越高,底部所受的压力也就越大,即P=hg,所以我们可以通过底部所受的压力来获取液面的高度,因此我

2、们可以添加一个压力传感器,也就是常用的应变片,获取与液体地面所受的压力,由于应变片输出的电压量非常小,所以我们必须加放大器来将电压量变大,来提高他的灵敏度,由于单片机只能读取数字信号,而我们应变片输出的是模拟信号,所以得添加一个模数转换芯片来实现单片机对数据的读取,而后通过单片机实现对蜂鸣器和led报警灯的控制,实现液位报警,后期还可以在单片机的其他引脚添加点击可以实现自动的控制水位的高度,因为能力和时间有限,这里只做到报警,所以该作品还能继续改进,功能还能拓展。关键词:传感器;AD转换;控制器;外围硬件电路目录1.系统方案设计1 1.1 课题分析1 1.1.1 设计目的 1 1.1.2 液位

3、的获取1 1.2总体方案设计1 1.2.1系统框图 1 1.2.1总体设计实现12. 硬件设计2 2.1主要元器件原理 2 2.1.1AT89C51 2 2.1.2应变片 3 2.1.3模数转换芯片HX7115 2.1.4显示屏LCD160273.软件设计 8 3.1主程序流程图 8 3.2子程序流程图 9 3.3仿真电路图114.实验结果125.设计心得14参考文献15附录A 16附录B17附录C181系统方案设计1.1 课题分析1.1.1 设计目的运用目前所学的知识,设计一款可以实现无人监督的,液位报警器,利用51单片机,模数转换芯片,仪用放大器等元器件,运用自己所学的单片机技术,与模电技

4、术等知识来实现目的,利用这次活动来是自己的所学的知识得到运用,加深所学的知识在脑海里的印象,并且可以通过实现来检验自己在课上所学的知识,对自己也是很大的锻炼。1.1.2液位的获取方案一:采用浮子获取液位,通过杠杆和浮子的链接可以实现对变阻器的控制,来获取不同的电压值,后传输到单片机。方案二:通过对液体的压力会随高度的改变而改变,故可以在底部添加应变片来获取压力来获取液面的高度。由于方案一会对场地要求比较大所以不方便选择,于是选择方案二同时液位的显示也可以采用1602或者数码管,两者都可以做到,但都有利弊,可酌情选择。1.2总体方案设计1.2.1系统框图应变片模数转换器AT89C51单片机蜂鸣器

5、显示屏图1 系统框图1.2.2总体设计实现 将水箱放到应变片上,随着水位上升,总体重量也随之上升。通过其按压应变片产生的微小变化,来测定重量。通过模数转换器将模拟量转换成数字量并送到单片机中处理,然后根据其体积与高度的关系,进而来测定水位高度,显示在显示屏上,到一定高度通过蜂鸣器实现报警。2硬件设计2.1主要元器件原理2.1.1 AT89C51AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器俗称单片机。AT89C51提供以下标准功能:4K字节 Fl

6、ash闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。如图2所示。 图2 AT89C51内部结构图3 AT89C51实物图2.1.2应变片一般的应变片是在称为基底的塑料薄膜(15-16m)上贴上由薄金属箔材料制成的敏感栅(3-6m),然后再覆盖上一

7、层薄膜做成迭层构造。图4 应变片模型将应变片贴在被测物上,使其随着被测定物的应变一起伸缩,这样里面的金属箔材就随着应变一起伸长或缩短。很多金属在机械性的伸长或缩短时其电阻会随之变化。应变片就是应用这个原理,通过测量电阻的变化而对应变进行测定。一般应变片的敏感栅使用的是铜铬合金,其电阻变化率为常数,与应变成正比例关系。即:其中,R:应变片原电阻值 K:比例常数(应变片常数) :应变不同的金属材料有不同的比例常数K。铜铬合金的K值约为2,这样应变的测量就通过应变片转换为对电阻变化的测量。表1 应变片的参数量程(kg)3,15综合误差(%F.S)0.05额定输出温度漂移(%F.S/10)=2000蠕

8、变(%F.S/3min)0.05推荐激励电压(v)5-10零点漂移(%F.S/1min)0.05工作温度范围()-10+50零点温度漂移(%F.S/10)0.2过载能力(%F.S)1502.1.3 模数转换芯片hx711hx711采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其他芯片相比,改芯片与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。 特点:两路可选择差分输入片内低噪声可编程放大器,可选增益为64和

9、128片内稳压电路可直接向外部传感器和芯片内A/D转换器提供电源片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟上电自动复位电路简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程可选择10Hz或80Hz的输出数据速率同步抑制50Hz和60Hz的电源干扰耗电量(含稳压电源电路):典型工作电流:1.7mA,断电电流: 0)Weight_Shiwu = (unsigned int)(float)Weight_Shiwu/GapValue); if(Weight_Shiwu*3 1500)Flag_ERROR = 1; BEEP=0;elseFlag_ERROR = 0;B

10、EEP=1;elseWeight_Shiwu = 0;void Get_Maopi()Weight_Maopi = HX711_Read(); void Delay_ms(unsigned int n)unsigned int i,j;for(i=0;in;i+)for(j=0;j123;j+);void delay_3us() ; ; void nack_24c16() sda_24c16=1; delay_3us(); delay_3us(); scl_24c16=1; delay_3us(); delay_3us(); scl_24c16=0; sda_24c16=0;void stop

11、_24c16() sda_24c16=0; scl_24c16=1; delay_3us(); delay_3us(); sda_24c16=1; delay_3us(); delay_3us(); scl_24c16=0; void star_24c16() sda_24c16=1; scl_24c16=1; delay_3us(); delay_3us(); sda_24c16=0; delay_3us(); delay_3us(); scl_24c16=0; /*/功能:判断应答或非应答/说明:通讯出错时标志为1,否则为0void cack_24c16() scl_24c16=0; sd

12、a_24c16=1; delay_3us(); scl_24c16=1; flag2=0;/清除错误标志 if(sda_24c16)flag2=1; scl_24c16=0; /*/功能:发送应答信号void mack_24c16() sda_24c16=0; scl_24c16=1; delay_3us(); delay_3us(); scl_24c16=0; sda_24c16=1;/*/功能:向24C16写入一字节的数据void w1byte_24c16(uchar byte1) uchar i=8; while(i-) delay_3us(); delay_3us(); delay_3

13、us(); if(byte1 & 0x80) sda_24c16=1; else sda_24c16=0; delay_3us(); delay_3us(); delay_3us(); scl_24c16=1; delay_3us(); delay_3us(); delay_3us(); scl_24c16=0; byte1=1; /*/功能:从24C16中读出一字节的数据uchar rd1byte_24c16(void)/;读字节子程序(通用)读出的数据存放在30H中 uchar i; uchar ddata=0; sda_24c16=1;/置IO口为1,准备读入数据 for(i=0;i8;i+) ddata=1500)GapValue=00; if(GapValue=00)GapValue=70;/*/写入数据操作void write_24c16() uchar x1,x2;write1: x1=GapValue/100; x2=GapValue%100; star_24c16();/发送启动脉冲 w1byte_24c16(0xa0);/写24C16的芯片地址,高四位固定为1010,选择第一区,写操作 cack_24c16();/ 读取应答或非应答信号 if(flag2)goto write

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论