小型温室大棚控制系统电子设计报告综述_第1页
小型温室大棚控制系统电子设计报告综述_第2页
小型温室大棚控制系统电子设计报告综述_第3页
小型温室大棚控制系统电子设计报告综述_第4页
小型温室大棚控制系统电子设计报告综述_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆交通大学信息学院电子设计实践报告设计项目名称:小型温室大棚控制系统设计项印性质:设 计性设计所属课程:电子设计实践姓名:11111学号:11111班级:电子信息工程专业1111指导教师:11111设计完成时间:1111年 1月 1 日、设计要求(1)通过按键人为设计适宜温度;(2)通过单片机将温室大棚的温度控制在预设的温度范围;(3)超过预设范围时会报警通知二、设计分析设计主要是基于单片机控制的小型温室大棚的设计。首先使用 DS18B20 温 度传感器进行对大棚实时温度的检测, 通过单片机控制, 使 LCD12864 显示大棚 温度及状态, 同时与按键设置的温度进行比对, 如果超过最高温度

2、, 则启动风扇 进行降温, 如果低于最低温度, 则点亮白炽灯进行加热, 同时这两种状态都会使 蜂鸣器响、 led 灯闪烁来进行报警。三、系统方案设计1、系统功能(1)四个按键实现人为设计适宜温度;(2)LCD12864 显示实时温度以及温度状态;(3)不在预设温度范围内,通过蜂鸣器和 led 灯进行报警;(4)温度超过最高温度,风扇工作,低于最低温度,白炽灯工作。2、系统设计方案(1)温度部分的设计用 DS18B20 温度传感器进行检测,单片机进行控制温度的数字转换,并通 过 LCD12864 进行显示。(2)按键部分的设计设计四个按键,分别实现温度的上限 +和,温度下限的 +和-。(3)控制

3、部分的设计单片机进行控制, 首先将传感器检测到的温度转换为对应的数字, 然后与预 设的温度值进行比较,由比较结果控制后续(蜂鸣器、 led、风扇、白炽灯)。四、系统硬件设计1、设计总框图总框图如下图所示, 按其箭头指示, 第一步按键设置, 第二步进行温度采集, 输入到单片机, 第三步单片机控制显示, ,第四步单片机控制温室大棚和报警装2、系统主要硬件模块概述根据总框图可以看出,系统由七个主要模块构成,分别是按键设置模块、温 度采集模块、显示模块、控制模块、报警模块、制冷模块、制热模块。(1)键盘设置模块系统的主函数中有初始的默认温度范围, 按键模块由四个按键组成,分别为 上限温度+,上限温度-

4、,下限温度+,下限温度-,并将设置的温度范围送入单 片机,是后续步骤的基础。(2)温度采集模块温度采集模块采用DS18B20传感器,主要功能是将大棚温度实时检测出来 并将采集到的温度数据送入单片机,此模块和按键设置模块是两个将数据传送进 单片机的模块。(3)显示模块此模块采用LCD12864,是一种具有4位/8位并行、2线或3线串行多种 接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,可以显示8M 行16X16点阵的汉字.;其显示分辨率为128X64,利用该模块灵 活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。且 电压低功耗低。(4)控制模块此模块采用S

5、TC12C5A60S2单片机,是整个系统的控制中心,负责数据处 理,控制显示模块、报警模块、制冷模块、制热模块 .。TC12C5A60S2高速、低 功耗、超强抗干扰,指令代码完全兼容传统 8051,但速度快8-12倍。内部集成 MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制, 强干扰场合.采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的 性价比。( 5) 报警模块采用蜂鸣器和 led 灯来实现,可以直接由单片机控制实现,操作简单,报警 现象明显。( 6) 制冷模块采用风扇,单片机虽可以输出 5V 电压,但电流只有几十 mA ,所以用 MOS 管作为驱动

