课程设计
第五章 结 论
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
#include
#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(val1
if(temp1=1){
digitalWrite(13, HIGH);} if(temp=0){
digitalWrite(13, LOW);} }
20
课程设计
任务分工: 组长: 夏小维(20110714) :喂食机的机械结构设计和三维建模,液位计二维图的绘制,控制进排水元件的选择和分析,总结全组人员劳动成果进行说明书的撰写。
组员: 姚森(20110736) :总电路图的设计,主控制元件的选取和分析,总体电路图的绘制,整体编程,和ULN2003APG驱动芯片驱动原理图的绘制。
孔成晨(20110698):温度测量模块的整体设计(包括温度传感器的选取、和部分电路接线),显示部分元件的选择。
何佳文(20110709):水位控制模块的设计(包括思路设计,液位计选型,和部分电路接线),显示部分连线设计。
汤松(20110723) :喂食器动力模块设计(包括电机选型,和电机模块电路的设计),显示部分电路图的绘制。
非常感谢老师抽出宝贵的时间来阅读我们的机电课程设计成果!虽然小组成员中有80%的成员参与考研,但我们深知本次课程设计对我们意义重大,所有成员都以认真务实的态度不同程度得完成了本次课程设计的任务。设计仍有许多不足之处,希望老师给予指导!
21