当前位置:文档之家› 论文答辩-基于单片机水塔水位控制器的设计

论文答辩-基于单片机水塔水位控制器的设计


主程序流程图:
采用的是连续调 用子程序的方法, 这样能使程序的 结构更为简洁, 更具易读性,并 且这种模块化的 设计方法,也便 于程序设计人员 在设计程序中出 现错误时,找出 错误,进行修改。
测量子程序流程图:
超声波发生器T在某 一时刻发出一个超声 波信号,当这个超声 波遇到被测介质后反 射回来,就被超声波 接收器R所接收到。 这样只要计算出从发 出超声波信号到接收 到返回信号所用的时 间,就可以算出超声 波发生器与反射器的 距离,然后就可推算 出液位高度。
超声波接收电路
• 超声波接收头采用 与发射头配对的R, 先将超声波调制脉 冲转化为交变电压 信号,经运算放大 器放大后传送到音 频译码集成块 LM567CN的引脚3。 当输出端8脚由高电 平跃变为低电平时, 作为中断请求信号, 送至单片机处理。
报警电路
该系统采用的是声光报警,当系统 的液位超出或低于系统预先设定的 警戒水位时,蜂鸣器就会响铃同时相 应的发光二极管会发亮以提醒工作 人员注意并进行监控。该系统采用 了2只发光二极管分别代表超最高 警戒水位和超最低警戒水位,并用1 只蜂鸣器来进行报警。当液位高于 最高警戒水位时,P2.5为低电平, LED1发光;当液位低于最低警戒水 位时,P2.4为低电平,LED2发光; 当水位超最高警戒水位和超最低警 戒水位时,蜂鸣器都会响,系统自 动报警。
系统软件设计
该系统的软件部分采用模块化的程序 设计,由主程序、温度补偿模块、显示 模块、报警模块、超声波液位检测模 块等6 个子模块组成。先由主程序完 成系统初始化、系统自检以及子模块 的调用;温度补偿模块可以自动完成 对不同环境温度下的声速计算;超声 波驱动模块和液位测量模块完成液位 的测量和计算工作,并存入到数据存储 器中;报警模块在水位超过最高警戒 水位或低于最低警戒水位时进行声光 报警;电机驱动模块根据测量到的水 位对水泵进行相应的控制;显示模块 不仅能对水位进行跟踪和显示数据还 可以显示当前温度
else {Warm = 1; } } else { Warm = 1; Motor1 = 0; Motor2 = 0; }
//其他情况 电机停止
报警模块
系统仿真
• 仿真部分我是用Proteus软件模拟仿真一座 25.5米的水塔,最高警戒水位为23米,最 低警戒水位为5米。
总 结
本次毕业设计,我通过咨询导师和到学校图书馆查阅相 关论文文献和参考书籍,熟悉了水塔水位控制器的工作 原理、特点、发展现状和趋势。经过对比各种方法的优 缺点和适用环境以及方案论证,我选用了超声波测量液 位法。硬件电路设计部分介绍了时钟电路、复位电路、 超声波发射接收电路等硬件电路的工作原理以及主控芯 片的选择和功能特性。系统软件采用的是模块化设计, 根据硬件电路写出各模块的流程图并用C语言编写了程 序。用Proteus软件进行了调试和仿真,系统模拟仿真的 结果表明:该控制器结构简单,准确度较高,且系统在 运行稳定性方面有较理想的结果,在现实应用中应该能 正常实现其作用。
谢谢刘晖老师的热心指导和帮助 谢谢余祥同学的支持和帮助
感谢答辩组的老师们于百忙 之中抽出时间来为我们组织 答辩
谢谢观赏
下面我为大家演示系统模拟仿真
请刘老师及各位老师批评指正
Make Presentation much more fun
基于单片机水塔水位 控制器的设计
指导老师:刘晖老师
答 辩 人:庞思雨
机电0902班 200979250406
本次设计的总体思路 硬件电路设计 系统软件设计 系统模拟仿真 总结
总体思路
本次设计研究的总体思路如下: (1)利用超声波进行水位高度的检测:用超声波液位测量 法检测水位。 (2)对输出信号进行处理:检测后需对输出信号进行处理, 以便单片机能够接收和处理。 (3)单片机控制:单片机对输入的检测信号以及温度补偿 进行分析和处理,从而发出相应的控制信号。 (4)显示电路、电机驱动电路和报警电路则根据单片机发 出的控制信号,作出相应的动作。 (5)我们通过硬件设计可以形成一个大概的软件设计思路。 只要首先设计水位控制主程序,然后再根据所设计的电路, 设计一系列的报警电路程序、显示电路程序、电机控制电路 程序等程序。相应的主程序和子程序设计完毕后,再经过软 件模拟仿真,则水塔水位控制系统的设计就大致形成了。
硬件电路设计
超声波发射电路
• 由单片机P1.1端口输出 的40KHz方波信号一路 经一级反相器送到超声 波换能器的一个电极, 另一路经两级反相器连 接到换能器的另一个电 极。输出端采用两个反 相器并联,可以提高驱 动能力;上拉电阻R6、 R3不仅可以提高反相 器输出电平的驱动能力, 还能增强超声波换能器 的阻尼效果,缩短自由 振 荡 的 时 间 。
电机控制电路
该系统采用的是步进电机驱 动芯片 L293D。这种芯片有 很多的优点:电机可以四角 限运行、电流连续、低速平 稳性好、电机停止时有微振 电流,起到“动力润滑”的作 用,还可以消除电机正反转 时的静摩擦死区等。其中引 脚 EN1、EN2是使能信号, IN1、IN2为电机正反转的方 向控制信号。当引脚N1、 IN2分别为1,0时,电机正 转,反之,电机反转。实现 加水和排水。
电机驱动模块
if(Value > LevelMax) //高于最高警戒水位 { Motor1 = 1; //反转 Motor2 = 0; Warm } else if(Value >= LevelMax) //等于最高警戒水位将开始 标志置0 证明加水完毕// { StartFlag = 0; } else if((Value < LevelMin)||StartFlag) //低于最低警戒 水位 { Motor1 = 0; //正转 Motor2 = 1; if(Value < LevelMin) //低于最低水位报警 { StartFlag = 1; //开始加水后将开始标志 置1 表示开始加水到最高标志不置位会只加到最低 警戒水位 Warm = 0;}
相关主题