电流检测电路

2022/10/15

原理图

图片

该芯片有两种用法,一种为采样电阻接在电源侧(即电流先流经采样电阻后流经负载),另一种为采样电阻接在GND侧(即电流先流经负载后流经采样电阻),具体区别和使用场景可以查阅数据手册
数据手册推荐图

原理图

原理

  • 将一阻值很小的采样电阻串联到电路的主电源线上,当电流流经该采样电阻时会产生一个很小的压差,再借助放大芯片,将很小的压差放大,最后将放大后的压差使用ADC进行采样,即可根据ADC采样到的电压值计算出流经采样电阻的电流

器件选型

  • INA180有四种增益型号可供选择,可以结合自己电路正常电流、R1采样电阻的阻值和希望的R1压降来进行选择。四种增益如下:
    增益图
  • R2 R3 与 C1 组成了π型滤波电路,可以在硬件的层面对R1采样电阻产生的噪声进行初步滤波,具体选型可以根据数据手册进行计算
  • C8:滤除U3至单片机ADC采样口上耦合到的高频噪声

PCB

PCB

  • R2 R3与C1围成的面积尽可能小,以减轻电磁干扰
  • 右下角ADC输出至单片机ADC采样引脚的走线尽可能短,以减少耦合进的干扰,同时C8电容要尽可能的靠近ADC引脚
  • 由于流经采样电阻的电流可能较大,因此可以在采样电阻的两端使用铺铜的方式代替走线

BOM

  • C?:0603贴片电容
  • R1:1206采样电阻
  • R2 R3:0603贴片电阻
  • U3:INA180
### FOC三电阻电流采样不准的原因分析 FOC(Field-Oriented Control)中的三电阻电流采样方法是一种常见的硬件设计方式,用于采集永磁同步电机(PMSM 或 IPMSM)相电流。然而,在实际应用中可能会遇到采样不准确的情况。以下是可能导致三电阻电流采样不准的主要原因及其解决方案: #### 1. **ADC分辨率不足** 如果微控制器的模数转换器(ADC)分辨率较低,则可能无法精确捕捉到电流信号的变化。这会直接影响采样的准确性[^1]。 **解决方案**: 使用更高精度的ADC模块或者通过软件滤波技术来提高有效位数。例如,可以通过多次采样取平均值的方式减少噪声干扰。 #### 2. **采样频率过低** 当采样频率不足以满足奈奎斯特准则时,会出现混叠现象,从而导致错误的数据读取结果[^1]。 **解决方案**: 提高PWM载波频率以及相应的电流采样率;同时确保DSP/MCU有足够的处理能力支持高频运算需求。 #### 3. **传感器非线性误差** 即使采用高质量的分流电阻作为传感元件,其本身也可能存在一定的温度漂移特性或长期稳定性问题,进而引起测量偏差. **解决方案**: 对于精密应用场景下建议选用具有良好温补特性的金属膜型产品替代传统碳质材料;另外还可以实施定期校准程序补偿累积误差效应.. #### 4. **外部电磁干扰(EMI)** 由于电力电子设备周围不可避免的存在强磁场环境,这些杂散场会对敏感电路造成不利影响,特别是对于模拟输入端口而言尤为明显. **解决方案**: 应采取有效的屏蔽措施保护关键路径免受外界射频能量侵扰的同时也要注意接地布局合理性以降低共模电压的影响程度.. #### 5. **死区时间设置不当** 为了防止上下桥臂直通短路通常会在驱动逻辑里加入一段延迟即所谓“dead time”,但如果该参数调整不合适的话也会间接引发瞬态失真状况反映至最终输出波形之上... **解决方案**: 合理配置IGBT/MOSFET开关器件间的相互作用关系使得既能保障安全又能维持良好动态性能表现即可达到预期效果... --- ```python def compensate_current_sample(current_raw): """ Compensate the raw current sample based on known errors. Args: current_raw (float): Raw ADC value of current Returns: float: Corrected current value after compensation """ # Example correction factor due to temperature drift and non-linearity temp_drift_compensation = calculate_temperature_effect() adc_nonlinearity_correction = apply_adc_calibration_table(current_raw) corrected_value = current_raw * (1 + temp_drift_compensation) + adc_nonlinearity_correction return corrected_value def calculate_temperature_effect(): """Simulate a simple model for temperature effect.""" ambient_temp = read_ambient_temperature() # Function stub base_resistance_at_room_temp = 0.1 # Ohms at room temp resistance_change_per_degree_celsius = 0.001 # Resistance change per degree Celsius delta_r = base_resistance_at_room_temp * resistance_change_per_degree_celsius * (ambient_temp - 25) percentage_error = delta_r / base_resistance_at_room_temp return percentage_error def apply_adc_calibration_table(value): """Apply pre-calibrated lookup table or polynomial fit.""" calibration_data = { ... } # Predefined data structure with calibrated values interpolated_correction = interpolate(calibration_data, value) return interpolated_correction ``` --- ### 总结 综上所述,FOC三电阻电流采样不准可能是由多种因素共同造成的,包括但不限于ADC分辨率、采样频率、传感器非线性误差、外部电磁干扰以及死区时间设置等问题。针对这些问题提出了具体的改进措施,旨在提升系统的整体性能并改善控制精度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值