SciTech-EECS-MCU-STM32: 高精度实时测量: 电压、电流

硬件开发>单片机>STM32: 电流电压检测模块

参考Links

STM32电流电压检测模块

用于实时监测电路中的电压和电流值, 基于STM32微控制器(Microcontroller Unit,MCU)设计的硬件系统。

  • STM32系列是意法半导体(STMicroelectronics)推出的一款高性能、低功耗的32位微控制器,
    广泛应用于工业控制、消费电子和物联网等领域。

在设计这样的检测模块时,

  • 首先需要了解STM32的基本架构。

    • STM32通常具有多个模拟输入通道(ADC,Analog-to-Digital Converter),
      这些通道可以连接到外部传感器,如电流互感器或电压分压器,将模拟信号转换为数字信号。
    • ADC的质量直接影响到测量的精度和稳定性,因此选择合适的ADC分辨率和转换速率至关重要。
      • 硬件层面,确保ADC的输入电压范围与实际电压匹配,防止过压损坏芯片。
      • 软件层面,STM32的固件需要实现ADC的初始化、采样和数据处理功能。
        • 初始化: 包括设置ADC工作模式、转换速率、通道选择等参数。
        • 采样: 采样频率的选择, 需考虑到实时性需求,过高可能会增加处理器负担,过低可能导致测量延迟。
        • 数据处理: 可能涉及滤波算法,以减小噪声影响,提供更准确的读数。
        • 此外,为实现监测数据的可视化和远程监控,
          该模块可能还会集成串口通信(如UART、SPI或I2C) 或 无线通信接口(如Wi-Fi或Bluetooth)。
          这些接口能让模块与上位机、PC或移动设备交换数据, 用户可实时查看和记录测量值、参数、系统的变化。
  • 电压测量(最常用):
    先用比例采样的分压电路, 将高电压适配到STM32 ADC的可接受范围。
    然后ADC会采集分压后的电压,并将其转换为数字值。

  • 电流检测(电流测量 转换为 测量电压):
    通常通过 霍尔效应电流传感器 或 电流互感器 实现。
    这两种方法都需要将测量值送入STM32的ADC通过软件算法进行处理得出实际电流值

    • 霍尔效应传感器: 利用霍尔效应,即磁场对电流产生的横向电压,来测量通过导线的电流。
    • 电流互感器: 则基于电磁感应原理,将大电流转换为小电流进行测量。

在电压电流监测模块资料包 V1.1,可能包含以下内容

  1. 设计文档:详细介绍模块的设计思路、硬件选型和软件实现。
  2. PCB布局图:展示模块的电路布局和元件位置。
  3. STM32固件源码:包含ADC配置、数据处理和通信协议实现的代码。
  4. 用户手册:指导用户如何使用该模块,包括硬件接线、软件配置和数据读取方法。
  5. 测试报告:提供模块在不同条件下的性能测试结果,验证其功能和性能。
  6. 示例代码和应用实例:帮助用户快速掌握,展示如何与上位机通信和数据解析。

STM32电流电压检测模块, 结合先进的微控制器技术和精密测量技术,
为各种应用提供可靠的电源监控解决方案。
开发者需要掌握STM32的硬件特性、ADC操作以及信号处理知识,才能充分利用该模块的功能。

高精度电流测量电路(MCU)

嵌入式(单片机)开发过程,会有测量电流的需求。涉及到的有:

  • uA 级别的
  • mA 级别的
  • A 级别的
    以上的需求电路, 都可有通用的“同相放大”电路:
  • VDD–R6–GND: 代表待测电路,
  • R6: 负载(假定),目的是为使环路形成我们想要的待测电流。
  • U1: 同相放大电路的放大器
  • R4: 是测量电阻, 例如1KΩ: 表示它是用于检测小电流的(uA级别的)
  • 放大倍数为10倍:(R3+R2)/R1