6、电路。( 7) 制热模块采用白炽灯, 想要快速将温度提高, 就要采用大功率的装置, 直流电一般不 容易实现,所以采用 220V 的交流电, 用光耦和可控硅实现弱电(单片机)控 制强电( 220V 的交流电)。五、系统软件设计1)系统主程序void delay() ; / 延时函数void keysca n();按键查询void WriteByteToLcm(uchar dat) ; /HB12864 液晶并行显示void Strplay(uchar Command,uchar X, uchar Y, uchar *s); /并行显示汉字void Numplay(uchar Command,uc

7、har X, uchar Y, uchar Z); /并行显示数字void ds18b20_Reset(void);/ DS18B20 初始化uchar ds18b20_ReadByte(void) /从/ DS18B20 读一个字节数据void ds18b20_WriteByte(unsigned char dat); /向 DS18B20 写 1 字节数据uchar ReadTemperature(void); /读/ 取温度 返回温度值void warn(); /报警void deal(uchar t); /温度控制处理2)流程图 软件设计的算法主要是将按键设置的温度数据与实时温度数据进

8、行比较, 从 而实现控制温度。主要有按键查询算法,DS18B20温度转换算法,LD12864温度显示算法,报警算法,温度处理算法。主程序的流程图如图所示:六、仿真测试结果及分析我是直接用硬件来测试的,没有仿真。(总体硬件图)七、实际结果及分析实物图:a:温度正常bl, b2:温度过高c3, c3:温度过低(1)测试结果(a)显示正常(bl)显示温度高(b2)风扇工作,蜂鸣器响,led灯闪烁(cl)显示温度低(c2 )白炽灯亮,蜂鸣器响,led灯闪烁(2)测试结果分析a:温度正常时,即大棚温度处于人为设定温度的范围内, P1A1输出1,光耦 不产生光电流,可控硅处于关的状态,白炽灯不亮; P1A

9、2输出0,MOSi于截止 状态,风扇不工作;卩3八6输出1,蜂鸣器不响;卩3八5输出1,led灯不闪烁。b1,b2:温度过高时,单片机P1A1将输出0,使光耦产生光电流,使可控硅 处于开状态,白炽灯亮,进行加热;P1A2输出0,MOS于截止状态,风扇不工 作;P3A6输出0,蜂鸣器0响;P3A5输出0,led灯0闪烁,进行报警。c1,c2:温度过低时,单片机P1A1将输出1,光耦不产生光电流,可控硅处 于关状态,白炽灯不亮;P1A2输出1,驱动MOST,风扇工作进行降温;P3A6 输出0,蜂鸣器响;P3A5输出0, led灯0闪烁,进行报警。八、总结(1)设计总结经过连续八周的设计实践, 由最

10、初的设想变为自己手中焊接的电路板, 并且 此电路板可以完成自己想要实现的功能,终于完成了这次课程设计。(2)心得体会本次实践我感触颇多, 首先, 在设想是就要考虑到实际的可行性, 但同时又 不能太过锢囿于自己完全会做的一些东西, 要想着不断的扩展, 这样在实际的动 手过程中就会不断的为实现自己想要的功能去搜索各种书本外的知识, 并且这些 新学的知识立刻转化为实际, 加强了所学的知识, 同时也加强了已学过的理论性 知识的应用,做到了学以致用。 然后就是将自己的设计付诸于动手实现, 这一点 最难,因为硬件电路会受到各种因素干扰, 并不是按照你想象的焊接这一起就可 以工作了。我最开始想着把所有的都直

11、接焊在一块板子上, ,这样外观好看且容 易直接放入自己做的温室大棚中, 后来因为这样做如果不成功的话, 不容易检查 出问题究竟出在哪一部分,所以我采用了分块进行焊接,先是LCD12864,这是显示模块,先把这部分确认无误,下面才方便检测,接下来是温度传感器,虽然 我之前了解了其工作原理及引脚的接法, 但在检测中不小心把电源和地的引脚接 反了,传感器直接就坏了,但是当时不知道,以为换过来就好,结果一直显示 85 度,最后又认真查资料,确认是坏了,同时我也意识到做实验一定要认真严 谨,尤其是我们电子专业的,有一些芯片是非常脆弱的。接着是降温控制,我最 刚开始想到制冷片,但速度太慢,最后采用风扇,但

12、直接用单片机不能驱动,于 是用了 MOS 管作为驱动电路;最后是加热控制,最初想到加热片,问了学长, 学长建议我用白炽灯,要用到交流电,要实现弱电控制强电,我查了资料,最后 使用了光耦来实现电光电的转换,再用可控硅(相当于开关)接到交流电中。这 一点我感触最深,我看到了电子元器件这么神奇, 顿时增加了做实验的极大兴趣。 以前总觉得自己的动手能力差,通过这次实践使我对自己的动手能力有了信心, 虽然反复弄了好几遍才成功,我认为过程的艰辛与收获是呈正比的。通过这次实践看到在课本上学的东西转换成实际应用, 在这过程中自己认识 到了熟练掌握电子元器件和理论要联系实际的重要性, 真的很感谢自己的刻苦努 力

