资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课题名称:水箱水位控制系统设计专业:电气工程及其自动化学 号: 姓 名:水箱水位控制系统设计摘要本设计主要基于单片机的硬件电路设计,实现一种能够实现水位自动控制、具 有自动保护、自动声光报警功能的控制系统。本控制系统由A/D转换部分、单片 机控制部分、数码显示部分、电机驱动部分、电机控制部分等构成。同时对各个 部分进行了详细的论述。在设计中对水塔水位控制原理进行分析,选用AT89C51单 片机作为控制水塔水位的处理芯片,由AT89C51的P1 口直接来控制.设计方案采用 模块化程序设计方法,结合程序流程图,编写程序代码,最后利用KEIL公司的u Vision3软件及伟福仿真软件进行仿真实验,达到单片机自动控制水塔水位变化的 目的.关键词:单片机,水塔水位控制原理,AT89C51,伟福仿真软件目录前言 1第1章设计内容 21.1设计要求 21.2方案设计 2第2章硬件电路设计 32.1系统框图设计 32.2系统原理 4第3章 水塔水位控制系统的硬件电路设计 53.1水位检测电路 53.2 水位显示电路 53.3电机控制电路 63.4振荡电路和复位电路 73.5声光报警电路 7第4章 软件程序设计 84.1系统主程序流程图 84.2编写C程序 9第5章 硬件制作与调试 10结论 11附录 12仿真总图 12源代码 13水塔是在日常生活和工业应用中经常见到的蓄水装置,在我们的生活 中起到了重要的作用,而水基于单片机的水塔水位控制系统使水塔水位自 动保持在一定的位置,通过对其水位的控制对外供水,以满足需要。塔里 面的水位控制是一个水塔发挥作用的关键。该系统使用水位传感器对水塔 水位进行检测并将检测到的信号传给单片机来进行处理,通过调整定时器 的定时时间来增大或者缩小占空比,并编写程序加以控制,从而实现电机 的调速。最后,使用液晶屏显示当前水位状态以及电动机的转速。该系统 通过了报警模块来实现了过低水位蜂鸣器鸣笛报警、过低警戒水位自动处 理、正常水位蜂鸣器鸣笛报警以及正常水位处理。本系统适应在不同的用 水场合下的用水速度需要,节省工作时间,提高了整体工作的效率,实现 水塔水位的自动控制。液位控制是工业控制中的一个重要问题,针对液位控制过程中存在大 滞后、时变、非线性的特点,为适应复杂系统的控制要求,人们研制了种 类繁多的先进的智能控制器,模糊 PID控制器便是其中之一。模糊PID控 制结合了 PID控制算法和模糊控制方法的优点, 可以在线实现PID参数的 调整,使控制系统的响应速度快,过渡过程时间大大缩短,超调量减少, 振荡次数少,具有较强的鲁棒性和稳定性,在模糊控制中扮演着十分重要 的角色。第1章设计内容1.1设计要求在Proteus中画出原理图或使用实物,编制程序,实现以下功能:(1) 使用LED数码管显示当前水位;(2) 使用按键模拟水位开关;(3) 可以设定水位上、下限,到达或超过水位上限时,电机停止转动; 到达或超过水位下限时,电机开始转动。(4) 设置声光报警系统,当水位过低或满水位时,相应报警指示灯闪烁, 并发出报警声。1.2方案设计本方案采用单片机AT89C51作为我们的控制芯片,主要工作过程是当 高塔中的水在低水位时,水位探测传感器送给单片机一个高电平,然后单片 机驱动水泵加水和显示系统使红灯闪烁;当水位在正常范围内时,水泵加水; 当水位在高水位时,单片机不能驱动水泵加水,黄灯闪烁。单片机技术是信 息时代用于精密测量的一种新技术。此系统使用过程中采用稳压电路能够 准确地把输入的电平送给单片机不会产生误判的情况,由于AT89C51单片 机有四端口,20引脚能够非常方便地设计显示系统。第2章硬件电路设计2.1系统框图设计系统的总体框图主要由主控芯片基本电路,按键电路,电动机和蜂鸣 器驱动电路,液晶显示电路组成。出主控芯片电路外,其他的都是外围功 能性电路。蜂鸣器和电动机驱动原理基本相同,都为三级管驱动电路,按 键电路为平常的独立按键电路,液晶电路参考设计手册即可。电路设计框 图如图2.1所示。水位自动控制系统设计:图2.1水位控制系统总框图2.2系统原理当水位处于低水位的时候,传感器的低水位探测器没被+5V的电源导通进入稳压电路,经过处理在稳压电路的输出端有一个高电平,送入单片 机的P1.7 口,输出的高电平进入单片机的P1 口单片机经过分析,在P3.2 口输出一低电平,驱动红灯闪烁,同时在 P3.1 口输出一低电平,驱动蜂鸣 器报警;P3.0出来一个信号使三极管导通,使水泵加水;当水位处于正常 范围内时,水泵加水,在P3.2引脚出来一个低电平,使红灯灭;当水位在 高水位区时,传感器的低水位探测线被导通,经过处理在稳压电路的输出 端有一个高电平,送入单片机的P1.0 口,单片机经过分析,在P3.3引脚 出来一个低电平,使黄灯亮,在 P3.1 口输出一低电平,驱动蜂鸣器报警; P3.0输出一个信号使三极管导通,使水泵停止加水。采用单片机AT89C51作为我们的控制芯片,主要工作过程是当高塔中的水在低水位时,水位探测 传感器送给单片机一个高电平,然后单片机驱动水泵加水和显示系统使红 灯闪烁,同时报警;当水位在正常范围内时,水泵加水,当水位在高水位时, 单片机不能驱动水泵加水,黄灯闪烁,同时报警。第3章 水塔水位控制系统的硬件电路设计水塔水位控制系统的单片机选用 AT89C51芯片,在Proteus平台下进 行硬件仿真。硬件电路设计分为水位检测、水位显示、声光报警、电机控 制、振荡电路和复位电路几个部分。3.1水位检测电路本检测电路采用DIPSW-8组开关来做水位监测触发。水位检测部分是 用单片机P1.0P1.7连接的8个按钮分别代表低水位,水位1、水位2、 水位3、水位4、水位5,水位6,和满水位。水位检测电路如图3.1所示DIPSW 8图3.1水位检测电路3.2水位显示电路采用一片LED数码管进行显示,由单片机 P0.0P0.7和P2.0 口输出 段码,进行水位显示数字07分别代表低水位、水位1、水位2、水位3、 水位4,水位5和水满时的水位标志。水位显示电路如图 3.2所示图3.2水位显示电路3.3电机控制电路加水时,电机正常工作。为确保水塔内不能没有水,所以在设计当中, 当到达水位0的时候就开始供水,电机工作。电机控制部分,采用了三极管放大来控制电机的工作,由单片机P3.0口进行控制。电机控制电路如图 3.3所示。图3.3电机控制电路3.4振荡电路和复位电路图3.4振荡电路和复位电路3.5声光报警电路本电路采用不同颜色的发光二极管来表示不同的水位情况。即红灯D1亮表示是低水位状态,蜂鸣器报警;黄灯 D2发亮,水泵停止加水,蜂鸣器 报警。原理图如图3.5图3.5 声光报警电路第4章软件程序设计4.1系统主程序流程图系统主程序的功能主要是完成对单片机的初始化,设置警戒液位的上下限,实时显示液位值以及按键扫描等工作。主程序流程图如图4.1所示图4.1系统主程序流程图4.2编写C程序根据系统主程序流程图,在keil C51中编写相应程序,并检索、编译。 查找编写程序中的错误,并改正,最终得到正确的程序。并生成 HEX文件。 在仿真调试时使用。编写的C程序见附录4.2表1元件清单元件序号型号主要参数元件序号型号主要参数R1金属10KQ1NPNPN2222膜,0.25wC1CAP20pFLS1SPEAKER1VC2CAP20pFD1LED-RED2VC3CAP-ELEC10uFD2LED-YELLOW12VX1CRYSTALMMOTOR显示器7SEG-MPX2DSW1DIPSW-8第5章硬件制作与调试根据系统结构图与原件清单,设计电路图,在proteus软件里绘制电路图,并进行仿真调试检测程序及电路图中的错误,最终得到正确的电路 图。调试成功后电路运行情况:单击仿真运行开始按钮 I 1,我们能清 楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。 按下低水位按钮时,在LED显示器上显示“ 0”,低水位报警,低水位报 警指示灯红灯亮,蜂鸣器响,电机工作给水塔加水;按下水位1按钮时, 显示水位为“ 1 ”,低水位报警指示灯红灯灭,电机工作给水塔加水;按 下水位2按钮时,显示水位为“2 ”;按下水位3按钮时,显示水位为“3 ”; 按下水位4按钮时,显示水位为“ 4”,水塔控制工作正常运行;按下水 位7按钮时,显示水位为“ 7”,高水位报警,黄灯亮,蜂鸣器响,电机 停止工作。总体电路图见附录一。该自动系统才用自带存储空间的8051单片机芯片,造型袖珍,线路简 单,运行效率高。与外部的联系小,减少了外部干扰对系统的运行影响, 具有很好的稳定性。在内部干扰中,由于所有运算都有单片机芯片内部自 己完成,减少了数据传输损耗的可能性,对数据的运算传输可靠性高。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如: proteus仿真、C语言、模拟和数字电路知识等。虽然过去我从未独立应用 过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次 课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用 单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一 个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将 整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注 释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的 问题要记录,以免下次遇到同样的问题。仿真总图L % :定 1喧佃痢gn- “.: 心n.a?*ixiF2lh I: ra JuTn 网4出 ftSSHl理LS1源代码#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=P1A7;sbit k6=P1A6;sbit k5=P1A5;sbit k4=P1A4;sbit k3=P1A3;sbit k2=P1A2;sbit k1=P1A1;sbit k0=P1A0;sbit dj=P3A0;sbit fmq=P3A1;sbit led1=P3A2;sbit led2=P3A3;* 主程序“ 小小小小小小小小小小小void main()led1=0;led2=0;while(1)if(k6=1)dj=1;if(k7=
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号