机电一体化课程设计--智能鱼缸设计-精品

更新时间:2024-06-28 22:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

机电一体化课程设计

题目: 班级: 组长: 组员:

说明书

智能鱼缸设计 机电一体化11-9班

(按拼音先后排序)

二〇一四 年 十 月

课程设计

摘 要

随着社会的发展和人们生活质量的提高,越来越多的人喜欢饲养观赏鱼。但如果由于某些原因忽视了对观赏鱼的照顾,观赏鱼则有可能因饥饿或鱼缸内生态环境变坏而死亡。因此,设计一款智能鱼缸系统是非常必要的。

本文设计了一款基于单片机的智能鱼缸系统。本设计选用Arduino UNO单片机作为自动喂养系统的控制核心,用传感器采集鱼缸内的环境参数。经数据处理后,单片机向各执行机构传送控制信号,实现自动喂食和对鱼缸内温度、水位等环境因素的自动控制,从而为观赏鱼创造一个良好的生存环境。本设计采用了模块化的设计方法,主要包括主控芯片模块、喂食器模块、温度控制模块、水位控制模块和换水模块。本设计集众多功能于一身,具有结构小巧,操作简便,成本低廉等优点,可以广泛应用于观赏鱼的饲养。

关键词:自动喂食器结构;单片机;传感器;自动控制;驱动电路;C语言 I

课程设计

目 录

摘 要 ................................................................................................................................... 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 第五章 结 论 .................................................................................................................... 18 5.1设计总结 ..................................................................................................................... 18 5.2创新点 ......................................................................................... 错误!未定义书签。 参考文献 ........................................................................................................................... 17 附录 18

II

课程设计

第一章 绪 论

1.1 研究目的

随着社会的发展和人们生活质量的提高,越来越多的人喜欢饲养观赏鱼。它在美化我们生活环境的同时,给我们带来了视觉上的美感和身心享受。但人们不可能每时每刻都控制好鱼类的生活环境,如果由于某些原因长时间忽视了对观赏鱼的照料,观赏鱼则有可能因饥饿或生态环境变坏而死亡。因此,设计一款智能鱼缸系统是非常必要的。

1.2 国内外研究现状

目前市场上的鱼缸系统功能比较分散,往往只能实现某个功能,如过滤功能,增氧功能,加热功能等,而且大多需要人工操作,自动化程度不高。喂食器部分主要采用以定时电路为控制核心的单次间歇式喂养系统,喂食器每次喂食都需要重新设定,且定时不准确,投料不均匀,可靠性差,喂食与间歇时间设置不合理,易浪费饵料,这些都无法满足观赏鱼自动喂养的功能要求。倘若同时安装各种功能不同的设备,又会使系统结构复杂,增加成本,影响美观,而且也缺乏彼此功能的协调性。

现在越来越多的人们开始注重生活环境的改善,水族箱便进入了人们的视线,许多宾馆、展会、写字楼等都摆上了水族箱来美化环境,应用于水族箱的观赏鱼自动控制系统应运而生,由于水族箱一般体积较大,而且该自动喂养系统嵌入在水族箱的橱柜内,不可分离,使自动喂养系统移植性差,无法应用于小型的观赏鱼鱼缸上。智能鱼缸系统在市场上还基本处于空白,基于这个市场空白,本文设计了基于单片机的自能鱼缸系统。

1.3 研究的主要内容和目标

本设计选用Arduino UNO单片机作为自动喂养系统的控制核心,加上外设备组成单片机最小系统,用传感器采集环境参数,输入单片机处理,单片机控制各执行机构实现自动喂食,水温自动控制,水位自动控制,力求系统集成化高,结构小巧,操作简单。

设计思路大体为:设计方案的选择,机械结构的设计,程序的编写,电路设计,修改校核,撰写说明书和总结。

本设计所要达到的预期目标: 1. 可以定时投掷颗粒状饵料 2. 可以实现水温的自动控制 3. 可以实现水位的自动控制 4. 可以实现定时换水

5. 可以实时显示参数设置数据

1

课程设计

第二章 模块方案选择

2.1 硬件框图

喂养系统硬件框架图

2.2 主控芯片模块

采用Arduino UNO作为主控制芯片,该芯片有足够的存储空间,可以方便的在线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.1 控制模块

上图为Arduino的原理图,接线为GND接地,5v接5v电压

3.2 温度测量模块

LM35 是很常用且易用的温度传感器元件,在元器件的应用上也只需要一个LM35元件,只利用一个模拟接口就可以,难点在于算法上的将读取的模拟值转换为实际的温度。

与单片机的连接如图所示:

8

课程设计

3.3 水位检测模块

