FOC 电流采样方案对比(单电阻/双电阻/三电阻)

本文详细探讨了电流采样在FOC算法中的重要性,比较了单电阻、双电阻和三电阻三种采样方案的成本、算法复杂度,并介绍了ST和TI的实例。重点讲解了三电阻采样如何避免窗口时间,以及单电阻采样中SVPWM开关状态下的电流重构。

原文:https://www.cnblogs.com/unclemac/p/12783352.html

文章目录

1 电流采样的作用

在FOC算法中,电流采样在反馈环节是相当重要的一部分,无论是有感FOC,还是无感FOC,相电流是交流三相同步电机在进行坐标变换的关键,最终通过SVPWM实现电机转子磁场和定子磁场的同步转动,通常这里有三种方案,单电阻采样,双电阻采样,三电阻采样,关系到整体系统的成本,算法的复杂程度和最终运行的效果,这里需要更加项目的具体需求进行选择。本文参考ST的单电阻和三电阻采样以及TI的双电阻采样,还有microchip的资料,结合实际中可能需要注意的地方进行总结分析。

几种电流采样方案的对比;

电流采样成本算法
单电阻复杂
双电阻适中适中
三电阻简单

2 硬件架构

硬件上的设计通常是采集三相电流,通过运算放大器加偏置电压,这样可以就可以采集正负电流,最终在MCU中处理的时候减去偏置电压就行,以Infineon XC167CI SK Board单电阻的方案为例子,具体电路拓扑图如下;
在这里插入图片描述
下面是TI C2000 的方案
在这里插入图片描述

AP1608410 原文链接
运算放大器
在这里插入图片描述

3 采样关键

采样的关键是需要在三相逆变器高端关闭,低端打开的情况下进行采样,这是整体的采样点。因此,采样会存在窗口时间,因为ADC转换完成需要一定数量级的时间,也就是说,在ADC转换完成之前,桥低端是不能关闭的,在这里,双电阻和单电阻采样需要考虑窗口时间的限制,而三电阻采样则不存在窗口时间(PWM占空比接近100%),可以根据SVPWM当前所在象限,进行分类,只需要采集其中不受窗口时间限制的两相电流,然后根据 Ia+Ib+Ic=0I_{a}+I_{b}+I_{c} = 0Ia​+Ib​+Ic​=0,进行电流的重构。

4 采样方案

电流采样比较关键的地方主要是硬件的设计和采样点的设置,这里在后面会涉及到通过相应的触发信号去通知ADC进行电流采样,最后进行电流重构。

5 三电阻采样

TI的三电阻采样
在这里插入图片描述

5.1 三电阻采样点

正如前面所提到的三电阻采样可以避免窗口时间,如下图所示;在不同扇区需要采样的相电流,可以看到,共同点是避免去采样PWM占空比接近100%的那一相电流。
在这里插入图片描述
可以参考一下ST的电机库的做法,通过TIMER_CH4作为ADC采样的触发信号,而采样则可以通过修改TIM_CCR4寄存器去改变采样点,相当灵活的做法;
在这里插入图片描述

5.2 双电阻采样

双电阻采样无法避免窗口时间,所以需要限制最终PWM的占空比,为ADC转换预留足够的时间;
在这里插入图片描述

5.3 双电阻采样点

在这里插入图片描述

5.4 单电阻采样

单电阻采样需要在一个PWM周期内进行两次采样,下面需要在SVPWM六个扇区进行相电流的分类,这里可以对SVPWM的原理进行分析,从而了解如何对电流进行重构;单电阻的电路结构如下图所示;
在这里插入图片描述
为了便于理解整个采样的过程,为了表示逆变器的开关管的状态,
Sa表示A相的上下管,同理Sb表示B相的上下管;
这里规定:
Sa = 1表示上管导通,下管断开;
Sa = 0表示下管导通,上管断开;

SbSc以此类推;

5.4.1 Sa Sb Sc:100

在这里插入图片描述

5.4.2 Sa Sb Sc:110

在这里插入图片描述

5.4.3 SVPWM的开关状态

开关状态AHBHCH电流
00000
1100IAI_{A}IA​
2110−IC-I_{C}−IC​
3010IBI_{B}IB​
4011−IA-I_{A}−IA​
5001ICI_{C}IC​
6101−IB-I_{B}−IB​
71110

