foc闭环调试

[复制链接]
 楼主| gygp 发表于 2025-5-23 19:33 | 显示全部楼层 |阅读模式
1、ADC电流采样

上次添加了编码器获取电角度的程序,将之前开环控制的角度进行了替换,这次再将电流采样添加进来,之后就可以利用这样一个有反馈的系统进行电流环PI控制器参数调试。

       之前写过ADC+DMA电流采样的stm32库函数程序,现在来看还是有很大缺陷的:首先当电机没有转动时,ADC采样已经有了一个数值,即是一个偏置,需要后面将其减去,这块采回来的电流理论上是一个正弦波数值。另外需要将ADC采样值转换为对应单位的电流,公式是(ADC原始值-偏置)*3.3V参考电压/4096/R欧姆/放大倍数,这个还需要进一步验证。

2、  一阶低通滤波算法   

       FirstOrder_LPF_Calc 通常用于计算一阶低通滤波器(LPF)的输出,滤波器用于平滑输入信号,消除噪声,尤其是在控制系统中处理传感器信号时。一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。

一阶低通滤波的算法公式为:

              Y(n)=αX(n) + (1-α)Y(n-1)

  α 越大,滤波器的响应越快,能更快跟踪输入变化,但噪声抑制效果较差。

    α越小,响应越慢,能更好地滤除噪声,但可能会导致信号滞后。

应用:

FirstOrder_LPF_Calc 可广泛应用于传感器信号滤波、电流环和速度环的噪声抑制等场景。在FOC(磁场定向控制)中,滤波器用于平滑电流和速度反馈信号,避免过大的噪声干扰控制系统的稳定性。

总结:

  通过调节 α,可以灵活控制滤波器的响应速度和噪声抑制效果。

  滤波器能有效减小信号中的高频噪声,同时保持低频成分的完整性。

       一阶滤波无法完美地兼顾灵敏度和平稳度。有时,我们只能寻找一个平衡,在可接受的灵敏度范围内取得尽可能好的平稳度。而在一些场合,我们希望拥有这样一种接近理想状态的滤波算法。即:当数据快速变化时,滤波结果能及时跟进(灵敏度优先);当数据趋于稳定,在一个固定的点上下振荡时,滤波结果能趋于平稳(平稳度优先)。

3、 pid参数数据结构

  1. typedef struct   

  2. {

  3. float  Ref;          // Input: Reference input

  4. float  Fdb;          // Input: Feedback input

  5. float  Err;          // Variable: Error

  6. float  Kp;           // Parameter: Proportional gain

  7. float  Up;           // Variable: Proportional output

  8. float  Ui;           // Variable: Integral output

  9. float  Ud;           // Variable: Derivative output      

  10. float  OutPreSat;    // Variable: Pre-saturated output

  11. float  OutMax;       // Parameter: Maximum output

  12. float  OutMin;       // Parameter: Minimum output

  13. float  Out;          // Output: PID output

  14. float  SatErr;       // Variable: Saturated difference

  15. float  Ki;           // Parameter: Integral gain

  16. float  Kc;           // Parameter: Integral correction gain

  17. float  Kd;           // Parameter: Derivative gain

  18. float  Up1;          // History: Previous proportional output

  19. float  Ui_1;

  20. float  OutF;

  21. } PIDREG_T;





  22.       



幸福小强 发表于 2025-5-25 20:12 | 显示全部楼层
准备学习一下电机控制
MYWX 发表于 2025-5-26 11:12 | 显示全部楼层
幸福小强 发表于 2025-5-25 20:12
准备学习一下电机控制

凌鸥有凌鸥学园电机控制入门课程
lanmanck 发表于 2025-5-26 12:02 | 显示全部楼层
MYWX 发表于 2025-5-26 11:12
凌鸥有凌鸥学园电机控制入门课程

请提供链接
gerrylei 发表于 2025-5-28 14:39 | 显示全部楼层
LKS32MC08的有感FOC开发包在哪里下载
MYWX 发表于 2025-5-29 11:33 | 显示全部楼层
caigang13 发表于 2025-6-2 10:33 来自手机 | 显示全部楼层
楼主能分享一下完整的程序吗?谢谢。
suncat0504 发表于 2025-6-23 20:25 | 显示全部楼层
电机控制也变成一门学问了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

201

主题

8475

帖子

16

粉丝
快速回复 在线客服 返回列表 返回顶部

201

主题

8475

帖子

16

粉丝
快速回复 在线客服 返回列表 返回顶部