您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页大棚温度控制系统设计报告DOC

大棚温度控制系统设计报告DOC

来源:爱玩科技网
课程设计主要任务

基于ATS52单片机的温度测量控制系统,数字温度传感器DS18B20通过单总线与单片机连接,实现温度测量控制,主要性能为:

(1)通过该系统实现对大棚温度的采集和显示;

(2)对大棚所需适宜温度进行设定;

(3)当大棚内温度参数超过设定值时控制通风机进行降温,当温度低于设定值时利用热风机进行升温控制;

(4)通过显示装置实时监测大棚内温度变化,便于记录和研究;

系统的设计指标

(1)温度控制范围:0℃~+50℃;

(2)温度测量精度:±2℃;

(3)显示分辨率:0.1℃;

(4)工作电压:220V/50Hz ±10%

目录

第一章 序言 1

第二章 总体设计及个人分工 2

第三章 传感器设计及应用 第四章 总结 4

8

第一章序言

随着人口的增长,农业生产不得不采取新的方法和途径满足人们生活的需要,大棚技术的出现改善了农业生产的窘迫现状.塑料大棚技术就是模拟生物生长的条件,创造人工的气象环境,消除温度对农作物生长的,使农作物在不适宜的季节也能满足市场的需求。随着大棚技术的普及,对大棚温度的控制成为了一个重要课题。早期的温度控制是简单的通过温度计测量,然后进行升温或降温的处理,进行的是人工测量,耗费大量的人力物力,温度控制成为一项复杂的程序。

大多数的蔬菜大棚以单个家庭作业为主,种植户为蔬菜大棚配备多参数的智能设备,经济成本很高,因此将温度控制由复杂的人为控制转化为自动化的机械控制成为必然。目前现代化的温度控制已经发展的很完备了,通过传感器检测基本上可以实现对各个执行机构的自动控制,应用自动控制和电子计算机实现农业生产和管理的自动化,是农业现代化的重要标志之一。近年来电子技术和信息技术的飞速发展,温度计算机控制与管理系统正在不断吸收自动控制和信息管理领域的理论和方法,结合温室作物种植的特点,不断创新,逐步完善,从而使温室种植业实现真正意义上的现代化,产业化。温度计算机控制及管理技术便函先在发达国家得到广泛应用,后来各发展中国家也都纷纷引进,开发出适合自己的系统。这在给各国带来了巨大的经济效益的同时,也极大地推动了各国农业的现代化进程。 本系统以ATS52单片机为控制核心,主要是为了对蔬菜大棚内的温度进行检测与控制而设计的.该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。

第二章总体设计及个人分工

2.1设计任务

设计出一个蔬菜大棚温度控制系统。该系统的温度上下限报警值可以通过人工设定,并能够在外界温度高于设置温度上限时实现排风扇自动运转通风降温,在外界温度低于设置温度下限时实现热风机自动加热升温,以保持大棚内部的温度始终处于适合蔬菜生长的温度范围内。

2.2任务要求

设计基于ATC52单片机的蔬菜大棚温度控制系统,用于自动调节大棚内部的温度。大棚内部温度始终控制在10℃-30℃之间.

2.3 系统基本方案

根据任务要求,该系统模块可以划分为以下几个部分:键盘模块,温度测量模块,显示电路模块,报警模块。根据各个模块不同的功能特点,分别做了几种不同的设计方案并且进行了相关方面的论证.

2。3.1 各模块电路的方案选择及论证

本温度控制系统由ATC52单片机及其外围电路共同完成,键盘作为人机接口,通过单片机I/O口输入,从而实现手动控制与人工调节,DS18B20将检测到的温度值转换为数字量输入到单片机中,通过单片机处理实现相应的温度控制功能,强电控制与驱动电路来控制热风机与通风机的启停,报警电路在温度超过设定范围时发出报警声,显示模块

由液晶显示器实现,使人们比较直观的进行温度设置,了解受控温度温度信息。

2.3.2系统的设计指标

(1)温度控制范围:0℃~+50℃;

(2)温度测量精度:±2℃;

(3)显示分辨率:0。1℃;

(4)工作电压:220V/50Hz ±10%;

2。4系统各模块的硬件设计

电路系统框图

2。4.1单片机模块

单片机选用ATS52,是一种低功耗高性能的微控制器,片上Flash允许程序存储器在系统可编程,在单芯片上拥有灵巧的八位CPU和系统可编程Flash,使得ATS52成为众多嵌入式控制应用系统提供高灵活的有效解决方案。

2。4。2温度采集模块

