本科毕业设计鱼缸环境自控系统设计Word文档格式.docx
- 文档编号:16351429
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:20
- 大小:388.73KB
本科毕业设计鱼缸环境自控系统设计Word文档格式.docx
《本科毕业设计鱼缸环境自控系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《本科毕业设计鱼缸环境自控系统设计Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
因此,将鱼缸进行智能化的设计以帮助它降低价格进行推广,也是一个需要解决的问题。
针对这个情况,本课题设计了一个基于51单片机的智能鱼缸系统。
本作品使用STC89C52,使各个模块相互配合进行协调的工作。
它能够检测鱼缸水位、水温并且控制喂食以及加氧时间等。
从而能够满足饲养鱼的生存条件,并且能够成为集装饰、欣赏、使用于一身的鱼缸。
关键词:
51单片机;
智能鱼缸;
自动调整
ABSTRACT
People'
sincomeincreases,sopeopletopursueacomfortablelifewillbecomeanewtrend.Raisingflowerathome,isfullyreflectedinthisregard.Breedingandornamentalfishinthebedroom,canmakepeople'
smoodtorelax,toeliminatefatigueandpressureofstudyandworkisgood.Ifyouwanttobreedfishwillneedtobuyfishtank,butnowthemarkettherearealotofdisadvantages.Feedingfish,mostareusingtraditionalfishtank.Itrequireshumanchangewaterandcontrolsomeissuessuchasillumination,itisdifficultforfishbreeding.Andthemostintelligenttankisbulkyandexpensiveprice,can'
tgetagoodpopularity.Asaresult,thefishtankinthedesignoftheintelligenttohelplowertheprice,itisalsoaneedtosolvetheproblem.
Aimingatthissituation,thistopichasdesignedaintelligenttanksystembasedon51singlechipmicrocomputer.ThisworkUSESSTC89C52,makethevariousmodulestogethertocoordinatethework.Itcandetectthetankwaterlevel,watertemperatureandoxygenfeedingandcontroltime,etc.Thuscansatisfytheconditionsofexistenceoffeedingthefish,andcanbesetdecoration,appreciation,useinafishtank.
KeyWords:
51singlechipmicrocomputer;
Intelligentfishtank;
Automaticallyadjust
1引言
1.1智能鱼缸的市场竞争力分析
新的世纪,科技发展的极其迅猛,人们的物质与生活的水平得到了极大的提高。
人们对于周围环境的舒适程度的要求也变得越来越向着智能、人性化的目标发展。
花鸟鱼虫的饲养以及观赏,在这一方面更是得到了全面的显现。
它能够使人们的心情得到放松。
同时,对于人们学习还有工作中的身体以及心理的疲劳有着很大的缓解与释放的作用。
饲养观赏鱼类就需要鱼缸,大多数的饲养者都在使用着传统的鱼缸。
但这种老式的鱼缸,需要人工的换水、加氧、补光,在对鱼进行饲养的时候存在着一些问题。
然而,现在市场上的智能化的鱼缸价格多数比较高,让使用者没有办法接受它高昂的价格,它的占地面积也比较的大,不利于搬运。
并且,在价格高昂的同时外观却不是那么漂亮,性能上也不是很稳定。
因此,一款外观、性能、功能、品质都比较不错,价格也很符合普通民众需要的智能化的鱼缸也就拥有了更加广阔的市场前景。
鱼缸在使用一段时间之后就会存在一定的问题,市场中有很多的类似于鱼缸的温度控制、更换水、加氧气还有鱼缸照明等不同的设备。
比如说:
过滤水设备能够过滤掉水中的异物、加热设备能够给水进行加热、加氧的设备能够提高水中的含氧量等。
然而,各种产品从种类上来讲多种多样,从功能上讲每种产品的效果也不尽相同。
而且,这些产品中大多数的鱼缸都不是智能化的产品,不能简化人们需要做的工作。
大多数的鱼缸类产品都是单一、独立的被使用。
只是使用人工的方式或者是电源的打开与关闭还有按键的功能切换等这些方式来进行操控,远远不能达到使用者的设想与需求。
而且,如果使用者购买了很多不同的设备进行独立的安装之后,如果没有一个系统能够全面的将控制温度、加氧气、鱼缸照明还有换水等功能集合在一起,就无法将它的性能完全的使用。
相反,这会导致使用不灵活、不便利,使用的效果达不到要求等情况的发生,整体的性能也就因此而无法得到增强与提高。
与目前饲养鱼等水族品行业的市场相比较,功能齐全智能化的鱼缸系统的研究与制造仍然属于最初的阶段,它们的产品也处于供应不能满足需求的阶段。
1.2智能鱼缸的实现
由于现在国内与国外的水族行业的发展的情况不同、技术也不同,甚至鱼缸以及对于观赏鱼类种类、饲养的需求也不同。
对于这些情况,需要进行分析,然后对本行业的鱼缸类的控制设备的研究与制造的优缺点进行一些总结。
最后,再去进行设计并且研发制作一款拥有低廉的价格,简单的操作,功能齐全的鱼缸智能控制系统。
它能够具有节约能源、调控温度、自动加氧、控制水位、调控光照与食物数量等这些基本的功能。
自然界中,光和水是万物生长的来源。
它们的一些变化能够改变动物的生活习性以及生理变化。
比如骆驼,在环境的变化中慢慢的适应着没有水的情况。
另外,光照、光强对于鱼类的一些影响,国内外的专家一直对其有所研究。
数据证实光照与光强对于鱼类的繁殖、新陈代谢等活动都会有重要的辅助作用。
正是由于光的重要程度,它才因此在鱼缸的设计中成为了一个不可或缺的考虑因素。
之前的研究表明,光照能够促进植物的光合作用,并且吸收二氧化碳然后排出氧气。
这一点在热带鱼的身上体现的非常明显,如果光线减弱或者消失热带鱼就无法生存下去。
氧气也是鱼类生长与生存的必需条件。
鱼类能够非常敏锐的感受到水中含氧量的变化,当水中缺少氧气的时候,鱼会浮到水面。
这时,如果不能及时的增加水中的氧气的含量,任由鱼浮在水面,那么过不了多久,鱼就会因为窒息而死。
智能化的鱼缸就能够在这些必需的条件上满足鱼对于生存条件的需求。
它可以检测这些参数的实时情况,提供给饲养者。
饲养人根据这些参数,可以增加或者减少光照、温度、氧气。
这些都是传统型的鱼缸所不具备的,因此智能化的鱼缸的实现在很大程度上能够减轻饲养者的饲养难度。
2整体系统的选择方案与分析
2.1整体系统的分析
本智能鱼缸系统的设计将能够满足以下的这些功能:
第一,高、低水位的检测。
用一个LM393比较器,当达到水位的时候比较器输出高电平。
第二,温度输入。
它能够检测鱼缸的水温,对温度进行控制。
第三,加氧功能。
它使用继电器控制气泵实现这个功能。
通过两个继电器控制变换相,实现正转还有反转。
第四,喂食功能。
单片机对舵机进行操控,舵机控制喂食机械装置进行相应的运转。
第五,显示功能。
1602液晶能够将温度,预置时间、喂食时间、充氧时间这些参数显示在屏幕中供使用者参考。
控制系统需要完成以上的各个功能要求,需要具备单片机最小系统,按键模块,电机模块,显示模块、温度模块还有红外模块、比较器模块等等。
本设计的控制系统的总框图如图2-1所示:
图2-1系统总框图
2.2硬件电路模块的分析
本设计中需要显示一些参数,因此需要添加显示模块。
当下,显示类元件种类很多。
数码管,成本上来讲相对其他的显示模块是最低的。
但是,它的焊接比较复杂,在编写程序的时候也比较麻烦。
只是能够显示数字和简单的字母,因此在本设计中不使用。
LCD12864液晶屏自带字库,即可以显示汉字。
同时,它也能够显示图片和字符。
然而,它的成本是最高的,体积也是最大的,鱼缸只是需要显示一些参数并且减小占用面积,因此我们也不选用。
LCD1602可以显示16×
2的字符,控制起来比较简便,能够达到预想的设计效果,因此在本设计中使用1602液晶屏作为显示元件。
另外,本设计中需要一些数据。
这些数据需要一些传感器进行实时的监测。
因此,选用DS18B20作为温度传感器芯片,光敏电阻传感器模块作为光强检测元件,还有红外接收器接收红外信号等。
3系统的硬件设计
3.1STC89C52RC控制模块的设计
单片机就是一块由微处理器、存储器还有各种输入输出接口组合在一起的芯片。
本设计使用的是STC89C52芯片,这是STC公司生产的芯片。
该芯片为8051内核,内部含FlashE2PROM存储器,该元件为CMOS器件。
它的内部程序存储空间为8KB,内部RAM(随机读写存储器)为512B。
本设计中使用的是40脚DIP(双列直插)封装的单片机,它的最小系统原理图如图3-1所示:
图3-1最小系统原理图
单片机中有两种时钟电路:
内部或者外部时钟电路。
它的P3.0还有P3.1两个管脚上连接定时元件的是内部时钟电路方式。
外接晶振然后通过分频电路进行分频的是外部时钟电路方式。
通常的来讲,在制作51单片机的硬件电路的时候,使用内部的时钟方式比较简洁明了。
然而,内部时钟电路所产生的时钟信号并不是很稳定。
与之相反,虽然外部时钟电路的硬件电路比内部的方式显得较为复杂。
但是,外部时钟电路产生的信号更加的稳定、性能也更加的好。
因此,外部时钟电路一直被制作者广泛的在使用。
STC89C52单片机的XTAL1和XTAL2两个引脚在外接晶振后,又在晶振的两端各连接了一个电容,它们的功能是帮助晶振起振还有维持震荡信号的稳定。
单片机的复位有上电复位、手动复位和程序自动复位三种情况。
最简单的上电复位是通过外部的复位电路的电容进行充电来来实现的。
按键手动复位的电平复位方式是通过RST端经电阻与电源VCC接通而实现的。
按键脉冲复位则是利用RC微分电路产生的正脉冲实现的。
3.2温度模块的设计
温度传感器是温度计的核心器件,它可以代替人体感受外界温度的变化。
单片机控制中一般使用的是DS18B20温度传感器,它的性能比较稳定,占用的输入输出(I/O)口资源也少。
它能够将读到的温度转成二进制的格式然后发送给单片机进行处理。
之后再由单片机将二进制的数据转变成十进制进行显示。
由于本设计中需要检测水的温度变化,因此就要选择带有防水型水温探头的DS18B20。
它的引脚图如图3-2所示:
图3-2DS18B20实物图
它只需要单线就能够与单片机进行通信。
它检测温度的范围是零下55度到零上125度之间,完全可以满足正常生物生存的温度范围。
DS18B20只有3个引脚,它的引脚功能介绍如表3-1所示:
表3-1DS18B20引脚功能介绍
在实际的使用中,它能够直接的读出被测量的温度,同时能够根据实际的要求通过简单的编程实现9-12位的数字值读数方式。
STC89C52单片机会根据DS18B20的时序图来进行程序的初始化、数据的写入还有数据的读取工作。
它的访问顺序是这样的:
首先,对DS18B20芯片进行初始化,其次,再对ROM进行操作,最后,才可以对存储器的数据进行访问。
DS18B20的每一步的操作都必须严格按照它的工作时序还有通信协议来完成。
例如:
主程序控制DS18B20完成温度的转换的过程。
依据它的通信协议要求,会有三个步骤。
首先要在每一次的读取或者写入数据之前对芯片进行复位操作,然后在复位成功的情况下发送一条ROM指令。
最后,再发送RAM指令,只有这样才能对DS18B20完成预定的操作。
当DS18B20接收到温度转换的指令之后,开始启动转换。
转换完成之后,温度值就会以16位带符号的二进制补码形式存储在高速暂存存储器的第一、二字节。
单片机能够通过单线接口读取到该数据,读取的时候高位在后面,低位在前面。
表3-2是对应的一部分温度值。
表3-2部分温度值
在硬件的连接上,DS18B20与51单片机有两种连接的方法。
第一种是VCC外接电源,GND接地。
而I/O接口则是与单片机的某一I/O口相连接。
第二种是使用寄生电源进行供电,这时候VDD与GND都接地,I/O口还是连接单片机的某一I/O口。
在本设计中,使用的是第一种连接方式,它的电路原理图如图3-3所示:
图3-3温度模块电路原理图
在实际的控制时,单片机与温度传感器有约定的代码。
当需要对温度进行控制时,代码为44H,即可启动DS18B20进行温度的转换。
当需要读取暂存器的时候,需要在程序中写入BEH代码,即可读取暂存器9个字节的内容。
而对暂存器写入数据则是利用4EH代码进行表示,能够将数据写入暂存器的TH与TL字节。
读取、写入数据与初始化相同,也是通过改变数据的输入输出状态来进行的,这相当于一个协议,只需要遵守它,写程序就可以正常的进行工作了。
3.3按键模块的设计
本设计中使用的是独立按键的形式,它是按键电路的一种。
4条输入线连接到I/O口端,当按键SET0按下的时候,VCC电源通过R10电阻后,再通过按键SET0进入GND形成完整的通路。
这个通路的电压完全在电阻上,SET0引脚就是个低电平。
当按键被松开之后,线路就会断开。
于是,电流也就因此不会通过,SET0与VCC就应该是等电位,相当于高电平。
我们通过检测该引脚是否为低电平即刻知道这个按键是不是被按下。
单片机的I/O口内部也有一个上拉电阻存在。
按键连接到了P1口,P1口为准双向I/O口。
当I/O口内部为高电平的时候,经过一个反相器变为低电平,MOS管就不会导通。
由于内部上拉电阻的存在,所以就是一个高电平。
如果外部没有按键被按下,VCC也是5V电压,虽然电路中有两个电阻,但是没有压差,也就没有电流存在,所有位置均为高电平。
当内部为低电平的时候,经过反相器变为高电平,MOS管导通。
单片机的I/O口就是一个低电平,外部虽然有上拉电阻,但是这两个电阻为并联的关系。
不管按键是不是被按下,单片机的I/O口输入到内部的状态都是低电平。
它的电路原理图如图3-4所示:
图3-4按键电路原理图
3.4显示模块的设计
本设计中使用的液晶屏幕是1602液晶屏。
它有背光与不背光两种形式。
从名称中即可看出它的显示容量,也就是两行每行16个字符。
工作电压为4.5-5.5V,本设计中使用的单片机完全可以满足这一电压要求。
它一共有16个引脚,它的引脚介绍如表3-3所示:
表3-31602液晶引脚介绍
第一脚为接地电源,第二脚为接+5V电源,第三脚为液晶屏幕对比度调节端。
当接地的时候对比度最高,接正电源的时候对比度最低,在使用的时候,添加一个10K的电位器对对比度进行调节。
第四脚为RS寄存器。
当该脚为高电平的时候,选择数据寄存器,相反,低电平的时候选择指令寄存器。
第十五脚为背光源的正极,十六脚为负极。
第7至14脚为D0至D7的8位数据线。
第六脚为使能端,当这个管脚由高电平变为低电平的时候,液晶模块执行相应的指令。
在这些引脚中,最复杂的就是第五脚R/W读写信号线端。
当这个引脚为高电平,进行读操作;
当这个引脚为低电平,进行写操作。
控制器的内部带有80B的RAM缓冲区,当我们向00-0F、40-4F地址中的任意地址写入显示数据的时候,液晶都可以立即显示出来。
但是,当写到10-27或者50-67地址的时候,就必须通过移动屏幕的指令将它们移入可显示区域才能够进行正常的显示。
原则上来讲,每一次爱再对控制器进行读取或者写入的操作之前,都必须要进行读/写测试,确保状态字最高位(STA7)为0。
但是,通常在实际中,51单片机的处理数据的速度不是那么的快速,会慢于液晶控制器的反应速度。
因此,使用STC89C52单片机的时候就不需要进行此测试过程了,或者只是进行短暂的延时即可。
分析1602液晶屏的时序图可以了解到,首先,需要通过RS寄存器确定是写数据还是写命令。
写命令包含了液晶屏幕的光标是否显示、是否闪烁是否需要移屏什么地址显示等这些操作。
写数据则是需要确定需要显示什么内容。
之后,将读写控制端设置为写数据的模式,也就是低电平。
然后,可以将需要显示的数据写入数据线中。
最后,给使能端一个高电平即可将数据写入液晶控制器中,完成写数据的操作。
它的硬件连接图如图3-5所示:
图3-51602液晶模块硬件原理图
3.5LED显示模块
本设计中使用了加温指示灯、加氧指示灯、换水指示灯、喂食指示灯还有设置指示灯。
这些指示灯都是利用LED发光二极管作为显示器件的。
发光二极管可以将电能转变成为光能,可以将它简写为LED。
发光二极管中有一个PN结,因此它具有单向导电的特质。
一般情况下,LED有自己的正向额定电流,如果超过这一额定电流可能会造成发光二极管的损坏。
所以一定要在电路中串联电阻限制电路中电流的大小。
它的硬件原理图如图3-6所示:
图3-6LED显示模块硬件原理图
由它的硬件原理图可知,发光二极管的正极连接在一起,连接VCC(+5V)。
而它们的负极则是分别连接五个不同的I/O口。
现以Green灯举例,其它各灯的控制原理相同。
VCC端电压为5V,如果想要导通这个支路,那么就需要将I/O口端置为低电平。
当I/O口端为低电平,那么这个支路就有了压降,因此就有了电流。
发光二极管正常导通的时候,假设它的电压为1.7V,那么电阻的电压就为3.3V。
由于发光二极管导通电压在1.7V至2.4V之间,因此,根据欧姆定律可以知道,电阻的范围只需要保证发光二极管可以导通即可。
3.6其余模块
本设计中,还有比较器模块,光敏模块以及红外接收模块。
本设计中使用的光敏电阻传感器模块,它的作用是检测亮度的变化。
随着亮度的变化,阻值也会相应的发生变化的电阻成为光敏电阻。
它的阻值一般有两种变化:
第一种,当入射的光强的时候,电阻减小,入射光弱的时候,电阻增大。
另一种正好与之相反,入射光强电阻增加,入射光弱电阻减小。
灵敏度越高的光敏电阻,在光的亮度发生变化的时候,就能够感知,阻值也会相应的发生变化。
光敏电阻的模块对环境光线最为敏感,一般使用它来检测周围环境的光线的亮度,然后利用单片机进行相应的操作。
本模块在环境中的光线亮度达不到设定的额定值的时候,DO端就会输出一个高电平,而当外界环境的光线亮度超过设定的额定值的时候,DO端就会输出低电平。
DO输出端直接与单片机相连接,因此可以通过单片机去检测D0端是高电平或者是低电平,并由此去判断环境中的光照强度是否发生了变化。
本设计中还使用了一个红外接收管,目的是接收红外信号。
它有三个引脚,一个VCC,一个GND,还有一个OUT。
红外接收头的内部有一个接收管可以将红外发射管发射出来的光信号转换成为微弱的电信号。
然后这个信号经过IC内部的放大器进行放大,最后通过接收头的信号输出引脚输入到电器的编码识别电路中。
红外编码的关键就是识别0还有1。
红外接收头一般是将接收、放大、解调结合在一起的一体头。
一般红外信号经过接收头解调后,数据0还有1的区别通常体现在高低电平的时间长短或者信号周期上。
它的原理图如图3-7所示:
图3-7红外接收原理图
本设计还是用了一个LM393比较器,达到水位后,比较器就会输出1,如果水位没有达到要求,比较器就输出0。
它的工作电源的电压范围宽,消耗的电流小。
它的内部框图如图3-8所示:
图3-8LM393内部框图
它的引脚介绍如表3-3所示:
表3-3LM393引脚介绍
在电路中,所有不用的端口都需要接地,因为在本电路中只需要比较水位的高低,因此,只占用两个I/O口,它的硬件原理图如图3-9所示:
图3-9比较器硬件原理图
4系统的软件设计
4.1主程序的设计
首先,需要设定程序的初始状态。
即打开中断开关还有设定一些基础的参数,例如:
温度、充氧时间、喂食时间等,将这些参数显示在1602液晶显示屏中。
然后,对各个传感器进行初始化设置。
将红外传感器、液晶屏幕设定为实时扫描状态。
之后,对实时的状态进行扫描。
如果在扫描的过程中发现有变化的参数,即中断产生,那么将变化的参数显示在屏幕上。
主程序的流程图如图4-1所示:
4.2中断子程序的设计
中断系统,它的存在在很大程度上提高了51单片机对于外部或者内部的突发事件进行处理的能力。
在它的内部一共有5种中断源。
也就是相当于在这五种情况发生的时候,单片机会停下当时正在操作的工作转而去进行中断的程序的运行。
写51单片机的定时器程序的时候,需要在程序的一开始对定时器以及中断寄存器做一些初始化的设置。
通常来说,初始化的过程这样完成的:
首先,需要确定TMOD寄存器的值,也就是确定是使用T0或者T1中断计数器/计数器,本设计中使用的是中断计时器0的工作方式1。
之后,对初值进行计算,对IE寄存器进行赋值并开放中断,将TR1或者TR0置为高电平,启动定时器。
在本设计之中,当参数被改变的时候,中断就会启动。
直到解决了参数更改的问题之后,中断就会关闭。
中断子程序流程图如图4-2所示:
图4-2中断子程序流程图
4.3显示子程序的设计
首先,对屏幕的参数进行初始化设定。
例如,设定1602液晶显示模式、显示开关及光标的设定、确定写命令还是写数据等。
之后,需要设定传感器及充氧、喂食时间等参数的初始值。
当使用者选择某一功能的时候,1602液晶屏进行相应的显示。
当有参数产生了变化的时候,液晶显示屏也会同步的显示出来。
显示子程序的流程图如图4-3所示:
图4-3显示子程序流程图
5系统整体调试
5.1测试方法
第一步,连接好电源,打开开关后,看一下液晶的显示功能是否正常。
正常的屏幕中可以显示着温度、光照还有水位等参数的初始值。
然后,分别改变每一种传感器的设置状态,看一下相应的数值是否出现变化。
第二步,设定定时的喂食时间,到时间后,喂食设备就会工作。
设定一个温度的平衡值,当传感器检测到温度的值小于此值的时候,就需要打开加热装置。
而当检测到的温度值高于设定的平衡值的时候,加热装置就需要停止工作。
第三步,按下水泵的开关按键,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 鱼缸 环境 自控 系统 设计