基于单片机的动物居室温湿度监控系统_第1页
基于单片机的动物居室温湿度监控系统_第2页
基于单片机的动物居室温湿度监控系统_第3页
基于单片机的动物居室温湿度监控系统_第4页
基于单片机的动物居室温湿度监控系统_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

摘要

居室温湿度控制系统是以居室内的温湿度为输入量,以居室的调温和排湿装置(风机、步进电机、排气扇等)为控制对象,在单片机控制系统上用模糊控制的方法使居室中温湿度的变化满足居住需求,达到提高动物居室生活要求目的。针对温湿度变化的非线性和相互耦合现象,本文设计了基于单片机和模糊控制技术的动物居室温湿度自动控制系统。

本论文的工作重点主要有以下几个方面:第一,设计和实现了以Atmega16为核心的单片机系统,配有键盘、显示和干湿温度采集处理的控制系统,设计了基于GAL的步进电机驱动控制电路、基于1-wier总线的干湿温度多点采集电路、I2C总线器件AT24C02工艺参数存储等外围电路,可实现信号采集、数据显示、键盘控制、数据计算、排湿装置控制、调温装置控制等功能。详细介绍了硬件电路设计和软件程序设计,并针对单片机系统的硬件和软件介绍了一些工程上实用的抗干扰技术;第二,针对干湿温度变化的非线性和相互耦合现象,具体研究了居室温湿度变化的规律,设计了基于模糊控制技术的模糊控制器并制定了模糊控制查询表。

关键词:温湿控制模糊控制Atmega16GALSHT11

Abstract

Accordingtothetemperatureandhumidityofwarmroomandtemperature-controlandhumidity-controldevice(suchasfansteppingmotor,exhaustfanandsoon),thetemperatureandhumiditycontrolsystemforwarmroom,whichusesfuzzycontrolbasedonMCUcontrolsystem,cansatisfytheprocessrequirementoftemperatureandhumiditychanceinwarmroom,improvequalityoflivingroom.Accordingtothetemperatureandhumiditynonlinearvariationandcouplingphenomena,IdesignedthecontrolsystembasedonMCUandfuzzycontrol.

Themainfocusofthispaperarethefollowingaspects:Firstly,theMCUcontrolsystem,withkeyboardinputLEDdisplayandtemperature-humiditycollecting,withthecoreofatmega16isdesigned.Whatismore,pulsedistributorofsteppingmotorwithGAL,multi-temperature-humiditycollectingcircuitbasedon1-wirebusandtheprocessingparametermemorycircuitwithI2CbusinterfacedeviceAT24C02andsoondesignedforthissystemwhichhasthefunctionofsignalcollectingdatadisplaying,keyboardcontrolling,datacomputing,temperature-controldevicecontrolling,humidity-controldevicecontrollingandsoon.Thehardwaredesignandsoftwaredesignaredescribedindetail.AndsomepracticalhardwareandsoftwarereliabilitymeasuresofMCUsystemareintroduced.Secondly,accordingtothetemperatureandhumiditynonlinearvariationandcouplingphenomenainwarmroom,Istudythetemperatureandhumiditycharacteristicofwarmroom,anddesignthefuzzycontrollerandfuzzycontrolpollinglist.

Keywords:temperature-humiditycontrolfuzzycontrolAtmega16GALSHT11

目录

摘要

1

Abstract

2

目录

3

第一章绪论

5

1.1课题背景介绍

5

1.2论文研究的目的与意义

5

1.3系统设计简介

5

1.3.1设计要求

5

1.3.2功能简介

6

第二章系统分析

7

2.1系统设计原则

7

2.2可行性分析

7

2.3系统硬件总体设计以及说明

8

第三章模糊控制理论

9

3.1空气温湿度解耦理论依据

9

3.2模糊控制特点

10

3.3模糊控制的基本原理

10

3.4模糊控制系统的组成

11

3.5本温室温湿度模糊解耦控制算法的实现

12

3.5.1温湿度模糊解耦器设计

12

3.5.2清晰化处理

17

3.5.3温湿度模糊控制

20

第四章系统的设计与实现

23

4.1系统硬件方案

23

4.2单片机芯片的选用

24

4.3电源转换电路的设计

25

4.4键盘控制电路设计

25

4.5显示电路设计

26

4.6步进电机驱动控制电路设计

27

4.6.1步进电机控制原理

28

4.6.2GAL脉冲分配器

30

4.6.4步进电机驱动控制电路

31

4.7传感器模块的设计与实现

32

4.7.1温湿度传感器的选择

32

4.7.2SHT11(温湿度传感器)传感器描述

33

4.7.3SHT11工作时序

34

4.7.4SHT11与单片机的连接

35

4.7.5湿度线性补偿和温度补偿

36

4.7.6温度值输出

37

4.7.7露点计算

37

4.8参数存储电路设计

38

4.8.1总线

38

4.8.2参数存储芯片AT24C02

40

4.9通信接口及声光报警电路

41

第五章系统的软件设计与实现

43

5.1初始化程序

43

5.2按键处理模块

44

5.3显示模块

45

5.4模糊控制模块

46

5.5温湿度测量模块

47

第六章系统抗干扰技术

49

6.1硬件抗干扰技术

49

6.2软件抗干扰技术

50

第七章系统仿真

51

总结

54

参考文献

55

致谢

58

第一章绪论

1.1课题背景介绍

