基于Arduino 控制的汽车空调温湿度控制系统设计*

2023-12-28 02:51
微处理机 2023年6期
关键词:加湿器开发板风扇

凤 兰

(内蒙古电子信息职业技术学院电子与自动化学院,呼和浩特 010070)

1 引 言

车内温度、湿度与车厢内乘客的舒适度直接相关。车厢内环境检测系统中温度和湿度是两个重要的显示和分析指标,实时检测车内温湿度,才可采取相应措施,为乘客提供舒适、安全的乘车环境[1-2]。近年来通过单片机控制温湿度系统的设计大量涌现[3-5],比如智慧农业中的温湿度控制,家居温湿度控制等等。对于初学者,Arduino 开发板相对于单片机难度较低,并且有丰富的扩展模块和库函数,易于实现各种功能。如果需要实现较为复杂的任务或需要高速运算,单片机可能更加适合。对于车厢内的温湿度控制这类项目则Arduino 更加适合[6-8]。本系统的设计初衷,也是为此类系统的设计提供便利。

2 系统整体设计

本系统以Arduino 为主控制,用DHT11 数字温度传感器来进行温湿度信息采集,将采集到的温度与相对湿度通过LCD1602 液晶屏实时进行显示。当温度和湿度达到设定值时,主控电路将启动温湿度控制模块对执行设备进行控制。系统的总体框架如图1 所示。系统设计包括:DHT11 温湿度传感器,Arduino 开发板,LCD 显示屏,两个继电器模块,风扇和加湿器。

图1 系统总体框架图

3 系统硬件设计

系统由DHT11 温湿度检测模块、Arduino 控制模块、液晶显示模块、继电器模块和执行设备组成。详细设计如下:

(1) DHT11 温湿度检测模块

系统采用的信息采集模块是DHT11 温湿度传感器。与相同功能的其他温湿度传感器相比[9],它具有更显明的优势。首先,它是一种包含检测温度和湿度功能的复合型集成传感器,采用单线制串行接口,使系统集成更易于实现和操作。其次,该传感器输出的数字信号是已经经过精确校准后的数据,更能精准地测量到车厢内的温度和相对湿度。DHT11的工作电压为3.3~5.5 V,采用4 针单排封装,测量温度时精度为±2℃,测量量程0~50℃,测湿精度在±5%RH,量程范围是20%~90%RH。该传感器可以通过一根数据线与主控制器进行通信,具有操作简便、品质优良、响应精准和抗干扰能力强等优点。

(2) 主控制模块

Arduino 是目前较为流行的电子互动平台,具有便捷灵活,功能多样,价格低廉等优点。相比于同性能控制芯片,它具有简便的编程环境IDE,无需配置复杂的驱动程序、寄存器与库函数,更容易实现相应的设计效果。

(3) 液晶显示模块

LCD1602 作为各类项目设计中常见的显示屏,可显示字母、数字和符号,能够同时显示16 字符、2行的字母或数字。LCD1602 最佳工作电压为5V,具有低功耗、高可靠性、易于控制等优点。它通常作为显示输出设备用于嵌入式系统中,易于跟Arduino开发板连接使用,符合本设计的需求。

(4) 继电器模块

继电器是一种自动控制保护装置。在系统电路设计中,用大量的继电器来控制电路的通断,即用流经继电器开关的小电流,通过常闭和常开触点的动作控制用电器的大电流。其中电磁式继电器的应用为最广泛。DC5V 继电器是一种常见的电磁式继电器,在本项目中主要控制加湿器与风扇的工作。

(5) 执行设备

汽车空调制冷系统的核心设备是压缩机,通过制冷剂的循环给车厢降温。车内加湿器可以避免空气过于干燥。在此项目中两个执行设备风扇和加湿器的工作电压均为5V。小风扇用来模拟汽车空调制冷系统中的核心设备压缩机;小加湿器用来模拟车厢内的加湿系统。传感器检测到的温度达到相应的临界值时,风扇开始工作。当车内湿度达到临界值时加湿器开始运行。