我们的大棚控制系统所采用的温度传感器为DS18B20,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。DS18B20可以程序设定9~12位的分辨率,精度为±0。5°C.可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的因此选用DS18B20传感器。

2。4.3电源模块

电源模块采用LM78M05获得+5V稳定电压,输入电压为+12V,通过一个220V—12V的小型变压器提供。如图电容c6和c8用作低频滤波,使输入和输出电压更加平滑稳定;电容c7和c9用于滤除高频信号成分,以降低高频信号对工作电路稳定性的影响.同时,LM78M05必须加装散热片。

2。4.4强电驱动与控制模块

该模块电路采用过零触发的光电耦合器件MOC3061,将弱电与强电控制分开,实现前后级电路的电气隔离,如图所示,为热风机控制电路.当温室内的温度超过设定温度上限时,单片机p3-3脚输出低电平,经驱动门7407驱动MOC3061内部光电二极管发光,在其输出端4与6之间得到输出电压,触发双向可控硅KS导通,使热风机、通风机的交流接触器获得220V/380V的工作电压。

2。4.5数据显示模块

单片机系统中,一般数据显示有终端两大类一是LED数码管显示,而是LCD液晶显示。LED显示亮度高但显示数据位数多时就需要较多的数码管,引脚多,接线麻烦,并且显示的字符代表不同的信息因此选用LCD液晶显示。

2.4.6报警模块

报警模块由三极管和小型扬声器组成,当温度超过设定范围时扬声器发出报警声,报警音由程序产生,通过不同长度的延时,形成音频信号。

2.5系统软件设计

系统主程序首先对系统进行初始化,定义端口,DS18B20初始化,LCD初始化,显示开机画面,键盘处理等,键盘处理程序中调用子程序完成温度的检测和,键盘处理循环执行,系统不断显示新的温度信息。

2.6个人分工

吴灵智(组长):单片机的选择及编程

赵美玲:传感器的选择及应用

汪栋翔:温度测量及控制的编程

王江涛:发热制冷装置及电路设计

张博文:LCD选择及编程

三.个人任务

单片机篇

1。单片机型号选择

由于s52单片机的价位与c51单片机价位相差不大,且与c51完全兼容,比c51功能更加强大,所以这次设计中我选择的单片机型号为ATS52单片机。

2。引脚说明

ATS52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容.片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得ATS52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 ATS52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,ATS52 可降至

0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数 ATS52引脚图 DIP封装 器、串口、中断继续工 作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.

ATS52-24PU ATS52引脚图 DI封装

P0 口

P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL逻 辑电平.对P0端口写“1\"时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。

P1 口

P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL

逻辑电平。

