基于AT8单片机远程空调控制器1.docx

上传人:b****3 文档编号:26559190 上传时间:2023-06-20 格式:DOCX 页数:55 大小:578.29KB
下载 相关 举报
基于AT8单片机远程空调控制器1.docx_第1页
第1页 / 共55页
基于AT8单片机远程空调控制器1.docx_第2页
第2页 / 共55页
基于AT8单片机远程空调控制器1.docx_第3页
第3页 / 共55页
基于AT8单片机远程空调控制器1.docx_第4页
第4页 / 共55页
基于AT8单片机远程空调控制器1.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

基于AT8单片机远程空调控制器1.docx

《基于AT8单片机远程空调控制器1.docx》由会员分享,可在线阅读,更多相关《基于AT8单片机远程空调控制器1.docx(55页珍藏版)》请在冰豆网上搜索。

基于AT8单片机远程空调控制器1.docx

基于AT8单片机远程空调控制器1

摘要

本设计主要是以ATmega8单片机为核心设计的一种空调节能控制器。

目前市场上对于空调节能控制器,主要有基于特定单片机、变频技术、和自然冷源三种空调节能控制器。

本设计选择了“基于ATmega8单片机空调节能控制器”的设计方案。

该方案利用ATmega8单片机为主控芯片,实现了温度采集、空调开关控制和通信等功能。

在硬件方面,采用了DS18B20实现了温度采集模块,使用了光耦和继电器配合万能遥控器实现了控制空调模块,利用了MAX487芯片实现了通讯模块;在软件方面,通过程序读取DS18B20的温度实现了温度采集子程序,利用了比较进风口和出风口的温差实现空调开关判断子程序,使用了单片机的接受中断和发送子程序实现了通讯子程序。

最后在硬件和软件的基础上进行调试,系统实现了温度的采集、空调开关控制等功能。

在正常通信情况下,可发送指令开启和关闭空调;在通信故障情况下,可以根据实际的温度开关空调,从而使温度控制在合理的范围内,实现了空调节能目的。

关键词:

空调节能单片机DS18B20

目录

绪论3

第一章ATmage8概述4

1.1ATmega8的特点4

1.2ATmega8编程和系统开发工具4

第二章现有机房空调节能控制器设计5

2.1现有机房空调节能控制器介绍5

2.1.1基于特定单片机的空调节能控制器设计5

2.1.2基于变频技术的空调节能控制器设计6

2.1.3基于利用自然冷源的空调节能控制器设计6

2.1.4基于机房空调机组自适应控制器设计7

2.2方案设计比较7

第三章总体方案设计10

3.1温度采集模块设计10

3.2控制空调开关模块设计10

3.3通信模块设计11

3.4其他模块设计11

第四章硬件设计12

4.1ATmega8单片机IO口分配12

4.2温度采集模块设计12

4.3空调开关控制模块设计13

4.4通信模块设计14

4.5其他模块设计14

4.5.1电源转换模块设计14

4.5.2485地址设置15

4.5.3测试电路设计16

第五章软件设计17

5.1总体程序流程图17

5.2温度采集模块软件设计18

5.3空调状态控制模块20

5.4通讯模块21

5.5其他模块实现23

第六章系统实现24

6.1硬件调试24

6.1.1电路的检测24

6.1.2遇到的问题及解决25

6.2软件调试25

6.2.1各模块的调试及实现25

6.2.2遇到的问题及解决27

6.3系统测试28

6.4结论30

第七章总结31

致谢32

参考文献33

附录一空调控制器原理图和PCB板图34

附录二空调节能控制器C语言程序代码36

绪论

当今,节能持续成为电信运营商降低成本、提高竞争力的重要发展战略之一。

而通信基站和机房庞大的空调耗能则是运营商最关注的节能问题。

在通信机房中,为保持通信设备运行所需要的环境,机房的空调几乎处于全年运行的状态,存在着大量的电能浪费,根据电信相关资料统计,通信机房耗电量占到了整个电信企业用电的90%以上,而机房空调占到了整个机房设备耗能电量的40%以上,可以看出空调的节能工作较为薄弱,能源浪费现象严重,因此,如何在确保通信设备安全正常运行的前提下,最大限度地降低机房空调的能耗,是实现通信机房节能的关键所以加强空调的维护管理和技术改造,可以达到非常显著的节能效果。