温湿度的测控在工农业生产、日常生活及科学研究中有着广泛的应用,诸如农业生产中蔬菜大棚内温湿度测控,粮仓中的温湿度测控以及发电厂,电力部门等都需要温湿度测控。由于常用的温湿度传感器的非线性输出,使温湿度的测量方法和手段相对比较复杂,也给电路的调试增加了难度;为此,采用一体化集成温湿度传感器有利于提高测控系统的抗干扰能力和可靠性。

1.2论文研究的目的与意义

目的:对基于Atmega16单片机的温湿度监控系统进行研究和设计,能够对周围环境的温度和湿度进行实时测量;实现基于Atmega16单片机的温湿度监控系统的软、硬件设计。其意义:

1、基于Atmega16单片机的温湿度监控系统可以为一些对温度、湿度比较敏感的场合提供准确的温度、湿度信息,还可以用于粮库、机房等场所。能够创造一定的社会经济效益。

2、通过对温湿度监控系统的设计来学习并掌握有关单片机的知识和传感器通信技术以及数码管的显示原理,达到进一步巩固平时所学的专业知识。

3、将所学的理论知识和实践相结合,为以后在此基础上结合相关领域设计产品和改进某些产品性能具有很好的实践意义。

1.3系统设计简介

1.3.1设计要求

1、能对输入的温湿度传感器信号进行检测。

2、能判断检测的信号是否越界,在设计程序过程中,考虑到检测的信号在低于或高于设定温湿度的范围时应做些什么。

3、通过监控主机或PC来实时查看当前温度和湿度值,并可在监控主或PC上设置报警参数以便实时监控环境温度和湿度值。

4、温度测量范围:-40℃~123.8℃,精度:+0.4℃;

湿度测量范围:0%RH~100%RH,精度:+3%RH;

响应时间:t<4s

1.3.2功能简介

本系统的设计是将智能传感器监测和单片机控制相结合,整个系统采用ATMEGA16单片机为核心配置,以温湿度传感器、数码管显示、按键、蜂鸣器报警驱动、计算机监控系统等部件。通过单片机与智能传感器相连,采集并存储智能传感器的测量数据。另一方面通过RS-232总线与监控计算机通信,将采集到的数据传输给监控计算机。监控计算机将单片机传输的数据进行记录、存储、处理,供工作人员浏览、记录和进行相关处理。

第二章系统分析

2.1系统设计原则

要求系统具有可靠性高、操作维护方便、性价比性高等优点。

1、可靠性

高可靠性试单片机系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要设计准则,提高系统可靠性一般从以下几个方面考虑:使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出采用抗干扰措施,进行软硬件滤波,系统自诊断功能。

2、操作维护方便

在系统软硬件设计时,应从操作者的角度考虑操作和维护的方便,尽量减少对操作人员专业知识的要求,以利于系统的推广。因此,在设计时,要尽可能减少人机交换接口,多采用操作内置或简化的方法,同时系统应该配有现场故障程序诊断程序,一旦故障能有效准确的对故障进行定位,以便进行维修。

3、性价比

单片机除了体积小、功耗低等特点外,最大的优势在于高性能价格比。一个单片机系统能否被广泛应用,性价比是其中一个关键因数。因此,在设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度的允许的情况下尽可能用软件功能代替硬件功能。

2.2可行性分析

随着电子技术和单片机的发展,基于单片机的测量和控制技术也得到了迅速的发展和广泛的应用。利用单片机对温湿度进行测控的技术,得到日益发展和完善,越来越显示出其优越性。本设计主要用到的是Atmega16单片机和数字式温湿度传感器SHT11。所用到的这些器材价格合理,市场上也容易买到。所以设计出来的系统并不需要大的费用,制造的成本较低,经济上完全在可以承受的范围内,设计满足经济可行性。单片机从诞生至今发展了几十年,已经是一种成熟的技术,它应用在工控、智能器表等很多领域,可以说现在社会上很多地方都能看到单片机应用的身影,有很多参考方面的资料可以学习,所以从技术上来说也完全可行。

2.3系统硬件总体设计以及说明

本温湿度监控系统设计以Atmega16单片机作为核心,通过温湿度传感器芯片(SHT11)对环境内的温度、湿度参数实时检测,经温湿度传感器芯片内A/D转换器转换成对应的二进制值存储于芯片的RAM中,单片机通过发送读取温湿度传感器温度/湿度命令码则温湿度传感器返回对应的参数值,系统实时地测量显示环境的温湿度值,实现温湿度自动控制,使其在较宽的温度范围内具有较高的测试精度,同时还可以根据用户设定报警阈值报警,一旦发现环境温湿度超限,立即报警。系统功能框图如图2-1所示。

图2-1系统功能框图

第三章模糊控制理论

3.1空气温湿度解耦理论依据

设空气初始参数温度为T1,相对湿度为RH1,根据空气热力学原理,此时空气中水蒸气饱和分压力与T1相对应,而水蒸气分压力只与空气中的含水量有关,相对湿度可表示为:

(3-1)

若保持空气中的含水量d不变,温度变化为T2,空气状态焓湿图上可以看出,空气的相对湿度将变为RH2,则:

(3-2)

式中为水蒸气分压力,为温度T2下空气饱和水蒸气分压力。

若温度变化很小,则大气压变化可以忽略,且含水量没有变化,则可认为保持不变,即:

(3-3)

由上式可得:,从而可知,温度对相对湿度的影响,只有在温度发生变化时才比较明显,其影响大小与温度变化幅度有关。如果温度进入稳定状态(达到设定值),则其对相对湿度的影响就为零。因此,以当前温、湿度为初始值,以设定温度为终态值,则有:

(3-4)