示例分析: 假设这是一个理想放大电路,并且待测电路的电流为100uA(500KΩ)时,

  • 在R4(测量电阻)上的电压是100uA*1KΩ = 10mV,
  • 经过U1(放大器)的10倍放大后就是100mV。
  • 经过单片机的ADC采样就可以推算出电流值。

测量范围

上面那个电路的测量范围可以这么计算,

  • 前提是设置 ADC 的 Vref(参考电压) = 0.6V,
  • 放大器输出端的 VAout(最大输出电压) = 0.6V,
  • 放大器输入电压就是 VAin = 0.06V(因为放大器的放大倍数为10倍)。
  • 就可计算出该电路的"最大测量电流"为: Icmax = VAin/Rc = 0.06V/1000Ω = 60uA(即0.00006A)。
    因为,电阻上的电压降 及 通过电流,符合“欧姆定律”

高精分段测量

为精确测量一个很大范围的电流值,可在以上电路基础上,更改R4的阻值实现。
在实际应用过程,通过设置多路的测量电路,每一路对应设置不同的测量电阻,
并且用MCU控制各路切换, 以达到精确的电流测量。
比如可以设置"测量电阻(可选)":

阻值 测量的最大电流
1000Ω 60uA
120Ω 500uA
15Ω 4mA
2.3Ω 26mA
0.23Ω 260mA
0.02Ω 3A

使用比较器(MCU内部的 或 外部的)可及时转换对应通道,以 比较 检测到的输入电压 与 MCU内ADC的参考电压 的高低,
注意: 检测到的输入电压 如果 高于 MCU内ADC的参考电压时,
“有可能会”出现 ADC转换的数值 不是最大值, 而是一个随机值的情况。


实例应用之 电机控制

通过MCU实现 高精度的PWM输出 和 电流采样 是确保电机运行平稳、高效的关键。
以下是一些具体的步骤和方法::

实现高精度的PWM输出

  1. 选择合适的MCU:
    选择有高性能处理器和丰富外设资源的MCU, 例如最高支持248 MHz主频,
    才能够快速处理“电机控制算法”的复杂计算任务。
  2. 配置Timer(定时器) 与 PWM控制:
    利用MCU的高级定时器功能,每个定时器都支持 多种PWM模式 和 死区控制 功能。
    通过精确配置定时器,可以生成高质量的“三相PWM驱动信号”,
    确保电机绕组电流的波形平滑,有效降低电机的转矩脉动和电磁噪声。
  3. 优化PWM信号:
    为提高PWM信号的精度,可以使用2K CPLD资源来优化PWM信号生成,
    使其有更高的 分辨率和精度,满足电机在不同工况下的驱动需求。

实现电流采样

  1. 选择合适的电流采样方式:
    根据系统需求和成本考虑,可以选择:
    • 高端采样、
    • 低端采样(包括单电阻、双电阻、三电阻采样)
    • 霍尔电流传感器,
    • 电流互感器。
  2. 配置ADC:
    对需要高精度电流采样的应用,建议使用高精度的ADC模块。
    例如,AG32 MCU内置了3x12位ADC,每个ADC具备17个通道,支持高达3M SPS的采样率,
    可以实现对 电机电流 和 反电动势 的 实时、高精度采样。
  3. 优化电流采样电路:
    在设计电流采样电路时,需要考虑“采样电阻”的功率、精度和温度系数,以及运算放大器的选择。
    同时,还需要注意PCB布局布线,以减少干扰和提高采样精度。
  4. 软件处理:
    对“低端采样”方式,可能需要在软件上对采样数据进行重构和补偿,以获取准确的电流值。
    此外,还可以通过滤波器等方法进一步提高采样数据的精度和稳定性。

综上所述,通过选择合适的MCU、配置定时器与PWM控制、优化PWM信号、选择合适的电流采样方式、配置高精度ADC模块 以及优化 “电流采样电路”和“软件处理”等步骤,
可在电机控制上,实现高精度的PWM输出和电流采样。
这些措施有助于提高电机控制的精准性、稳定性和高效性。


posted @ 2025-03-23 05:54  abaelhe  阅读(456)  评论(0)    收藏  举报