水位控制系统设计.doc

上传人:小飞机 文档编号:4266246 上传时间:2023-04-12 格式:DOC 页数:18 大小:202.50KB
返回 下载 相关 举报
水位控制系统设计.doc_第1页
第1页 / 共18页
水位控制系统设计.doc_第2页
第2页 / 共18页
水位控制系统设计.doc_第3页
第3页 / 共18页
水位控制系统设计.doc_第4页
第4页 / 共18页
水位控制系统设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《水位控制系统设计.doc》由会员分享,可在线阅读,更多相关《水位控制系统设计.doc(18页珍藏版)》请在三一办公上搜索。

1、课题名称:水箱水位控制系统设计专 业:电气工程及其自动化 学 号:姓 名:水箱水位控制系统设计摘 要本设计主要基于单片机的硬件电路设计,实现一种能够实现水位自动控制、具有自动保护、自动声光报警功能的控制系统。本控制系统由A/D转换部分、单片机控制部分、数码显示部分、电机驱动部分、电机控制部分等构成。同时对各个部分进行了详细的论述。在设计中对水塔水位控制原理进行分析,选用AT89C51单片机作为控制水塔水位的处理芯片,由AT89C51的P1口直接来控制.设计方案采用模块化程序设计方法,结合程序流程图,编写程序代码,最后利用KEIL公司的u Vision3软件及伟福仿真软件进行仿真实验,达到单片机

2、自动控制水塔水位变化的目的.关键词:单片机,水塔水位控制原理,AT89C51,伟福仿真软件目录前言水塔是在日常生活和工业应用中经常见到的蓄水装置,在我们的生活中起到了重要的作用,而水基于单片机的水塔水位控制系统使水塔水位自动保持在一定的位置,通过对其水位的控制对外供水,以满足需要。塔里面的水位控制是一个水塔发挥作用的关键。该系统使用水位传感器对水塔水位进行检测并将检测到的信号传给单片机来进行处理,通过调整定时器的定时时间来增大或者缩小占空比,并编写程序加以控制,从而实现电机的调速。最后,使用液晶屏显示当前水位状态以及电动机的转速。该系统通过了报警模块来实现了过低水位蜂鸣器鸣笛报警、过低警戒水位

3、自动处理、正常水位蜂鸣器鸣笛报警以及正常水位处理。本系统适应在不同的用水场合下的用水速度需要,节省工作时间,提高了整体工作的效率,实现水塔水位的自动控制。液位控制是工业控制中的一个重要问题,针对液位控制过程中存在大滞后、时变、非线性的特点,为适应复杂系统的控制要求,人们研制了种类繁多的先进的智能控制器,模糊PID控制器便是其中之一。模糊PID控制结合了PID控制算法和模糊控制方法的优点,可以在线实现PID参数的调整,使控制系统的响应速度快,过渡过程时间大大缩短,超调量减少,振荡次数少,具有较强的鲁棒性和稳定性,在模糊控制中扮演着十分重要的角色。 第1章 设计内容1.1 设计要求在Proteus

4、中画出原理图或使用实物,编制程序,实现以下功能:(1)使用LED数码管显示当前水位;(2)使用按键模拟水位开关;(3)可以设定水位上、下限,到达或超过水位上限时,电机停止转动;到达或超过水位下限时,电机开始转动。(4)设置声光报警系统,当水位过低或满水位时,相应报警指示灯闪烁,并发出报警声。 1.2 方案设计本方案采用单片机AT89C51作为我们的控制芯片,主要工作过程是当高塔中的水在低水位时,水位探测传感器送给单片机一个高电平,然后单片机驱动水泵加水和显示系统使红灯闪烁;当水位在正常范围内时,水泵加水;当水位在高水位时,单片机不能驱动水泵加水,黄灯闪烁。单片机技术是信息时代用于精密测量的一种

5、新技术。此系统使用过程中采用稳压电路能够准确地把输入的电平送给单片机不会产生误判的情况,由于AT89C51单片机有四端口,20引脚能够非常方便地设计显示系统。第2章 硬件电路设计2.1 系统框图设计系统的总体框图主要由主控芯片基本电路,按键电路,电动机和蜂鸣器驱动电路,液晶显示电路组成。出主控芯片电路外,其他的都是外围功能性电路。蜂鸣器和电动机驱动原理基本相同,都为三级管驱动电路,按键电路为平常的独立按键电路,液晶电路参考设计手册即可。电路设计框图如图2.1所示。水位自动控制系统设计:图2.1 水位控制系统总框图2.2 系统原理当水位处于低水位的时候,传感器的低水位探测器没被+5V的电源导通进

6、入稳压电路,经过处理在稳压电路的输出端有一个高电平,送入单片机的P1.7口,输出的高电平进入单片机的P1口单片机经过分析,在P3.2口输出一低电平,驱动红灯闪烁,同时在P3.1口输出一低电平,驱动蜂鸣器报警;P3.0出来一个信号使三极管导通,使水泵加水;当水位处于正常范围内时,水泵加水,在P3.2引脚出来一个低电平,使红灯灭;当水位在高水位区时,传感器的低水位探测线被导通,经过处理在稳压电路的输出端有一个高电平,送入单片机的P1.0口,单片机经过分析,在P3.3引脚出来一个低电平,使黄灯亮,在P3.1口输出一低电平,驱动蜂鸣器报警;P3.0输出一个信号使三极管导通,使水泵停止加水。采用单片机A

