智能鱼缸控制系统结题报告
电信工二班二组
目录
人员分工………………………………… …………………………………………………2
1、智能鱼缸控制系统的基本内容及功能描述……………………………………………2
2、功能模块硬件简介与实现………………………………………………………………2
2.1、键盘输入电路…………………………………………………………………… 2
2.2、超声波传感器模块……………………………………………………………… 3
2.2.1、超声波传感器原理简介……………………………………………………3
2.2.2、超声波传感器时序图………………………………………………………3
2.3、温度传感器…………………………………………………………………………………4
2.3.1、温度传感器DS18B20简介…………………………………………………………4
2.3.2、DS18B20读写及初始化时序………………………………………………………4
2.3.3、DS18B20的一般操作过程…………………………………………………………4
2.3.4、DS18B20的温度存储方式即温度计算……………………………………………4
2.4、液晶屏1602显示电路 ……………………………………………………………………5
2.4.1、1602字符型液晶显示器实物 ………………………………………………………5
2.4.2、1602LCD的基本参数及引脚功能………………………………………………… 5
2.4.3、1602LCD的指令说明及时序……………………………………………………… 6
2.3.4、读写操作时序如图…………………………………………………………………6
2.4.5、硬件原理图…………………………………………………………………………7
2.5、继电器控制电路……………………………………………………………………………7
2.5.1、继电器简介………………………………………………………………………… 7
2.5.2、继电器驱动电路设计及工作原理简介…………………………………………… 8
2.6、充氧控制电路………………………………………………………………………………8
2.7、app的研究利用………………………………………………………………………………8
2.8、整体电路硬件设计…………………………………………………………………………9
3、TC90C516RD软件设计与实现……………………………………………………… …………10
3.1、整体设计思路介绍 …………………………………………………………………………10
3.2、主要部分流程图……………………………………………………………………… ……10
3.2.1、主程序流程图………………………………………………………… ……………11
3.2.2、外部中断流程图…………………………………………………………………… 11
4、总结与改进…………………………………………………………………………………………11
5、参考文献……………………………………………………………………………12
4、部分程序代码……………………………………………………………………………………13
人员分工
王洋洋:硬件焊接调试,单片机软件调试
王文杰:APP设计
宋坤:结题报告,器件购买,协助其余工作
一、智能鱼缸控制系统的基本内容及功能描述
此款智能鱼缸控制系统主要使用STC90C51单片机,提取温度传感器,超声波传感器的数据,控制加热器以及加抽水装置,实现温度和水位相对稳定,还具有按键换水,定期充氧的功能,实现保持鱼缸健康长久的状态
二、功能模块硬件简介与实现
2.1、键盘输入电路
由于设计中用到的按键数目不多,所以可以直接用STC90C516RD的通用IO端口且选用STC90C516RD的P1口(内部有上拉电阻)作为键盘接口。对于按键只需一端接地另一端接P1口即可。见下图(2-1):
换水按键:用于定期手动抽换鱼缸里的水,保持水的清洁(按下按键后抽水,当水位低于3cm时停止抽水,然后加水装置启动,直到水位到达10cm停止)
2.2、超声波传感器模块
HC- -4 SR04 超 声 波 测 距 模 块
2.2.1、超声波传感器原理简介 :
HC-SR04 超 超 声 波 测 距 模 块 可 提供 供 2cm-400cm 的 的 非 接 触 式 距 离 感 测 功 能 ,
测 距 精 度 可 达 高到 到 3mm; ; 模 块 包 括 超 声 波 发 射 器 、 接 收 器 与 控 制 电 路。
利用超声波传感器测量鱼缸的水位,水位过低(5cm以下)则启动加水装置,水位过高(10cm以上)则关闭加水装置,保持水位在合适的位置(5—10cm
基本工作原理:
(1)采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;
(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;
(3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声
波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
接线:VCC 供5V 电源,GND 为地线,
TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。
2.2.2、超声波传感器时序图 :
以上时序图表明你只需要提供一个 10uS 以上脉冲触发信号,该模块内部将
发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。
回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号
时间间隔可以计算得到距离。公式:uS/58=厘米或者 uS/148=英寸;或是:距离
=高电平时间*声速(340M/S)/2;建议测量周期为 60ms 以上,以防止发射信号
对回响信号的影响。
注 : 1、 、 此 模 块 不 宜 带 电 连 接 , 若 要 带 电 连 接 , 则 先 让 模 块的 的 GND 端 端 先 连 接 , 否 则 会 影 响
模 块 的 正 常 工 作 。
2、测 距 时 , 被 测 物 体 的 面 积 不 少于 于 0.5 平 平 方 米 且 平 面 尽 量 要 求 平 整 , 否 则 影 响 测 量 的结 果
2.3、温度传感器
2.3.1、温度传感器DS18B20简介
新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。利用数字温度传感器测量温度,并与加热器相联系,当温度过低(小于20),则加热器启动给鱼缸加热到合适的温度后停止加热,以此维持温度基本恒定
DS18B20的主要特性:
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(5)测温温范围-55℃~+125℃
(6)最高分辨率为0.0625℃。
2.3.2、DS18B20读写及初始化时序
2.3.3、DS18B20的一般操作过程
(1)、初始化;
(2)、跳过ROM(命令:CCH);
(3)、温度变换(命令:44H);
(4)、读暂存存储器(命令:BEH);
注意:每次读取温度都要经过上面四个过程。
2.3.4、DS18B20的温度存储方式即温度计算
DS18B20是用12位存储温度,最高位为符号位,下图为它的温度存储方式:
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
2.4、液晶屏1602显示电路
2.4.1、1602字符型液晶显示器实物
在LED屏上显示时间(年,月,日,时,分,秒),
温度,水位
2.4.2、1602LCD的基本参数及引脚功能
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明
编号 | 符号 | 引脚说明 | 编号 | 符号 | 引脚说明 |
1 | VSS | 电源地 | 9 | D2 | 数据 |
2 | VDD | 电源正极 | 10 | D3 | 数据 |
3 | VL | 液晶显示偏压 | 11 | D4 | 数据 |
4 | RS | 数据/命令选择 | 12 | D5 | 数据 |
5 | R/W | 读/写选择 | 13 | D6 | 数据 |
6 | E | 使能信号 | 14 | D7 | 数据 |
7 | D0 | 数据 | 15 | BLA | 背光源正极 |
8 | D1 | 数据 | 16 | BLK | 背光源负极 |
2.4.3、1602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令。
序号 | 指令 | RS | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | 清显示 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2 | 光标返回 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | * |
3 | 置输入模式 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S |
4 | 显示开/关控制 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B |
5 | 光标或字符移位 | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | * | * |
6 | 置功能 | 0 | 0 | 0 | 0 | 1 | DL | N | F | * | * |
7 | 置字符发生存贮器地址 | 0 | 0 | 0 | 1 | 字符发生存贮器地址 | |||||
8 | 置数据存贮器地址 | 0 | 0 | 1 | 显示数据存贮器地址 | ||||||
9 | 读忙标志或地址 | 0 | 1 | BF | 计数器地址 | ||||||
10 | 写数到CGRAM或DDRAM) | 1 | 0 | 要写的数据内容 | |||||||
11 | 从CGRAM或DDRAM读数 | 1 | 1 | 读出的数据内容 | |||||||
2.4.4、读写操作时序如图
2.4.4-(1)读操作时序图
2.4.4-(2)写操作时序图
2.4.5、硬件原理图
2.5、继电器控制电路
2.5.1、继电器简介
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
它有几个重要指标:
1、额定工作电压:正常工作时线圈所需要的电压。
2、直流电阻:继电器中线圈的直流电阻。
3、吸合电流:继电器能够产生吸合动作的最小电流。
4、释放电流:继电器产生释放动作的最大电流。
5、触点切换电压和电流:继电器允许加载的电压和电流。
2.5.2、继电器驱动电路设计及工作原理简介
采用晶闸管也可以用于小电流控制大电流电路,但是其控制电路比较复杂,而采用继电器其控制电路就比较简单,且具有电气隔离作用。虽然其响应速度没有晶闸管快但在低频情况下采用继电器控制电路较为方便。其电路图如下所示:
电路工作原理简介:当控制端口为低电平时,三极管导通继电器吸合,常闭触电断开,常开触点闭合。当控制端口为高电平时三极管关断,继电器线圈通过二极管放电并断开,常闭、常开触电复位。
2.6、充氧控制电路
为保持水中的含氧量达到鱼的正常需求,在水位不低于5cm,自动间歇性启动增氧器向水中充氧
2.7、app的研究利用
预计实现的功能是在启动功能后启动蓝牙通信并且接管单片机的自动控制功能。接收温度和水位的数据并且显示相应的数据,在点击温度和水位的按钮后绘制随时间变化的波形。输入水位和温度后点击加水或加热就会控制系统加水或加热。实际实现的功能是在启动功能后启动蓝牙通信
界面:
部分程序:
3、STC90C516RD软件设计与实现
3.1、整体设计思路介绍
软件设计整体思路:主程序部分进行一些初始化以及温度的读取;;定时器0进行键盘的扫描及相关操作;定时器1进行温控速度、以及相关需要延时(如倒计时等等)的操作。
3.2、主要部分流程图如下:
3.2.1、主程序流程图
图 3-1
3.2.2、外部中断流程图
图 3-2
4、总结与改进
基于STC90C51RD单片机所设计与研制的智能鱼缸控制系统造价不高但实用性强,解决了外出旅行无人看管鱼的窘况,自动换水调温、氧气定时充入也有效防止对鱼疏于管理,基本功能实现顺利。除此以外,检验调节光照,定时投喂鱼食是下一步可以扩展的部分,如果经费足够,还可加入检测氧浓度的传感器配合充氧,检测鱼的运动轨迹判断健康状况等功能
5、参考文献
【单片机原理与应用】 山东大学出版社 王洪君主编
【电子制作基础】 西安电子科技大学出版社 张建强、陈丹亚编著
本文来源:https://www.2haoxitong.net/k/doc/07f28d0db8f67c1cfad6b8fa.html
文档为doc格式