Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

Thermo-Fan

基于 8051 单片机(Keil C51 工程)的电动汽车充电桩自动控温风扇控制项目。

项目核心流程:温度采集 -> 限幅滤波 -> PID 控制 -> PWM 输出 -> LCD 实时显示。

功能特性

  • 基于 DS18B20 的温度采集(主流程默认使用)
  • 位置式 PID 控温(kp=0.8, ki=0.1, kd=0.5)
  • Timer0 中断软件 PWM 输出(占空比 0~100)
  • LCD1602 显示当前温度、目标温度、PWM 输出
  • 按键调节目标温度(KEY3 增,KEY4 减)
  • 预留模块:DHT11、DS1302、ADC0832、UART 通信

硬件环境

模块 型号/说明 接口
MCU STC89C52(8051 兼容) GPIO / Timer / UART
温度传感器 DS18B20 1-Wire(P3.7)
显示 LCD1602 兼容字符屏 P0 数据口 + P2 控制口
执行器 风扇(经驱动级) PWM/GPIO(P1.1)
按键 KEY1~KEY4 P2.0 ~ P2.3
预留 RTC DS1302 三线接口
预留 ADC ADC0832 三线接口
预留温湿度 DHT11 单总线时序

软件架构

  • 运行模式:裸机(无 RTOS)
  • 调度方式:主循环 + 中断
  • 中断:
    • tm0_isr:软件 PWM 输出
    • Uart_Isr:UART 收发中断处理

关键参数

  • FOSC = 11059200
  • BAUD = 9600
  • WDYZ = 251(显示逻辑对应 25.1)
  • PID:kp=0.8, ki=0.1, kd=0.5

目录结构

.
├── USER/                # 用户核心代码
│   ├── main.c           # 主流程、PID、按键、定时中断
│   ├── DS18.c/.h        # DS18B20 驱动
│   ├── lcd.c/.h         # LCD 驱动
│   ├── UART1.c/.h       # 串口驱动
│   ├── delay.c/.h       # 延时函数
│   ├── ad0832.c/.h      # ADC0832(预留)
│   ├── ds1302.c/.h      # DS1302(预留)
│   ├── dh11.c/.h        # DHT11(预留)
│   └── PID.c/.h         # 历史遗留文件(当前主逻辑未使用)
├── build/               # 构建产物(自动生成)
├── Listing/             # 列表文件(自动生成)
├── Obj/                 # 目标文件(自动生成)
└── Thermo-Fan.uvproj    # Keil 工程文件

快速开始

1) 构建

在 VS Code 中可直接执行任务:

  • build
  • flash
  • build and flash

或在 Keil 中打开 Thermo-Fan.uvproj 后编译下载。

2) 运行验证

  1. 上电后观察 LCD 是否正常显示。
  2. 检查温度刷新是否约每 300ms 更新。
  3. 按 KEY3/KEY4 调节目标温度,观察 PWM 值与风扇转速变化。

控制逻辑简述

  1. getTmpValue() 采集 DS18B20 温度。
  2. Limit_Temperature() 对突变温度进行限幅。
  3. PID_Calc() 输出占空比 ks。
  4. tm0_isr() 依据 ks 生成 PWM,驱动风扇。
  5. show() 刷新 LCD 显示。

开发建议

  • 建议将 PID_Calc 从 main.c 拆分为独立控制模块,便于调参与测试。
  • 若启用串口协议,建议新增接收缓冲区和帧状态机。
  • 若扩展多传感器,建议统一采样接口层,减少主循环耦合。

License

当前仓库未声明 License。如需开源发布,建议补充 LICENSE 文件。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages