基于单片机的水塔控制系统.docx
- 文档编号:25269237
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:13
- 大小:22.55KB
基于单片机的水塔控制系统.docx
《基于单片机的水塔控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的水塔控制系统.docx(13页珍藏版)》请在冰豆网上搜索。
基于单片机的水塔控制系统
基于单片机的水塔控制系统
基于单片机的水塔控制系统基于单片机的水塔控制系统设计摘要水塔是大型养殖场必不可少的部件,主要的功能是为家畜提供饮用水,冲洗养殖圈。
对水塔的管理不仅仅决定了家畜的生长,而且也关系着养殖场的收益。
在传统的管理方式下,水塔的管理是由相应的工作人员对水塔进行监视。
然而,人工管理方式存在很大的弊端,例如对水塔中水位的控制,要时刻的监控,尤其在夜间时,工作人员稍有疏忽,就会出现缺水现象。
若家畜缺水,家畜就会饮用地面上的脏水,这将致使家畜生病,不利于家畜的健康生长;若情况较为严重,将导致家畜在养殖圈中踩踏、撕咬,就会发生伤亡,直接降低养殖场的收益。
因此,对水塔的管理显得十分重要。
如果能够使用精密的、自动化的控制系统,则可以最大限度的降低缺水机率,同时也能有效提高养殖场的收益。
本文设计的是以单片机作为控制中心,运用单片机控制技术管理水塔中的水位,并实现了报警和手动、自动切换功能。
该水塔控制系统操作方便、降低工作人员的工作量,比较符合养殖场对水塔的管理。
关键词单片机水位控制报警引言1.1研究意义在当社会经济高速增长的同时,水在人们的生活、生产中起着重要的作用。
一旦出现缺水,轻则给人们生活带来极大的不便,重则出现造成严重的生产事故并造成不可挽救的经济损失。
因此,对供水系统的控制显得十分重要。
水塔是我国广泛应用的供水系统,传统的水塔水位控制方式存在很大的弊端,需要工作人员的时刻监控,不仅劳动强度大,而且工作效率低,最重要的是供水的安全性难以保障。
而自动控制则不需要工作人员的时刻监控,水塔控制系统能自动地调节水塔中的水位以保持恒定,以满足人们生活中用水需求。
在大型养殖场中,对家畜的饮用水控制显得十分重要,稍有不慎则会出现缺水现象。
若家畜缺水,家畜就会饮用地面上的脏水,这将致使家畜生病,不利于家畜的健康生长;若情况较为严重,将导致家畜在养殖圈中踩踏、撕咬,就会发生伤亡,直接降低养殖场的收益。
单片机,它是在一小块芯片上集成了一个微型计算机的各个组成部分,它的出现使众多自动化控制系统得以实现。
单片机不仅它功能强大、设计简单,而且制造廉价,支持指令集较多。
因此,本文对基于单片机的水塔水位控制器的研究有着重要的意义。
1.2研究内容在养殖场中水塔水位控制器主要完成的功能是对水塔水位的控制,完成家畜饮水需求。
此控制器主要是在水塔无人监控的情况下工作。
它能自动对水塔水位进行采样,并对水位输入信号进行分析,和设置好的水位参数进行比较,控制电机水泵的开启、停机实现对水位的调节。
系统中要求配置两台电机:
一台备用工作电机(B电动机)、一台工作电机(A电动机)。
在正常情况下,工作电机在抽水信号到达时被启动,若在规定的时间内无法启动,则自动切断工作电机,立即启用备用工作电机,并发出声、光报警。
系统还要求配置低水位,高水位,缺水灯光显示,电动机运行灯光显示来表示水塔的水位状态和电动机的运行情况。
水塔控制原理2.1单片机概述单片微型计算机(SingleChipMicrocomputer,SCM)简称单片机,它将微型计算机的基本功能部件(中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器以及I/O接口等)集成在一块芯片上。
随着SCM在架构上的不断发展,新一代单片机不断涌现,控制功能被不断地扩充,并将一些功能集成化,如A/D、PWM、WDT等。
由于单片机主要是面向控制的,因此又称其为微控制器。
2.2水塔供水设备原理水塔给水设备系统由两台给水泵机组、水箱和三只浮球开关组成,其系统结构如下图2-1。
图2-1水塔水箱给水控制器结构图其中M1、M2为给水泵机组,LG、LD、LDD分别为高水位、低水位、缺水浮球开关,当高水位(大于水塔总水位的90%)时,LG闭合,当低水位(小于水塔总水位的75%)时,LD闭合,当缺水(小于水塔总水位的50%)时,LDD闭合。
2.380C51单片机控制系统原理2.3.180C51单片机控制部分结构说明本系统采用的单片机具体引脚如下图[1]2-2。
图2-280C51结构图P1口和P3口为输入输出检测信号和控制信号,以下是芯片引脚具体功能分配:
P1.0:
缺水低输入信号,其中低0、高1。
P1.1:
低水位输入信号,其中低0、高1。
P1.2:
高水位输入信号,其中低0、高1。
P1.3:
手动与自动转换输入信号,其中手动1、自动0。
P1.4:
M1起动KM1控制输出信号,其中手动1、自动0。
P1.5:
M2起动KM1控制输出信号,其中手动1、自动0。
P1.6:
M1开关状态输入信号,其中开0、关1。
P1.7:
M2开关状态输入信号,其中开0,关1。
P3.0:
缺水报警输出信号。
P3.1:
低水位报警输出信号。
P3.2:
高水位报警输出信号。
P3.4:
手动起动M1输入信号,低电频有效。
P3.5:
手动起动M2输入信号,低电频有效。
P3.6:
手动停M1输入信号,低电频有效。
P3.7:
手动停M2输入信号,低电频有效。
2.3.2单片机水塔控制系统工作原理当水塔中水位低于时,同时启动M1、M2;当水塔中水位上升到总水位的50%以上总水位的70%以下时,停M2,M1继续运行;当水塔中水位上升到总水位的90%以上才停止M1;水塔中的水位一般保持在70%--90%。
报警控制:
当水塔中水位高于总水位的90%时,由传感器经变送器发送信号,LG闭合,高水位报警;当水塔中水位低于总水位的75%时,由传感器经变送器发送信号,LD闭合,低水位报警;当水塔中水位低与总水位的50%时,由传感器经变送器发送信号,LDD闭合,缺水位报警。
手动/自动模式转换控制:
全自动模式下,系统自动判断水位的状态,选择不同的工作状态。
手动的模式下,两台给水泵的运行控制可由人工自己操作。
水塔控制硬件设计3.1水塔控制系统硬件简介3.1.1数据采集及处理模块89C51[2]是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:
一个8位的微型处理器CPU、一个256K的片内数据存储器RAM、片内程序存储器ROM、四个8位并行的I/O接口P0-P3、两个定时器/记数器、五个中断源的中断控制系统、一个全双工UART的串行I/O口、片内振荡器和时钟产生电路,其中石英晶体和微调电容需要外接。
在全静态工作时振荡器频率为0~12MHZ。
以上各个部分通过内部总线相连接。
多数MCS—51指令周期为1—2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令。
对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读取两个字节,但MOVX指令例外,MOVX指令是访问外部数据存储器的单字节双机器周期指令,在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。
下面是80C51单片机的振荡电路如图[1]3-1。
图3-180C51震荡电路原理图引脚及其功能说明[1]:
外接晶振引脚XTAL1和XTAL2:
XTAL1(19脚),接外部石英晶体的一端。
它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚),接外部晶体的另一端,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。
对于CHMOS芯片,该引脚悬空不接。
输入/输出(I/O)引脚P0口、P1口、P2口及P3口。
P0口(39脚~22脚),P1口(1脚~8脚),P2口(21脚~28脚),P3口(10脚~17脚)。
P3口的第2功能[1]见下表3-1:
表3-1P3口的第2功能表综上所述,MCS—51系列单片机的引脚作用可归纳为以下两点:
(1)单片机功能多,引脚数少,因而许多引脚具有第2功能;
(2)单片机对外呈3总线形式,由P2、P0口组成16位地址总线。
3.1.2光电隔离简介为避免电机的起、停和电源波动时对电路的影响,输入输出均采用光电隔离。
光电隔离是半导体管敏感器件和发光二极管组成的一种新器件,它主要功能是实现电信号的传送。
输入与输出绝缘隔离,信号单向传输,无反馈影响。
抗干扰性强,响应速度快。
工作时,把输入信号加到输入端,使发光管发光,光敏器件在磁光辐射下输出光电流,从而实现电光点的两次转换。
继电器隔离是用电信号控制继电器的机械触电来实现隔离控制。
输出通过继电器,控制水泵机组的启、停和报警,其电路图如图[3]3-2:
图3-2光电控制电路原理图3.1.3给水泵电机主控回路介绍给水泵电机主控回路如下图[3]3-3。
图3-3水泵电机控制电路原理图3.280C51水塔控制系统主控硬件部署方案3.2.180C51单片机实现控制功能说明80C51是数据采集及处理模块核心,它主要完成控制系统对水位的高低信号进行采集,并对水位信号传输到控制系统中,然后对信号进行分析、判断等处理操作。
根据所采集到的信号驱动对应功能,实现对水塔水位的控制。
3.2.274LS373芯片实现系统功能说明该系统硬件主要由一个80C51单片机,一个74LS373和一个EPROM2764芯片构成。
其中74LS373[4]引脚图如下图3-4。
图3-474LS373结构图74LS373是一种带输出三态门的8D锁存器,引脚功能介绍:
D0~D7为8个输入端,Q0~Q7为8个输出端。
G为数据锁存控制端,当G为“1”时,锁存器输出端同输入端;当G由“1”变“0”时,数据输入锁存器中。
OE为输出允许端,当OE为“0”时,三态门打开,当OE为“1”时,三态门关闭,输出呈高阻状态。
在该基于80C51单片机水塔控制统中,采用74LS373作为I/O接口驱动使用,80C51与74LS373连接方法如下表3-2。
注:
括号内为引脚编号。
表3-280C51与74LS373连接方法其中OE
(1)、GND(10)接地,VCC(20)接+5V。
输入端D0~D7接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。
输出允许端OE接地,表示输出三态门一直打开。
实际连接请参考图附录1所示。
3.2.3EPROM2764芯片实现系统功能说明EPROM2764芯片是8K乘8字节的紫外线擦出、可编程只读存储器,单一供电(+5V),工作电流为75mA,维持为35mA,读出时间最大为250ns。
2764[5]具体引脚如下图3-5。
图3-52764结构图各引脚含义为:
A0-A12为13根地址线,可寻址8K字节,D0-D7为数据输出线,CE为片选线,OE为数据输出通线,PGM为编程脉冲输入端,VPP是编程电压,VCC是主电源。
正常工作(只读)时,VPP=VCC=+5V,PGM(20引脚)=+5V。
编程时,VPP=+25V(高压),PGM端加入宽度为50ms的负脉冲。
2764与80C51引脚连线如下表3-3。
注:
括号内位引脚编号。
表3-32764与80C51引脚连线其中CE(20引脚)接地,VCC、PGM、VPP接+5V。
74LS373与2764引脚连接如下表3-4。
注:
括号内位引脚编号。
表3-474LS373与2764引脚连线实际电路连接图如图附录1。
水塔控制程序设计4.1程序概要设计本系统程序开发,使用的语言给汇编语言。
程序实现当高水位处于LH、低水位LD、缺水LDD时,报警信号输出,判断泵水方式(自动或手动)。
当水位到达规定容量时,停止泵水。
在次程序中,低电平为有效(即0为有效),高电平为无效(即1为无效)。
4.2控制器程序原理4.2.1系统主程序原理以及流程框图主程序要实现的是对数据的初始化,并且判断用户是使用自动模式还是手动模式,根据用户的具体需求:
若用户选择自动模式,则程序调用自动化子程序;若用户选择手动模式,则程序调用手动子程序。
系统的主程序:
ORG0000HAJMPMAINORG0060HMAIN:
MOVP1,#FFH;P1、P3口初始化置1MOVP3,#FFHJNBP1.3,AUT;若手动在自动位置,跳到自动模式子程序AJMPMEN;否则转到手动模式子程序END主程序原理框图如下图4-1。
图4-1主程序原理框图4.2.2自动模式子程序原理以及流程框图自动模式子程序运行的前提条件:
系统处于运行状态、用户选择使用自动化控制模式。
自动模式子程序首先判断是否为高水位LG,若为高水位状态,则运行“高水位报警”程序,并返回主程序;若水塔中的水位不高,则继续判断是否为低水位LD,若为低水位状态,则试运行“低水位报警”程序;然后判断是否为缺水LDD,若没有达到缺水状态,则试判断“M1是否开启”,若没有开启,则开启M1;若“M1开启”,则判断“M2是否开启”,若“M2开启”,则程序运行“停止M2”程序;若“M2没有开启”,则试程序运行“延迟1分钟”,一分钟后程序“返回主程序”。
若达到缺水状态时,则运行“缺水报警”,并判断“M1是否开启”,若“M1未开启”则运行“M1开启”程序;若“M1开启”则程序判断“M2是否开启”,若“M2未开启”则运行“M2开启”程序,若“M2开启”,则运行“延迟一分钟”,一分钟后程序“返回主程序”。
自动模式程序:
AUT:
NOP;空命令JNBP1.2,LG;高水位LGJBP1.1LD;低水位LDCLRP3.1;缺水报警JBP1.0,LDD;缺水LDDCLRP3.0;缺水报警JNB3.1P1.6,Y1;M1已启动—Y1CLRP1.4;否则启动M1Y1:
JNBP1.7,Y2;M2已启动---Y2CLRP1.5;否则启动M2Y2:
ACALLDELAY;延时1分钟AJMPAUT;返回自动模式LDD:
JNBP1.6,Y3;单独运行M1(LDD〈水位〈LD)CLRP1.4Y3:
JBP1.7Y2SETBP1.5AJMPY2LG:
CLRP3.2;高水位报警LD:
AJMPMAIN;返回主程序自动模式子程序原理框图如下图4-2。
图4-2自动模式子程序原理框图4.2.3手动模式子程序原理框图以及流程框图手动模式子程序运行的前提条件是,系统开始运行、用户选择使用自手动控制模式。
手动模式子程序中判断语句的条件是依据用户的具体操作。
手动模式子程序首先判断是否为高水位LG,若高水位LG,则程序返回主程序;若没有达到高水位LG,则程序运行“判断有无键合”:
若“判断有无键合”则子程序进行循环;若“判断键合”,则程序判断“M1是否键合”。
若用户操作“M1键合”,则程序运行“判断M1是否开启”:
若“M1开启”则子程序进行循环;若“判断M1未开启”,则程序运行“开启M1”。
若用户操作“M1未键合”,则程序判断“M2是否键合”:
若用户操作“M2键合”,则程序运行“判断M2是否开启”;若“M2开启”则子程序进行循环;若“判断M2未开启”,则程序运行“开启M2”。
若程序判断用户均未进行“M1、M2键合”,则程序要判断“是否停止M1键合”。
若用户操作“M1停止键合”,则程序判断“M1是否停止”;若“M1停止”,则子程序循环;若“M1没有停止”,则程序运行“停止M1”。
若用户不操作“M1停止键合”,则程序判断“是否停止M2键合”:
若用户操作“M2停止键合”,则程序判断“M2是否停止”,若“M2停止”,则子程序循环;若“M2没有停止”,则程序运行“停止M2”。
手动模式程序:
MEN:
NOPJNBP1.1,MAIN;水位高返回主程序ACALLKEYCJNEA,#FOH,NN;有无键合AJMPMENNN:
JNBACC.4,HM1JNBACC.5,HM2JNBACC.6,DM1JNBACC.7,DM2AJMPMENHM1:
JNBP1.6,MENCLRP1.4AJMPMENHM2:
JNBP1.7,MENCLRP1.5AJMPMENDM1:
JBP1.6,MENSETBP1.4AJMPMENDM2:
JBP1.7,MENSETBP1.5AJMPMENRET手动模式子程序原理框图如下图4-3。
图4-3手动模式子程序原理框图结束语本文作者曾在大型养殖场中短期劳动过,了解到水塔的功能及其重要性。
认识到对水塔的管理在很大的程度上决定了养殖场的收益。
传统的水塔管理方式是定时监控水塔的水位,完全凭工作人员的个人经验。
这样的管理方式存在很大的弊端,不仅消耗大量的劳动力,而且效果也不是很明显。
基于上述背景,本文设计了基于单片机的水塔控制系统。
在本文的水塔控制系统设计中,80C51单片机是核心部件。
由于本文作者没有学习80C51单片机这门课程,初始对单片机的理解和认识是相当的模糊。
在近来的几天中,通过自学、查找资料、向懂得80C51单片机的同学请教,到目前为止,作者对单片机有了一个全面的了解和认识,并掌握了一些简单的、基本的控制单片机的方法。
在此学习摸索期间,学到了不少新知识,并对单片机的控制产生了浓厚的兴趣。
本文的水塔控制系统设计是基于水箱水位自动控制器的设计。
作者根据已学的《数字电子技术基础》、《模拟电子技术基础》、《汇编语言程序设计》、《微机接口技术》等课程知识认真、详细地阅读了《水箱水位自动控制器的设计》这篇论文,并利用模拟软件根据原文中所设计电路画出了总电路图,并对总电路图进行运行、测试。
在阅读上述设计的过程中也发现了一些不妥之处。
本文作者基于上述设计,并对上述设计中的不妥之处进行了改进,从而得到现在的设计。
本文的水塔控制系统实现了对水塔的自动控制、自动切换、自动报警等功能。
该水塔控制系统操作方便,降低工作人员的工作量,符合养殖场对水塔的控制。
由于时间的限制,缺少在单片机设计方面的经验,本文设计仍存在一些不足之处。
例如,本文作者只是根据自己在养殖场中的经历,设计了一些简单数据,并模拟测试了本文所设计的系统。
但是,在大型养殖厂中,作者并没有考虑到其他一些现实因素;对于大型养殖厂中,水塔不止一个,本文只是设计了对于单水塔的控制系统,并没有综合考虑其他的水塔控制。
在今后,要加对单片机的实践学习,掌握对单片机的复杂控制,并联系实际生活,尝试地做出相应的设计。
本文有些不足,望纪老师指正出来。
参考文献[1]黄仁欣单片机原理及应用技术清华大学出版社,2012[2]刘文涛单片机开发实例清华大学出版社,2005[3]童诗白,华成英模拟电子技术基础清华大学出版社,2011[4]阎石数字电子技术基础清华大学出版社,2011[5]马家辰MCS-51单片机原理及接口技术哈尔滨工业大学出版社,2009附录1附录1基于80C51单片机的水箱控制系统电路图第13页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水塔 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)