4 系统软件设计

通过调用温湿度传感器的库函数,实现DHT11的温湿度采集功能,并把检测到的数字信号传送到主控制模块,进行数据分析和计算。对Arduino 编写主函数,完成从传感器模块接收数据、把数据发送给显示模块显示的功能。把显示的温湿度按事先设定好的模式显示在液晶屏的指定位置,温度和湿度达到临界值时,控制单元对执行元件进行控制。由此对主代码进行设计,代码及分析如下:

起始部分为:

此段代码的功能为:首先引入liquidcrystal 和dht 的库函数,定义LCD 连接到Arduino 开发板的12、11、5、4、3、2 号引脚。温湿度传感器DHT11 的数据端与Arduino 的8 号引脚相连。加湿器和风扇分别与开发板的6 和7 号引脚相连。

后续代码为:

此段代码为:先初始化LCD1602(lcd.setCursor的功能是将光标移动到指定位置)。第一行显示字符串“--ShiDu---Test--”,把6 和7 号引脚均设为输出模式,加湿器和风扇的初始状态为停止。

后续代码为:

此段代码的功能为:在lcd 第二行显示温度和湿度,单位分别为℃和%,其中“DH:”代表相对湿度,“TP:”代表温度。比如:DH:38%---TP:43C。

后续代码为:

此段代码为:当相对湿度达到37%时加湿器停止工作,在此之前加湿器一直工作;当温度达到25℃时,风扇开启,在此之前风扇是关闭的状态。

5 实验测试

为了更好地开展实验验证,先做了模拟仿真测试,再用实物连接来实现整个软硬件设计。

5.1 Proteus 仿真测试

采用Proteus 8 Professional 仿真软件模拟汽车空调车厢内温湿度控制系统。首先将DHT11 温湿度传感器和Arduino 开发板连接。DHT11 传感器连接Arduino 版的供电端和地以及数据端8 号引脚,LCD显示屏连接Arduino 的12、11、5、4、3、2 号引脚。具体连接情况如表1。

通过仿真连接和代码上传,可看出传感器检测到的数据有两个部分:温度和湿度。DHT11 能实时显示环境温度与湿度,并同步显示在LCD 液晶显示屏上。当前显示的温度为43℃,相对湿度为38%。当手动调整DHT11 的上下键时显示屏上的温湿度会发生变化,达到了设计的效果。Proteus 仿真界面及结果如图2 所示。

图2 Proteus 仿真图

5.2 实验调试

首先将传感器模块、Arduino 开发板、LCD 显示模块按仿真中的连接顺序布线,再把Arduino 开发板的6 号和7 号引脚分别与湿度继电器和温度继电器相连。将编好的代码上传到Arduino 控制模块,控制加湿或吹风,同时采集到的温湿度的信息显示在LCD 显示屏上。

当相对湿度达到37%时,加湿器停止工作,在此之前加湿器一直工作;当温度达到25 ℃时,风扇开启,在此之前风扇是关闭的状态。车厢内的温度达到临界温度25℃时,压缩机(小风扇)开启,对环境进行制冷,提供舒适的温度。相对湿度低于37%时,加湿器启动,提高了车厢内湿度,避免太过干燥引起静电等情况的发生。经实验,所设计功能运转良好,实验结果与设计预期吻合。

6 结束语

基于Arduino 简单易操作的特点,以车厢内的温湿度控制为例介绍了整个软硬件设计过程。温湿度传感器采集到的温度、湿度信号传递给Arduino开发板,通过显示模块实时正确地显示环境温湿度,并在温湿度达到临界值时,由控制单元对执行元件进行控制,达到了预期的效果。本设计简便易行,具有一定实际应用价值。

猜你喜欢
加湿器开发板风扇
加湿器帮你做个水润美人
电风扇
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
基于智能手机控制风扇运行的实现
少了这七款加湿器,怎么过夏天?
最环保的扑克版空气加湿器
新蒙迪欧车冷却风扇常高速运转
加湿器“喝”生水喷水雾无毒
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板