迪文科技论坛

 找回密码
 立即注册
搜索
查看: 12|回复: 0

【分享】2023级何聪鄂宗宾基于T5L芯片的智能温控散热系统...

[复制链接]

0

主题

0

回帖

17

积分

新手上路

Rank: 1

积分
17
发表于 6 小时前 | 显示全部楼层 |阅读模式
一、 项目简介
传统的散热系统往往只有简单的开关逻辑,无法实时监控环境并动态调节。本项目基于迪文科技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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-1-16 17:00 , Processed in 0.042360 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表