式中为当前温度下的饱和水蒸气分压力,单位为:,为设定温度下的饱和水蒸气分压力,单位为:。

以代替参与控制运算,可实现温度对湿度的解耦,我们称为预估相对湿度值。而空气中含水量的变化对空气温度影响极微,在此可忽略不计,使问题得到简化。

3.2模糊控制特点

模糊控制理论诞生后,由于它具有明显的优点,主要反映在对复杂的、机理不明的控制系统,它模仿和升华了人的控制经验与策略,因此与经典的控制方法比较更有工程意义。它具有以下特点:

1、模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。

2、由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。

3、基于模糊的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异,但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。

4、模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。

5、模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。

因此,模糊控制被广泛的应用于工业锅炉、煤炭生产过程、金属冶炼、石油化工等方面,并取得了较为理想的效果。

3.3模糊控制的基本原理

模糊控制的基本原理可由图3-1表示,它的核心部分为模糊控制器,如图中虚线部分所示。模糊控制器的控制规则由计算机的程序实现,微机通过采样获取被控制量的精确值,然后将此量与给定值比较得到误差信号(在此取误差反馈)。一般误差信号作为模糊控制器的输入量。把误差信号的精确量进行模糊化变成模糊量,误差的模糊量可用相应地模糊语言表示。至此,就得到了误差的模糊语言集合的一个子集,再由该子集和模糊控制规则根据推理的合成规则做出控制决策,得到模糊控制量。为了对被控对象施加精确的控制,还需要将模糊量转换为精确量,这一步在图3-1中称为非模糊化处理(也称为去模糊化或清晰化处理)。得到了精确的数字控制量后,经数模转换,变为精确的模拟量后送给执行机构,对被控对象精确控制,然后,进行下一次信号采样,如此循环,从而实现了被控对象的模糊控制。

图3-1模糊系统原理图

3.4模糊控制系统的组成

模糊控制系统和常见的负反馈控制系统很相似,唯一不同之处是模糊控制装置是由模糊控制器来实现,模糊控制器通常由下列几个部分组成。如图3-2所示。

1、输入、输出量的规范化。输入输出量的规范化是指将规范化的控制器的输入输出限制在规定的范围内,以便于控制器的设计和实现。

2、输入量的模糊化。模糊控制器的输入必须通过模糊化才能用于模糊控制器输出的求解,模糊化的主要作用是将输入量规范化后的确定量转换成一个模糊矢量。

3、语言控制规则。模糊控制器的控制规则是基于专家知识或手动操作熟练人员长期积累的经验,它是按人的直觉推理的一种语言表示形式。模糊规则通常由一系列的关系词连接而成,如if-then、or、also、and等,关系词必须经过“翻译”,才能将模糊控制规则数值化。

图3-2模糊系统的组成

4、模糊逻辑推理。模糊推理是控制器中根据输入模糊量,由模糊控制规则完成模糊推理来求解模糊关系方程,并获得模糊控制量的功能部分。在模糊控制中考虑到推理时间,通常采用运算较简单的推理方法。

5、输出量的非模糊化(解模糊化)。模糊推理结果的获得,表示模糊控制的规则推理功能己经完成。但是,至此所获得的结果仍是一个模糊矢量,不能直接用来作为控制量,还必须作一次转换,求得清晰的控制量出,即为解糊化。

3.5本温室温湿度模糊解耦控制算法的实现

3.5.1温湿度模糊解耦器设计

采用模糊解耦控制实际上就是加进一个合适的补偿器,以消除耦合回路对主回路的影响,使各主回路能分别独立控制,达到解耦控制的目的。在温湿度耦合中,主回路是温度控制回路,副回路是湿度控制回路。由于模糊解耦器有其本身的因素,所以不可能做到而且也没有必要做到使温度回路和湿度回路完全独立,实际上只需将湿度耦合对温度回路产生的影响降到最低程度,使它不至于影响温度主回路的正常调节就可以了。模糊解耦器如图3-3所示。

图3-3温湿度模糊解耦算法原理图

图3-3中Kl、K2为量化因子,al、a2为解耦补偿系数,eT、eH为温度偏差和湿度偏差,分别等于测量值减去设定值,cT、cH今为温度回路补偿量和湿度回路补偿量。

模糊解耦器是个两输入两输出的模糊解耦器。解耦器的输入为温度偏差和湿度偏差。解耦器的输出为对温度回路的补偿和湿度回路的补偿值。在模糊控制算法中,把温度偏差和湿度偏差的实际变化范围叫做输入变量的基本论域,基本论域常用区间表示,通用公式为[-x,x]。根据实际情况和实践经验,在本课题中,温度偏差的量化范围:最大值5℃,最小值-5℃,湿度偏差的量化范围为:最大值20%,最小值-20%。与基本论域对应的是模糊集的论域,通用公式表示为[-n,-n+l,,0,,n-1,n],可以通过量化因子(常用K表示)将基本论域中的偏差转化到模糊集的论域上。由于n值过大会使控制规则变得复杂,太小会使模糊处理结果粗糙而破坏控制性能,同时根据实际控制情况,将温度偏差分为七档:负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB)。与此对应将偏差分为:[-5,-4,-3,-2,-l,0,l,2,3,4,5]。同样,将湿度偏差也分为七档:负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PS)。与此对应将湿度偏差分为:[-5,-4,-3,-2,-l,0,l,2,3,4,5]。为了简化计算,在满足系统控制精度的前提下,定义输入采用三角隶属函数;根据温室实际控制经验的总结,其隶属函数曲线如图3-4所示。

图3-4对应eT、eH隶属函数

