任务名称
2003年_F题:液体点滴速度监控装置
任务要求
难度

一、任务
设计并制作一个液体点滴速度监测与控制装置,示意图如右图所示。


二、要求
 1、基本要求
(1)在滴斗处检测点滴速度,并制作一个数显装置,能动态显示点滴速度(滴/分)。
(2)通过改变h2控制点滴速度,如右图所示;也可以通过控制输液软管夹头的松紧等其它方式来控制点滴速度。点滴速度可用键盘设定并显示,设定范围为 20~150(滴/分),控制误差范围为设定值± 10% 1 ± 滴。
(3)调整时间≤3 分钟(从改变设定值起到点滴速度基本稳定,能人工读出数据为止)。
(4)当h1降到警戒值(2~3cm)时,能发出报警信号。
2、发挥部分
设计并制作一个由主站控制 16 个从站的有线监控系统。16 个从站中,只有一个从站是按基本要求制作的一套点滴速度监控装置,其它从站为模拟从站 (仅要求制作一个模拟从站)。
(1)主站功能:
a.具有定点和巡回检测两种方式。
b.可显示从站传输过来的从站号和点滴速度。
c.在巡回检测时,主站能任意设定要查询的从站数量、从站号和各从站的点滴速度。
d.收到从站发来的报警信号后,能声光报警并显示相应的从站号;可用手动方式解除报警状态。
(2)从站功能:
a.能输出从站号、点滴速度和报警信号;从站号和点滴速度可以任意设定。
b.接收主站设定的点滴速度信息并显示。
c.对异常情况进行报警。
(3)主站和从站间的通信方式不限,通信协议自定,但应尽量减少信号传输线的数量。
(4)其它。

三、说明
1、控制电机类型不限,其安装位置及安装方式自定。
2、储液瓶用医用 250 毫升注射液玻璃瓶(瓶中为无色透明液体)。
3、受液瓶用 1.25 升的饮料瓶。
4、点滴器采用针柄颜色为深蓝色的医用一次性输液器(滴管滴出 20 点蒸馏水相当于1ml±0.1ml)。
5、赛区测试时,仅提供医用移动式点滴支架,其高度约 1.8m,也可自带支架;测试所需其它设备自备。
6、滴速夹在测试开始后不允许调节。
7、发挥部分第(2)项从站功能中,c 中的“异常情况”自行确定。

评审标准

参考答案

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


一、设计思路

  1. 检测液体点滴速度

    • 利用光电传感器检测每次液滴落下的时间间隔,从而计算点滴速度。
  2. 微控制器控制

    • 使用MCU(如STM32)采集传感器信号,计算滴速并显示。MCU同时可以控制电动机调节滴速。
  3. 异常滴速报警

    • 超过设定限值时,MCU通过蜂鸣器或LED报警。

二、简单论证

通过光电传感器检测液滴,通过MCU进行实时计算和控制,简单易实现。系统集成光电传感、微控制和电动机控制,可实时有效地监测和调节点滴速度。

三、重要的指标和理论分析

  1. 检测精度和范围

    • 点滴速度范围:30~150滴/分钟;
    • 精度:±10%或1滴/分钟。
  2. 显示和报警

    • 显示器显示滴速(水准液位的误差为±1滴/分钟);
    • 当滴速低于30滴/分钟或超过150滴/分钟时,触发报警。

四、电路原理图设计要点

  1. 传感器电路

    • 使用光电传感器(如CNY70)检测液滴,通过调节灵敏度检测不同透明度的液体。
  2. 信号处理和控制

    • 光电信号经过低通滤波,避免干扰;
    • MCU通过ADC采集信号,进行滴速计算与显示。
  3. 驱动电路

    • 电动机驱动调节液体点滴速度,使用PWM信号控制;
    • 增加保护电路实现过流保护。

五、核心器件设计要点

  1. 光电传感器CNY70

    • 发射光线检测液滴通过反射信号强度变化来判定。
    • 需要考虑不同透明度液体的检测。
  2. MCU STM32

    • 高速采样光电传感器数据,处理滴速计算。
    • 控制显示器和电动机,提供PWM输出调节滴速。
  3. 电动机驱动模块L298N

    • 通过PWM信号实现对电动机的控制。
    • 提供过流保护,确保系统安全。

六、MCU重要功能的C代码和介绍

以下是基本滴速计算和调节的C代码示例:

#include "stm32f4xx_hal.h"

// 定义引脚
#define SENSOR_PIN GPIO_PIN_0
#define MOTOR_PIN GPIO_PIN_1

// 初始化
void setup() {
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_ADC_Init();
    MX_TIM_PWM_Init();  // 用于电动机控制
    LCD_Init();  // 初始化显示
}

// 检测滴速
int read_drip_speed() {
    static uint32_t last_time = 0;
    uint32_t current_time = HAL_GetTick();
    uint32_t time_interval = current_time - last_time;
    last_time = current_time;

    if (time_interval > 0) {
        return 60000 / time_interval; // 滴速 = 60000 ms/min / 时间间隔(ms)
    }
    return -1;
}

// 调整电动机速度
void adjust_motor_speed(int speed) {
    uint32_t pwm_value = (speed - 30) * 100 / 120;  // 简单线性调节
    __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, pwm_value);
}

void loop() {
    if (HAL_GPIO_ReadPin(GPIOA, SENSOR_PIN) == GPIO_PIN_RESET) {  // 传感器检测到液滴
        int drip_speed = read_drip_speed();
        if (drip_speed != -1) {
            LCD_DisplayNumber(drip_speed);

            if (drip_speed < 30 || drip_speed > 150) {
                HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 报警
            } else {
                HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
            }

            adjust_motor_speed(drip_speed);
        }
    }
    HAL_Delay(100);
}

int main(void) {
    setup();
    while (1) {
        loop();
    }
}

这个题目考察的知识点:

本题考察液体点滴速度监测与控制的相关知识,具体包括以下几个方面:

  1. 传感器技术:利用光电传感器检测液滴,以获取精确的滴速信息。传感器的设计要适应不同透明度的液体,并保证检测的准确性。
  2. 微控制器编程:使用MCU(如STM32)采集传感器数据,处理并计算滴速,控制显示和报警系统。MCU还需要控制电动机调节滴速,确保滴速稳定在设定范围内。
  3. 电机控制:通过PWM信号实现电动机精确控制,达到调节点滴速度的目的。电机控制涉及PWM信号生成、过流保护等。
  4. 数据处理和显示:包括滴速数据的实时处理与显示,同时实现异常状态报警,确保系统操作直观可靠。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号