2026年单电阻采样 基于单电阻采样的相电流重构算法 keil完整工程。 单电阻采样 f103的单电阻...

单电阻采样 基于单电阻采样的相电流重构算法 keil完整工程。 单电阻采样 f103的单电阻...svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 
  
    
     
      
     

单电阻采样

基于单电阻采样的相电流重构算法 keil完整工程。 单电阻采样 f103的单电阻,完整工程,带文档,带硬件资料。 f3平台的单电阻完整工程,代码详细注释。 还有微芯的单电阻smo代码加文档 具体如截图请看下

单电阻采样FOC(磁场定向控制)系统是永磁同步电机(PMSM)驱动领域的低成本高效解决方案,其核心在于通过母线串联单个采样电阻实现三相电流重构,结合SVPWM(空间矢量脉宽调制)、电机参数辨识、无感位置估计(SVC)等算法,在简化硬件结构的同时保证控制精度。本文基于《单电阻FOC教程.pdf》《500e算法解析-终极版.pdf》《6脉冲定位主要照这篇文章做.pdf》三份核心资料,从硬件适配逻辑、核心算法实现、调试优化三个维度,深入解析系统技术细节与工程落地要点。

单电阻采样的核心挑战在于在PWM周期内精准捕捉有效电流信号,需通过移相策略、采样点优化、电流重构三个关键步骤实现,三者共同构成单电阻方案的技术基石。

2.1 移相策略:解决采样窗口不足问题

单电阻采样依赖PWM周期内开关管的特定导通状态,只有当采样电阻所在回路形成有效电流通路时,才能采集到对应相电流。需先定义三相占空比参数:

  • hig/mid/low:三相PWM占空比的最大值、中间值、最小值(hig≥mid≥low),代表从PWM周期起始到下桥臂动作的时间。
  • delta1=mid-low:中间相与最小相的占空比差值,对应第一个潜在采样窗口。
  • delta2=hig-mid:最大相与中间相的占空比差值,对应第二个潜在采样窗口。
  • delta=hig-low:最大相与最小相的总差值,需满足采样时间总和要求。
2.1.1 移相场景分类(基于表格1.1-1)

根据delta1、delta2与最小采样时间Tmin的关系,系统需动态调整PWM占空比的相位,确保两个采样窗口均满足采样条件(≥Tmin),具体场景如下:

场景类型 判定条件 移相策略 备注 无需移相 delta1≥Tmin、delta2≥Tmin 保持原有占空比相位,直接在delta1、delta2窗口采样 理想工况,占空比分布均匀 三相接近 delta<2*Tmin 固定最大相占空比,左移中间相至与最小相差1个Tmin,再左移最小相至与中间相差1个Tmin 占空比均接近50%,需扩大采样窗口 一长两短 delta2 左移中间相,增大delta2至Tmin,右侧脉宽按需补偿(保证比较值不超过PRD) 下桥臂呈现“一长两短”导通特性 两长一短 delta1 右移中间相(增大前半周期占空比),增大delta1至Tmin,后半周期补偿至最大能力 下桥臂呈现“两长一短”导通特性,避免最小相移至0
2.1.2 移相实现关键约束
  • 占空比限制:上桥臂占空比不可开满(建议≤99%),若某相上桥臂100%导通,对应下桥臂将持续关闭,导致该相电流无法采样。
  • 补偿边界:移相后需保证PWM后半周期比较值不超过定时器周期(PRD),避免PWM模块异常。

2.2 电流重构:从单电阻信号到三相电流

电流重构的核心是根据电压空间矢量所在扇区,建立采样电阻电流与三相电流的对应关系。系统将电压空间矢量划分为6个扇区(0-5扇区),每个扇区对应不同的开关管导通组合,需通过两次采样实现三相电流解算。

2.2.1 扇区特征与电流对应关系(基于表格1.2-1)

通过分析各扇区开关管动作后的电流路径(如图1.2-3、1.2-5所示),可得到不同扇区的采样电流与三相电流的映射关系,这是电流重构的核心依据:

扇区 占空比最大相 占空比居中相 占空比最小相 第一次采样电流 第二次采样电流 电流重构逻辑 0 a b c -Ic Ia Ib = -(Ia + Ic) 1 b a c -Ic Ib Ia = -(Ib + Ic) 2 b c a -Ia Ib Ic = -(Ia + Ib) 3 c b a -Ia Ic Ib = -(Ia + Ic) 4 c a b -Ib Ic Ia = -(Ib + Ic) 5 a c b -Ib Ia Ic = -(Ia + Ib)
2.2.2 重构关键原理