由此可确定温度偏差eT、湿度偏差eH各语言变量的隶属度赋值如表3-1所示。

量化因子K反映了输入变量的基本论域元素值与模糊集的论域元素值之间的比例关系可用公式K=n/x表示,因此此处温度偏差量化因子Kl=5/5=1,湿度偏差量化因子K2=5/20=0.25。温度偏差和湿度偏差的量化域如表3-2所示。

表3-1温度偏差eT和湿度偏差eH隶属度赋值表

ET/EH

变量

-5

-4

-3

-2

-1

0

1

2

3

4

5

NB

1

0.8

0.2

0.1

0

0

0

0

0

0

0

NM

0.1

0.5

1

0.5

0.1

0

0

0

0

0

0

NS

0

0

0.1

0.8

1

0.1

0

0

0

0

0

Z

0

0

0

0

1.5

1

0.5

0

0

0

0

PS

0

0

0

0

0

0.1

1

0.8

0.1

0

0

PM

0

0

0

0

0

0

0.1

0.5

1

0.5

0.1

PB

0

0

0

0

0

0

0

0.1

0.2

0.8

1

表3-2温度偏差eT和湿度偏差eH量化域表

eT、eH量化等级

eT量化域(单位:℃)

eH量化域(单位:%RH)

-5

-4

-3

-2

-1

0

1

2

3

4

5

将对温度回路补偿量分为七档:负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB)。湿度回路补偿量也分为七档。与此对应将补偿量分为(补偿系数al、a2都取2):[-5,-4,-3,-2,-1,0,1,2,3,4,5]。定义输出也采用三角隶属函数;参照实际控制经验,其隶属函数曲线如图3-5所示。

图3-5cT、cH隶属函数

温度补偿量cT、湿度补偿量cH各语言变量的隶属度赋值如表3-3所示。

表3-3隶属度赋值

cT/cH

变量

-5

-4

-3

-2

-1

0

1

2

3

4

5

NB

1

0.7

0.2

0.1

0

0

0

0

0

0

0

NM

0.1

0.4

1

0.4

0.1

0

0

0

0

0

0

NS

0

0

0.1

0.7

1

0.1

0

0

0

0

0

Z

0

0

0

0

1.5

1

0.5

0

0

0

0

PS

0

0

0

0

0

0.1

1

0.7

0.1

0

0

PM

0

0

0

0

0

0

0.1

0.4

1

0.4

0.1

PB

0

0

0

0

0

0

0

0.1

0.2

0.7

1

表3-4温度补偿cT模糊规则表

ET

EH

NB

NM

NS

Z

PS

PM

PB

NB

PS

PS

Z

NS

NB

NB

NB

NM

PM

PS

PS

Z

NM

NM

NM

NS

PB

PM

PS

Z

NS

NM

NM

Z

Z

Z

PM

Z

PM

M

PB

PS

NS

Z

Z

Z

PS

PM

PB

PM

NM

NS

Z

Z

PS

PS

PM

PB

NB

NM

NS

Z

Z

PS

PS

在这里对温度回路补偿量、湿度回路补偿量所分七档:负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB)作以说明。正小(PS),正中(PM),正大(PB)表示补,就是加大控制量;零(Z)表示不补;负大(NB),负中(NM),负小(NS)表示减,就是减小控制量。

根据实际经验得出解耦温度补偿cT规则表如表3-4所示,解耦湿度cH补偿规则表如表3-5所示。

表3-5湿度补偿cH模糊规则表

ET

EH

NB

NM

NS

Z

PS

PM

PB

NB

PB

PS

PS

Z

NS

NM

NB

NM

PB

PS

PS

Z

NS

NM

NB

NS

PM

PS

Z

Z

NS

NM

NB

Z

PM

PS

Z

Z

NS

NM

NB

PS

PS

PS

Z

Z

NS

NM

NB

PM

PS

PM

Z

Z

NS

NM

NM

PB

PS

PM

Z

Z

NS

NM

NB

从表3-4和表3-5中取一条规则来分析,例如:如果eT=NBANDeH=NS,那么cT=PBANDcH=PM;从此条规则可以看出当温度偏差为负大且湿度偏差为负小,那么温度补偿量大补,进行补偿,而湿度补偿量为中补。即当温室温度比设定值小很多为负大,同时温室内湿度有点低为负小,因为温度太低,所以要全力使温度上来,不必考虑有点低的湿度,这时因为温度回路的闭环控制会有一个开大温度的制量,这个控制量的施加会使得温室快速上升。这样以来温度上来了,所以相对湿度会有所下降,相对湿度可能会更低,所以需要对湿度回路控制量进行中补。由上面总结出来的模糊规则,经过模糊推理,然后再清晰化,清晰化后乘以补偿系数,就得到了补偿量。至此温湿度的耦合关系己清晰。从理论上看,模糊解耦器能有效的解除温湿度之间的耦合。

3.5.2清晰化处理

由模糊控制规则表求取模糊控制查询表步骤如下(以温度为例)

以第一条模糊控制规则为例,可表示:

IfeT=NBandeH=NBtheneT=PS

第一步,从eT的隶属函数赋值表中取“NB”对应的向量,并定义为A。即:

同理,从eH的隶属函数赋值表中取“NB”,对应的向量,并定义为B。即:

第二步,求,得到一个的矩阵。

第三步,把上述矩阵按行展开,并令其展开以后的行向量为r,即:

第四步,从温度补偿量。T的隶属函数赋值表中取出"PS",对应的向量,并记作C,即:

第五步,求得到一个的矩阵。

