任务名称
1997年_C题:水温控制系统
任务要求
难度

一、任务
设计并制作一个水温自动控制系统,控制对象为 1 升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。
二、要求
1.基本要求
(1)温度设定范围为 40~90℃,最小区分度为 1℃,标定温度≤1℃。
(2)环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。
(3)用十进制数码管显示水的实际温度。
2.发挥部分
(1)采用适当的控制方法,当设定温度突变(由 40℃提高到 60℃)时,减小系统的调节时间和超调量。
(2)温度控制的静态误差≤0.2℃。
(3)在设定温度发生突变(由 40℃提高到 60℃)时,自动打印水温随时间变化的曲线。

评审标准

参考答案

GPT-4o给出的设计方案:

为了设计一个水温自动控制系统,我们需要以下几个关键模块:

  1. 温度传感器模块: 用于实时测量水温。
  2. MCU 控制模块: 处理温度数据,调节加热元件以维持设定温度。
  3. 加热和降温模块: 使用加热元件和降温装置(如风扇)来调节温度。
  4. 显示模块: 采用数码管显示实时水温。
  5. 数据记录打印模块: 在温度骤变时打印温度变化曲线。

理论分析

  1. 温度设置范围与精度: 温度设置为40°C至90°C,最小分辨率为1°C,精度≤1°C。
  2. 静态误差: 环境温度变化时,控制系统保持静态误差在≤1°C内,使用PID控制算法。
  3. 响应速度与误差: 在设定温度突变(如40°C升至60°C)时,温度控制的静态误差应≤0.2°C,并且迅速稳定。

原理图设计要点

  1. 温度传感器: 使用如DS18B20的精密数字温度传感器,能提供高精度温度读取。
  2. MCU 控制模块: 使用如STM32系列MCU,通过ADC读取温度传感器数据并执行PID控制算法。
  3. 加热和降温模块: 使用MOSFET驱动加热器和风扇,实现精确控制。
  4. 显示模块: 使用共阴极数码管显示温度,通过MCU进行控制。
  5. 数据记录打印模块: 在温度突变时,通过串口或I2C连接热敏打印机,打印温度变化曲线。

核心器件设计要点

  1. 温度传感器(DS18B20): 高精度,低误差,单总线数字接口,便于连接和数据读取。
  2. STM32 MCU: 高速处理能力,多通道ADC,支持多种通信接口(如I2C、UART),易于编程和调试。
  3. MOSFET(如IRF540N): 高电流承载能力,高开关速度,低导通电阻,适合驱动加热器和风扇。

MCU C代码样例

#include "stm32f10x.h"
#include "ds18b20.h"
#include "lcd.h"

float temp_setpoint = 60.0;
float measured_temp;
PID_TypeDef pid;

void setup_pid() {
    pid.Kp = 1.0;
    pid.Ki = 0.1;
    pid.Kd = 0.05;
}

void setup_timer() {
    // 配置定时器周期以定期采样温度和更新PID控制
}

void setup_adc() {
    // 配置ADC以读取温度传感器数据
}

void TIM2_IRQHandler(void) {
    if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {
        TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
        // 读取温度传感器数据
        measured_temp = DS18B20_ReadTemperature();
        // 进行PID计算并控制加热器
        float control_signal = PID_Compute(&pid, temp_setpoint, measured_temp);
        set_heater_output(control_signal);
        // 更新显示
        LCD_DisplayFloat(measured_temp);
    }
}

int main(void) {
    setup_pid();
    setup_timer();
    setup_adc();
    DS18B20_Init();
    LCD_Init();
    
    while (1) {
        // 主循环
    }
}

该设计方案结合了温度传感器的使用、MCU控制、加热和降温装置控制以及数据显示和记录,实现了水温控制系统的全方位设计。


本题目考察的主要知识点:

  1. 温度传感器应用: 知识点涉及温度传感器的选择、连接和数据读取(如DS18B20的使用)。
  2. PID控制算法: 用于精确控制水温,包括参数调整和算法实现。
  3. MCU(如STM32)的编程和应用: 包括模拟信号处理、数字信号处理、GPIO控制、定时器中断、串口通信等。
  4. 电源管理和驱动电路设计: 驱动加热元器件(如加热器和风扇)的设计要点,包括功率管理和保护电路。
  5. 用户接口设计: 包括数码管或LCD显示的接口和驱动,以及数据记录模块的实现(如热敏打印机连接)。
  6. 硬件保护和可靠性: 如过流、过压保护电路的设计,确保系统在异常情况下的稳定性和安全性。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号