7、T89C51作为我们的控制芯片,主要工作过程是当高塔中的水在低水位时,水位探测传感器送给单片机一个高电平,然后单片机驱动水泵加水和显示系统使红灯闪烁,同时报警;当水位在正常范围内时,水泵加水 ,当水位在高水位时,单片机不能驱动水泵加水,黄灯闪烁,同时报警。第3章 水塔水位控制系统的硬件电路设计水塔水位控制系统的单片机选用AT89C51芯片,在Proteus 平台下进行硬件仿真。硬件电路设计分为水位检测、水位显示、声光报警、电机控制、振荡电路和复位电路几个部分。3.1 水位检测电路本检测电路采用DIPSW-8组开关来做水位监测触发。水位检测部分是用单片机P1.0P1.7 连接的8个按钮分别代表低

8、水位,水位1、水位2、水位3、水位4、水位5 ,水位6,和满水位。水位检测电路如图3.1 所示图3.1 水位检测电路3.2 水位显示电路采用一片LED数码管进行显示,由单片机P0.0P0.7和P2.0口输出段码,进行水位显示数字0 7分别代表低水位、水位1、水位2、水位3、水位4,水位5和水满时的水位标志。水位显示电路如图3.2 所示 图3.2 水位显示电路3.3电机控制电路加水时,电机正常工作。为确保水塔内不能没有水,所以在设计当中,当到达水位0 的时候就开始供水,电机工作。电机控制部分,采用了三极管放大来控制电机的工作,由单片机P3.0 口进行控制。电机控制电路如图3.3所示。图3.3 电

9、机控制电路3.4振荡电路和复位电路 图 3.4振荡电路和复位电路3.5声光报警电路本电路采用不同颜色的发光二极管来表示不同的水位情况。即红灯D1亮表示是低水位状态,蜂鸣器报警;黄灯D2发亮,水泵停止加水,蜂鸣器报警。原理图如图3.5图3.5声光报警电路 第4章 软件程序设计4.1 系统主程序流程图系统主程序的功能主要是完成对单片机的初始化,设置警戒液位的上下限,实时显示液位值以及按键扫描等工作。主程序流程图如图4.1所示图4.1系统主程序流程图4.2编写C程序元件序号型号主要参数元件序号型号主要参数R1金属膜,0.25w10KQ1NPNPN2222C1CAP20pFLS1SPEAKER1VC2

10、CAP20pFD1LED-RED2VC3CAP-ELEC10uFD2LED-YELLOW12VX1CRYSTALMMOTOR显示器7SEG-MPX2DSW1DIPSW-8根据系统主程序流程图,在keil C51中编写相应程序,并检索、编译。查找编写程序中的错误,并改正,最终得到正确的程序。并生成HEX文件。在仿真调试时使用。编写的C程序见附录4.2表1元件清单第5章 硬件制作与调试根据系统结构图与原件清单,设计电路图,在proteus软件里绘制电路图,并进行仿真调试检测程序及电路图中的错误,最终得到正确的电路图。调试成功后电路运行情况:单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变

11、化,红色代表高电频,蓝色代表低电频。按下低水位按钮时,在LED 显示器上显示“0”, 低水位报警,低水位报警指示灯红灯亮,蜂鸣器响,电机工作给水塔加水;按下水位1 按钮时,显示水位为“1 ”, 低水位报警指示灯红灯灭,电机工作给水塔加水;按下水位2 按钮时,显示水位为“2 ”;按下水位3 按钮时,显示水位为“3 ”;按下水位4 按钮时,显示水位为“4”,水塔控制工作正常运行;按下水位7 按钮时,显示水位为“7”,高水位报警,黄灯亮,蜂鸣器响,电机停止工作。总体电路图见附录一。结论该自动系统才用自带存储空间的8051单片机芯片,造型袖珍,线路简单,运行效率高。与外部的联系小,减少了外部干扰对系统

12、的运行影响,具有很好的稳定性。在内部干扰中,由于所有运算都有单片机芯片内部自己完成,减少了数据传输损耗的可能性,对数据的运算传输可靠性高。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:proteus仿真、C语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要

13、养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。附录仿真总图源代码#include#define uint unsigned int#define uchar unsigned charuchar code shuzu=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80;uint n,m;/*延时程序*void delay() uint i,j; for(i=0;i12;i+) for(j=0;j120;j+);sbit k7=P17;sbit k6=P16;sbit k5=P15;sbit k4=

14、P14;sbit k3=P13;sbit k2=P12;sbit k1=P11;sbit k0=P10;sbit dj=P30;sbit fmq=P31;sbit led1=P32;sbit led2=P33;/*主程序*void main()led1=0;led2=0;while(1) if(k6=1) dj=1; if(k7=0) n=0; if(k6=0) n=1; if(k5=0) n=2; if(k4=0) n=3; if(k3=0) n=4; if(k2=0) n=5; if(k1=0) n=6; if(k0=0) n=7;dj=0; P0=shuzun; if(k7=1) for(m=0;m10;m+) delay(); fmq=fmq; led1=led1; if(k0=0) for(m=0;m10;m+) delay(); fmq=fmq; led2=led2;

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号