系统用液位计对水位进行检测,当鱼缸中水位低于预定值时,与液位计相连的单片机会发出信号,继电器导通,开关闭合,便控制电磁阀导通,向鱼缸内补水,当水位达到设定值时,单片机便使电磁阀关闭,停止补水。

9

课程设计

3.4 电机模块

该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。 步进电动机和步进电动机驱动器构成步进电机驱动系统。步进电动机驱动系统的性能,不但取决于步进电动机自身的性能,也取决于步进电动机驱动器的优劣。对步进电动机驱动器的研究几乎是与步进电动机的研究同步进行的。

步进电机

10

课程设计

步进电机驱动板UL2003,外形尺寸:31×35mm

接线图

11

课程设计

补充:

由于喂食器需要定时向鱼缸投入饲料,为了防止因临时断电导致的定时功能失效问题,我们需要单片机可以向外部读取时间,所以添加了DS1307。

DS1307是一款低功耗,具有56字节非失性RAM的全BCD码时钟日历实时时钟芯片,地址和数据通过两线双向的串行总线的传输,芯片可以提供秒,分,小时等信息,每一个月的天数能自动调整。并且有闰年补偿功能。

有以下特点:可对秒,时,分,每月的天数,月份,每周的天数进行计数,并具有闰年补偿功能;计年上限2100;56字节非失性的RAM;两线串行接口;可编程方波输出;自动掉电检测和切换电路;在电池备份模式下,功耗小于500nA;工业级的工作温度: -40 到80;8脚DIP和SOIC封装; 主要参数:

存储器配置:64 x 8Bit;

电源电压范围:4.5V to 5.5V; 芯片封装类型:DIP和SOP; 针脚数:8;

工作温度范围:0°C to +70°C; 封装类型:DIP;

工作温度最低:0°C; 工作温度最高:70°C; 中断类型:全天时间; 器件标号:1307; 器件标记:DS1307+; 存储器容量:56 bytes; 存储器类型:RAM;

接口类型:Serial, I2C; 时钟频率:32.768kHz; 温度范围:商用; 特点:方波输出; 电压, Vcc 最大:5V; 电源电压最大:5.5V; 电源电压 最小:4.5V 类型:RTC

芯片标号:1307

表面安装器件:通孔安装 输出数:1

逻辑功能号:1307

12

课程设计

DS1307与Arduino的接线

3.5喂食器模块

机械结构3d图如下

电机通过联轴器与喂食器相连,电机转动一周,喂食器翻转一周,即喂食一次,

13

课程设计

通过单片机控制步进电机的转动速度和频率来实现定时喂食的功能。

联轴器的选用,通过查相关手册,选用GH1-15-M联轴器。 步进电机的选用在上文中已介绍过。

喂食器为一个圆柱体加一个外壳,外壳内放置食物,顶部设有盖子用于添加食物,圆柱体的旋转轴为转矩输入轴,圆柱体设有一个挖开的不同口,可以在旋转到底部的时候将一定数量的食物投入鱼缸,而且能有效防止食物的卡死。

设计尚有不足,未经实验验证,只是简单制作装配图。 鱼缸的整体结构如下:

14

课程设计

3.6 显示模块

如上文中2.7所示,我们选用1602LCD实现系统数字和字符的显示。1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。内置128个字符的ASCII字符集字库,可显示两行,每行16个字符,但不能显示汉字或图形,只有并行接口,无串行接口。

接线图如下:

15

课程设计

第四章 原理图

(大图见打印的图纸中)

系统电路原理图

ULN2003APG驱动芯片原理图

16

课程设计

液位计机械图

显示部分电路图

17

课程设计

第五章 结 论

5.1 设计总结 创新点

(1)单片机控制,智能化程度高。(2)恒温控制。(3)水位控制。(4)定时换水。(5)定时喂食。(6)显示 设计不足

(1)没有水中氧气含量检测装置,不能独立准确供氧。(2)没有无线模块,不能远程控制

本文所设计的智能鱼缸系统,采用单片机为控制芯片,实现定时定量喂食,实现水温、水位的自动控制,控制水位,定时换水等。系统体积小,重量轻,自动化程度高,操作简便,能够实现科学、自动喂养,用户可以通过按键选择,设定自动喂养系统的各项工作参数,从而控制喂养系统工作,易学易用,降低了人力物力成本。在程序上,本设计用C语言进行编程,采用模块化的编程方法,各模块间独立程度高,避免了模块间的相互影响,对系统整体进行了综合调试,运行效果良好,设计比较完善。

参考文献

[1]张海萍.小小水族箱装着大市场[N].市场报,2002-10-21.

[2]葛华.多功能观赏鱼缸自动控制系统的设计[D].南京:东南大学机械工程学院,2010.05.