同理,可以求得与另外48条模糊控制语句相应的模糊关系矩阵R2,R3,...,R49,然后求出与模糊规则控制表相对应的模糊关系矩阵:

第六步,根据公式求输出模糊量,首先求,然后和R执行合成运算,这样得到输出模糊量矩阵。

表3-6温度补偿cT模糊决策表

U

EH

-5

-4

-3

-2

-1

0

1

2

3

4

5

ET

-5

1

2

2

2

3

3

3

4

4

4

5

-4

1

1

1

1

2

2

2

3

3

4

4

-3

0

0

0

0

1

1

2

2

2

3

3

-2

0

0

0

0

0

0

1

2

2

2

3

-1

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

-3

-3

-2

-2

-1

-1

-1

0

0

0

0

2

-4

-4

-3

-3

-3

-3

-2

-1

-1

-1

-1

3

-4

-4

-3

-3

-3

-3

-2

-2

-5

-2

-2

4

-4

-4

-4

-4

-4

-4

-3

-3

-5

-2

-2

5

-5

-5

-5

-5

-4

-4

-4

-4

-3

-3

-3

表3-7湿度补偿cH模糊决策表

U

EH

-5

-4

-3

-2

-1

0

1

2

3

4

5

ET

-5

5

4

4

4

3

2

2

1

1

0

0

-4

4

4

4

3

3

2

2

1

1

0

0

-3

4

4

3

3

2

1

1

0

0

0

0

-2

3

4

3

3

1

1

1

0

0

0

0

-1

1

3

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

-1

-1

-1

-2

-2

-3

2

0

0

-1

-1

-1

-2

-3

-3

-3

-4

-4

3

-1

-1

-2

-2

-2

-3

-3

-3

-4

-4

-4

4

-2

-2

-2

-3

-3

-3

-4

-4

-5

-5

-5

5

-2

-2

-3

-3

-4

-4

-4

-5

-5

-5

-5

第七步,本文在反模糊化设计中采用了常用的最大隶属度法。这个方法是在输出模糊集合中选取隶属度最大的论域元素值作为输出结果,再利用最大隶属度法得到隶属度最大的那个元素作为相应输入的输出。制成如表3-6所示的模糊控制决策表。同理我们可以得到湿度补偿的模糊决策表,如表3-7所示。

3.5.3温湿度模糊控制

温湿度的耦合解开后,系统的控制问题进而转换成两个单变量控制的问题,即温度的单回路控制和湿度的单回路控制。在温度的控制策略中主要分成是空调;湿度的控制主要是喷雾系统进行调节。本课题采取以温度控制为主、湿度控制为辅的策略,分别采用模糊控制方法对温度和湿度进行控制。下面以温度的模糊控制算法为例进行介绍;湿度的模糊控制算法的实现过程与之相同,在此不再作介绍。

在本课题中,根据温室环境温度控制的特点,采用两输入—输出的模糊控制方法。两输入指温度偏差E和温度偏差变化率EC,输出指不同的温湿度调节机构的运行状况。

将温度误差的基本论域定为[-5℃,5℃],温度误差变化的基本论域定为[-1℃,+l℃]为提高控制精度和响应速度,将温度的控制范围分为模糊控制区和确定控制区,以温度误差范围为界,温度误差在规定范围以内为模糊控制区,以外为确定控制区。在确定控制区内,温湿度调节机构全开或全关,在模糊控制区,将温度偏差、偏差变化率的模糊集合分为7个模糊子集,分别为PB(正大),PM(正中),PS(正小),Z(零),NS(负小),NM(负中),NB(负大)。选取语言变量E、EC的论域均为:{-4,-3,-2,-1,0,1,2,3,4}。为了简化计算,在满足系统控制精度的前提下,输入均采用三角隶属函数。根据实际控制经验,温度偏差E、温度偏差变化率EC形状如图3-6所示。

图3-6对应E、EC隶属函数

由此可得温度偏差E、偏差变化率EC的隶属函数赋值表如表3-8所示。

表3-8温度偏差E与偏差变化率EC隶属度赋值表

E/EC

变量

-4

-3

-2

-1

0

1

2

3

4

NB

1

0.5

0

0

0

0

0

0

0

NM

0.1

0.6

1

0.6

0.1

0

0

0

0

NS

0

0

0.5

1

0.5

0

0

0

0

Z

0

0

0

0.5

1

0.5

0

0

0

PS

0

0

0

0

0.5

1

0.5

0

0

PM

0

0

0

0

0.1

0.6

1

0.6

0.1

PB

0

0

0

0

0

0

0

0.5

1

控制量输出采用棒形隶属函数,棒形隶属函数是其它隶属函数幅度为零的特例。本系统控制量的模糊划分采用单点,分为7个模糊子集,分别为PB(正大),PM(正中),PS(正小),Z(零),NS(负小),NM(负中),NB(负大)。选取语言变量U的论域为:{-3,-2,-1,0,1,2,3}。控制量的隶属函数如图3-7所示。

图3-7控制量的隶属函数

在本课题中,用与本章前面温湿度解耦中由模糊控制规则表求取模糊控制查询表相同的方法和步骤,可得到温室温度的模糊控制查询表。如表3-9所示。实际控制过程中,可以对该表进行优化,根据查表的结果求出控制量,去控制或驱动执行机构,实现对温室温度的智能控制。

表3-9温度输出控制量U模糊决策表

U

EC

-4

-3

-2

-1

0

1

2

3

4

E

-4

3

3

3

3

1.6

1.6

1

0

0

-3

3

3

3

3

1.6

