1. 系统总体设计
点击链接下载prrotues仿真设计资料:https://download.csdn.net/download/m0_51061483/92081516
1.1 设计背景
随着物联网技术的快速发展,环境监测系统逐渐向智能化、网络化方向演进。在农业温室、仓储物流、实验室环境控制等场景中,对温湿度的多点采集与远程监控提出了更高要求。传统单点采集系统已无法满足复杂环境的监测需求,而多路采集结合无线通信技术能够显著提升系统的应用价值。
基于单片机的多路温湿度采集与WIFI智能报警控制系统,通过集成多通道传感器、阈值判断、执行机构控制以及无线通信模块,实现环境数据的实时采集、分析与远程管理。该系统不仅能够本地显示数据,还可以通过WIFI实现远程监控与参数配置,具有广泛的应用前景。
1.2 系统功能设计
本系统主要实现以下功能:
- 多路采集功能:支持至少4路温湿度数据采集;
- 采集模式切换:支持定时采集与实时采集两种模式;
- 循环显示功能:循环显示各通道编号及对应温湿度数据;
- 阈值报警功能:支持上下限阈值设置,超限自动报警;
- 执行机构控制:温湿度异常时自动控制风扇、加热器等设备;
- WIFI通信功能:实现数据上传及远程参数设置;
- 系统具有良好的稳定性、扩展性与智能化水平。
2. 系统电路设计
2.1 单片机最小系统电路设计
系统采用STC89C52单片机作为核心控制单元。
最小系统包括:
- 晶振电路:采用11.0592MHz晶振提供系统时钟;
- 复位电路:采用RC复位电路保证系统可靠启动;
- 电源电路:提供稳定5V电压。
2.2 温湿度采集电路设计
系统采用多个温湿度传感器(如DHT11或DHT22)。
设计方案:
- 每个传感器连接一个独立IO口;
- 支持至少4路数据采集;
- 单总线通信方式;
- 提供数字输出,减少误差。
2.3 显示电路设计
系统采用LCD1602显示模块。
显示内容包括:
- 当前通道编号;
- 温度值;
- 湿度值;
- 报警状态。
2.4 按键输入电路设计
用于设置系统参数。
主要功能:
- 切换采集模式;
- 设置上下限阈值;
- 调整采集周期。
设计要点:
- 上拉电阻;
- IO口输入;
- 软件消抖。
2.5 报警电路设计
报警模块包括蜂鸣器与LED。
设计方法:
- 超出阈值时触发;
- 单片机IO口控制;
- 提供声光提示。
2.6 执行机构控制电路设计
执行机构包括风扇、加热器等。
设计方案:
- 单片机输出控制信号;
- 通过继电器或MOS管驱动;
- 实现自动调节环境。
2.7 WIFI通信电路设计
系统采用ESP8266模块实现WIFI通信。
设计特点:
- 支持串口通信;
- 实现数据上传;
- 接收远程控制指令;
- 支持云平台对接。
2.8 电源与抗干扰设计
设计要点:
- 使用稳压模块提供稳定电源;
- 加入滤波电容;
- 关键模块隔离设计,提高抗干扰能力。
3. 系统程序设计
3.1 程序总体结构设计
系统程序采用模块化设计,包括采集模块、显示模块、控制模块及通信模块。
主程序如下:
c
void main()
{
System_Init();
while(1)
{
Read_All_Sensors();
Mode_Process();
Limit_Check();
Control_Output();
LCD_Display();
WIFI_Send();
}
}
3.2 多路采集程序设计
c
void Read_All_Sensors()
{
for(i=0;i<4;i++)
{
temp[i] = Read_Temp(i);
hum[i] = Read_Hum(i);
}
}
实现多通道采集。
3.3 模式控制程序设计
c
void Mode_Process()
{
if(mode == REALTIME)
{
delay_ms(500);
}
else
{
delay_s(interval);
}
}
实现定时与实时模式切换。
3.4 阈值判断程序设计
c
void Limit_Check()
{
for(i=0;i<4;i++)
{
if(temp[i] > temp_max || temp[i] < temp_min)
alarm_flag = 1;
}
}
实现报警判断。
3.5 执行机构控制程序设计
c
void Control_Output()
{
if(alarm_flag)
{
FAN = 1;
HEATER = 0;
}
else
{
FAN = 0;
}
}
控制外部设备。
3.6 LCD显示程序设计
c
void LCD_Display()
{
LCD_ShowString(0,0,"CH:");
LCD_ShowNum(3,0,i,1);
LCD_ShowNum(5,0,temp[i],2);
LCD_ShowString(0,1,"H:");
LCD_ShowNum(3,1,hum[i],2);
}
循环显示数据。
3.7 WIFI通信程序设计
c
void WIFI_Send()
{
printf("T1=%d,H1=%d\n",temp[0],hum[0]);
}
实现数据上传。
3.8 参数接收程序设计
c
void WIFI_Receive()
{
if(RI)
{
RI = 0;
cmd = SBUF;
if(cmd == 'A')
temp_max++;
}
}
实现远程控制。
3.9 系统初始化程序设计
c
void System_Init()
{
LCD_Init();
WIFI_Init();
Sensor_Init();
}
完成系统初始化。
4. 系统总结
本系统基于单片机实现了多路温湿度采集与WIFI智能报警控制功能,通过多传感器采集、阈值判断与无线通信,实现了环境监测的智能化与远程化。
在电路设计方面,系统结构合理,各模块协同工作;在程序设计方面,采用模块化与循环控制方式,使系统逻辑清晰、运行稳定。
系统具有良好的扩展性与实用性,可广泛应用于农业、仓储及智能家居等领域。