简单的课程设计报告-蔬菜大棚的智…
来源:互联网 发布:域名转让程序 编辑:程序博客网 时间:2024/04/28 14:14
蔬菜大棚的智能控制系统
一、
1、
蔬菜大棚的智能控制系统的设计,使用51单片机和无线通信模块完成以下基本功能:
使用温度传感器测量大棚温度;
使用两位数码管进行动态显示;
超过35度自动打开风机(用led灯模拟),低于28度关闭风机。
扩展功能:
利用光敏传感器检测,实现大棚外路灯的自动控制,白天关灯,晚上亮灯(节点模块);
红外遥控手动控制风机和路灯(上位机模块)。
可选用的器件与元件:(具体实物要根据学校给出的作为标准)
STC89C51单片机、nRF24L01模块各两块,18B20、光敏电阻各一个,共阳两位一体数码管一块,电阻、电容、三极管、LED灯、按键任选。
学生2人一组,独立完成电路分析和设计,并完成系统调整和测试。每个人必须能完成不同的功能,最后组成一个总系统,并且做成电路实物系统。
2、
根据需要选学参考书,查阅手册,图表和文献资料的自学能力,通过独立思考﹑深入钻研有关问题,学会自己分析解决问题的方法。
利用所学过的最基本的MSC51单片机和无线电通信知识,通过设计计算﹑元件选取﹑电路板制作调试等环节,初步掌握工程设计的技能。
掌握常用仪表的正确使用方法,学会简单电路的实验调试和整机指标测试方法,使学生巩固和加深对数字逻辑电路的理论知识,锻炼学生的动手能力。
了解与课程有关的电子电路以及元器件工程技术规范,能按课程设计任务书的技术要求,编写设计说明,能正确反映设计和实验成果,能正确绘制电路图。
培养严谨的工作作风和科学态度,能够逐步建立正确的生产观点,经济观点和全局观点。
二、硬件电路设计
根据课程设计的要求,初步决定蔬菜大棚的智能系统框图,如图一:
根据图一的大概框架,使用Proteus仿真软件进行系统的仿真,验证电路的可靠性和可行性。
仿真电路如图二所示:
仿真图说明:
根据参考器件仿真电路MCU选用STC89C52单片机,如上图所示,查阅资料[1]可以知道该单片机的最小系统,包括:时钟电路(这次仿真电路使用11.0592M晶振)、复位电路等,其中P0八个I/O口要使用10k上拉电阻才能驱动数码管的段位。外部电路有:数码管电路(另一组员负责)、温度传感器电路(本人负责)、抽风机电路(用LED灯代替)。所有程序将在下面说明。
指导老师的检验:
2、器件与元件补充说明
3、电路设计
说明:STC12C5A60S2单片机的引脚封装与STC89C52单片机的引脚封装一样,所以使用STC89C52单片机原理图。所以上图部分引脚的标注不正确,但是不影响其封装的使用,两种单片机都是使用一样的封装。复位电路的设计是根据STC12C5A60S2单片机技术文档[2]所描述的来设计,使用一个10uF的电解电容和1k的电阻组成;晶振电路使用两个33uf的瓷片电容和一个11.0592M频率的晶振组成。
2)、温度检测模块,如下图所示:
说明:温度传感器使用的是DS18b20,其封装是TO-92封装,数据传输引脚使用一个4.7K的电阻作为上拉电阻,并且跟单片机的P3^7接口相连接。DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。
3)、抽风机模块和其他模块,如下图所示:
说明:在抽风机模块中,使用一个LED灯代替抽风机,这样就要使用一个470欧电阻个LED灯串联使用,并且跟单片机的P3^5引脚连接如上图所示。灯与光敏传感器组成的电路时扩展部分设计,具体电路如上图所示。
4)、电源模块,如下图所示:
说明:电源模块在系统设计中是一个很重要的部分,在这个模块中,因为外接电源是5v电压,所以在本系统设计中主要是加入滤波跟开关部分,滤波电路由一个104瓷片电容跟一个10uf电解电容组成。
5)、调试电路模块,如下图所示:
说明:系统的调试是一个很重要的步骤,所以要加上调试接口,这样就不用经常拔插单片机,方便以后的调试系统使用。本接口主要的部分是电源引脚和P3^0引脚、P3^1引脚,这四个引脚都是为了焼写程序做准备,其他引脚作为附加和固定作用。
二、
1)、温度传感器子程序
说明:程序的设计使用KeiluVision4软件,本人负责的是DS18b20温度传感器[3]对温度的检测和温度的读取部分。本人将关于温度传感器有关的子程序做成一个头文件来使用,具体的程序流程,如下图所示。在温度读取上,直接在头文件里就做数据的处理,转换成十进制两位数,转换语句如下:
a=ReadOneChar();
b=ReadOneChar();
temp=b;
temp<<=8;
temp=temp|a;//将读取到的两个八位二进制数据合并
f_temp=temp*0.0625;
temp=f_temp+0.5; //四舍五入,取整数如实际温度是11.6°,将//显示12°
上面的转换过程能够在仿真时正确使用。
2)、抽风机子程序流程图
说明:首先是对温度的处理一次,然后使用if语句进行对温度的判断,如果温度大于35°就打开抽风机;如果温度小于28°就关闭抽风机。在这就有一个数据段是没有处理的,就是温度在28°到35°这一段,根据实际分析可以做出处理:当温度是有35°以上开始下降的,下降到35°不用关闭抽风机,一直下降到28°才关闭抽风机,这样有利于对温度的下降。反之当温度上升到35°才开始打开抽风机。
3)、主程序流程图
四、调试记录
1、调试前的准备
2、上电调试过程
sfr CLK_DIV = 0x97; //定义时钟分频控制寄存器地址
CLK_DIV = 0x03;//(外部晶振时钟或内部RC振荡时钟)/8
再次,焼写改写过的程序,依然不能正常显示温度。
3)、最后再次焼写改写后的程序进单片机,就可以得到正常的温度了,并且能够正常工作。
4)、我们这组准备做的扩展模块是光敏对电灯的控制,我们的计划是使用该单片机的P1
。
调试时间
调试步骤
调试结果
分析结果
解决方法
结论
2014年3月25日
调试前硬件电路检查
发现短路和断路的布线
造成电路板不能正常工作
认真检查原理图和用万用表检查电烙铁电焊位置
在电焊的时候要注意电路走线是否正确,焊盘之间是否短路
2014年3月25日
数码管模块调试(另一组员负责)
无
无
无
无
2014年3月25日
DS18b20模块调试
不能正常显示温度,只显示00
1、硬件电路问题
1、再次检查硬件电路和上拉电阻是否使用正确
在模块调试过程中,要一步步来调试排除问题,通过分析问题,找出最优的方案来得出实验的结果。
2、新单片机与仿真用的单片机有性能差别;
2、在程序中加上降低工作频率的代码
3、温度传感器损坏;
3、使用开发板测试温度传感器是否正常工作,可以正常使用
4、程序出现错误
4、修改DS18b20头文件,读取全部温度位数
2014年3月25日
抽风机模块(LED灯代替)
不能正常亮
1、硬件电路问题;
1、用万用表检查硬件电路
在用万用表检查电路是发现有断路的现象,最后检查是焊盘出现虚焊的原因,解决后再次用程序测试,LED灯可以正常显示
2、程序出问题
2、编写测试程序
五、课程设计体会
- 简单的课程设计报告-蔬菜大棚的智…
- 课程设计报告,简单的银行管理系统
- 蔬菜大棚控制与WEB
- C语言课程设计报告--很久很久以前的课程设计报告
- 常见的蔬菜
- 可爱的蔬菜
- 蔬菜本身的药性
- 蔬菜的农药残留
- 屋顶上的蔬菜
- 数据结构课程设计报告 二叉树的应用
- 温室大棚日常管理的五点建议
- 一个简单的C++课程设计
- 各种蔬菜的保存方法~~
- 蔬菜:难以置信的美丽力量
- 古人经常吃的蔬菜
- 色彩鲜艳的蔬菜地图
- 操作系统课程设计--简单文件系统的实现
- 计算机网络课程设计 简单的网络配置
- 我在微软8个月所学到的
- PWM脉宽调制原理
- 基于51单片机的直流电机驱动(L298…
- 程序员技术练级攻略
- 关于win7,win8系统中WiFi热点共享…
- 简单的课程设计报告-蔬菜大棚的智…
- 数字定时器的设计
- 基于boostrap的modal二次封装
- leetcode之Binary Tree Maximum Path Sum
- JS组件Bootstrap实现弹出框和提示框效果代码
- Install tensorflow/SyntaxNet on Ubuntu VM
- 浏览器窗口可视区域大小
- 【网络编程6】Java与C语言套接字Socket通信的例子
- ACM/ICPC竞赛之STL--string