1.6

1

0

0

-2

2.5

2.5

2.5

2.5

1

1

0.3

-0.5

-0.5

-1

2.5

2.5

2

1.5

0.5

0.4

-0.2

-1

-1

0

1.5

1.5

0.8

0.2

0

-0.2

-0.8

-1.5

-1.5

1

1

1

0.2

-0.4

-0.5

-1.5

-2

-2.5

-2.5

2

0.5

0.5

-0.3

-1

-4

-2.5

-2.5

-2.5

-2.5

3

0

-1

-1.6

-1.6

-3

-3

-3

-3

0

4

0

0

-1

-1.6

-1.6

-3

-3

-3

-3

第四章系统的设计与实现

4.1系统硬件方案

系统硬件组成框图如图4-1所示,主要有温湿度采集、数码管显示、键盘、步进电机驱动控制、排湿风扇调速驱动控制、循环风机驱动控制、参数存储、声光报警、电源等几个部分组成。

图4-1系统硬件组成框图

4.2单片机芯片的选用

本系统采用ATMEL公司的Atmega16单片机,它有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。

图4-2引脚配置

4.3电源转换电路的设计

电源是系统的重要组成部分,电源模块提供开发板的工作电源,同时通过扩展口为扩展系统提供电源。

ATmega16的工作电压为4.5~5.5V,这里采用AV220直接输入经AC220V~AC9V15W变压器调压至AC9V,再经二极管全波整流桥、滤波、稳压(7805)得到DC5V电压,其电路如图4-3所示。同时在系统板上单片机、晶振、关键芯片位置处布置104的电容隔离5V和地,起到去耦作用,有效去除振荡信号的干扰。

图4-3电源转换电路图

4.4键盘控制电路设计

为了达到实时响应,使用户随时调节系统参数,键盘采用中断扩展方式,这样既节省中断资源,又实现了多外部中断响应的效果。同时,这种方式也可节省不少CPU时间,在没有按键触发的时候,CPU只处理与按键无关的事件,当有按键按下,CPU就会及时响应外部中断,进入中断服务程序对按键事件进行处理,处理完毕立即返回主函数,相对于查询方式的按键设计具有更高的实时性和可靠性。其电路原理图如图4-4所示。其中,74HC260是或非门,没有键按下的时候,74HC260的IN输入端为低电平,经或非以后输出端为高电平,CPU不响应中断;一旦有键按下74HC260输入端为高电平,经或非输出端为低电平,这时CPU响应外部中断,按键事件发生按照系统的方案要求,设置了基于外部中断0的五个按键,S1~S5分别代表设置键、增加键、减少键、查询键、设定键。

图4-4键盘电路原理图

4.5显示电路设计

MAX7219是美国MAXIM(美信)公司推出的多位LED显示驱动器,采用3线串行接口传送数据,可直接与单片机接口,用户能方便修改其内部参数,以实现多位LED显示。它内含硬件动态扫描显示控制,每枚芯片可驱动8个LED数码管。显然,它可直接驱动64段LED条形图显示器。当多片MAX7219级联时,可控制更多的LED。显示的数据通过单片机数据处理后,送给MAX7219显示。当然,也完全可以将MAX7219的一部分用于条形图显示,一部分用于其他显示(如数字和字母等)。

图4-5显示电路的连接

4.6步进电机驱动控制电路设计

步进电机驱动控制电路结构如图4-6所示。其中单片机是为脉冲分配器提供脉冲信号的和控制信号的;脉冲分配器将单片机送过来的脉冲按照预先设定好的逻辑时序进行分配(比如四相八拍的步进方式);脉冲放大器是为了将从脉冲分配器输出的电压较低的信号放大强化并送入光电耦合器,将单片机的电源和步进电机的电源隔离开,脉冲再次经过功率放大最后送入到步进电机绕组,步进电机开始运行。

图4-6步进电机驱动控制电路结构

4.6.1步进电机控制原理

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。近30年来,数字技术、计算机技术和永磁材料的迅速发展,推动了步进电动机的发展,为步进电动机的应用开辟了广阔的前景。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电动机有如下特点:

1、步进电动机的角位移与输入脉冲数成正比,因此,当它转一转后,没有累计误差,具有良好的跟随型。

2、由步进电动机与驱动电路组成的开环数控系统,既非常简单、廉价、又非常可靠。

3、步进电动机的动态响应快,易于起停、正反转及变速。

4、速度可在相当宽的范围内平滑调节,在低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。

5、步进电动机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。

6、步进电动机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:

(1)控制换相顺序

通电换相这一过程称为脉冲分配。例如:四相步进电机有三种工作方式:

1)单四拍:其各相通电顺序为A-B-C-D;

2)双四拍:其各相通电顺序为AB-BC-CD-DA;

3)四相八拍:其各相通电顺序为A-AB-B-BC-C-CD-D-DA,或者AB-ABC-BC-BCD-CD-CDA-OA-DAB。它的时序控制如图4-7所示。

图4-7电机时序控制如图

八拍方式与其它两种方式相比,相电流最大,高频性能较好,转矩大,电磁阻尼较大,不易振荡,功耗中等。而矩角特性是步进电机运行时一个很重要的参数,矩角特性好,步进电机启动转矩就大,运行不易失步。改善矩角特性一般通过增加步进电机的运行拍数来实现。因此在很多情况下,四相步进电机采用四相八拍工作方式。

(2)控制步进电机的转向

如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。

(3)控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。

驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现。现在,脉冲分配器己经标准化、芯片化,市场上可以买到。但硬件方法结构复杂,成本也较高。