13、,同时也感谢张老师对我的严格要求。附1 (各模块硬件电路) d:控制模块和显示模块 e按键设置模块 f:数据采集模块 g:制冷模块h:制热模块i :报警模块(d)(e)(f)(g)(h)(i)附2#include #include#define uint unsigned int#define uchar unsigned char#define DB P2 /8 位并口方式数据口/0XB9 显示 12X12 中文和 6X12ASCII 混合字符串命令 uchar dat,date,temph=25,templ=15;sbit BUSY=P0A6;/查忙LCD 接口引脚定义sbit REQ=

14、P0A5;/响应sbit hot = P1A1;/ hot deng 0 enablesbit cold = P1A2;/ cold fengshan1 enablesbit DQ = P1A3;/温度传感器数据线sbit beep=P3A6;/蜂鸣器sbit LED= P3A5;/闪烁灯sbit keyh1=P3A4;/ 上限温度键 +sbit keyh2=P3A3;/ 上限温度键 -sbit keyl1=P3A2;/ 下限温度键 +sbit keyl2=P3A1;/ 下限温度键 -void delay()unsigned char i; for(i=250;i0;i-);/按键查询void

15、 keyscan()if(keyh1=0)delay();if(keyh1=0)temph+;if(keyh2=0)delay();if(keyh2=0)temph-;if(keyl1=0)delay();if(keyl1=0)templ+;if(keyl2=0)delay();if(keyl2=0)templ-;/HB12864 液晶并行显示 /void WriteByteToLcm(uchar dat)while( BUSY = 1 );/等待 LCM 空闲 (BUSY 为低 )DB=dat;/向总线送数_nop_();_nop_();REQ = 0;REQ=O,向LCD发请求命令whil

16、e( BUSY = 0 );/等待 LCM 相应请求 (BUSY 为高)REQ = 1;/复原请求信号void Strplay(uchar Command,uchar X, uchar Y, uchar *s)WriteByteToLcm(Command);WriteByteToLcm(X);WriteByteToLcm(Y);while (*s)WriteByteToLcm(*s);/ 显示字符s+;WriteByteToLcm(0x00);/结束符 void Numplay(uchar Command,uchar X, uchar Y, uchar Z) WriteByteToLcm(Co

17、mmand); WriteByteToLcm(X); WriteByteToLcm(Y);WriteByteToLcm(Z);WriteByteToLcm(0x00);/*void delayxus(unsigned int n)while(n -)_nop_();_nop_();/*复位 DS18B20 初始化*/void ds18b20_Reset(void)unsigned char x = 0;DQ = 1;delayxus(60);DQ = 0;delayxus(240);delayxus(240);DQ = 1;delayxus(80);x = DQ;delayxus(120);/

18、*从 DS18B20 读一个字节数据*uchar ds18b20_ReadByte(void)unsigned char i = 0;unsigned char dat = 0;for(i = 0;i = 1;delayxus(1);DQ = 1;delayxus(1);if(DQ)dat |= 0x80;delayxus(60);return (dat);/*向DS18B20写1字节数据*/void ds18b20_WriteByte(unsigned char dat) unsigned char i = 0;for(i = 0;i = 1;delayxus(1);/* 读取温度 返回温度

19、值 */ uchar ReadTemperature(void) unsigned int a = 0;unsigned int b = 0;unsigned int t = 0; ds18b20_Reset();ds18b20_WriteByte(0xCC); ds18b20_WriteByte(0x44); ds18b20_Reset();ds18b20_WriteByte(0xCC); ds18b20_WriteByte(0xBE); a = ds18b20_ReadByte(); b = ds18b20_ReadByte(); b4 ;t=b;return (t);报警延时*void delayy(uchar y) unsigned char i; while(y-); for(i=250;i0;i-);void warn()uchar count;for(count=200;count0;count-) beep=beep;delayy(2);LED=LED;温度void deal(uchar t)if(ttemph)Strplay(0xb9,0x02,0x00, A little hot! );cold=1;warn(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论