以扇区0为例(图1.2-3):

  • 矢量7阶段(三相上桥臂导通):电机绕组短路,无电流流经采样电阻,无法采样。
  • 矢量6阶段(C相下桥臂导通):电流经C相VT2流入地,采样电阻电流为-Ic(C相电流为负,采样信号为正)。
  • 矢量2阶段(B相下桥臂导通):电流经B相VT6流入地,采样电阻电流为Ia(B、C两相电流之和,根据KCL定律等于-A相电流)。

通过两次采样的-Ic和Ia,结合KCL定律(Ia+Ib+Ic=0),即可解算出Ib。

2.3 采样点确定:避开开关暂态干扰

采样点的精准定位直接决定电流采样精度,需综合考虑死区延迟、电流稳定时间、ADC采样时间三个关键因素,避免开关管切换时的电压尖峰和电流振荡影响。

2.3.1 采样延迟计算
  • 死区延迟(t_d):开关管上桥臂关闭后,下桥臂需延迟导通(典型1-2us),防止桥臂直通。第一相采样需等待死区结束,第二相采样因电流可通过反并联二极管续流,无需考虑死区。
  • 电流稳定时间(t_stab):开关管导通后,电流需2us左右达到稳定(如图1.3-4、1.3-5所示),避免电流上升/下降过程中的瞬时值影响。
  • ADC采样时间:需4个ADC时钟周期(PWM模块时钟84MHz时,2.5us对应210个计数单位,实际工程取3us冗余)。
2.3.2 最终采样点设置
  • 第一相采样延迟 = 死区时间(1us)+ 电流稳定时间(2us)= 3us。
  • 第二相采样延迟 = 电流稳定时间(2us)。
  • 触发方式:通过TIM1_CH4比较匹配触发ADC采样,比较值根据延迟时间动态调整(64MHz PWM时钟下,1us对应64个计数单位)。

电机参数辨识是FOC系统自适应控制的基础,无感控制则通过算法替代位置传感器,两者共同构成系统的“感知能力”。《500e算法解析》详细阐述了电感、电阻、磁链、反电势的辨识方法,以及基于滑模观测器(SVC)的无感估计技术。

3.1 电机参数辨识:获取电机核心特性

参数辨识的目标是精准获取Ld/Lq(dq轴电感)、Rs(定子电阻)、φr(永磁磁链) ,为电流环、速度环参数设计和无感观测提供依据。

3.1.1 电感辨识(1.1节)

电感辨识利用“磁路饱和特性”,通过将转子定位到特定角度(0°和90°),施加电压脉冲并采样电流变化率,计算线电感Lbc,进而推导dq轴电感。

3.1.1.1 辨识流程(基于图1.1-2状态机)
  1. 转子定位
    - 0°定位:固定电压矢量角度为0°,通过类积分控制器调节电压幅值,将电流稳定在0.5倍额定电流(避免磁路深度饱和)。
    - 90°定位:重复上述过程,电压矢量角度改为90°。




  2. 线电感计算
    - 施加特定电压脉冲(如V+W-),采样脉冲首尾两端电流(ADC中断触发采样模式7),根据伏秒平衡原理计算Lbc:
    [
    L{bc} = frac{U{dc} cdot T_{cnt}}{Delta I cdot 10^6}
    ]
    其中,Udc为母线电压(V),Tcnt为脉冲导通时间(us),ΔI为电流增量(A)。













  3. dq轴电感推导
    - 0°位置:Lbc = 2Lq(磁路处于q轴,电感较小)。
    - 90°位置:Lbc = 2Ld(磁路处于d轴,电感较大)。
    - 逻辑修正:确保Lq>Ld(符合凸极电机特性,避免算法异常)。







3.1.2 电阻辨识(1.2节)

电阻辨识基于“欧姆定律”,通过闭环控制将定子电流稳定在预设值,采样定子电压和电流,计算定子电阻Rs。

3.1.2.1 辨识关键步骤
  1. 电流闭环控制:给定Iset=0.5倍额定电流,通过类积分控制器调节电压幅值,使电流稳定在预设区间。
  2. 数据采样:采集512组母线电压(Udc)和U相电流(Ia),求平均值降低误差。
  3. 电阻计算
    [
    Rs = frac{Delta U}{Delta I}
    ]
    其中,ΔU为两次不同占空比下的电压差值,ΔI为对应电流差值,需注意将线电阻除以2得到相电阻。










3.1.3 磁链与反电势辨识(1.3-1.4节)

