




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本设计主要是以ATMEGA8单片机为核心设计的一种空调节能控制器。目前市场上对于空调节能控制器,主要有基于特定单片机、变频技术、和自然冷源三种空调节能控制器。本设计选择了“基于ATMEGA8单片机空调节能控制器”的设计方案。该方案利用ATMEGA8单片机为主控芯片,实现了温度采集、空调开关控制和通信等功能。在硬件方面,采用了DS18B20实现了温度采集模块,使用了光耦和继电器配合万能遥控器实现了控制空调模块,利用了MAX487芯片实现了通讯模块;在软件方面,通过程序读取DS18B20的温度实现了温度采集子程序,利用了比较进风口和出风口的温差实现空调开关判断子程序,使用了单片机的接受中断和发送子程序实现了通讯子程序。最后在硬件和软件的基础上进行调试,系统实现了温度的采集、空调开关控制等功能。在正常通信情况下,可发送指令开启和关闭空调;在通信故障情况下,可以根据实际的温度开关空调,从而使温度控制在合理的范围内,实现了空调节能目的。关键词空调节能单片机DS18B202目录绪论3第一章ATMAGE8概述411ATMEGA8的特点412ATMEGA8编程和系统开发工具4第二章现有机房空调节能控制器设计521现有机房空调节能控制器介绍5211基于特定单片机的空调节能控制器设计5212基于变频技术的空调节能控制器设计6213基于利用自然冷源的空调节能控制器设计6214基于机房空调机组自适应控制器设计722方案设计比较7第三章总体方案设计1031温度采集模块设计1032控制空调开关模块设计1033通信模块设计1134其他模块设计11第四章硬件设计1241ATMEGA8单片机IO口分配1242温度采集模块设计1243空调开关控制模块设计1344通信模块设计1445其他模块设计14451电源转换模块设计14452485地址设置15453测试电路设计16第五章软件设计1751总体程序流程图1752温度采集模块软件设计1853空调状态控制模块2054通讯模块2155其他模块实现23第六章系统实现2461硬件调试24611电路的检测24612遇到的问题及解决2562软件调试25621各模块的调试及实现25622遇到的问题及解决2763系统测试2864结论30第七章总结31致谢32参考文献33附录一空调控制器原理图和PCB板图34附录二空调节能控制器C语言程序代码363绪论当今,节能持续成为电信运营商降低成本、提高竞争力的重要发展战略之一。而通信基站和机房庞大的空调耗能则是运营商最关注的节能问题。在通信机房中,为保持通信设备运行所需要的环境,机房的空调几乎处于全年运行的状态,存在着大量的电能浪费,根据电信相关资料统计,通信机房耗电量占到了整个电信企业用电的90以上,而机房空调占到了整个机房设备耗能电量的40以上,可以看出空调的节能工作较为薄弱,能源浪费现象严重,因此,如何在确保通信设备安全正常运行的前提下,最大限度地降低机房空调的能耗,是实现通信机房节能的关键所以加强空调的维护管理和技术改造,可以达到非常显著的节能效果。本文就是针对空调节能系统的节能问题,介绍了一种空调节能控制器的设计方案,对其硬软件部分的设计进行了详细的阐述,并在此基础之上进行了实际测试,验证该节能控制器的可行性。4第一章ATMAGE8概述ATMEGA8单片机是高档AVR单片机中ATMEGA系列的一种,该单片机是由ATMEL公司的第一个真正的8位RISC型单片机,并它同FLASH和EEPROM技术相结合,有极高的性价比1。11ATMEGA8的特点ATMEGA8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大硬件接口电路,具备AVR高档单片机MEGE系列的全部性能和特点7。ATMEGA8具有高性能低功耗的8位AVR微处理器、先进的RISC结构、非易失性的程序和数据存储器、强大的外部接口性能、带片内RC振荡器的可编程看门狗定时器片内模拟比较器、最多23个编程的I/O口、4555V的宽工作电压、高达16MHZ的运行速度等特点。该类单片机还具有系统内可编程特性,可无需购买昂贵的仿真器和编辑器也可进行单片机嵌入式系统设计和开发,尤其是对于单片机的初学者来说,可提供了非常方便和简捷的学习开发环境。因此,本设计选择了ATMEGA8单片机为主控芯片来实现空调节能控制功能。12ATMEGA8编程和系统开发工具ATMEGA8具有了一整套的编程和开发工具,它包括宏汇编编译器、C语言编译器、BSCOMBASIC语言编译器以及在线调试/仿真器和评估板。本设计所采用的是ICCAVR软件开发环境,它是一种使用符合ANSI标准的C语言来开发AVR系列单片机程序的一个工具,能产生可以直接使用的INTELHEX格式文件,这种格式文件可被大多数的编程器所支持。本设计中采用的编程器是纬煌编程器,它可以实现直接下载程序到单片机芯片中,方便快捷的实现各模块功能。5第二章现有机房空调节能控制器设计21现有机房空调节能控制器介绍机房节能的重点就是是降低空调能耗。实现空调节能的途径有很多种,空调节能控制器就是其中一种途径,目前空调控制器的有很多种,他们有着不同的优点和缺点,下面主要阐述了几种的空调节能控制器的设计及对他们的总结。211基于特定单片机的空调节能控制器设计(1)基于PIC16F877单片机的空调节能控制器设计该空调节能控制器是通过优化压缩机运行曲线,根据空调的运行特性及环境对温度的感适能力,通过一个继电器控制空调内压缩机的运行状态,调整了空调压缩机的运行曲线,达到调控温度及节省耗电的功能。该节能控制器硬件电路以PIC16F877单片机为控制核心,主要包括温度采集模块、参数设置及状态显示模块、压缩机控制模块等。温度采集模块对室温进行采集,送入主控制单元参数设置及状态显示单元主要是选择节能控制器的工作模式及节能效率,并对相应的工作模式以及设定的温度进行显示压缩机控制模块主要对空调压缩机电路进行控制。该节能控制器软件设计是将节能控制分为两种节能状态,对制冷温度进行设定,并对压缩机强制关断时间做出选择,达到设定温度后,两种节能状态程序分别通过强制关断压缩机10分钟和15分钟来克服压缩机的长时间工作和频繁启动,达到节省电能的目的。该设计程序可分为初始化模块、按键采集及处理模块、显示模块、压缩机控制模块、参数重置模块四个功能模块5。(2)基于C8051F020的环保节能空调控制器的设计该空调控制器设计利用抽取地下水形成环流热交换实现调节室内温度的一种方法,根据热转换前的温度、环境的温度、热转换后的温度,通过控制步进电机的转动来实现对水流速度的控制,同时控制小型风扇的转速来调节热交换6效率,实现对环境温度的自动调节,实现节能效果6。该空调控制器设计硬件电路以C8051F020单片机为核心,由温度采集电路、温度显示电路、数据传输电路、步进电机驱动电路、小型风扇控制电路及热交换部分组成。系统完成温度的采集与处理,通过控制步进电机转动来实现水流速度的控制,同时调节风扇转速来改变热交换效率,并完成与上位机之间的数据传输。该空调控制器设计系统软件设计包括上位机软件和单片机监控软件两部分,其中上位机软件用于接收、存储单片机上传的数据,并进行显示;监控软件主要包括温度采集、处理、显示,步进电机控制及风扇速度的调节等,并与计算机进行通讯。212基于变频技术的空调节能控制器设计基于变频技术的空调节能控制器是根据空调具有冷负荷变化范围大的特点,南方地区供冷范围10100之间变化大的优势来调整空调机组的运行参数2。下面阐述了这种技术的两种方式(1)中央空调系统水系统变频调速节能方式采用交流变频技术控制水泵的运行,是通过对阀门调节和变频调速两种状态下的HQ(压力流量)关系及PQ(功率流量)控制。当所需流量减少时,水泵转速降低,电动机所需功率按转速的三次方下降。当水泵转速下降到额定转速的60(即F30HZ)时,电动机消耗功率将下降784,即节电率为784,这种方式控制来减少水泵流量的效果是十分显著。(2)机房专用空调压缩机变频方式机房专用空调压缩机变频技术是利用变频器改变压缩机的供电频率,通过调节压缩机的转速达到控制室温的目的。空调每次启动时,先以最大功率、最大风量进行制热或制冷,迅速接近所设定的温度后,压缩机便在低转速、低能耗状态下运转,仅以所需的功率维持设定的温度3。这样的控制器不但温度稳定,避免了压缩机频繁地开、停所造成的使用寿命的缩减,而且耗电量大大下降。7213基于利用自然冷源的空调节能控制器设计这种节能技术的原理是把室外的自然环境作为冷源,用控制器判断室外空气温度低于室内空气温度且达到一定程度时,通过通风将机房内的热量带走,达到降低机房内部温度的目的。这样可以减少空调的使用时间,达到节约电能的目的。在技术实现上,目前有下列两种方式(1)自然通风新风系统当室外空气温度较低时,通过控制器控制直接将室外低温空气送至室内,为室内降温;当室外温度高不足以带走室内热量时,则开启空调。FCX系列节能空调采用自然通风新风系统,直接将室外心外新风引入,改组没有传热顺势,运行效率高3。(2)热交换新风系统热交换新风系统采用隔绝换热方式,室内外空气并不接触,室外空气只作为冷源将室内热量带走,室内空气换热冷却后重新回到室内,不改变机房内部湿度,洁净度也能得到更好的保证。FCR系列机房节能空调采用的就是热交换新风系统,核心部件是板式显热换热器,室内外空气在换热芯片内进行能量交换3。214基于机房空调机组自适应控制器设计基于机房空调机组自适应控制器以机房专用空调回风口处传感器的温湿度值作为数据采样参考点,监测整个机房平面的真实环境温湿度数据。上海电信就是利用机房专用空调系统组合的综合控制能力以及机房内气流组织的优化处理,该控制器采用的是计算机温度模拟技术建立数学模型,并通过自动计算机房不同的工况、空调冷量分布等综合数据,动态跟踪计算不同季节空调在外部的环境温度与室内目标温度的关系和空调当前的富余容量,精确控制“N1”、“N0”、“N1”台等空调数量的优先开、关机顺序,使空调组群始终处于最合理的工作状态,从而达到空调效率最大化的目的2。机房专用空调自适应恒温恒湿控制节能监控系统的安装和施工简单方便,不需要对机房结构做任何变动,不影响原有空调系统的结构,具有安全可靠性等特点,且有利于日常维护。822方案设计比较以上介绍了现有的几种空调节能控制器设计方案设计,现在将他们进行比较,比较如下(1基于变频技术的空调控制器,该设计改造必须治理好谐波效应,避免其干扰机房设备的正常工作,且由于其投资较大,因此在实际节能改造中需慎重考虑。2基于空调自适应控制系统的空调节能控制器要满足响应时间短,控制速度快,控制精度高等特点,因此只有高质量的控制系统才能利用空调系统的自动,安全,节能运行。3基于利用自然冷源空调节能控制器,该设计的新风节能系统和热交换节能系统利用的是室外大气冷源,冷量来源廉价易得,且取之不尽,用之不竭,但节能效果受室外条件的影响,在北方和南方温度较低的地区节能效果更显著。(4)基于某单片机的空调节能控制器采用专门的空调控制器代替器原有的温度控制器,将原先空调压缩机的启动和关闭由一个温度设定点改为温度区段控制,优化压缩机的运行曲线,减少空调器的运行时间以达到节能的目的。此方法实现起来比较简单,相对变频空调来说投资少,相对空调自适应空调控制器的控制系统要求低。并且没有南北方地区差异,适应于各个地方。下面对以上四种节能控制器的优点和缺点以及建议使用的场合进行比较。如下表21所示(见下页)9表21现有空调节能控制器对比表节能方案优点缺点建议使用场合基于某单片机优化压缩机的运行曲线,减少空调器的运行时间适用于各类空调基于变频技术节能效果显著,尤其适合通信机房内长期连续运行的空调系统变频改造所需投资较大,需考虑投资效益适用于各类空调空调自适应控制系统自动设定更合理的运行参数,群组化工作投资规模较大,工程较复杂适用于通信枢纽楼,大型交换局等机房安装多台空调机组的场合,不适用于小型机房基于利用自然冷源直接利用自然风,热交换效率高,节能效果显著引起机房内空气洁净度下降,设备因灰尘,静电等故障增多全年室外气温低于15的小时数在3000H以上的地区。仅使用在对洁净度要求不高的接入层机房10第三章总体方案设计本设计是利用ATMEGA8单片机为主控芯片来实现空调节能控制,有温度采集模块、控制空调开关模块、通讯模块等几大功能模块。下面主要述说几大模块实现的总体设计思路。31温度采集模块设计本设计要实现温度采集模块,选用DS18B20(如图31)为温度传感器,该传感器是“一线总线”数字化温度传感器支持“一线总线”接口,它测量温度范围从55到125,精度为05,支持3V到55V的电压范围,程序可设定9到12位的分辨率,精度为05,转换时间为750MS,可选择小的封装方式(跟三极管相似),更宽的电压适用范围和分辨率设定,只要正确的提供电源就可以读取芯片采集温度。在本设计中,主要利用DS18B20数字温度计实现采集空调的出风口和进风口实时的温度的变化,并通过两者温差来判断空调工作的状态,方便如何控制空调的开关。图31DS18B20引脚图32控制空调开关模块设计本模块主要实现控制空调开关功能。因空调机房的空调品牌多样,一种遥控器不能实现对多个机房空调的控制。本设计选用万能遥控器作为空调遥控,可以很好的解决对各机房的不同空调的状态的控制问题,通过控制万能遥控器11的电源开关来控制机房空调的开关,具体采用光电隔离的光耦技术和继电器来实现对遥控器的按键的开关,实现空调开关控制的功能。不但可以人工使用遥控器控制,还可以通过控制器来控制空调的开关,两者和互补干扰,实现节能功能。33通信模块设计本设计采用RS485总线通信实现与上位机通信功能。通信的关键不仅是能够传输数据,更重要的是能够准确传输。因RS485标准作为一种多点、差分数据传输的电气规范,其接口大多连接成半双工通信方式,具有的噪声抑制能力、数据传输速率、电缆长度和可靠性,因此选用RS485总线来实现与上位机的通信。通信模块主要就是采用RS485总线协议实现通信功能。具体当上位机发送指令时,能够识别指令并执行指令,并可以上传空调的开关状态和空调的执行情况以及出风口和进风口的温度。34其他模块设计(1)电源转换模块本设计需要两种电源转换模块,一种需要12V转换为5V为单片机提供工作电压,一种是5V转化成33V电压工遥控器使用。在本设计中选用LM2575是由12V转5V电压的电源转换芯片,提供ATMEGA8所需的为5V左右供电电源,而选用5V转33V的MC33269芯片满足遥控器的工作电压的需求。(2)控制器地址设置本设计的控制器地址是实现能够识别485不同地址与上位机进行通信。本设计选用的是2位BCD编码拨码开关,该拨码开关用于识别不同的控制器。可以相应的设置03作为一个控制器485地址,实现4个这样的空调控制器同时与上位机实现通信。(3)检测电路设计检测电路时为了更好的检查硬件电路状况和程序是否运行。本设计采用的是两个LED发光二极管,一个作为电源灯,用来检查电路提供的电压是否正常,12一个作为运行灯,用来检查程序运行是否正常。13第四章硬件设计41ATMEGA8单片机IO口分配本设计用两个电容并联一个73728MHZ晶振作为时钟电路,RXD和TXD为接受发送引脚外接RS485总线实现通信模块,PC5和PC4口作为普通的IO口接拨码开作为485通信时的地址(可以自定义03地址),PB5口作为485半双工通信允许接受和发送引脚,PB3口也是为普通的IO口外接LED灯作为运行灯,作为程序正常运行的标志,而PC2和PB2口也是作为普通的输入输出端口外接温度传感器DS18B20,通过单总线传输温度实现温度采集模块。如图41所示图41ATMEGA8电路IO口分布原理图42温度采集模块设计本设计所用的是两个DS1820采集空调进风口和出风口的温度。为了能够读取和写入到DS1820单总线的数据,按照DS18B20引脚分布将其2引脚DQ与MEGA8的PC2和PB2口相连,在它们之间再加上接上拉电阻51K,提高读取准确性,而其他的引脚按照工作要求连接,1引脚接地GND,3引脚接电源VCC。DS18B20只要提供好工作电压,主要是软件编程,其原理图如图42所示14图42DS18B20与MEGA8连接图43空调开关控制模块设计本设计采用的是TLP521光耦芯片和电磁继电器继电器配合使用来控制遥控器的开关。TLP521光耦芯片的1引脚接PB7口,外围连接电路以及与继电器的连接如图44所示。工作原理本设计控制空调开启或关闭是通过模拟万能遥控器按键的开关来实现的,通过单片机输出高低电平来控制光耦芯片的输出端E引脚输出高低电压,使继电器在通电和断电的两种情况下吸合和释放通断遥控器上的电源开关,实现空调开启或关闭功能。15图43控制空调开关模块原理图44通信模块设计本设计采用的是MAX487芯片实现RS485总线协议,该芯片为单5V电源供电,工作电流在120500UA,有低电流关机模式,消耗01UA电流,还有驱动器有过载保护功能,设计的相关的电路如图43所示。与单片机的连接和工作原理MAX487芯片的RO与单片机的ATMAGE8的串行接受引脚相连,MAX487芯片的DI与单片机的ATMAGE8的串行发送引脚相连;DE与PB5相连,决定是单片机为发送还是接受状态;A、B引脚为与上位机或串行通信的两根线,根据这两根线上的电压差来那个判断是传送是高还是低电平,实现上位机与控制器的了通信。图44通信模块原理图45其他模块设计451电源转换模块设计(1)单片机工作电压本模块是实现12V电压转5V电压的功能,采用是LM2575芯片,该芯片能够实现电源的转化,其输出脚VOUT输出5V电压,将其电压接入单片机的VCC16引脚,提供单片机5V工作电压。其芯片的外围应用电路如图45所示图4512V转5V原理图(2)遥控器的工作电压本模块是能过实现5V转33V的电源转换功能,本设计选用的是MC33269电源转换芯片,可以实现该电源转换功能,提供遥控所需要的的33V电压,其外围电路如图46所示图465V转33V电路图452485地址设置本模块是实现485通信地址的设置,本设计里用拨码开关来实现,通过利用2个IO口设置成输入状态,读取IO口的数据(即拨码的地址),用BCD码读取相应IO口数据,就可以可设置03通信地址。如图47所示17图47485地址设计453测试电路设计本模块是用来测试电压提供是否正常和直观看出程序是否正常运行,本设计采用PB3口连接实现LED灯,利用编程使RUN运行灯的间断闪烁来实现测试运行的程序是否正常和电源灯POWER的正极连接VCC来测试提供的电压是否正常功能。如图48所示图48测试电路原理图18第五章软件设计51总体程序流程图软件程序主要实现温度采集模块、控制空调开关模块、通信模块等。温度采集模块对DS18B20的读取来采集机房温度;控制空调开关模块即就在一定的条件下,实现对空调的开关功能;通信模块就是对485地址的读取和通讯模块的数据的接受和发送、处理接受的指令以及对数据的存储等模块。主模块流程图如图51所示图51主程序流程图1952温度采集模块软件设计本模块是实现对DS18B20温度的读取,采集机房内实时的温度,用来很好控制机房的空调的开关。对读取DS18B20命令序列可分为有3步初始化DS18B20、ROM命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据),流程图如图54所示图54读取DS18B20流程图每次访问DS18B20,必须严格遵守这个命令时序。对于DS18B20操作时首先应将它复位。将DQ线拉低480至960S,再将数据线拉高15至60S,然后,DS18B20发出60至240S的低电平信号(存在脉冲),这时主机才能对它进行其它操作。具体时序图如图55所示。图55DS18B20初始化时序图初始化DS18B20要严格控制好时序,即DS18B20的复位。下面就是其复位20程序,具体程序清单及解释如下UNSIGNEDCHARDS18B20_RESETENTERVOID/BOOLDS18B20_RESETVOIDUNSIGNEDCHARBUS_FLAG/BOOLBUS_FLAGUNSIGNEDCHARBUS_OKBUS_OK0DDRB|0X04/DQ_TO_0/设置1WIRE总线为低电平占领总线/现在延迟480US960US,与硬件密切相关,但应尽可能选小值480US,把抖动留给系统比如在延迟期间发生中断导致延迟变长。/WAIT_US490/490USCLI/下面这段时间要求比较严格,为保险起见,关中断DDRB/设置1WIRE总线为高电平释放总线WAIT_US68/最佳时间60US75US忙延时,只是一种策略BUS_OKPINB/探测总线上是否有器件IFBUS_OK0X04BUS_FLAG0/复位单总线但没有发现有器件在线ELSEBUS_FLAG1/复位单总线并发现有器件在线SEI/退出临界代码区开中断/保证MASTER释放总线的时间不是说总线处于高电平的时间不小于480US即可,这一时间从读总线状态之前就开始了,所以这里把这个时间计算在内。在MASTER释放总线的前半段,也是被动器件声明它们在线之时。/WAIT_US422/490675USRETURNBUS_FLAG上述就是对DS18B20复位时严格的时序的程序清单。对于向DS18B20写1的情况,数据线必须先被拉至逻辑低电平,然后就被释放,是数据线在写时间片开始之后的15微妙之内拉至高电平;对于写0时间片的情况,数据线必须被拉至逻辑低电平且至少保持低电平60US,如图56所示21图56DS18B20写操作时序图对于读取DS18B20数据的情况,首先主机应把数据线从逻辑高电平拉至低电平,并至少维持1微妙,并释放总线,在15微妙到60微妙之间读取DS18B20输出数据,而各个时间片之间必须有最短为1微妙的恢复时间。如图57所示图57DS18B20读操作时序图DS18B20要求严格的协议来确保数据的完整性,详细的程序见附录二。53空调状态控制模块本模块实现对遥控器开关的控制来实现对空调的开关功能。本设计是利用两个DS18B20温度传感器读取到的温度,比较两者温度差值来来判断空调开启、关闭还是处于故障状态。具体判断条件如下当出风口的温度大于进风口温度3,置空调制热故障;当进风口大于出风口3,判断空调为开启状态,当进风口和出风口相差1摄氏度的时候,判断空调为关闭状态,如图56所示22图56空调状态的判断流程图54通讯模块(1)接收和发送模块本模块实现对数据的接受和发送子程序功能。本设计是利用单片机的中断功能,有接受中断处理函数来接受下传的命令。在设计就是用地址帧来识别不同的控制器的地址,首先接受地址帧,识别正确的地址后就一一接受数据,再校验数据是否接受的正确,等接收好后就改为发送状态,上传空调的状态和实时的温度。流程图如图52所示23图52接收和发送模块流程图(2)处理接收到的命令该子模块是实现识别各条指令的意义。本子程序具体实现如下当接受到命令后,首先分析命令,是开启还是关闭,还是托管。在执行开启和关闭状态下,执行空调的开启或关闭,2分钟后就通过上述的空调判断模块来判断是否命令是否执行完毕,若未执行好,再次开启或关闭空调,2分钟后再次判断,如此执行了3次,若在3次之内执行完毕,则置空调控制器执行完毕标志,若3次还未执行成功,则置空调故障,然后再上传空调告警;如果托管情况下,就要判断实际的温度与空调的状态实现空调开还是关或者是保持不变。若出现通信故障情况下,就按照托管情况执行命令,如图53所示24图53处理接收到的命令流程图55其他模块实现(1)空调遥控开关该模块是通过对遥控开关来实现对空调的开关功能。具体是用PD7口来实现,具体为PORTD|0X80PD7置1和PORTPB0置0,直接控制PD7口的高低电平来模拟遥控开关电源的按键。(2)运行灯的闪烁本模块是实现测试程序是否正常的子程序,具体是利用定时器0来定时05S控制灯的亮灭。首先初始化定时器,包括初始值设定定时10MS,开定时0中断,并且要循环50次后就取反PB3口的电平,PORTB0X08PB3口间断500MS取反一次,即就是运行灯在05S闪烁一次。(3)拨码开关的读取该模块是用来设置485地址,具体是直接按照BCD码读取PC4和PC5口的值,如MPINC读C口的值,MM4M即可读取到PC4和PC5的电平,来实现随便拨动拨码开关来实现对485地址的设置。25第六章系统实现本设计就是实现空调节能的控制,系统的硬件部分如图61所示。首先要对硬件的各个模块进行调试,然后再编写程序实现各个模块,下面分别来阐述硬件和软件的调试和相关遇到的问题及解决方法,最后对整个系统进行总结。图61系统硬件实物图61硬件调试硬件调试主要包括对电源、时钟、空调开关控制电路进行检测,在调试中遇到了一些问题,下面也对这些问题提出及解决。611电路的检测(1)电源模块电源模块主要是用了LM2575芯片和MC33269芯片分别实现12V转5V和5V26转33V的功能。具体检测方法当外引入接上12V电压后,首先观察接在PB3口的电源灯是否亮,用万用表测量LM2575的2引脚输出为是否为5V,测量MC33269的输出端接的二极管的负极电压是否为33V,若测量的值是5V或33V左右,说明是电源转换芯片正常,否则,芯片不正常,具体的检测如下表61所示。(2)时钟电路本设计使用的是外部晶振73728MHZ,具体用示波器测量的波形的频率是否为73728MHZ。(3)空调开关控制电路空调开关电路主要是能够通过该电路实现遥控器的电源开关,具体是引出一根5V电压的导线,点触到继电器的一端,看是否集电极是否吸合(有声音),观看遥控器是否能够正常开关电源。若遥控器被正常开关,则空调控制电路正常,否则,不正常。612遇到的问题及解决问题当单片机的PB0口加以5V电压的时候,继电器不吸合,再用万用表检查在光耦第一通道输出的电压只有281V,本应该有12V左右。原因光耦的输出端不正常以及使用的限流电阻1K过大。解决当重新更换光耦和240的电阻后,电路能够正常控制空调的开关。62软件调试软件主要有温度采集模块、空调开关控制模块和通信模块。各个模块逐一调试实现各个模块功能,然后整合各模块整体实现总体功能。621各模块的调试及实现(1)温度采集模块按照DS18B20的严格时序要求,读取总线上的数据,传到单片机的IO上,再通过串口传到上位机上的串口调试工具上显示出来。下面来阐述主要调试步27骤A、测试其中一个DS18B20读出来的温度正确性;从DS18B20读出来的数据有高低字节共16位,前5位是符号位,中间的7位是温度的整数部分,后4位是二进制的小数部分,通过配置寄存器来决定温度分辨率是(如9位为05)。例如是0000,0101,0001,0011,表示的是825度,1111,1010,1011,0000则要取反加1,0000,0101,0100,111110000,0101,0101,0000即就是85C。若只取整数,只要高位TH4,TEMPTH|TL,TEMP即是获得温度的整数部分。B、温度精确到小数点一位DS18B20读出来的温度精确到小数点一位,出厂精度为12位,即是00625C,读到的温度低位的后四位乘以00625,保留小数点一位,必须乘以10后保留转化成整型后可以上传。上传的方式为十六进制,如下公式就是读取到的整数部分TEMPERATURE_OUT1VALUE_ZERO4而小数部分则为TEMPERATURE_OUT2VALUE上传的温度时,要划分为两部分上传例如上传211度,则显示的是02110,具体的程序如下SEND10TEMPERATURE_OUT1/10SEND11TEMPERATURE_OUT110出风口的温度3度以上,说明已经正在开启空调;进风口的温度60C,说明空调已经坏了,有故障;具体的程序如附录二。(3)DS18B20工作状态处理A、若读取不到温度时,则保留上一次读的温度并计数,连续200次都读28取不到温度,就置18B20故障标志,一旦读到温度后,就将标志和计数都清0;B、当读出来温度后,有两种情况,即读取的温度不正确和与上一次读到的温度相差太大,具体如下所述处理的方法、温度不正常在下无18B20故障下读取到温度,但不在机房正常的温度之间,具体是判断温度是否在(060度)之间,如果在属于正常,若不在就保留上一次温度并计数,连续200次都不在,则置18B20故障标志和计数,若下次读到的温度在正常范围之内,则清除标志和计数清0。、读到正常温度读出来的温度与上一次读出来的温度相差10度以上,则这次的温度不正确,保留上一次的温度值和计数,连续200次都相差10度以上,则置就置18B20故障标志,若下次读到相差在10度以内温度了,标志和计数数就清0。(4)通信模块编写接受中断函数VOIDRECEIVESVOID,实现串口的接收,接收好就直接判断是否接受正确,再改成发送状态,发送一个测试字节,标志通讯正常。(5)分析及执行命令模块识别上位机传达的指令并相应的处理后就执行指令,当上位机下达开启空调命令时,遥控器就要开启电源使空调打开;当上位机下达关闭空调命令时,遥控器就要关闭电源使空调关闭;当下达空调器托管时,控制器就通过实际的温度值与空调实际的开关状态来使空调开还是关。在托管情况下,当实际的温度高于上限值时,控制器就开启空调,这时要是已经开启空调,就保持原来的状态;当实际的温度低于下限值时,控制器就关闭空调,这时要是空调正在关闭状态,就保持原来的状态;当实际的温度湿在所设温度范围之内,就保持原来的状态不变。622遇到的问题及解决1、DS18B20读不出温度,一直上传的是0805原因分析可能18B20线断开或脱落和程序运行也需一定的时间,本身DS18B20要求的时序就很严格。29解决检查所接的电路可能断了,需要在程序上做相应的延时调整即可读取到正确的温度。2、DS18B20读的温度不准确原因处理读出的温度不正确,应该是,前5位是符号位,中间的7为是温度的整数部分,后4位是二进制的小数部分。解决采用了正确位处理即可读取到准确的温度。63系统测试将设计中的硬件和软件各模块成功实现后整合起来,实现系统整个功能,下面分别阐述主要模块实现的功能。(1)读取DS18B20温度转换本设计中按照严格时序读取DS18B20存贮器中的高位和低位共16位数据,前5位为符号位,中间7位为温度整数部分,后4位为小数部分,本设计确定默认出厂精度12位,即可精确到00625,读取到的数据以及上传到上位机的温度值如表61所示,表61DS18B20温度转换实现表实际的温度数字输出(二进制)数字输出(十六进制)转换温度2450000,0001,1000,1000018802452530000,0001,1001,0101019502532610000,0001,1010,000101A102612760000,0001,1011,101001BA0276通过上面软件对DS18B20读取的温度转换实现表,采集到了准确的温度值,实现了温度采集模块,基本达到了设计要求。(2)通信模块功能实现表30通信模块主要分为上位机查询和控制器(下位机)上传两种当上位机发送地址帧时,下位机应返回地址、空调运行状态、控制器的状态、指令执行状态以及两个DS18B20上传的温度值当上位机发送开启、关闭空调和托管命令的时候,下位机应该做出相应的开启、关闭和托管反应,并上传和查询地址帧一样格式的数据,具体的实现表62如下所示表62通信功能实现表上位机发送的命令下位机(控制器)上传及执行状况命令十六进制十六进制意义执行状况地址帧7878000000027002400245024403BC地址、空调关、设备正常、未执行命令、温度上限值27、温度下限值24、进风口温度245、出风口温度244、结束数据、校验和开机5A01023002700240014278000002027002400245024403BE地址、空调关、设备正常、执行开机命令、温度上限值27、温度下限值24、进风口温度245、出风口温度244、结束数据、校验和继电器吸合并开启遥控器的电源,开启空调关机5A0002300270024001780101010270024002地址、空调开、设备故障、执行关机命令、温度上限值27、温度下限值24、进继电器吸合并关闭遥控器的314145024403BF风口温度245、出风口温度244、结束数据、校验和电源,关闭空调托管(温度低于下限值,关闭空调)5A02023002700240004278010003027002400245024403C0地址、空调开、设备正常、执行托管命令、温度上限值27、温度下限值24、进风口温度245、出风口温度244、结束数据、校验和继电器吸合并关闭遥控器的电源,关闭空调通过上述通信实现表,可以看出通信模块基本完成了设计的标准。(3)电源模块实现主要检测本设计中12V转5V的芯片LM25755的工作状况,检测结果如下表63所示表63LM25755芯片工作状态检测表电源供给(V)LM2575理论输出(V)LM2575实际输出(V)1199500497120450049712135004991215500500根据上面的检测LM2575的转换的电压表,可以看出该电源模块实现了12V转5V的功能。64结论本设计是以ATMEGA8单片机为主控芯片的空调节能控制器,分为硬件和软件部分,主要有通过DS18B20温度传感器采集空调进风口和出风口的温度实现32了温度采集功能,通过温差来判断空调开关的状态实现了判断空调开关状态功能,通过上位机的串口调试器来发送开启和关闭的状态实现了通信功能,通过继电器开启和关闭遥控器的开关电源,实现了控制空调开关功能。最终整个系统在托管命令下,判断实际温度高于温度上限值时,关闭了空调;当实际温度低于下限值的时候,开启了空调,同时也可以通过中心强制的开关空调,实现机房空调节能目的。33第七章总结本设计是以ATMEGA8单片机为主控芯片的空调节能控制器,实现了温度采集模块、空调开关控制模块以及通信模块。该设计不仅能够兼容到机房监控中心下,受到中心的控制,使其强制的开启和关闭空调,还能够在托管情况下,合理的开关空调,增加了温度的控制范围,减小了空调压缩机的频繁关停,延长了空调的寿命,不仅让机房的所有设备正常的运行,还能够节约电能,提高了节电效率,达到了很好的节能效果。虽然本设计能过大体上都能实现,但还是存在着不足,控制空调的开关必须要购买万能遥控器才能控制多种品牌的机房空调,它要是能够再次学习空调遥控器的红外编码,将空调的开关红外编码学习到EEPROM中,用控制器发送红外编码来直接控制空调的开关,不需要继电器和光耦来隔离万能遥控器,避免花费的过多的成本费,就可以很好的控制空调的开关。34致谢走出毕业论文的千头万绪,接下来便是自然而然的蓦然回首。于是,几多往事历历在目,一丝伤感轻轻划过,无限感动激荡心头。诚然,更多的感激注定只能驻扎在心底,但还是禁不住尝试有些呆板的文字表述。“不积跬步何以至千里”,本论文的完成归功于我的导师刘韬老师的亲切关怀和悉心的指导。他宽广的心胸、严于律己宽于待人的品格,严谨的治学精神,精益求精的工作作风,敏锐的思想、一丝不苟的工作态度和善于思考的良好习惯深深地感染和激励着我,老师的循循善诱的教导和不拘一格的思路,让我受益匪浅。从课题的选择到项目的最终完成里,刘老师多次询问设计进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励,还在关于学术价值观和人生价值观的思考方面给了我很大的启发。这些,都将使我在以后的工作和学习中受益匪浅。在此谨向刘老师致以诚挚的谢意和崇高的敬意。同时,也对我的大学里老师们,致以衷心的感谢。在我懵懂时,你们用振聋发聩的棒喝让我警醒;在我迷失时,你们用循循善诱的教诲抹去我心头的尘埃;在我痛苦时,你们的精神力量让我在心底始终拥有支撑。生有吾父,教有吾师,幸甚。感谢我的室友们,从遥远的家来到这个陌生的城市里,是你们和我共同维系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。三年了,仿佛就在昨天,学友情深,情同兄妹。三年里的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆,我会记得我们在一起的日子,一辈子也不会忘记。感谢我的父母含辛茹苦、无怨无悔地把我抚养、栽培到现在;感谢我的姐妹们,早早就毅然分担起家庭生活的重担,多年来对我无私的支持、关爱与呵护。家人永远是我的依托,也是鞭策我不断前进的力量。即将结束再次学习的生活,相信等待我的是一片充满机遇、风险与快乐的土地;也相信我和同仁们的事业必将如涅磐之凤、浴火之凰;更加相信,不朽的民族精神终将引领我们创造新的奇迹3536参考文献1胡汉才高档AVR单片机原理及应用M北京清华大学出版社,2008,792侯福平通信机房空调系统节能技术探讨R广州中国电信集团公司广州研究院,200637附录一空调控制器原理图和PCB板图(1)空调控制器原理图38(2)空调控制器PCB板图39附录二空调节能控制器C语言程序代码(1)主程序模块VOIDMAINVOIDUCHARI,J0UCHARTEMPSPL0X5F/将堆栈置于顶端SPH0X04PORTB0X00DDRB0X3B/PB0,PB1输出CLI/CPU关全局中断/WATCHDOGTIMEINIT/WDTCR172/每12小时刷新一次EEPROMJ0WRITEEEPROM/写入EEPROM(2)温度采集模块41/配置使能AVR与DS18B20的接口PB2进风口温度/VOIDDS18B20_CONFIGENTERDDRB/DDRB/输入模式上电时为高电平PORTB/PORTB/输出锁存器写0,以后不再更改/复位1WIRE总线,并探测是否有温度芯片DS18B20TO92封装挂在总线上,有返回SUCC,没有返回FAIL/UNSIGNEDCHARDS18B20_RESETENTERVOID/BOOLDS18B20_RESETVOIDUNSIGNEDCHARBUS_FLAG/BOOLBUS_FLAGUNSIGNEDCHARBUS_OKBUS_OK0DDRB|0X04/DQ_TO_0/设置1WIRE总线为低电平占领总线/现在延迟480US960US,与硬件密切相关,但应尽可能选小值480US,把抖动留给系统比如在延迟期间发生中断导致延迟变长。/WAIT_US490/490USCLI/CLI/下面这段时间要求比较严格,为保险起见,关中断DDRB/DQ_TO_1/设置1WIRE总线为高电平释放总线/这个浮点数是由编译器计算好的,而不是由你的MCU在运行时临时计算的,所以不会占用用户MCU的时间,不必担心看看前面的宏你就可以确定了WAIT_US68/最佳时间60US75US忙延时,只是一种策略/探测总线上是否有器件BUS_OKPINBIFBUS_OK0X04BUS_FLAG0/复位单总线但没有发现有器件在线ELSEBUS_FLAG1/复位单总线并发现有器件在线SEI/SEI/退出临界代码区开中断/保证MASTER释放总线的时间不是说总线处于高电平的时间不小于480US即可,这一时间从读总线状态之前就开始了,所以这里把这个时间计算在内。在MASTER释放总线的前半段,也是被动器件声明它42们在线之时。/WAIT_US422/490675USRETURNBUS_FLAG/写命令或数据到温度芯片DS18B20发送一个字节/VOIDDS18B20_WRITEENTERUNSIGNEDCHARDATUNSIGNEDCHARCOUNT/每个字节共8位,一次发一位FORCOUNT0COUNT1/下一位做好准备/60US120US实际不能到120US,因为其它语句也用时间了WAIT_US62/62US,写0必须拉低维持至少60USDDRB/DQ_TO_1SEI/SEI/恢复系统中断WAIT_US2/2US/从温度芯片DS18B20读配置或数据接收一个字节/UNSIGNEDCHARDS18B20_READENTERVOIDUNSIGNEDCHARCOUNT,DATUNSIGNEDCHARBUS_OKBUS_OK0DAT0X00/数据接收准备/每个字节共8位,一次收一位FORCOUNT0COUNT1BUS_OK0BUS_OKPINBIFBUS_OK0X04/读1DAT|0X80/IFDQ_STATUSDAT|0X80/读取总线电平,先收低位再收高位SEI/恢复系统中断WAIT_US62/必须大于60USRETURNDAT/温度转换VOIDCONVERT_TENTERVOIDIFDS18B20_RESETENTER1/如果复位成功DS18B20_WRITEENTER0XCC/跳过多器件识别DS18B20_WRITEENTER0X44/启动温度转换ENTERDS18B20DS18B20_OK1ELSEENTERDS18B20DS18B20_OK0/读取转换后的温度值VOIDREAD_TENTERVOIDUNSIGNEDCHARVALUEUNSIGNEDCHARVALUE_ZEROIFDS18B20_RESETENTER1/如果复位成功DS18B20_WRITEENTER0XCC/跳过多器件识别DS18B20_WRITEENTER0XBE/读暂存器VALUEUNSIGNEDINTDS18B20_READENTER/低字节44VALUE_ZERODS18B20_READENTER/高字节DS18B20_RESETENTER/再次复位和检查存在IFVALUE_ZERO/温度为零下时,归零ELSEENTERDS18B20TEMPERATURE_INTVALUE_ZERO4/实际温度的整数部分(十六进制)ENTERDS18B20TEMPERATURE_DECIVALUE/实际温度的小数部分保留一位(乘10),若想保留两位就乘100/出风口跟进风口的读取一样,在这里就不用多说了,代码也没附出(3)空调状态判断模块/函数功能判断空调状态,开启(制冷还是制热)、关闭状态传递参数无返回数据无/VOIDCHECKAIRCONDITIONVOIDIFOUTDS18B20TEMPERATUREENTERDS18B20TEMPERATURE30/出风口的温度大于进风口温度3度,空调为制热状态IFMYKONGTIAOKTZHIRE0/若当前空调为制冷状态,则置为制热状态MYKONGTIAOKTZHIRE1/置空调为制热状态IFMYKONGTIAOKONGTIAOGUZHANG0/原先没有告警,产生空调设备告警MYKONGTIAOKONGTIAOGUZHANG1/空调制热故障产生ELSE/空调在正常制冷或者关闭情况下IFMYKONGTIAOKTZHIRE1/若当前空调为制热状态,则置清除制热状态MYKONGTIA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐高考试题及答案
- 广东法学小自考考试题及答案
- 蓝月亮考试题及答案
- 口腔病历考试题及答案
- 课件时间轴模板
- 辽宁省沈文新高考研究联盟2025-2026学年高二上学期开学考试政治试题(含答案)
- 客房考试题及答案合集
- 浸润剂配置工突发故障应对考核试卷及答案
- 羽绒羽毛加工处理工技能比武考核试卷及答案
- 铁合金高炉冶炼工三级安全教育(车间级)考核试卷及答案
- 画法几何及土木工程制图课件
- 第2课 树立科学的世界观《哲学与人生》(高教版2023基础模块)
- 录入与排版教学计划
- 2023免拆底模钢筋桁架楼承板图集
- 云计算技术基础应用教程(HCIA-Cloud)PPT完整全套教学课件
- 呼吸衰竭小讲课课件
- 成人学士学位英语1000个高频必考词汇汇总
- GB/T 5271.29-2006信息技术词汇第29部分:人工智能语音识别与合成
- 全屋定制家居橱柜衣柜整装安装服务规范
- 沥青及沥青混合料试验作业指导书
- 义务教育阶段学生艺术素质测评指标体系小学音乐
评论
0/150
提交评论