摘要: 本篇主要介绍基于STC12C5A60S2单片机的汽车空调控制系统硬件部分和软件部分的设计, 对模式功能的转换以及实现控制进行阐述。 试验表明, 该汽车空调控制系统能达到较高的控制精度, 实用性强。
随着汽车行业的蓬勃发展, 汽车为人们的出行提供了极大的便捷, 逐渐成为人们生活不可或缺的一部分。 汽车空调作为衡量汽车舒适性的重要指标, 其控制系统的开发对于汽车市场的拓展有着至关重要的作用。 相比于家用空调, 汽车空调受环境影响大, 同外界的热交换量大, 因此制冷和采暖的能力要求比家用空调高, 使其所需负荷大。 要求环境温度在-20~60℃范围内, 相对湿度为45%~90%。对耐腐蚀性、 耐振动性也有一定要求。
1 系统控制原理
基于STC12C5A60S2单片机的汽车空调控制系统可以实现如下功能: 制冷 / 采暖温度调节、 内 / 外循环风模式转换、 除霜、 风力调节、 风向模式变换、自动调节。 图1为控制系统结构框图。 车内温度传感器用于温度采样, 风机可实现风量大小的调节,伺服电机用于实现模式的转换。 电磁阀的控制包括热水阀、 冷 / 热风门、 内外循环风门、 除霜模式转换门几个部分。 热水阀的开闭可实现采暖功能, 当需要采暖时, 打开热水阀, 使热水流过热交换器加热空气, 同时, 鼓风机工作, 将暖风送入车厢内。
2 系统硬件设计
汽车空调控制系统硬件主要包括如下几个部分: 电源电路、 风机转速控制电路、 伺服电机驱动电路、 液晶显示屏及按键电路、 电磁阀控制电路和温度传感器数据采集等。
2.1 STCI2CSA60S2单片机简介
STCI2CSA60S2 单片机是宏晶科技生产 的单时钟 / 机器周期的单片机, 具有高速、 低功耗、 超强抗干扰的特点, 速度比传统的8051单片机要快8~12倍。 该单片机工作电压为5 V, 有44个通用I/O口,片上集成1280字节的RAM, 共4个16位定时器, 3个时钟输出口, 7路外部中断I/O口, 内部集成MAX810专用复位电路, 2路PWM, 8路高速10位A/D转换,主要针对电机控制、强干扰等场合。
2.2 执行器控制
2.2.1 风机转速控制
图2为风机驱动电路 , 这 是 一 个1/4桥MOS 管 驱动电路 。 在接通时, 可以将MOS管的Ugs维持在10 V以上, 使得MOS管的阻值可以降到最低, 而损耗比8.5 V时降低10%左右, 让电路可以长时间工作在0~100%占空比下而不发热。 C5的作用主要有两点: 第一, 吸收干扰并且降低开通速度, 但关断速度基本维持不变, 这是减小门级高频震荡同时也作为同步续流驱动的安全措施之一; 第二, 降低开通速度,降低dv/dt, 减少耦合到对管门级上的电压, 可避免极端情况下对管的误开启 (极端情况指大功率电机缺相、 突然卡死等)。 R4用于限流, 防止开通速度过快, 造成Uds振铃进而Uds超压击穿。
利用STC12C5A60S2单片机的硬件PWM功能,在不占用单片机软件资源的情况下, 从P1.3输出不同占空比的PWM波形, 通过驱动电路, 控制电机两端的平均积分电压, 达到调节电机转速的目的。PWM波频率为30 kHz, 超出人耳听觉范围, 可以起到有效减小噪声的作用。
2.2.2 伺服电机转向控制
伺服电机电路中采用L293芯片。 L293采用16引脚DIP封装, 其内部集成了双极型H-桥电路, 将2个H-桥电路集成到1片芯片上, 可以同时控制2个电机。 L293每个电机有3个控制信号: EN12、 IN1、IN2, 其中, EN12为使能信号, IN1、 IN2为电机转动方向控制信号。 IN1、 IN2可以用来设置电机转动方向, 在使能信号为1 (高电平) 的情况下, 当其输入信号分别为1 (高电平)、 0 (低电平) 时, 电机正转, 反之, 电机反转。 使能信号可以用于脉宽调整, 将PWM连接至EN12引脚, 通过调整PWM的占空比可以调整电机的转速。
图3为伺服电机工作电路图。 1, 2EN为使能信号输入端, 对应EN12; 1 A、 2 A为方向信号输入端, 对应IN1、 IN2, 分别同单片机两个I/O口相接;1Y、 2Y为信号输出端。
2.3 温度数据采集
为了进行温度信号的测量及反馈调节, 该系统中采用型号为DS1820的温度传感器。 传感器有3个引脚, 分别为GND、 DQ、 VDD。 DQ为单线应用的数据输入 / 输出引脚, 信息经过该单线接口送入和送出。 读写和完成温度变换所需电源可由数据线本身提供, 不再需要外部电源。 DS1820通过门开通期间内低温度系数振荡器经历的适中周期个数来测量温度, 其中, 门开通期由高温度系数振荡器决定。DQ引脚同单片机自带的A / D转换I / O口P1.1连接, 为了保证传感器在其有效变换期内有足够的电流驱动, 在该I/O口上使用MOS管使其上拉至电源。
3 系统软件设计
汽车空调控制软件部分采用C语言开发, Kei1C51软件进行编译。
当汽车起动时, ECU上电, 读入上次断电前存入EEPROM的空调状态信息, 初始化控制器到上次关机前状态。 显示面板上的开关按键可以启动空调, 乘客根据需要设定温度、 风力、 模式等。
3.1 主程序流程图
图4为本文控制系统主程序流程。 其中, 执行器控制模块分别包括风机、 伺服电机、 电磁阀、 压缩机几个部分的控制。 系统为5级风量控制, 上电后, 屏幕初始化, 空调开关按键按下后, 风机开始工作, 风量初始设定为1级。 根据按键设定信号,执行器模块工作, 同时开始数据采样, 直到采样值满足设定要求。