液位自动检测装置
摘要:此方案设计了一个可以实现水位检测的系统。该系统包括了液位的检测、检测数据的处理、数据显示、键盘控制等四个部分。采用ATmega16、LM311、L298N、DS1302等进行设计。通过步进电机带动探针,能实时检测到液位的高度。并能用键盘设定水位限值,超出限值时能做出报警警示。
关键词:ATmega16 步进电机 探针
Level automatic detection devices
Abstract: This design can achieve a level detection system. The system includes a level of analysis, data processing, data show that the keyboard control of four parts. By L298N, ATmega16, design. Through the stepper motor driven probe, real-time detection to the high level. And the water level can use the keyboard set limits, beyond the limits can be made when the police warning.
Key words: ATmega16 stepper motor probe
1、设计要求
设计并制作一个水位监测装置,示意图如图(1.1)所示(容器可用2.0升~2.25升可乐瓶制作)。
图 1.1 液位检测装置图
1.1 基本要求
(1) 显示器能实时显示当前液位高度,液位显示误差不超过±0.5cm。
(2) 通过键盘可以设定容器里的液位检测和超限报警范围(3-25cm内的任意值)。
(3) 当液位超过报警范围时,能通过声光报警。 1.2 发挥部分
(1) 日期和时间显示功能。
(2) 通过键盘控制,可以将液位超限报警范围值和当前液位值和当前时间保存下来。
2、
任务分析
2.1、液位传感器检测液位
在本设计中要对液面进行实时测量,把检测到的数据送到处理器进行处理显示在LCD上,并且能通过键盘设置液面的报警上下限,当超过范围时能通过声光报警。还要有掉电保存设置的值和保存一些当前的液面和时间的数据。
2.2、数据处理
本设计的数据有来自传感器的数据、键盘的数据、显示器上的数据。要对这些数据进行处理则需一个稳定可靠的处理器。保证数据处理的稳定性、可靠性、及时性。
2.3、数值、时间显示
在显示器上需要对检测的数据进行实时显示,同时加多日期和时间显示。显示数据需有较好的人机对话界面。
3、方案选择
液位传感器方案选择
方案一:利用液体之间的电容特性,跟电阻发生RC振荡。通过RC之间的振荡频率与液面之间的高度成线性关系,测得液体的高度。但要液体的电容特性变化不定,误差大,电阻的阻值改变会影响振荡频率,如果电阻的参数不稳定,着调试就很困难,而且误差会增大。
方案二:利用水的导电性,用一个探针和电压比较器组成传感器。当探针在液面上时两个探针不导通,当在液体时两探针导通。然后通过电压比较器把两个信号进行放大。利用两个不同的电平状态控制步进电机正向转动和反向转动,让步进电机带动探针,进行水位探测。
通过比较,方案二虽然比较复杂,但比起电容振荡测量,电机探测干扰小,精确度高,也容易控制。因此我们决定用方案二。
4、
设计方案的实施,单元电路的设计
4.1、系统框图
本系统以ATMEGA 16作为主控芯片。 LM311电压比较器对水位进行信号采样。L298N用来驱动步进电机。采用DS1302实时时钟芯片产生日期和时间。用1602液晶模块显示时间、当前液位、上限、下限值。用蜂鸣器和发光二极管作为报警标志。其系统框图如图4.1所示
LM311 电压比较器 DS1302 时间模块 单片机 L298N 步进电机驱动 ATMEGA16 LCD 1602 显示模块 键盘输入 蜂鸣器、高亮发光二极管 图4.1 系统框图
4.2 单元电路原理与设计 4.2.1单片机系统
Atmega16MCU介绍
系统的控制核心Atmega16单片机,是Atmel公司推出的基于AVR RICS低功耗CMOS 8位高性能单片机,采用的是Harvard结构。由于Atmega16单片机运算速度快、内部资源丰富等诸多优点,故本设计选用它作为控制核心。图4.2为其引脚排列图。Atmega16系统图如图4.3所示。
图4.2 Atmega16引脚排列图