PIC16C72单片机的空调控制系统设计
1 控制器原理
系统CPU根据遥控器或按键输入的命令,对采集到的温度进行智能判断,然后作出相应的制冷、制热或除温运行。再通过接口电路,驱动压缩机、换向阀、风向电机和室内风机作相应动作,并对温度用LED指示。系统的原理框图如图1所示。
2 硬件设计
进行系统硬件框图设计时,既要考虑编写程序的方便、又要充分利用软件的功能来简化硬件结构,即做到“软硬兼施”。
2.1 单片机的选择
系统有3路温度模拟信号输入,还有1路电压和1路电流模拟输入,共5路模拟输入要求;而模拟信号要转换成数字信号才能用单片机CPU处理。为提高系统的性能价格比,应采用含有A/D转换器的单片机。经过各方面的综合比较,我们选用了美国Microchip公司的PIC16C72单片机作为控制核心。它具有5路模拟量输入的A/D转换器,恰好满足系统的模拟输入要求。另外,它在1块芯片上集成了1个8位逻辑运算单元和工作寄存器、2KB程序存储器、128个数据存储器、3个端口(A口、B口、C口)共22条I/O线、3个定时器/计数器。另外,只有35条易学易用而高效的RISC(精简指令集计算机)指令,同时,芯片具看门狗功能,并提供对软件运行出错的保护。
2.2 模拟输入电路
本系统直接用热敏电阻进行测温,再加一级电容滤波。对外交换温度检测电路,因其干扰较大,特加上二极管限幅保护。对传感器的不同电阻值,将其所对应的不同分压值输入至PIC单片机的A/D转换口,在单片机内部转换成数字信号。该检测电路结构简单,性能价格比高。又因采用的单片机为8位,所以温度转换精度高,可为0.5℃,完全满足了空调的信号检测精度要求。
对过流信号的检测,不用经过比较器,节约了资源;而是采用模拟信号整流分压后直接输入,通过单片机自带的A/D转换器,每500μs对其进行一次检测,并进行软件比较,以确认是否过流。
对过零电压信号的检测,也是采用模拟信号整流分压后直接输入。因两个电压半波的过零点都要检测,所以用桥式整流。模拟输入电路如图2所示。
2.3 温度指示电路
该电路可对设定温度和房间温度两种温度的10个温度值进行同时指示,而且结构简单,仅占用2根I/O线和使用1个八位移位寄存器74LS164。方法是对设定温度进行稳定指示,对房间温度进行1s间隔闪烁指示。每秒取出温度信号。如果是21℃或30℃,则直接将相应位置成低电平,使相应LED灯亮,如果上22~29℃,则将温度转换成相应显示码,通过RB6产生CLOCK信号,RB7串行送出显示码至8位移位寄存器74LS164,再进行LED指示。
2.4 室内风向电机控制电路
本控制系统的室内风向叶片有自动、摆动以及5种固定角度等运行状态。为得到高精度的角度控制,我们采用DC12V四相八拍步电机驱动。步进控制电路中采用单片机的RB2、RB3、RB4、RB5作为四相(A、B、C、D)八拍环行分配时序,经电流放大器件ULN2003功率放大后驱动步进电机运转。控制方法是根据目标位置和当前位置的角度差,输出相应数量的脉拍数,并通过输出脉拍的不同时序来控制正反转。
2.5 室内风机控制电路
制冷和制热量的大小与室内风机的转速有着密切的关系。本系统中室内风机采用双向晶闸管移相控制,使其产生电压调速。控制电路如图3所示。在单片机内部,根据RA5口检测到的电压过零点为同步信号,再通过定时器控制产生所需脉冲的相位和宽度,从RC1口输出,然后经晶体管放大、脉冲变压器隔离输出,再触发双向晶体管导通。为了减小脉冲变压器的容量,输出的是几个连续的窄脉冲序列。
单片机系统RA3口对室内风机的速度反馈脉冲进行计数,并与给定值进行比较,然后进行积分调节,对速度进行闭环控制。
2.6 继电器实时控制电路
控制信号从单片机的通用双向I/O端口RB1、RC4和RC5经过驱动器ULN2003放大,控制继电器,使压缩机、室外风机和换向阀按要求状态动作。
3 软件设计
软件设计采用模拟化处理,主控程序包括以下几个部分:程序的初始化、试运转、数据和信号的采集与处理、温度LED指示、室内风机的闭环积分控制、室内风向电机的步进控制。功能子程序包括制冷、制热、除湿、自动四种运行模式。中断程序包括遥控接收。各种定时的中断查询处理、速度检测等。系统的主控程序流程如图4所示。
系统资源分配:定时器0用于对速度反馈脉冲计数,定时器1用于遥控处理,定时器2用于其它所有定时处理。由于定时器2处理的定时有20多个,时间长短更是千变万化,短的只有500μs,长的可达24h(小时)。根据现实生活中一块手表可处理多个事件的启示,我们设计出口断式查询定时法,即将基准中断时间设为最小公约数500μs,每个事件分配1个时间寄存器、1个开始定时标志和1个定时时间到标志,在需要定时的时候,将其开始定时标志1置。每次500μs中断时,对各定时标志位进行检测,如果为1,则对相应的时间寄存器进行定时处理,如果定时时间到,则将相应的定时时间到标志置1。
软件系统的制冷、制热、除湿和自动功能子程序模块,主要功能是根据房间温度和设定差值,并综合考虑其他条件,然后对压缩机和室内外风扇的运行状态进行智能控制。同时,在各模块里进行了睡眠和保护处理
评论