步进电机控制(包括控制脉冲的产生和分配)也可以使用软件方法,即用单片机实现,这样既简化了电路,也降低了成本。使用单片机以软件方式驱动步进电机,不但可以通过编程方法,在一定范围内自由设定步进电机的转速、往返转动的角度以及转动次数等,而且还可以方便灵活地控制步进电机的运行状态,以满足不同用户的要求。因此,常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。这种方式电路简单、控制灵活,但占用CPU的时间过多,每次驱动电机时,单片机都得被占用。因此在本系统中采用GAL作为脉冲分配器来驱动电机。

4.6.2GAL脉冲分配器

如图4-8所示,GAL16V8D的1、2、3、5、6脚分别定义为CLK、DIR1、RSTI、DIR2、RST2分别于单片机的I/O口相连,1A、1B、1C、1D和2A、2B、2C、2D分别接两路步进电机的四相。CLK作为GAL的时钟输入端,通过调整CLK的频率可以改变步进电机转动的速度和加速度;DIR1、DIR2作为步进电机脉冲的方向控制端,当DIR1、DIR2步进脉冲为A-AB-B-BC-C-CD-D-DA时,步进电机正转,当DIR1、DIR2步进脉冲为D-DC-C-CB-B-BA-A-AD时,步进电机反转;RST用来使步进电机回到“零”位置。

图4-8脉冲分配器的连接

4.6.3步进电机的选型

选用常州宝来电器有限公司生产的精密减速步进电机,型号为42BY48HJ120。它的参数如表4-1。

表4-1步进电机型号参数

步距角

7.5/120

相速

4

电压

24

电流

0.13

电阻

90

空载起动频率(PPS)

300

空载运行频率(PPS)

400

起动转矩(N.cm)

80

定位转矩(N.cm)

160

4.6.4步进电机驱动控制电路

GAL16VS引脚的输出电流典型值为45-75mA,GAL的输出电流放大后才能驱动步进电机。因此GAL后接一片ULN2003,它是8路达林顿驱动芯片,它的最大输出电流达到500mA。GAL经过逻辑编程作为步进电机的脉冲分配器,74LS07将GAL发出的脉冲信号放大送往光电隔离TLP521,ULN2003进一步将脉冲信号放大并送往功率驱动管驱动步进电机运转。本设计采用的是4相步进电机,工作电压+24V,用共阴极的接法。从ULN2003经功率管放大输出的信号A、B、C、D,若A=0(低电平),则表示该步进电机的A相导通,接着再让B相导通,如果有规律地使4相依次导通:A-AB-B-BC-C-CD-D-DA,那么电机就会转动起来,如果导通顺序反向,则反转。图4-9为一路步进电机驱动控制电路。

图4-9一路步进电机驱动控制电路

4.7传感器模块的设计与实现

4.7.1温湿度传感器的选择

温度湿度传感器的选择比较重要,因为其关系到整个系统的性能。下面对几种方案进行一下比较:

方案一:采用分立的温度和湿度传感器,其中温度传感器可以采用温敏电阻,湿度传感器可以采用湿敏电容,这样传感器部分的价格比较低,但是外围电路比较复杂,并且包含小信号的处理为设计增加了难度,同时温度和湿度的测量精度不高。所以没有采用。

方案二:使用温度和湿度集成在一个芯片上的传感器SHT11,SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。主要特点如下:高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;测量精度可编程调节,内置A/D换器(分辨率为8~12位,可以通过对芯片内部寄存器编程选择);测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;封装尺寸超小(7.62mm×5.08mm×2.5mm),测量和通信结束后,自动转入低功耗模式;高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。

SHT11传感器使用简单,集温度和湿度检测于一身。微小的体积、极低的功耗,使其成为应用的首选。所以在本设计中采用了第二种方案。

4.7.2SHT11(温湿度传感器)传感器描述

温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图4-10所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大,然后进入一个14位的A/D转换器,最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境中进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5℃左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。

图4-10SHT11内部结构框图

微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如下表所列。

表4-2SHT11命令代码

命令代码

含义

00011

测量温度

00101

测量湿度

00111

读内部状态寄存器

00110

写内部状态寄存器

11110

复位命令,使内部寄存器恢复默认值,下次命令前至少等待11ms

其他

保留

SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如下图所示。

各引脚的功能如下:

脚1和4:信号地和电源,其工作电压范围是2.4~5.5V;

脚2和脚3:二线串行数字接口,其中DATA为数据线,SCK为时钟线;

脚5~脚8:未连接。图4-11SHT11

4.7.3S

HT11工作时序

首先对数据传输进行初始化来启动SHT11测量时序,即在第一个SCK时钟高电平时,DATA翻转为低电平,并在第二个SCK时钟高电平时,DATA翻转为高电平。SHT11测量命令包含3个地址位和5个命令位(其中温度测量代码为00011,湿度测量代码为00101)。单片机发布一组8bit测量命令(如00000101,即湿度测量)后,DATA在第8个SCK时钟的下降沿被置为低电平。再发送第9个SCK时钟作为命令确认,DA2TA在其下降沿之后,恢复为高电平。同时,单片机可以暂时停止发送时钟序列以进入空闲模式,准备读取测量数据。SHT11在转换结束后,,将DATA置为低电平,单片机继续发出时钟序列,来读取2个8Byte的测量数据和1个8Byte的CRC奇偶校验。所有的数据从MSB开始,右值有效(例如:对于12bit数据,从第5个SCK时钟起算作MSB;对于8bit数据,首字节无意义)。其中,在每个字节传输结束之后,都要发出一个时钟高电平ACK,并将DATA置为低电平,以确认读取成功。当然,如果不使用CRC28校验,控制器可以在读取测量值LSB后,通过保持确认位ACK高电平,来中止数据传输。在测量和传输结束后,SHT11自动转入休眠模式。SHT11的工作时序如下图所示。

