一、功能概述
项目名称:基于单片机的智能孵化器系统设计
项目编号:dz-947
主控芯片:STM32F103C8T6
主要功能说明:
- 利用DHT11传感器实时采集孵化环境中的温度与湿度数据,若检测值超出预设范围,则自动启动加热、制冷、加湿或除湿装置进行调节。
- 采用光敏电阻对箱体内光照强度进行监测,实现光照状态感知。
- 集成时钟模块以获取准确时间信息,支持设定补光时间段;当到达指定时间且当前光照不足时,系统将自动开启补光功能。
- 通过SGP30气体传感器检测环境中CO2浓度,一旦浓度超过上限阈值,即刻驱动风扇运行以实现通风换气。
- 使用热释电红外感应模块判断是否有生命活动迹象,用于识别孵化是否完成,完成后触发声光报警提示。
- 配备步进电机模拟翻蛋动作,用户可通过按键自定义翻蛋间隔时间。
- 设置按键允许用户手动配置各项参数的上下限值,如温湿度、光照强度、CO2浓度等。
- OLED显示屏用于实时展示各类监测数据,包括温度、湿度、光照、CO2浓度及系统状态等信息。
- 内置WIFI通信模块,可将采集到的数据上传至手机终端,并支持远程控制各执行单元,如加热、制冷、加湿、通风、补光等功能。
二、系统结构设计
绘图工具:VISIO
本系统以STM32F103C8T6为核心控制单元,协同多个外围模块构建完整的智能孵化控制系统。整个架构分为中央处理单元、输入模块和输出模块三大组成部分。
中央控制器:采用STM32F103C8T6单片机作为主控,负责接收来自各传感器的数据,经过逻辑运算后发出相应控制指令。
输入部分由以下七个模块构成:
- 温湿度检测模块:通过DHT11获取当前环境温湿度。
- 光照检测模块:利用光敏电阻测量光照强度。
- 实时时钟模块:提供精确的时间基准,用于定时任务管理。
- 二氧化碳检测模块:SGP30传感器用于监测CO2浓度。
- 人体热释电感应模块:检测孵化结束后的生物活动信号。
- 按键设置模块:用于设定各类参数阈值和操作模式。
- 电源供电模块:为整个系统提供稳定电力供应。
输出部分包含四个执行机构:
- OLED显示模块:动态显示各项环境参数与系统运行状态。
- 声光报警装置:在孵化完成时启动声光提醒功能。
- 继电器驱动电路:控制加热器、制冷片、加湿器、除湿设备、补光灯以及通风风扇的启停。
- 步进电机驱动电路:实现周期性翻蛋动作模拟。
此外,WIFI模块实现了数据的无线传输功能,用户可通过移动设备查看实时数据并远程操控各执行部件。系统整体结构示意图如图3.1所示。
三、实物展示
微控制器型号:STM32F103C8T6
PCB板采用双层绿色设计,厚度为1.2mm,顶层与底层均覆铜并接地,提升抗干扰能力。大部分元器件采用直插式封装,仅个别降压芯片使用贴片形式以节省空间。
供电接口类型:TYPE-C 接口,便于连接与供电。
四、电路原理图说明
设计软件版本:Altium Designer 2013
原理图采用网络标号方式进行电气连接,清晰表达各模块之间的信号走向。需注意的是,图中仅呈现了各功能模块的外部引脚连接关系,并未涉及其内部详细电路结构。
五、PCB布局图说明
PCB图由原理图导入生成,大部分元器件封装由设计者自行绘制,不单独提供封装库文件,仅发布已连接完整的工程源文件。PCB中央位置设有项目编号标识,该标识位于单片机底座下方,安装单片机后不可见。
采用双层板设计,顶层与底层均进行大面积覆铜并可靠接地,增强系统稳定性与电磁兼容性能。
六、程序代码片段展示
开发环境:Keil uVision5
软件架构上将逻辑控制程序与硬件驱动程序分离,分别存放于main.c及其他独立的.c源文件中,提高代码可读性与维护性。
/**********************************
函数名:串口错误回调函数
传参值:huart:串口号
返回值:无
**********************************/
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
HAL_UART_DeInit(huart);
HAL_UART_Init(huart);
if(huart->Instance == huart1.Instance)
{
HAL_UART_Receive_IT(&huart1, &huart1_rx_data, 1);
}
}

雷达卡


京公网安备 11010802022788号







