家用中央空调控制器设计.docx
《家用中央空调控制器设计.docx》由会员分享,可在线阅读,更多相关《家用中央空调控制器设计.docx(22页珍藏版)》请在冰豆网上搜索。
家用中央空调控制器设计
第一章家用中央空调控制器设计
一.1家用中央空调控制器的硬件设计
家用中央空调模糊PID控制器的主要功能实现:
(1)控制风机的转速实现对室温的控制;
(2)简单的按键操作,方便用户设定温度;
(3)能够显示室内实际和设定温度值;
一般来说,一个控制系统包括输入系统,主控系统和输出系统。
家用中央空调控制器硬件设计主要应考虑三大部分的设计:
输入电路:
即参数/命令输入电路部分,主要包括:
温度检测电路,键盘输入电路,时钟电路,复位电路。
主控电路:
即单片机及接口电路部分,主要包括CPU,各种I/O接口等。
其中单片机作为整个系统的主控部件,通过软件编程,实现采集数据的分析运算等;I/O接口是参数、命令、状态等模拟、数字信号的通道。
输出电路:
即各种执行机构的数字/开关量输出和显示,包括LED显示电路,风机控制电路等。
家用中央空调的硬件电路原理框图如图3.1。
图3.1家用中央空调的硬件电路原理框图
一.1.1主控电路
1.单片机的介绍
STC89C51RC/RD+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。
(1)单片机的特点:
a.增强型6时钟/机器周期,12时钟/机器周期8051CPU
b.工作电压:
5.5V~3.4V(5V单片机)/3.8V~2.0V(3V单片机)
c.工作频率范围:
0~40MHz,相当于普通8051的0~80MHz.实际工作频率可达48MHz
d.用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节
e.片上集成1280字节/512字节RAM
f.通用I/O口(32/36个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)
P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻
g.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片。
h.EEPROM功能
i.看门狗
j.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路
k.共3个16位定时器/计数器,其中定时器0还可当成2个8位定时器使用
l.外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒
m.通用异步串行口(UART),还可用定时器软件实现多个UART。
n.工作温度范围:
0~75℃/-40~+85℃
o.封装形式:
DIP-40,PLCC-44,PQFP-44三种封装
(2)STC89C52芯片
这个设计选用的是这个单片机系列中的STC89C52,其PDIP-40形式的封装图如图3.2。
图3.2单片机STC89C52封装图
其引脚功能如下:
Vcc:
电源引脚。
正常操作、空闲、掉电以及对FLASHROM编程或校验时的工作电压。
一般为5V。
P0口:
P0口作为I/O引脚使用时,P0口是漏级开路双向口,向口锁存器写入1时,I/O引脚将悬空,是高阻输入引脚;在读写外部存储器时,P0口作低8位地址/数据总线。
P1口:
P1口是内部带有弱上拉电阻的准双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
先向P1口锁存器写入1,使P1口引脚被上拉为高电平时,可用作输入。
P1.0和P1.1引脚除了可以作为一般I/O引脚使用外,还具有第二输入/输出功能:
P1.0(T2):
定时器T2的计数输入端或定时器T2的时钟输出端。
P1.1(T2EX):
定时器T2的外部触发输入端。
P2口:
P2口是内部带有弱上拉电阻的准双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口锁存器写入1时,使P2口引脚被内部上拉电阻拉至高电平,作为输入。
在读/写外部存储器时,P2口输入高8位地址信号A15~A8。
当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高8位。
在给出地址“1”时,它利用内部上拉优势,当对外部8位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
在FLASH编程和校验时P2口接收高八位地址信号和控制信号。
P3口:
P3口是内部带有弱上拉电阻的准双向I/O口,可接收输出4个TTL门电流。
作输入引脚使用前,先向P3口锁存器输入1,使P3口引脚被上拉成高电平。
使P3口除了作为一般的I/O引脚使用外,还具有第二输入/输出功能。
P3口作为一些特殊功能口,如下所示:
P3.0(RXD):
串行数据接收(输入)端
P3.1(TXD):
串行数据发送(输出)端
P3.2(
):
外部中断0输入端
P3.3(
):
外部中断1输入端
P3.4(T0):
定时/计时器T0的外部输入端
P3.5(T1):
定时/计时器T1的外部输入端
P3.6(
):
外部数据存储器写选通信号,低电平有效
P3.7(
):
外部数据存储器读选通信号,低电平有效
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位信号输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/
:
低8位地址锁存信号。
在访问外部存储器时,用ALE/
下降沿锁存从P0口输出的低8位地址信息A7-A0,以便随后将P0口作为数据总线使用。
在正常情况下,ALE/
输出信号恒为1/6振荡频率,并可用作外部时钟或定时信号。
:
外部程序存储器的读选通信号,低电平有效。
从外部程序存储器取指令时,每个机器周期
信号被激活两次。
只有执行外部程序存储器中的指令时
才有效,而执行其他操作时
无效
/VPP:
外部程序存储器选择信号,低电平有效。
在复位期间CPU检测并锁存
/VPP引脚电平状态,当该引脚为高电平时,从片内程序存储器取指令,只有当程序计数器PC超出片内程序存储器地址编码范围时,才转到外部程序存储器取指令;当该引脚为低电平时,一律从外部程序存储器取指令。
XTAL1:
片内晶振电路反相振荡放大器输入端,接CPU内部时钟工作电路。
XTAL2:
片内晶振电路反相放大器输出端。
1.串口通信
(1)RS232串口通信芯片
串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线UniversalSerialBus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
典型的RS232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。
当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS232电平再返回TTL电平。
接收器典型的工作电平在+3~+12V与-3~-12V。
由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。
RS232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。
所以RS232适合本地设备之间的通信。
(2)串口通信电路设计
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米(RS485)。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:
(a)地线,(b)发送,(c)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
一.1.2输入电路
1.温度传感器的选择
本文研制的控制器选择著名的Maxim&Dallas公司的DS18B20型号温度传感器。
DS18B20是美国DALLAS公司新推出的一种可组网数字式温度传感器,它是DALLAS公司在前一代温度传感器DS1820的基础上改进开发的,它的优势在可组网特性和可编程提高测温精度两个方面。
技术性能描述如下:
(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条端口线即可实现微处理器与DS18B20的双向通讯。
(2)测温范围-55℃~+125℃,固有测温分辨率0.5℃。
(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。
(4)工作电源:
3~5V/DC。
(5)在使用中不需要任何外围元件。
(6)测量结果以9~12位数字量方式串行传送。
(7)不锈钢保护管直径Φ6。
(8)适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温。
(9)标准安装螺纹M10X1,M12X1.5,G1/2任选。
(10)PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
DS18B20的出现开辟了温度传感器技术的新领域。
它在工作电压、电气特性及封装等方面都有优势,可以轻松的组建传感器网络,提高系统的抗干扰性,使系统设计更加灵活方便。
DS18B20的温度转换精度是可调的,从9位到12位,高精度的温度转换从而使DS18B20可以有更加宽广的应用领域,但是对于空调行业,一般而言,0.5摄氏度的精度是足够的。
DS18B20不同于其他的温度传感器的最大的特点就是硬件连接非常的简单,只需要一根数据线与单片机的输入输出口相连,进行双向通讯。
在使用中,它也不需要任何的外围元件。
甚至它可以不需要和电源直接连接,通过数据线的上拉电阻,就可以实现寄生供电。
在本设计中,采用的是外部电源供电。
DS18B20内部结构主要由4部分组成:
64位ROM、温度传感器、温度报警触发器TH和TL、配置寄存器。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同,DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
2.DS1302时钟芯片
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线(RES复位、I/O数据线、SCLK串行时钟)。
时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信,DS1302工作时功耗很低保持数据和时钟信息时功率小于1mw。
2.键盘电路
矩阵式键盘常应用在按键数量比较多的系统之中。
这种键盘由行线和列线组成,按键设置在行、列结构的交叉点上,行列线分别连在按键开关的两端。
行线通过上拉电阻接至正电源,使无键按下时,行线处于高电平状态,键盘矩阵与微型计算机的连接,应用最多的方法是采用I/O接口芯片。
键盘处理程序的关键是如何识别键码,微型计算机对键盘控制的办法是“扫描”。
键盘处理程序的关键是如何识别键码,微型计算机对键盘控制的办法是“扫描”。
根据微型计算机进行扫描的方法又可分程控扫描法、定时扫描法以及中断扫描法三种。
多数使用中断扫描法这种办法的实质是:
当没有键入操作时,CPU不对键盘进行扫描,以节省出大量时间对系统进行监控和数据处理。
一旦键盘输入,即刻向CPU申请中断。
CPU响应中断后,立刻转到响应的中断服务程序,对键盘进行扫描,判别键盘上闭合键的键号,并做相应的处理。
若无键按下,CPU执行主程序或处理其他事务。
这样节省了大量的空扫描时间,进而提高了计算机的工作效率。
图3.3为按键电路原理图:
图3.3按键电路原理图
在此次设计中,采用了矩阵的接法,把多个按键(接在P2[0]~P2[3])的接地端连在一起,分别接在P2[4]、P2[5]上面,这种复用的设计方法可缩减I/O口的使用量,这里占用6个I/O口可以得到8个按键,如果再增加两列,变成4×4的设计,则只用8个I/O口就有16个按键。
我们一般称P2[0]~P2[3]为行,而P2[4]~P2[5]为列。
一.1.3输出电路
1.显示电路
(1)LED显示器
LED(LightEmittingDiode)显示器是由发光二极管作为显示字段的数码型显示器件,具有显示清晰、成本低廉、配置灵活、与单片机接口简单易行的特点,在单片机应用系统中得到了广泛的应用。
LED显示器内部由7段发光二极管组成,因此亦称之为七段LED显示器,由于主要用于显示各种数字符号,故又称之为LED数码管。
每个显示器还有一个圆点型发光二极管(用符号DP表示),用于显示小数点,图为LED显示器的符号与引脚图。
根据其内部结构,LED显示器可分为共阴极与共阳极两种LED显示器。
这个设计采用共阴LED显示器。
(2)显示电路
LED常用的显示方法有两种,分别为静态显示和动态显示,根据LED数码管内各笔段LED发光二极管的连接方式,可将LED数码管分为共阴极和共阳极两大类。
对于显示,本设计使用4位7段数码管显示各种参数及其设定,采用动态扫描实现显示任务。
则设计电路原理图如图3.6所示:
图3.6显示电路原理图
从图可以看出,数码管段a~g、dp共8个位接在单片机的P0口对应的8个位上,位控制4个接在PP1.0~P1.3上面,这是一种四个数码管合为一体的结构,所有段口是并在一起的,每个数码管位控制单独一条引脚。
每个数码管位控制由一只三极管来完成,当三极管基极为低电平时,导通,5V电压加到数码管的公共端。
2.风机控制电路
(1)PWM
脉冲宽度调制(PWM)是英文“PulseWidthModulation”的缩写,简称脉宽调制。
它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
根据相应负荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。
PWM都可以选择接通时间和周期。
占空比是接通时间与周期之比;调制频率为周期的倒数。
通常调制频率为1kHz到200kHz之间。
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。
让信号保持为数字形式可将噪声影响降到最小。
噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
(2)直流电机PWM调速控制
本设计是通过直流电机控制风机的转速,直流电机转速控制,大多数应用场合都使用电枢电压控制法,用PWM便是常用的改变电枢电压的一种调速方法。
PWM调速控制的基本原理是按一个固定频率来接通和断开电源,并根据需要改变一个周期内接通和断开的时间比(占空比)来改变直流电机电枢上电压的"占空比",从而改变平均电压,控制电机的转速。
在脉宽调速系统中,当电机通电时其速度增加,电机断电时其速度减低。
只要按照一定的规律改变通、断电的时间,即可控制电机转速。
而且采用PWM技术构成的无级调速系统。
启停时对家用中央空调模糊PID控制器的软件设计
家用中央空调控制软件设计需要完成的功能最主要有温度的采样,控制模块的设计,控制量的输出,这三部分是控制器所要实现的温度控制功能的核心部分。
此外,还有动态显示、按键输入的处理、定时关机等。
一.1.4控制模块的设计
家用中央空调系统处于制冷模式,温度偏差=实际温度-设定温度。
考虑到一般的设定温度在18℃~30℃之间,而室内温度的范围一般为15℃~40℃,其温度偏差的范围为-3℃~22℃之间,其差值为25℃。
温度偏差变化率=前次温度偏差-本次温度偏差。
由于考虑到一般空调的制冷能力设定温度误差变化率为0℃~7℃。
系统处于制热模式,为了使制冷模式和制热模式的温度误差和温度误差变化率的值的正负属性一致,以便单片机的处理。
温度偏差=设定温度-实际温度;温度偏差变化率=前次温度偏差-本次温度偏差。
相应的,设定了温度偏差的范围为-3℃~24℃;温度误差变化率为O℃~7℃。
控制器的执行算法模块主要采用了增量型PID控制算法和模糊控制算法。
控制器的设计总流程图如图3.7。
图3.7控制器的设计总流程图
1.PID控制模块的设计
设计PID控制模块时预先设定好PID参数。
一般对温度的PID控制比例益
为20%~60%;积分时间常数
为180~600S;微分时间常数
为3~180S,在软件编程时可探索式的在这个范围内设定常数。
增量式PID算法流程图如图3.8。
图3.8增量式PID算法流程图
2.模糊控制模块的设计
模糊控制器的输入变量为温度偏差e和温度偏差变化率
;温度模糊控制的输出变量为具有不同占空比的脉宽调制信号
。
(1)输入输出变量的模糊化
对温度偏差e,温度偏差变化率
,温度模糊控制的输出变量
模糊集及其论域定义如下:
温度偏差e的模糊集为{负大,负中,负小,零,正小,正中,正大},简记为{NB,NM,NS,ZO,PS,PM,PB},误差e的论域为[-3,22],对称地映射为7个整数,量化级别为(-3,3),量化因子
=0.24。
温度偏差变化率
的模糊集为{负大,负中,负小,零,正小,正中,正大},简记为{NB,NM,NS,ZO,PS,PM,PB},变化率
的论域为[0,7],对称地映射为7个整数,量化级别为(-3,3),量化因子
。
温度模糊控制的输出变量
的模糊集为{负大,负中,负小,零,正小,正中,正大},简记为{NB,NM,NS,ZO,PS,PM,PB},输出变量
脉宽调制的占空比为0%-100%,对称地映射为7个整数,量化级别为(-3,3)。
(2)建立模糊规则表
根据专家经验和我们的知识确定量化等级对应于模糊子集的隶属度,则可得到相应的三角形的隶属函数。
e、
、
的隶属函数图如图3.9,图3.10,图3.11。
建立了对风速的控制规则便可实现该系统的舒适性模糊控制,再对控制规则的结果解模糊就可以得到控制的输出。
图3.9温度偏差e的隶属函数
图3.10温度偏差变化率∆e的隶属函数
图3.11Uf的隶属函数
根据以上介绍的控制规则拟定依据,建立了合适的模糊规则如图表3.1规则库中存放控制规则,控制规则是专家知识或长期实验数据的总结。
表3.1Uf的模糊规则
(3)求模糊控制表
模糊规制的一般形式是:
if
and
then
式中
、
、
为其论域上的语言值,根据Mamdani推理法,上述模糊规则可以用一个模糊关系矩阵来描述:
(2.16)
根据己知的模糊量
和
,通过模糊合成运算即可求得模糊输出量
:
(2.17)
根据上述方法求出每种输入状态下的模糊输出U后,最后决策用重心法将U转化为由量化论域表示的实际值
,则求得模糊控制表如表3.2。
表3.2Uf的模糊控制表
表是一个7×7的矩阵,控制表逐行编写在程序中,要求得精确的输出电压
,只需查表得到第i行和第j列的
,与比例因子
相乘。
图3.12是模糊逻辑控制流程图:
图3.12模糊逻辑控制流程图
一.1.5温度采集程序设计
采集室内温度的流程图如下:
图3.13温度采集流程图
一.1.6按键程序设计
设计的控制器面板上有3个按键。
3个按键的功能分别为:
(1)实际温度键(键一)
(2)设定温度键(键二)
(3)设定温度增加一度(键三)
(4)设定温度减少一度(键四)
一个正常的按键的时间一般是从20ms直至松开。
在按键扫描处理程序中,每次检测到有键按下,都调用30ms的延时,作为消抖动处理,以防止单片机检测到多次按键输入;对多键齐按下的情况,视为无效的按键输入;每次按键都等待键松以后再进行对应的处理。
图3.14为按键扫描程序流程图:
图3.14按键处理扫描程序流程图
按键一的功能是选择显示实际的室内温度值。
软件设计中,只需要将显示实时温度的标志位置1,表示将显示实时温度。
按键二的功能是选择设定温度值。
实际上,只需要改变显示的内容,同时告诉单片机,显示内容不再是实际的室内温度值(清零显示实时温度的标志位)。
软件设计中,温度设定时,调入当前设定温度的显示码即可。
按键三与按键四的功能相似,前者是温度增1,后者是温度减1。