磁链(φr)和反电势(E)辨识基于“IF控制模式”,通过拖转电机至稳定转速,采集不同id下的uq值,利用dq轴电压方程推导。

3.1.3.1 核心公式

稳态下忽略电阻压降和电感压降(iq=0),dq轴电压方程简化为:

[

uq = omegae (Ld id + phi_r)

]

通过采集两组(id1, uq1)和(id2, uq2)数据,联立方程得:

[

omegae phir = frac{u{q1} i{d2} - u{q2} i{d1}}{i{d2} - i{d1}}

]

进一步推导永磁磁链:

[

phir = frac{omegae phir}{omegae} = frac{u{q1} i{d2} - u{q2} i{d1}}{omegae (i{d2} - i_{d1})}

]

其中,ω_e为电角速度(rad/s),由速度估计模块提供。

3.2 滑模观测器(SVC)无感控制(2-3章)

SVC无感控制通过构建电机电流模型,对比估计电流与实际采样电流的偏差,实时修正速度和位置估计值,核心包括电流估计、速度估计、角度积分三个环节。

3.2.1 电流估计:基于dq轴电机模型

根据PMSMdq轴电压方程,推导电流增量模型,实现电流估计:

[

单电阻采样 基于单电阻采样的相电流重构算法 keil完整工程。 单电阻采样 f103的单电阻,完整工程,带文档,带硬件资料。 f3平台的单电阻完整工程,代码详细注释。 还有微芯的单电阻smo代码加文档 具体如截图请看下

begin{cases}

did = frac{Ts}{Ld} left( ud - Rs id + omegae Lq i_q ight) \

diq = frac{Ts}{Lq} left( uq - Rs iq - omegae (Ld id + phir) ight)

end{cases}

]

  • 关键系数预计算:提前计算Ts/Ld、Rs*Ts/Ld等系数(如pmcoefd1、pmcoefq2),降低实时计算量。
  • 数据格式处理:采用Q格式定点运算(如Q12、Q16),避免浮点运算精度损失和效率问题。
3.2.2 速度估计:从反电势到角速度

速度估计基于“反电势与角速度的线性关系”,通过积分控制器估计反电势,进而计算电角速度:

  1. 反电势估计
    [
    emf{est} = emf{estlast} + ki cdot (iq - iq^{est}) cdot Ts
    ]
    其中,k




    i为积分增益,需根据电机参数动态调整(如k_i = 3Rs/(nTs))。




  2. 角速度计算
    [
    omegae = frac{emf{est}}{phir}
    ]
    需对ω




    e进行低通滤波,避免高频噪声影响。




3.2.3 角度积分:从角速度到转子位置

电角度由角速度积分得到,需注意角度范围约束(0-360°):

[

heta{est} = heta{estlast} + omegae cdot T_s

]

  • 格式处理:角度变量采用Q32格式存储(以2π为基值),右移16位后作为d轴位置参考(gPhase.IMPhase)。
  • 溢出处理:当θest超过360°或低于0°时,进行模运算修正(如θest = θ_est - 360°)。

3.3 电流环与速度环控制(4.2-4.3节)

双闭环控制是FOC系统的“执行核心”,电流环负责快速跟踪电流指令,速度环负责稳定转速输出,两者均采用PI控制器,参数设计基于电机辨识结果。

3.3.1 电流环设计(4.2节)

电流环控制周期与PWM周期一致(典型16kHz),采用并联式PI控制器,参数计算公式:

[

kp = frac{3L}{nTs}, quad ki = frac{3Rs}{nT_s}

]

  • 参数意义:L为电感(H),Rs为电阻(Ω),n为控制系数(默认8),Ts为采样周期(s)。
  • 输出约束:PI控制器输出Ud/Uq需限制在母线电压允许范围内(如±Udc/√3),避免过调制。
3.3.2 速度环设计(4.3节)

速度环控制周期为2ms,输入为速度给定与估计值的偏差,输出为q轴电流参考(Iq_ref):

[

Iq{ref} = k{pspd} cdot (omega{ref} - omega{est}) + k{ispd} cdot int (omega{ref} - omega_{est}) dt

]

  • 电流限制:Iq_ref需限制在电机额定电流范围内(如±In),防止过流。
  • 模式切换:支持速度模式(输出Iqref)和转矩模式(直接给定Iqref)。

初始转子位置估计是电机启动的关键,若位置估计错误,可能导致启动反转或启动失败。《6脉冲定位》提出一种基于“电压脉冲注入+模糊逻辑处理”的定位方法,无需位置传感器,适用于BLDCM和PMSM。

4.1 定位原理:利用磁路饱和特性

