|
|
一、 项目简介
传统的散热系统往往只有简单的开关逻辑,无法实时监控环境并动态调节。本项目基于迪文科技T5L ASIC(DGUS II开发体系),通过读取DHT11温湿度传感器数据,实现了一套具备实时显示、阈值自定义、多级档位调节及声光报警功能的智能散热控制系统。
二、 核心硬件连接方案
根据T5L典型应用原理图,系统引脚布局如下:
控制核心:迪文T5L 芯片
感知机构:DHT11温湿度传感器 -> 接入 P1.4 (35脚)
执行机构:DC散热风扇 -> 通过 M3 MOSFET驱动电路 接入 P0.7 (86脚)
通信反馈:蜂鸣器报警 -> 同样由 P0.7 驱动或独立控制
三、 交互设计(五大功能页面)
系统设计了五个核心页面,通过VP(虚拟外设)地址实现底层C代码与GUI界面的实时交互:
第一页:实时监控中心
显示当前环境的温度、湿度。
VP地址:0x2000 (温度), 0x2010 (湿度)。
第三页:预警阈值设定
用户可手动输入报警上限。当实际温度超过设定值,系统自动切换至强冷模式。
VP地址:0x3000 (温度上限), 0x3010 (湿度上限)。
第四页:声效管理
通过滑动条改变蜂鸣器音量/频率。
VP地址:0x4000 (音量滑动条)。
第五页:手动档位调节
设置“静音、均衡、强冷”三档,分别对应不同的PWM占空比。
VP地址:0x5000 (档位选择)。
四、 软件逻辑解析
在 main.c 中,我们采用了**“读取-判断-执行”**的闭环逻辑。
1. 智能报警与强制散热: 代码实时比对 temp 与用户在屏幕上设置的 set_temp_up。
C
if(temp > (u8)set_temp_up) {
pwm_set_duty(100); // 强制全速
alarm_trigger(1); // 开启报警
}
2. 高频PWM驱动(20KHz): 为了消除电机在低频下的“滋滋”声,我们将PWM频率初始化为 20KHz,实现真正的无级静音调速。
五、 演示代码(核心部分)
C
// 定义VP地址与变量同步
#define VP_FAN_GEAR 0x5000
void handle_logic() {
u16 fan_gear;
sys_read_vp(VP_FAN_GEAR, (u8*)&fan_gear, 1); // 读取第五页档位
// 手动档位映射
switch(fan_gear) {
case 1: pwm_set_duty(30); break; // 低速
case 2: pwm_set_duty(60); break; // 中速
case 3: pwm_set_duty(100); break;// 强冷
}
}
六、 项目心得
“智能散热系统”最大的感悟是底层寄存器与上层UI逻辑解耦的重要性。通过迪文屏的VP映射机制,可以非常方便地将复杂的算法(如PID或阶梯温控)应用到具体的工业硬件中。
欢迎各位大佬交流探讨,源码及原理图已在附件提供! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|