本文就是针对空调节能系统的节能问题,介绍了一种空调节能控制器的设计方案,对其硬软件部分的设计进行了详细的阐述,并在此基础之上进行了实际测试,验证该节能控制器的可行性。

第一章ATmage8概述

ATmega8单片机是高档AVR单片机中ATmega系列的一种,该单片机是由ATMEL公司的第一个真正的8位RISC型单片机,并它同FLASH和EEPROM技术相结合,有极高的性价比[1]。

1.1ATmega8的特点

ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大硬件接口电路,具备AVR高档单片机MEGE系列的全部性能和特点[7]。

ATmega8具有高性能低功耗的8位AVR微处理器、先进的RISC结构、非易失性的程序和数据存储器、强大的外部接口性能、带片内RC振荡器的可编程看门狗定时器片内模拟比较器、最多23个编程的I/O口、4.5-5.5V的宽工作电压、高达16MHz的运行速度等特点。

该类单片机还具有系统内可编程特性,可无需购买昂贵的仿真器和编辑器也可进行单片机嵌入式系统设计和开发,尤其是对于单片机的初学者来说,可提供了非常方便和简捷的学习开发环境。

因此,本设计选择了ATmega8单片机为主控芯片来实现空调节能控制功能。

1.2ATmega8编程和系统开发工具

ATmega8具有了一整套的编程和开发工具,它包括宏汇编编译器、C语言编译器、BSCOM-BASIC语言编译器以及在线调试/仿真器和评估板。

本设计所采用的是ICCAVR软件开发环境,它是一种使用符合ANSI标准的C语言来开发AVR系列单片机程序的一个工具,能产生可以直接使用的INTELHEX格式文件,这种格式文件可被大多数的编程器所支持。

本设计中采用的编程器是纬煌编程器,它可以实现直接下载程序到单片机芯片中,方便快捷的实现各模块功能。

第二章现有机房空调节能控制器设计

2.1现有机房空调节能控制器介绍

机房节能的重点就是是降低空调能耗。

实现空调节能的途径有很多种,空调节能控制器就是其中一种途径,目前空调控制器的有很多种,他们有着不同的优点和缺点,下面主要阐述了几种的空调节能控制器的设计及对他们的总结。

2.1.1基于特定单片机的空调节能控制器设计

(1)基于PIC16F877单片机的空调节能控制器设计

该空调节能控制器是通过优化压缩机运行曲线,根据空调的运行特性及环境对温度的感适能力,通过一个继电器控制空调内压缩机的运行状态,调整了空调压缩机的运行曲线,达到调控温度及节省耗电的功能。

该节能控制器硬件电路以PIC16F877单片机为控制核心,主要包括温度采集模块、参数设置及状态显示模块、压缩机控制模块等。

温度采集模块对室温进行采集,送入主控制单元;参数设置及状态显示单元主要是选择节能控制器的工作模式及节能效率,并对相应的工作模式以及设定的温度进行显示;压缩机控制模块主要对空调压缩机电路进行控制。

该节能控制器软件设计是将节能控制分为两种节能状态,对制冷温度进行设定,并对压缩机强制关断时间做出选择,达到设定温度后,两种节能状态程序分别通过强制关断压缩机10分钟和15分钟来克服压缩机的长时间工作和频繁启动,达到节省电能的目的。

该设计程序可分为:

初始化模块、按键采集及处理模块、显示模块、压缩机控制模块、参数重置模块四个功能模块[5]。

(2)基于C8051F020的环保节能空调控制器的设计

该空调控制器设计利用抽取地下水形成环流热交换实现调节室内温度的一种方法,根据热转换前的温度、环境的温度、热转换后的温度,通过控制步进电机的转动来实现对水流速度的控制,同时控制小型风扇的转速来调节热交换效率,实现对环境温度的自动调节,实现节能效果[6]。