因此,单电阻采样,需要在一个PWM周期内进行两次采样;具体如下图所示;
在这里插入图片描述
图中的SAL,SBL,SCL分别对应整流桥的下管,因此在一个周期内分别进行了Sample 1Sample 2这两次采样,对照上表可以推出;

  • Sample 1:采集了开关管状态为SAL SBL SCL:101==>SAH SBH SCH:010,此时采样电流为 IBI_{B}IB​;
  • Sample 2:采集了开关管状态为SAL SBL SCL:100==>SAH SBH SCH:011,此时采样电流为 −IA-I_{A}−IA​;

原理搞清楚之后,下面要注意的地方还有两点采样点的确认和窗口时间的限制;

5.4.4 ST方案

在这里插入图片描述

6 总结

本文介绍和对比了三种电流采样方案,简单给出了需要注意的地方,由于本人能力有限,文中难免出现错误和纰漏,请大佬不吝赐教。

7 附录

microchip 资料汇总
TI 1-, 2-, and 3-Shunt FOC Inverter Reference Design

<think> 首先,用户的问题是关于伺服电机FOC电流采样单电阻采样三电阻采样的区别。用户引用了几个来源:[^1]讨论了电流采样方案,包括电阻采样;[^2]提到了FOC单电阻采样和位置环控制;[^3]是关于电机FOC算法的解释。 我的回答必须: - 使用中文。 - 所有行内数学表达式用$...$格式。 - 独立公式用$$...$$格式并单独成段。 - LaTeX语法正确。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 - 结构清晰,帮助用户逐步解决问题,保证真实可靠。 - 回答结构包括:逐步解释、可能涉及的公式、代码示例(如果合适)、总结。 - 最后,生成相关问题。 关键点: - 单电阻采样(single resistor sampling)和三电阻采样(three-resistor sampling)是FOC(Field-Oriented Control)中电流采样的两种常见方法。 - 在FOC中,需要测量三相电流(Ia, Ib, Ic)来控制电机。 - 区别在于采样电阻的数量和位置。 从引用中提取信息: - [^1]:讨论了电阻采样,包括低端采样、母线采样和高端采样。它提到电阻采样通过测量电阻两端的电压来计算电流,使用运算放大器放大信号给ADC。电阻值很小,毫欧级。 - [^2]:提到了单电阻采样,指出在某些情况下(如小电感电机)甚至可以不用电流采样,但单电阻采样用于位置控制。 - [^3]:是关于FOC算法的解释。 我需要基于一般知识构建回答: - **单电阻采样**:使用一个采样电阻在DC总线负端(低端采样)。通过测量这个电阻上的电压来重构三相电流。优点:成本低,硬件简单。缺点:需要复杂的算法来处理采样时间,因为电流在PWM周期中变化,可能导致采样误差;在高调制指数时可能不准确。 - **三电阻采样**:使用三个采样电阻,每个在逆变器的下桥臂(如MOSFET的源极)。直接测量每相电流。优点:采样准确,实时性好,易于实现。缺点:硬件成本较高,需要三个ADC通道。 公式: - 欧姆定律:对于电阻采样电流$I = \frac{V}{R}$。 - 在FOC中,Clarke和Park变换需要三相电流。 数学表达式: - 行内:如$I_a = \frac{V_{shunt}}{R_{shunt}}$ - 独立公式:如Clarke变换:$$ \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} = \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} $$ 代码示例:如果需要,可以添加简化的伪代码或Python代码,但可能不必要。既然用户提到FOC,我可以参考一些控制代码。 回答结构: 1. **介绍**:简要解释FOC电流采样的重要性。 2. **单电阻采样**:描述原理、优缺点。 3. **三电阻采样**:描述原理、优缺点。 4. **区别总结**:对比表或重点。 5. **生成相关问题**:结尾添加相关问题。 确保引用: - 引用[^1]用于欧姆定律和电阻采样一般原理。 - 引用[^2]用于单电阻采样的应用。 - 引用[^3]用于FOC算法背景。 真实可靠:基于我的知识,单电阻采样在需要成本效益时使用,三电阻采样在需要高性能时使用。 步骤: - 先介绍背景。 - 然后解释单电阻采样。 - 再解释三电阻采样。 - 最后比较区别。 生成相关问题: - 例如:单电阻采样的挑战是什么?如何优化三电阻采样的精度?在什么情况下选择单电阻采样? 最终回答: - 使用Markdown格式。 </think> ### 伺服电机FOC电流采样单电阻采样三电阻采样的区别 在伺服电机的磁场定向控制(FOC)中,电流采样是关键步骤,用于精确测量三相电流($I_a$, $I_b$, $I_c$),以支持Clarke和Park变换,实现电机的转矩和转速控制。电流采样方案主要包括**单电阻采样**和**三电阻采样**两种方法,它们在硬件结构、精度、成本和实现复杂度上有显著区别。下面我将逐步解释它们的原理和区别。 #### 1. **电流采样的基本原理** 在电阻采样方案中,电流测量基于欧姆定律: $I = \frac{V}{R}$ 其中,$I$是电流,$V$是采样电阻两端的电压,$R$是已知的采样电阻值(通常为毫欧级,例如10mΩ)。采样电阻的电压信号较小(如10A电流在10mΩ电阻上仅产生100mV电压),因此需要通过运算放大器放大后送给单片机的ADC模块进行数字化处理[^1]。在FOC系统中,电流数据用于实时计算电机状态,确保高效控制。 #### 2. **单电阻采样** - **原理**:只使用一个采样电阻,通常放置在直流母线负端(低端采样)或正端(高端采样)。通过测量该电阻上的电压,并利用PWM(脉宽调制)周期中的特定时间点采样,重构三相电流。例如,在PWM的“零矢量”时段采样电压信号,再通过算法计算出$I_a$, $I_b$, $I_c$。 - **优点**: - **硬件简单且成本低**:仅需一个电阻、一个运算放大器和一路ADC通道,减少了PCB面积和元件数量。 - **适合低功耗应用**:在反电势小或电感小的电机中(如小型伺服电机),采样误差较小,甚至可在位置环控制中简化实现[^2]。 - **缺点**: - **采样精度受限**:仅在PWM特定时段采样,易受噪声干扰;在高调制指数或高速运行时,采样窗口窄,可能导致重构误差。 - **算法复杂**:需要复杂的软件算法(如基于Clarke逆变换)来重建三相电流,增加了MCU计算负担。 - **适用性窄**:不适合大电流或高动态响应场景,例如在外部干扰(如人为外力)下易过流[^2]。 #### 3. **三电阻采样** - **原理**:使用三个独立的采样电阻,每个电阻分别放置在三相逆变器的下桥臂源极(低端采样)。直接测量每个电阻的电压,独立获取$I_a$, $I_b$, $I_c$。 - **优点**: - **高精度和实时性**:三相电流同时采样,避免了时间延迟,提高了FOC控制的动态响应。尤其在高频PWM下,能准确捕获电流瞬态变化。 - **实现简单**:算法直接,无需复杂重构,直接使用Clarke变换处理数据: $$ \begin{bmatrix} I_\alpha \\ I_\beta \end{bmatrix} = \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} I_a \\ I_b \\ I_c \end{bmatrix} $$ 这简化了代码开发。 - **缺点**: - **硬件成本高**:需三个电阻、三个运算放大器和三路ADC通道,增加了系统成本和尺寸。 - **PCB布局挑战**:采样电阻需对称放置以减少误差,布线不当易引入共模噪声。 #### 4. **关键区别总结** 下表对比单电阻采样三电阻采样的主要差异: | 特性 | 单电阻采样 | 三电阻采样 | |--------------|--------------------------------|--------------------------------| | **电阻数量** | 1个 | 3个 | | **采样方式** | 间接重构三相电流 | 直接测量三相电流 | | **精度** | 较低(依赖算法) | 较高(实时采样) | | **成本** | 低(元件少) | 高(元件多) | | **适用场景** | 低成本、低动态响应应用(如风扇)| 高精度、高动态响应应用(如工业伺服) | | **算法复杂度** | 高(需PWM同步和重构) | 低(直接处理) | 在FOC系统中,选择方案取决于应用需求:单电阻采样适合预算受限和小型电机;三电阻采样用于高性能伺服电机,以确保转矩控制精度[^3]。 #### 5. **代码示例(简化伪代码)** 以下Python伪代码演示三电阻采样电流处理流程(基于ADC读取): ```python def read_currents(adc_ch0, adc_ch1, adc_ch2, R_shunt): # 读取三相电压(ADC值转换为电压) V_a = adc_to_voltage(adc_ch0) # ADC转电压函数 V_b = adc_to_voltage(adc_ch1) V_c = adc_to_voltage(adc_ch2) # 计算三相电流(欧姆定律) I_a = V_a / R_shunt I_b = V_b / R_shunt I_c = V_c / R_shunt # Clarke变换(转换为αβ坐标系) I_alpha = I_a - 0.5 * I_b - 0.5 * I_c I_beta = (math.sqrt(3) / 2) * (I_b - I_c) return I_alpha, I_beta # 用于FOC算法 ``` 单电阻采样的代码更复杂,需添加PWM同步逻辑来重构电流
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值