STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

时间:2024-04-03 08:07:30

前言

      ST MCSDK中PID部分功能代码在pid_regulator.c文件中,电机库中电机iq,id以及速度环控制均采用PI(对应pi_controller接口)控制器:

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

pid_regulator.c中提供丰富的关于PID控制及相关参数设置接口:

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

如果需要用到PID控制器,在pid_regulator.c末尾,有个pid_controller接口,默认是屏蔽的,需手动打开,操作如下图所示。

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

ST MC电机库中,在mc_config.c定义了电机库所需用到的一些变量,其中就包括电机库中用到的PID控制变量,PIDSpeedHandle_M1,PIDIqHandle_M1和PIDIdHandle_M1并对其成员进行了初始化操作:

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

pi_controller接口源码:

 

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

结合pi_controller接口源码及PIDSpeedHandle_M1,PIDIqHandle_M1和PIDIdHandle_M1的定义可知调节PID的控制参数主要是通过修改drive_parameters.hey parameters_conversion.h PID相关宏,如下面截图所示:

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

         当然,在实际使用过程中可能需要用到自适应PID参数,可以通过pid_regulator.c中的相关接口来实时修改PID的控制参数:

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

 

OK,学习了本期内容,相信大家对ST电机库的PID控制器工作原理及参数调节有了更清晰的认识,相信大家可以很容易就在自己的电机工程中快速的找到最佳控制参数,充分发挥电机性能。本期实验完成!本节内容到此结束,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

文中源码及资料下载,关注十三公众号:

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节

在公众号里给十三发送 “下载|STM32 电机教程 27” :

STM32 电机教程 27 - ST MCLIB实战之 PID参数调节