机电一体化课程设计--智能鱼缸设计.doc
《机电一体化课程设计--智能鱼缸设计.doc》由会员分享,可在线阅读,更多相关《机电一体化课程设计--智能鱼缸设计.doc(24页珍藏版)》请在冰豆网上搜索。
滨州学院本科毕业设计(论文)
机电一体化课程设计
说明书
题目:
智能鱼缸设计
班级:
机电一体化11-9班
组长:
组员:
(按拼音先后排序)
二〇一四年十月
20
课程设计
摘 要
随着社会的发展和人们生活质量的提高,越来越多的人喜欢饲养观赏鱼。
但如果由于某些原因忽视了对观赏鱼的照顾,观赏鱼则有可能因饥饿或鱼缸内生态环境变坏而死亡。
因此,设计一款智能鱼缸系统是非常必要的。
本文设计了一款基于单片机的智能鱼缸系统。
本设计选用ArduinoUNO单片机作为自动喂养系统的控制核心,用传感器采集鱼缸内的环境参数。
经数据处理后,单片机向各执行机构传送控制信号,实现自动喂食和对鱼缸内温度、水位等环境因素的自动控制,从而为观赏鱼创造一个良好的生存环境。
本设计采用了模块化的设计方法,主要包括主控芯片模块、喂食器模块、温度控制模块、水位控制模块和换水模块。
本设计集众多功能于一身,具有结构小巧,操作简便,成本低廉等优点,可以广泛应用于观赏鱼的饲养。
关键词:
自动喂食器结构;单片机;传感器;自动控制;驱动电路;C语言
目录
摘 要 I
目录 II
第一章绪 论 1
1.1研究目的 1
1.2国内外研究现状 1
1.3研究的主要内容和目标 1
第二章 模块方案选择与论证 2
2.1硬件框图 2
2.2主控芯片模块 2
2.3温度测量模块 3
2.4水位检测模块 3
2.5喂食器模块 3
2.6换水模块 4
2.7显示模块 5
第三章各模块的具体设计 7
3.1控制模块 7
3.2温度测量模块 7
3.3水位检测模块 8
3.4电机模块 9
3.5喂食器模块 12
3.6显示模块 14
第四章系统原理图 15
第五章结论 17
5.1设计总结 17
5.2创新点 17
参考文献 17
附录18
第一章绪 论
1.1研究目的
随着社会的发展和人们生活质量的提高,越来越多的人喜欢饲养观赏鱼。
它在美化我们生活环境的同时,给我们带来了视觉上的美感和身心享受。
但人们不可能每时每刻都控制好鱼类的生活环境,如果由于某些原因长时间忽视了对观赏鱼的照料,观赏鱼则有可能因饥饿或生态环境变坏而死亡。
因此,设计一款智能鱼缸系统是非常必要的。
1.2国内外研究现状
目前市场上的鱼缸系统功能比较分散,往往只能实现某个功能,如过滤功能,增氧功能,加热功能等,而且大多需要人工操作,自动化程度不高。
喂食器部分主要采用以定时电路为控制核心的单次间歇式喂养系统,喂食器每次喂食都需要重新设定,且定时不准确,投料不均匀,可靠性差,喂食与间歇时间设置不合理,易浪费饵料,这些都无法满足观赏鱼自动喂养的功能要求。
倘若同时安装各种功能不同的设备,又会使系统结构复杂,增加成本,影响美观,而且也缺乏彼此功能的协调性。
现在越来越多的人们开始注重生活环境的改善,水族箱便进入了人们的视线,许多宾馆、展会、写字楼等都摆上了水族箱来美化环境,应用于水族箱的观赏鱼自动控制系统应运而生,由于水族箱一般体积较大,而且该自动喂养系统嵌入在水族箱的橱柜内,不可分离,使自动喂养系统移植性差,无法应用于小型的观赏鱼鱼缸上。
智能鱼缸系统在市场上还基本处于空白,基于这个市场空白,本文设计了基于单片机的自能鱼缸系统。
1.3研究的主要内容和目标
本设计选用ArduinoUNO单片机作为自动喂养系统的控制核心,加上外设备组成单片机最小系统,用传感器采集环境参数,输入单片机处理,单片机控制各执行机构实现自动喂食,水温自动控制,水位自动控制,力求系统集成化高,结构小巧,操作简单。
设计思路大体为:
设计方案的选择,机械结构的设计,程序的编写,电路设计,修改校核,撰写说明书和总结。
本设计所要达到的预期目标:
1.可以定时投掷颗粒状饵料
2.可以实现水温的自动控制
3.可以实现水位的自动控制
4.可以实现定时换水
5.可以实时显示参数设置数据
第二章 模块方案选择
2.1硬件框图
喂养系统硬件框架图
2.2 主控芯片模块
采用ArduinoUNO作为主控制芯片,该芯片有足够的存储空间,可以方便的在线ISP下载程序,能够满足该系统软件的需要,该芯片提供了两个计数器中断,对于本作品系统已经足够,采用该芯片可以比较灵活的选择各个模块控制芯片,能够准确的计算出时间,有很好的实时性。
而且与传统51相比有如下优点
(1)学习Arduino单片机可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用Arduino单片机编写程序。
(2)Arduino软件语言仅仅需掌握少数几个指令,而且指令的可读性也强,稍微懂一点C语言即可,轻松上手,快速应用。
(3)Arduino的理念就是开源,软硬件完全开放,技术上不做任何保留。
针对周边I/O设备的Arduino编程,很多常用的I/O设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。
-->针对DIY,做绚丽作品.
(4)Arduino由于开源,也就意味着从Arduino相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。
(5)相对其他开发板,Arduino及周边产品相对质廉价优,学习或创作成本低,重要一点是:
烧录代码不需要烧录器,直接用USB线就可以完成下载。
-->针对所有想玩电子编程者。
总之,Arduino编程变得简单更人性化和直观,没有单片机基础的人也能很快上手,是一种综合性较强,开放性较高操作系统。
2.3 温度测量模块
LM35是很常用且易用的温度传感器元件,在元器件的应用上也只需要一个LM35元件,只利用一个模拟接口就可以,难点在于算法上的将读取的模拟值转换为实际的温度。
目前,已有两种型号的LM35可以提供使用。
LM35DZ输出为0℃~100℃,而LM35CZ输出可覆盖-40℃~110℃,且精度更高,两种芯片的精度都比LM35高,不过价格也稍高。
结合本设计应用,我们选择LM35DZ即可。
规格参数,工作电压:
直流4~30V;工作电流:
小于133μA;输出电压:
+6V~-1.0V;输出阻抗:
1mA负载时0.1Ω;精度:
0.5℃精度(在+25℃时);漏泄电流:
小于60μA;比例因数:
线性+10.0mV/℃;非线性值:
±1/4℃;校准方式:
直接用摄氏温度校准;额定使用温度范围:
-55~+150℃。
引脚说明:
①电源负GND;②电源正VCC;③信号输出S;
2.4水位检测模块
采用投入式液位计。
投入式液位计又称为静压投入式液位变送器,是一种测量液位的压力传感器.由于液体静压与该液体的高度成比例,该液位计就是根据这一原理采用隔离型扩散硅敏感元件或陶瓷电容压力敏感传感器作为测量元件,将静压转换为电信号,经过高可靠性的放大处理电路及精密温度补偿,将被测介质的表压或绝压转换为标准的电压或电流信号。
本产品体积小巧,使用安装方便,直接投入水中即可测量出变送器末端到液面的液位高度。
查资料得,应选取YWZ-200液位计。
2.5喂食器模块
1)驱动采用步进电机。
步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
选型MP28GA,具体参数如下:
2)机械结构采用步进电机驱动自己设计的食物储存器里,具体设计见下一章内容。
2.6换水模块
采用单片机控制电磁阀定期打开,来控制换水。
选用直动式电磁阀。
直动式电磁阀,通电时,电磁线圈产生电磁力把关闭件从阀座上提起,阀门打开;断电时,电磁力消失,弹簧把关闭件压在阀座上,阀门关闭。
翻阅相关资料,选取JY2303型号,其相关参数如下:
尺寸,25;阀座直径,25mm;流量系数,12.0kv;流体压力范围0~0.8MPa
2.7显示模块
方案1:
采用七段数码管显示。
数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、温度等参数。
由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,但数码管显示屏不能显示汉字[10]。
方案2:
采用1602LCD显示屏。
字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。
该液晶显示器体积小、功耗低、显示内容丰富、超薄轻巧使用方便,在各种仪器仪表和低功耗应用系统中应用广泛[11]。
方案3:
采用全彩LED显示屏。
该彩屏不仅能够显示数字、字符而且能够显示图像,性能稳定,色彩艳丽,画面逼真,在手机,相机等数码产品中有着广泛的应用。
但这种显示屏相比较而言价格较贵。
综合设计要求,系统需要显示数字、字符但不需要显示画面,为了节约成本我们采用方案2。
1602LCD主要技术参数:
显示容量为16×2个字符;芯片工作电压为4.5~5.5V;工作电流为2.0mA(5.0V);模块最佳工作电压为5.0V;字符尺寸为2.95×4.35(W×H)mm。
1602液晶接口引脚定义:
接口说明:
1、两组电源一组是模块的电源一组是背光板的电源一般均使用5V供电。
本次试验背光使用3.3V供电也可以工作。
2、VL是调节对比度的引脚,串联不大于5KΩ的电位器进行调节。
本次实验使用1KΩ的电阻来设定对比度。
其连接分高电位与低电位接法,本次使用低电位接法,串联1KΩ电阻后接GND。
3、RS是很多液晶上都有的引脚是命令/数据选择引脚该脚电平为高时表示将进行数据操作;为低时表示进行命令操作。
4、RW也是很多液晶上都有的引脚是读写选择端该脚电平为高是表示要对液晶进行读操作;为低时表示要进行写操作。
5、E同样很多液晶模块有此引脚通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。
6、D0—D78位双向并行总线,用来传送命令和数据。
7、BLA是背光源正极,BLK是背光源负极。
1602液晶的基本操作分以下四种:
第三章各模块的具体设计
3.1 控制模块
上图为Arduino的原理图,接线为GND接地,5v接5v电压
3.2温度测量模块
LM35是很常用且易用的温度传感器元件,在元器件的应用上也只需要一个LM35元件,只利用一个模拟接口就可以,难点在于算法上的将读取的模拟值转换为实际的温度。
与单片机的连接如图所示:
3.3水位检测模块
系统用液位计对水位进行检测,当鱼缸中水位低于预定值时,与液位计相连的单片机会发出信号,继电器导通,开关闭合,便控制电磁阀导通,向鱼缸内补水,当水位达到设定值时,单片机便使电磁阀关闭,停止补水。
3.4电机模块
该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。
步进电机驱动器是