该空调控制器设计硬件电路以C8051F020单片机为核心,由温度采集电路、温度显示电路、数据传输电路、步进电机驱动电路、小型风扇控制电路及热交换部分组成。

系统完成温度的采集与处理,通过控制步进电机转动来实现水流速度的控制,同时调节风扇转速来改变热交换效率,并完成与上位机之间的数据传输。

该空调控制器设计系统软件设计包括上位机软件和单片机监控软件两部分,其中上位机软件用于接收、存储单片机上传的数据,并进行显示;监控软件主要包括温度采集、处理、显示,步进电机控制及风扇速度的调节等,并与计算机进行通讯。

2.1.2基于变频技术的空调节能控制器设计

基于变频技术的空调节能控制器是根据空调具有冷负荷变化范围大的特点,南方地区供冷范围10%-100%之间变化大的优势来调整空调机组的运行参数[2]。

下面阐述了这种技术的两种方式:

(1)中央空调系统水系统变频调速节能方式

采用交流变频技术控制水泵的运行,是通过对阀门调节和变频调速两种状态下的H-Q(压力-流量)关系及P-Q(功率-流量)控制。

当所需流量减少时,水泵转速降低,电动机所需功率按转速的三次方下降。

当水泵转速下降到额定转速的60%(即f=30Hz)时,电动机消耗功率将下降78.4%,即节电率为78.4%,这种方式控制来减少水泵流量的效果是十分显著。

(2)机房专用空调压缩机变频方式

机房专用空调压缩机变频技术是利用变频器改变压缩机的供电频率,通过调节压缩机的转速达到控制室温的目的。

空调每次启动时,先以最大功率、最大风量进行制热或制冷,迅速接近所设定的温度后,压缩机便在低转速、低能耗状态下运转,仅以所需的功率维持设定的温度[3]。

这样的控制器不但温度稳定,避免了压缩机频繁地开、停所造成的使用寿命的缩减,而且耗电量大大下降。

2.1.3基于利用自然冷源的空调节能控制器设计

这种节能技术的原理是把室外的自然环境作为冷源,用控制器判断室外空气温度低于室内空气温度且达到一定程度时,通过通风将机房内的热量带走,达到降低机房内部温度的目的。

这样可以减少空调的使用时间,达到节约电能的目的。

在技术实现上,目前有下列两种方式:

(1)自然通风新风系统

当室外空气温度较低时,通过控制器控制直接将室外低温空气送至室内,为室内降温;当室外温度高不足以带走室内热量时,则开启空调。

FCX系列节能空调采用自然通风新风系统,直接将室外心外新风引入,改组没有传热顺势,运行效率高[3]。

(2)热交换新风系统

热交换新风系统采用隔绝换热方式,室内外空气并不接触,室外空气只作为冷源将室内热量带走,室内空气换热冷却后重新回到室内,不改变机房内部湿度,洁净度也能得到更好的保证。

FCR系列机房节能空调采用的就是热交换新风系统,核心部件是板式显热换热器,室内外空气在换热芯片内进行能量交换[3]。

2.1.4基于机房空调机组自适应控制器设计

基于机房空调机组自适应控制器以机房专用空调回风口处传感器的温湿度值作为数据采样参考点,监测整个机房平面的真实环境温湿度数据。

上海电信就是利用机房专用空调系统组合的综合控制能力以及机房内气流组织的优化处理,该控制器采用的是计算机温度模拟技术建立数学模型,并通过自动计算机房不同的工况、空调冷量分布等综合数据,动态跟踪计算不同季节空调在外部的环境温度与室内目标温度的关系和空调当前的富余容量,精确控制“N+1”、“N+0”、“N-1”台等空调数量的优先开、关机顺序,使空调组群始终处于最合理的工作状态,从而达到空调效率最大化的目的[2]。

机房专用空调自适应恒温恒湿控制节能监控系统的安装和施工简单方便,不需要对机房结构做任何变动,不影响原有空调系统的结构,具有安全可靠性等特点,且有利于日常维护。

2.2方案设计比较

以上介绍了现有的几种空调节能控制器设计方案设计,现在将他们进行比较,比较如下:

(1)基于变频技术的空调控制器,该设计改造必须治理好谐波效应,避免其干扰机房设备的正常工作,且由于其投资较大,因此在实际节能改造中需慎重考虑。

(2)基于空调自适应控制系统的空调节能控制器要满足响应时间短,控制速度快,控制精度高等特点,因此只有高质量的控制系统才能利用空调系统的自动,安全,节能运行。

(3)基于利用自然冷源空调节能控制器,该设计的新风节能系统和热交换节能系统利用的是室外大气冷源,冷量来源廉价易得,且取之不尽,用之不竭,但节能效果受室外条件的影响,在北方和南方温度较低的地区节能效果更显著。

(4)基于某单片机的空调节能控制器:

采用专门的空调控制器代替器原有的温度控制器,将原先空调压缩机的启动和关闭由一个温度设定点改为温度区段控制,优化压缩机的运行曲线,减少空调器的运行时间以达到节能的目的。

此方法实现起来比较简单,相对变频空调来说投资少,相对空调自适应空调控制器的控制系统要求低。

并且没有南北方地区差异,适应于各个地方。

下面对以上四种节能控制器的优点和缺点以及建议使用的场合进行比较。

如下表2.1所示(见下页):

 

表2.1现有空调节能控制器对比表

节能方案

优点

缺点

建议使用场合

基于某单片机

优化压缩机的运行曲线,减少空调器的运行时间

适用于各类空调

基于变频技术

节能效果显著,尤其适合通信机房内长期连续运行的空调系统

变频改造所需投资较大,需考虑投资效益

适用于各类空调

空调自适应控制

系统自动设定更合理的运行参数,群组化工作

投资规模较大,工程较复杂

适用于通信枢纽楼,大型交换局等机房安装多台空调机组的场合,不适用于小型机房

基于利用自然冷源

直接利用自然风,热交换效率高,节能效果显著

引起机房内空气洁净度下降,设备因灰尘,静电等故障增多

全年室外气温低于15℃的小时数在3000h以上的地区。

仅使用在对洁净度要求不高的接入层机房

第三章总体方案设计

本设计是利用ATmega8单片机为主控芯片来实现空调节能控制,有温度采集模块、控制空调开关模块、通讯模块等几大功能模块。

下面主要述说几大模块实现的总体设计思路。

3.1温度采集模块设计

本设计要实现温度采集模块,选用DS18B20(如图3.1)为温度传感器,该传感器是“一线总线”数字化温度传感器支持“一线总线”接口,它测量温度范围从-55℃到+125℃,精度为0.5℃,支持3V到5.5V的电压范围,程序可设定9到12位的分辨率,精度为±0.5℃,转换时间为750ms,可选择小的封装方式(跟三极管相似),更宽的电压适用范围和分辨率设定,只要正确的提供电源就可以读取芯片采集温度。

在本设计中,主要利用DS18B20数字温度计实现采集空调的出风口和进风口实时的温度的变化,并通过两者温差来判断空调工作的状态,方便如何控制空调的开关。

图3.1DS18B20引脚图

3.2控制空调开关模块设计

本模块主要实现控制空调开关功能。

因空调机房的空调品牌多样,一种遥控器不能实现对多个机房空调的控制。

本设计选用万能遥控器作为空调遥控,可以很好的解决对各机房的不同空调的状态的控制问题,通过控制万能遥控器的电源开关来控制机房空调的开关,具体采用光电隔离的光耦技术和继电器来实现对遥控器的按键的开关,实现空调开关控制的功能。

不但可以人工使用遥控器控制,还可以通过控制器来控制空调的开关,两者和互补干扰,实现节能功能。

3.3通信模块设计

本设计采用RS-485总线通信实现与上位机通信功能。

通信的关键不仅是能够传输数据,更重要的是能够准确传输。

因RS485标准作为一种多点、差分数据传输的电气规范,其接口大多连接成半双工通信方式,具有的噪声抑制能力、数据传输速率、电缆长度和可靠性,因此选用RS-485总线来实现与上位机的通信。