电机定子电感随转子位置变化:当定子电流与永磁磁动势同向时,磁路饱和,电感减小;反向时,磁路去饱和,电感增大。通过施加正负电压脉冲,采样电流峰值差值,即可判断转子位置。

4.2 定位流程:脉冲注入与数据处理

4.2.1 基本脉冲序列(表I)

对三相绕组依次施加正负电压脉冲(如VA+、VA-、VB+、VB-、VC+、VC-),每个脉冲导通时间T+(40-200us,根据电机电感调整),采样脉冲结束时的电流峰值(iA+、iA-等),计算电流差值Δih = ih+ - i_h-(h=A/B/C)。

4.2.2 模糊逻辑优化(4.4节)

由于电流测量存在噪声和偏移,直接通过Δi_h判断位置误差较大,需引入模糊逻辑处理:

  1. 数据归一化:Δi1、Δi2、Δi3除以最大值Δi_max,得到归一化电流差值Δî1、Δî2、Δî3。
  2. 模糊集合定义
    - Δî1(主电流差值):ZE(零)、PM(正中等)、PB(正大)。
    - Δî2/Δî3(辅助电流差值):NB(负大)、ZE(零)、PB(正大)。




  3. 模糊规则库:定义27条规则(3输入×3输入×3输入),输出对默认位置的修正量(如-1、-0.5、0、0.5、1个60°扇区)。
  4. 解模糊:采用重心法计算最终修正量Δθ,得到绝对转子位置θest = θdefault + 60°×Δθ。

4.3 工程优化:直流母线电流采样

传统三相电流采样需三个电流传感器,成本较高。《6脉冲定位》提出通过直流母线单电阻采样重构三相电流:

  • 原理:逆变器6个有源状态下,母线电流等于某一相电流或其反向(如V_A+状态下,母线电流=IA);零状态下母线电流为0。
  • 优势:无需三相电流传感器,仅需一个母线采样电阻,降低成本;避免传感器偏移误差,提高采样一致性。

5.1 单电阻采样毛刺问题(参考《单电阻FOC教程》3.4节)

  • 现象:扇区切换时电流波形出现毛刺。
  • 原因:扇区判断延迟或采样点与扇区切换不同步。
  • 解决方案
    1. 将扇区变量由实时扇区(secter)改为延迟扇区(secter_post),确保采样与扇区匹配。
    2. 优化零漂校正:采样零矢量状态下的电阻电压,计算零漂补偿值,重构时减去该值。




5.2 电感辨识过流问题(参考《500e算法解析》1.1.3节)

  • 现象:施加电压脉冲时电流超过额定值,触发过流保护。
  • 原因:脉冲导通时间过长或占空比过大,导致电流线性上升超调。
  • 解决方案
    1. 减小占空比调节步长(如从5%改为1%),延长PWM周期(如从853us延长至4.26ms)。
    2. 增加上桥自举电路充电步骤(状态1改为V-W-导通),避免开关管无法正常开通。




5.3 无感启动抖动问题(参考《500e算法解析》2.5节)

  • 现象:低速时转速波动大,启动时出现抖动。
  • 原因:速度估计误差大,滑模观测器增益不匹配。
  • 解决方案
    1. 优化滑模观测器积分增益(KiForEmf),根据载波频率动态调整(如双更新模式下FcCoff=200)。
    2. 增加速度修正环节:通过d轴电流偏差修正角速度估计值,公式为Δωcorr = ksmo · (idest - idsense) · iq,其中ksmo为修正系数。




单电阻采样FOC系统的核心优势在于硬件成本低、算法兼容性强,但对软件时序和算法精度要求较高。工程落地时需重点关注以下几点:

  1. 硬件选型:采样电阻选择低温度系数(如0.1%/℃)、小阻值(0.001-0.01Ω)电阻,配合高带宽运放(如OPA847),降低采样噪声。
  2. 时序优化:PWM移相、ADC采样、DMA传输的时序需严格同步,避免采样与开关动作重叠。
  3. 参数适配:电机参数辨识需在电机静止时执行,辨识完成后存储参数至Flash,避免每次上电重复辨识。
  4. 故障保护:增加过流、过压、欠压、堵转保护,故障发生时立即关闭PWM输出,确保系统安全。

通过本文解析的单电阻采样、参数辨识、无感控制、初始定位四大核心技术,可构建一套完整的低成本FOC解决方案,适用于家电、工业伺服、新能源汽车等领域的电机驱动场景。

小讯
上一篇 2026-04-30 13:06
下一篇 2026-04-30 13:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/282029.html