[3]刘建辉.单片机智能控制技术[M].北京工坊工业出版社,2007.

[4]夏宇闻.Verilog HDL数字设计教程[M].北京:北京航空航天大学出版社,2008,6. [5]兰吉昌.单片机C51完全学习手册[M].北京:化学工业出版社,2008,10.

[6]求是科技.单片机典型模块设计实例导航第二版[M].北京人民邮电出版社,2009. [7]雷伏容.51单片机常用模块涉及查询手册[M].北京清华大学出版社,2010.

[8]江志红.51单片机技术与应用系统开发案例精选[M].北京清华大学出版社,2008. [9]郭天祥.51单片机C语言教程[M].北京:电子工业出版社.2009,12. [10]阎石.数字电子技术基础[M].北京:高等教育出版社.2006,1.

[11]唐继贤.51单片机工程应用实例[M].北京:北京航空航天大学出版社,2009,1. [12]Atmel Microcontroller Handbook,2001.

[13]慧仇.手把手教你学51单片机[M].北京 电子工业出版社, 2009. [14]谭浩强. C程序设计[M]. 北京:清华大学出版社,1991.

[15]Clive max Maxfiled .The Designed Warrior’s Guide to FPGAs[M].Newnes,2004,6.

18

课程设计

附 录

编程:

#include //加载I2C通信协议驱动库 #include //加载DS1307时钟驱动库 #include // 加载步进电机驱动库

#include //加载1602液晶显示器驱动库 #define STEPS 100// 设定步进电机步数

#define outmotor 4// 设定排水电磁阀控制口 #define inmotor 5// 设定进水电磁阀控制口

Stepper stepper(STEPS, 8, 9, 10, 11);// 指定步进电机的步数与控制引脚 int potPin = 0; //定义模拟接口0 连接LM35 温度传感器 int time=0;//定义初始时间 int oneday=000;seconds void setup() { //系统初始设置

//设置各接口初始输入输出模式 pinMode(13, OUTPUT);

pinMode(outmotor, OUTPUT); pinMode(inmotor, OUTPUT);

//步进电机控制模块初始化设置

stepper.setSpeed(30);// 将电动机的转速设定到 30 RPMs

//1602液晶显示器初试设置

LiquidCrystal_I2C lcd(0x27,16,2);//设定1602液晶显示器I2C地址为0x27 //显示模式为16字节双行显示 lcd.init(); //初始化1602显示器

lcd.backlight();//启用1602显示器灯光 }

void loop() { // 反复运行 //检测到的时间 //一天

Lcddisplay();//1602显示器显示内容函数(未定义) Getbutton();//按键信息获取函数(未定义) Systemsetup();//系统参数设置函数(未定义)

time=gettime;//获取时间,如果间隔时间大于设置的喂食时间,驱动步进电机转

19

课程设计

//动喂食机构 if(time>=oneday){ stepper.step(4096);}

//LM35温度检测

int val;//定义变量 int dat;//定义变量 int temp;

val=analogRead(0);//read 0 pin temperture. dat=(125*val)>>8;//温度计算公式

if(dat<20){temp=1}else{temp=0}; if(temp=1){digitalWrite(7, HIGH);}

else{digitalWrite(7,LOW)};//加热器开关检测

//水位检测与阀门控制程序 int val1;//定义变量 Int temp1;

val1=analogRead(1); if(val1xxxxx{temp1=0};

if(temp1=1){

digitalWrite(13, HIGH);} if(temp=0){

digitalWrite(13, LOW);} }

20

课程设计

任务分工: 组长: 夏小维(20110714) :喂食机的机械结构设计和三维建模,液位计二维图的绘制,控制进排水元件的选择和分析,总结全组人员劳动成果进行说明书的撰写。

组员: 姚森(20110736) :总电路图的设计,主控制元件的选取和分析,总体电路图的绘制,整体编程,和ULN2003APG驱动芯片驱动原理图的绘制。

孔成晨(20110698):温度测量模块的整体设计(包括温度传感器的选取、和部分电路接线),显示部分元件的选择。

何佳文(20110709):水位控制模块的设计(包括思路设计,液位计选型,和部分电路接线),显示部分连线设计。

汤松(20110723) :喂食器动力模块设计(包括电机选型,和电机模块电路的设计),显示部分电路图的绘制。

非常感谢老师抽出宝贵的时间来阅读我们的机电课程设计成果!虽然小组成员中有80%的成员参与考研,但我们深知本次课程设计对我们意义重大,所有成员都以认真务实的态度不同程度得完成了本次课程设计的任务。设计仍有许多不足之处,希望老师给予指导!

21

本文来源:https://www.bwwdw.com/article/w8g3.html

Top