图4-12SHT11的工作时序

4.7.4SHT11与

单片机的连接

SHT11通过两线串行接口电路与单片机连接,具体电路如图4-12所示。其中,串行时钟输入线SCK用于单片机控制器与SHT11之间的通信同步。串行数据线DATA用于内部数据的输出和外部数据的输入。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿后有效。因此单片机可以在SCK高电平时读取数据,而当其向SHT11发送数据时,在SCK时钟下降沿之后改变状态,同时保证DATA线上的电平状态在SCK高电平段稳定。其程序流程图见第五章。

图4-13SHT11与单片机的连接

4.7.5湿度线性补偿和温度补偿

SHT11可通过DATA数据总线直接输出数字量湿度值。该湿度值称为“相对湿度”,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。由于相对湿度数字输出特性呈一定的非线性,因此为了补偿湿度传感器的非线性,可按下式修正湿度值:

(4-1)

式中:为经过线性补偿后的湿度值,为相对湿度测量值,、、为线性补偿系数,取值如表4-5所列。

由于温度对湿度的影响十分明显,而实际温度和测试参考温度25℃有所不同,所以对线性补偿后的湿度值进行温度补偿很有必要。补偿公式如下:

(4-2)

式中:RHture为经过线性补偿和温度补偿后的湿度值,T为测试湿度值时的温度(℃),和为温度补偿系数,取值如表4-6所列。

表4-3湿度线性补偿系数

SOrh

C1

C2

C3

12位

-4

0.0405

2.8×10-6

8位

-4

0.648

-7.2×10-4

表4-4温度线性补偿系数

SOrh

t1

t2

12位

0.01

0.00008

8位

0.01

0.00128

4.7.6温度值输出

由于SHT11是采用PTAT能隙材料制成的温度敏感元件,因而具有很好的线性输出。实际温度值可由下式算得:

(4-3)

式中:和为特定系数,的取值与SHT11工作电压有关,的取值则与SHT11内部A/D转换器采用的分辨率有关,其对应关系分别如表3-6和表3-7所列。

表4-5d1对应关系表4-6d2对应关系

VDD/V

d1/℃

d1/F

5

-40.00

-40.00

4

-39.75

-39.50

3.5

-39.66

-39.35

3

-39.60

-39.28

2.5

-39.55

-39.23

SOT

d2/℃

d2/F

14位

0.01

0.018

12位

0.04

0.072

4.7.7露

点计算

露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。当空气的温度低于露点时,空气容纳不了过多的水分,这些水分会变成雾、露水或霜。露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:

(4-4)

(4-5)

式中:为当前温度值,为相对湿度值,为露点值。

4.8参数存储电路设计

4.8.1总线

总线是一种用于IC器件之间连接的二线制总线,它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。

1、总线的基本结构采用总线标准的单片机或IC器件,其内部不仅有接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。总线接口电路结构如图4-14所示。

图4-14总线接口电路结构

2、双向传输的接口特性传统的单片机串行接口的发送和接收一般都各用一条线,如AVR系列的TXD和RXD,而总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。

总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路。总线的数据传送速率在标准工作方式下为100kbit/s此,在快速方式下,最高传送速率可达400kbit/s。

3、总线上的时钟信号在总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平周期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。

4、数据的传送在数据传送过程中,必须确认数据传送的开始和结束。在总线技术规范中,开始和结束信号(也称启动和停止信号)的定义如图4-15所示。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号;当SCL线为高电平时,SDA线发生低电平到高电平的跳变为“结束”信号。开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。

图4-15总线开始和结束信号

总线的数据传送格式是:在总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(R/W)。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位(R/W)确定。

在总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位),也叫应答位(ACK)。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放SCL线,主器件继续传送。

当主器件发送完一个字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,在此时钟内主器件释放SDA线,一个字节传送结束,而从器件的响应信号将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址中提供的数据,则应对地址作出响应,其表现为一个接收器。

5、总线接口器件目前在视频处理、移动通信等领域采用总线接口器件己经比较普遍。另外,通用的总线接口器件,如带总线的单片机、RAM、ROM、A/D、D/A、LCD驱动器等器件,也越来越多地应用于计算机及自动控制系统中。

4.8.2参数存储芯片AT24C02

AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含2568位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。

图4-16中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在系统主板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向总线串行传送,在系统主板上上和单片机的SDA连接。第6脚SCL为串行时钟输入线,在系统主板上和单片机的SCL连接。SDA和SCL都需要和正电源间各接一个10K的电阻上拉。第7脚需要接地。

AT24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。

图4-16AT24C02接口电路

4.9通信接口及声光报警电路

1、通信接口电路

通信接口采用单片机的全双工异步串行接口,用于软件的升级和联机通讯。接口电路如图4-17所示。接口芯片采用MAXIM公司的MAX232C芯片。

图4-17RS-232接口电路

2、声光报警电路

系统提供了温湿度上下限报苦、时间超限报警、系统异常报警。报警电路如图4-18所示,蜂鸣器采用长声型,由PNP型三极管驱动。

图4-18声光报警电路图

第五章系统的软件设计与实现

5.1初始化程序

程序的初始化在任何硬件模块程序设计中,

温馨提示

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

评论

0/150

提交评论