通信模块主要就是采用RS-485总线协议实现通信功能。

具体当上位机发送指令时,能够识别指令并执行指令,并可以上传空调的开关状态和空调的执行情况以及出风口和进风口的温度。

3.4其他模块设计

(1)电源转换模块

本设计需要两种电源转换模块,一种需要12V转换为5V为单片机提供工作电压,一种是5V转化成3.3V电压工遥控器使用。

在本设计中选用LM2575是由12V转5V电压的电源转换芯片,提供ATmega8所需的为5V左右供电电源,而选用5V转3.3V的MC33269芯片满足遥控器的工作电压的需求。

(2)控制器地址设置

本设计的控制器地址是实现能够识别485不同地址与上位机进行通信。

本设计选用的是2位BCD编码拨码开关,该拨码开关用于识别不同的控制器。

可以相应的设置0-3作为一个控制器485地址,实现4个这样的空调控制器同时与上位机实现通信。

(3)检测电路设计

检测电路时为了更好的检查硬件电路状况和程序是否运行。

本设计采用的是两个LED发光二极管,一个作为电源灯,用来检查电路提供的电压是否正常,一个作为运行灯,用来检查程序运行是否正常。

第四章硬件设计

4.1ATmega8单片机IO口分配

本设计用两个电容并联一个7.3728MHz晶振作为时钟电路,RXD和TXD为接受发送引脚外接RS485总线实现通信模块,PC5和PC4口作为普通的IO口接拨码开作为485通信时的地址(可以自定义0-3地址),PB5口作为485半双工通信允许接受和发送引脚,PB3口也是为普通的IO口外接LED灯作为运行灯,作为程序正常运行的标志,而PC2和PB2口也是作为普通的输入输出端口外接温度传感器DS18B20,通过单总线传输温度实现温度采集模块。

如图4.1所示:

图4.1ATmega8电路IO口分布原理图

4.2温度采集模块设计

本设计所用的是两个DS1820采集空调进风口和出风口的温度。

为了能够读取和写入到DS1820单总线的数据,按照DS18B20引脚分布将其2引脚DQ与mega8的PC2和PB2口相连,在它们之间再加上接上拉电阻5.1KΩ,提高读取准确性,而其他的引脚按照工作要求连接,1引脚接地GND,3引脚接电源VCC。

DS18B20只要提供好工作电压,主要是软件编程,其原理图如图4.2所示:

 

图4.2DS18B20与mega8连接图

4.3空调开关控制模块设计

本设计采用的是TLP521光耦芯片和电磁继电器继电器配合使用来控制遥控器的开关。

TLP521光耦芯片的1引脚接PB7口,外围连接电路以及与继电器的连接如图4.4所示。

工作原理:

本设计控制空调开启或关闭是通过模拟万能遥控器按键的开关来实现的,通过单片机输出高低电平来控制光耦芯片的输出端E引脚输出高低电压,使继电器在通电和断电的两种情况下吸合和释放通断遥控器上的电源开关,实现空调开启或关闭功能。

图4.3控制空调开关模块原理图

4.4通信模块设计

本设计采用的是MAX487芯片实现RS485总线协议,该芯片为单+5V电源供电,工作电流在120-500uA,有低电流关机模式,消耗0.1uA电流,还有驱动器有过载保护功能,设计的相关的电路如图4.3所示。

与单片机的连接和工作原理:

MAX487芯片的RO与单片机的ATmage8的串行接受引脚相连,MAX487芯片的DI与单片机的ATmage8的串行发送引脚相连;DE与PB5相连,决定是单片机为发送还是接受状态;A、B引脚为与上位机或串行通信的两根线,根据这两根线上的电压差来那个判断是传送是高还是低电平,实现上位机与控制器的了通信。

图4.4通信模块原理图

4.5其他模块设计

4.5.1电源转换模块设计

(1)单片机工作电压

本模块是实现12V电压转5V电压的功能,采用是LM2575芯片,该芯片能够实现电源的转化,其输出脚VOUT输出5V电压,将其电压接入单片机的VCC引脚,提供单片机5V工作电压。

其芯片的外围应用电路如图4.5所示:

图4.512V转5V原理图

(2)遥控器的工作电压

本模块是能过实现5V转3.3V的电源转换功能,本设计选用的是MC33269电源转换芯片,可以实现该电源转换功能,提供遥控所需要的的3.3V电压,其外围电路如图4.6所示:

图4.65V转3.3V电路图

4.5.2485地址设置

本模块是实现485通信地址的设置,本设计里用拨码开关来实现,通过利用2个IO口设置成输入状态,读取IO口的数据(即拨码的地址),用BCD码读取相应IO口数据,就可以可设置0-3通信地址。

如图4.7所示:

图4.7485地址设计

4.5.3测试电路设计

本模块是用来测试电压提供是否正常和直观看出程序是否正常运行,本设计采用PB3口连接实现LED灯,利用编程使RUN运行灯的间断闪烁来实现测试运行的程序是否正常和电源灯POWER的正极连接VCC来测试提供的电压是否正常功能。

如图4.8所示:

图4.8测试电路原理图

第五章软件设计

5.1总体程序流程图

软件程序主要实现温度采集模块、控制空调开关模块、通信模块等。

温度采集模块:

对DS18B20的读取来采集机房温度;控制空调开关模块:

即就在一定的条件下,实现对空调的开关功能;通信模块:

就是对485地址的读取和通讯模块的数据的接受和发送、处理接受的指令以及对数据的存储等模块。

主模块流程图如图5.1所示:

图5.1主程序流程图

5.2温度采集模块软件设计

本模块是实现对DS18B20温度的读取,采集机房内实时的温度,用来很好控制机房的空调的开关。

对读取DS18B20命令序列可分为有3步:

初始化DS18B20、ROM命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据),流程图如图5.4所示:

图5.4读取DS18B20流程图

每次访问DS18B20,必须严格遵守这个命令时序。

对于DS18B20操作时首先应将它复位。

将DQ线拉低480至960μs,再将数据线拉高15至60μs,然后,DS18B20发出60至240μs的低电平信号(存在脉冲),这时主机才能对它进行其它操作。

具体时序图如图5.5所示。

图5.5 DS18B20初始化时序图

初始化DS18B20要严格控制好时序,即DS18B20的复位。

下面就是其复位程序,具体程序清单及解释如下:

unsignedchards18b20_resetEnter(void)//BOOLds18b20_reset(void)

{unsignedcharbus_flag;//BOOLbus_flag;

unsignedcharbus_ok;

bus_ok=0;

DDRB|=0x04;//DQ_TO_0()//设置1-wire总线为低电平(占领总线)...

/*现在延迟480us~960us,与硬件密切相关,但应尽可能选小值(480us),把抖动留给系统(比如在延迟期间发生中断导致延迟变长)。

*/

wait_us(490);//490us

CLI();//下面这段时间要求比较严格,为保险起见,关中断

DDRB&=0xFB;//设置1-wire总线为高电平(释放总线)

wait_us(68);//最佳时间:

60us+7.5us!

(忙延时,只是一种策略)

bus_ok=PINB&0x04;//探测总线上是否有器件

if(bus_ok==0x04)

bus_flag=0;//复位单总线但没有发现有器件在线

else

bus_flag=1;//复位单总线并发现有器件在线

SEI();//退出临界代码区(开中断)

/*保证Master释放总线的时间(不是说总线处于高电平的时间)不小于480us即可,这一时间从读总线状态之前就开始了,所以这里把这个时间计算在内。

在Master释放总线的前半段,也是被动器件声明它们在线之时。

*/

wait_us(422);//490-67.5us

return(bus_flag);}

上述就是对DS18B20复位时严格的时序的程序清单。

对于向DS18B20写1的情况,数据线必须先被拉至逻辑低电平,然后就被释放,是数据线在写时间片开始之后的15微妙之内拉至高电平;对于写0时间片的情况,数据线必须被拉至逻辑低电平且至少保持低电平60us,如图5.6所示:

图5.6DS18B20写操作时序图

对于读取DS18B20数据的情况,首先主机应把数据线从逻辑高电平

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1