此外,P1。0和P1。1分别作定时器/计数器2的外部计数输入(P1。0/T2)和定时器/计数器2 的触发输入(P1。1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节.

引脚号第二功能:

P1。0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1。5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口

P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平.对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). 在访问外部程序存储器或用16位地址读取外部数据 存储器(例如执行MOVX @DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1.在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校

验时,P2口也接收高8位地址字节和一些控制信号。

P3 口

P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平. P3口亦作为ATS52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号.

端口引脚第二功能:

P3。0 RXD(串行输入口)

P3。1 TXD(串行输出口)

P3.2 INTO(外中断0)

P3。3 INT1(外中断1)

P3。4 TO(定时/计数器0)

P3。5 T1(定时/计数器1)

P3.6 WR(外部数据 存储器写选通)

P3.7 RD(外部数据 存储器读选通)

此外,P3口还接收一些用于FLASH闪存 编程和程序校验的控制信号.

RST

复位输入.当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位.

ALE/PROG

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的.要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲.对FLASH存储器 编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效.

PSEN

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当ATS52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP

外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA

端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令.FLASH存储器 编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2

振荡器反相放大器的输出端.

3.存储器结构

MCS—51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以K寻址.

程序存储器:如果EA引脚接地,程序读取只从外部存储器开始.

对于 S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。

数据存储器:ATS52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。

当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还

是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。

4.单片机应用电路

(1)时钟电路

(2)复位电路

时钟模块篇

1 。DS1302 简介:

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据.实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能.工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配如图1所示及内部结构如图2所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

图1 DS1302的外部引脚分配

图2 DS1302的内部结构

各引脚的功能为:

Vcc1:主电源;Vcc2:备份电源。当Vcc2〉Vcc1+0。2V时,由Vcc2向DS1302供电,当Vcc2〈 Vcc1时,由Vcc1向DS1302供电。

SCLK:串行时钟,输入,控制数据的输入与输出;

I/O:三线接口时的双向数据线;

CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。

DS1302有下列几组寄存器:

① DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图3所示.

图 3 DS1302有关日历、时间的寄存器

小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式.在12小时模式时,位5是 ,当为1时,表示PM。在24小时模式时,位5是第二个10小时位.

秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。

控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0.当WP位为1时,写保护位防止对任一寄存器的写操作。

②DS1302有关RAM的地址

DS1302中附加31字节静态RAM的地址如图4所示.

图4

③ DS1302的工作模式寄存器

所谓突发模式是指一次传送多个字节的时钟信号和RAM数据.突发模式寄存器如图5所示。

图5

④此外,DS1302还有充电寄存器等。

2 读写时序说明

DS1302是SPI总线驱动方式.它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据.

要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如图6。

图6 控制字(即地址及命令字节)

控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;

位5至位1(A4~A0):指示操作单元的地址;

位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。

控制字总是从最低位开始输出.在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图7 。

图7 数据读写时序

具体操作见驱动程序.

3 电路原理图:

电路原理图如图8,DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。

图8

4 驱动程序

//寄存器宏定义

#define WRITE_SECOND 0x80

#define WRITE_MINUTE 0x82

#define WRITE_HOUR 0x84

#define READ_SECOND 0x81

#define READ_MINUTE 0x83

#define READ_HOUR 0x85

#define WRITE_PROTECT 0x8E

//位寻址寄存器定义

sbit ACC_7 = ACC^7;

//管脚定义

sbit SCLK = P3^5; // DS1302时钟信号 7脚

sbit DIO= P3^6; // DS1302数据信号 6脚

sbit CE = P3^7; // DS1302片选 5脚

//地址、数据发送子程序

void Write1302 ( unsigned char addr,dat )

{

unsigned char i,temp;

CE=0; //CE引脚为低,数据传送中止

SCLK=0; //清零时钟总线

CE = 1; //CE引脚为高,逻辑控制有效

//发送地址

for ( i=8; i>0; i-- ) //循环8次移位

SCLK = 0;

temp = addr;

DIO = (bit)(temp&0x01); //每次传输低字节

addr >>= 1; //右移一位

SCLK = 1;

//发送数据

for ( i=8; i〉0; i-— )

{

SCLK = 0;

temp = dat;

DIO = (bit)(temp&0x01);

dat >>= 1;

SCLK = 1;

CE = 0;

}

//数据读取子程序

unsigned char Read1302 ( unsigned char addr )

unsigned char i,temp,dat1,dat2;

CE=0;

SCLK=0;

CE = 1;

//发送地址

for ( i=8; i>0; i—— ) //循环8次移位

{

SCLK = 0;

temp = addr;

DIO = (bit)(temp&0x01); //每次传输低字节

addr >>= 1; //右移一位

SCLK = 1;

//读取数据

for ( i=8; i〉0; i—— )

{

ACC_7=DIO;

SCLK = 1;

ACC〉>=1;

SCLK = 0;

CE=0;

dat1=ACC;

dat2=dat1/16; //数据进制转换

dat1=dat1%16; //十六进制转十进制

dat1=dat1+dat2*10;

return (dat1);

}

//初始化DS1302

void Initial(void)

{

Write1302 (WRITE_PROTECT,0X00); //禁止写保护

Write1302 (WRITE_SECOND,0x56); //秒位初始化

Write1302 (WRITE_MINUTE,0x34); //分钟初始化

Write1302 (WRITE_HOUR,0x12); //小时初始化

Write1302 (WRITE_PROTECT,0x80); //允许写保护

第四章 总结

通过这次对大棚温度自动控制的设计与制作,让我们合作完成了一个完整的设计,虽然这次的设计做的单片机及时钟模块都相对比较简单,但是也给将来进入硬件开发有了一个起点的基础。在这次设计的过程中,刚开始的时候,真的有点不知所措,因为还未学习单片机,以及微机原理课程一些知识已忘记.幸好有三个星期的时间来准备。因为电脑里没有安装protel,所以没办法自己去画芯片图,芯片图和引脚图大多都是在网上查阅的资料.所以常常有解决不了的问题,就上网查询,或者阅览资料书.虽然这项工作枯燥无味,但锻炼了我们的意志,耐性,坚韧,和团队协作的能力。因为常会碰到很难解决的问题,所以要坚持不懈.这次设计是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,思考和解决问题的能力.它不仅增加了我对单片机技术的理解,还让我感受到了电子设计的乐趣,也让我更好的运用WORD文档,对我来说,这次课程设计是非常有意义的.

也谢谢老师的指导,在我们十分迷茫的时候,是老师给我们指明了方向.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务