串级PID控制(多闭环PID控制)的理解

网络上很多双闭环或者三闭环PID控制的讲述,其实就是串级PID控制,之前一直没能理解,更不知道如何应用。

现在用伺服电机为例,一起理解一下PID串级控制。

伺服电机一般为三个环控制,所谓三环就是3个闭环负反馈PID调节系统。最内的PID环就是电流环,此环完全在伺服驱动器内部进行,通过霍尔装置检测驱动器给电机的各相的输出电流,负反馈给电流的设定进行PID调节,从而达到输出电流尽量接近等于设定电流,电流环就是控制电机转矩的,所以在转矩模式下驱动器的运算最小,动态响应最快。所以对电流控制即可实现电机转矩控制,此时PID为单回路PID控制。输入信号为目标电流,输出转矩,反馈信号为 实时电流。

 

第2环是速度环,通过检测的电机编码器的信号来进行负反馈PID调节,它的环内PID输出直接就是电流环的设定,所以速度环控制时就包含了速度环和电流环,换句话说任何模式都必须使用电流环,电流环是控制的根本,在速度和位置控制的同时系统实际也在进行电流(转矩)的控制以达到对速度和位置的相应控制。

输入信号为目标速度 -->(电流闭环)-->反馈实时速度

注意: FUN_PID(目标速度 - 反馈实时速度)  作为目标电流 ,传递给内环的电流闭环

第3环是位置环,它是最外环,可以在驱动器和电机编码器间构建也可以在外部控制器和电机编码器或最终负载间构建,要根据实际情况来定。由于位置控制环内部输出就是速度环的设定,位置控制模式下系统进行了所有3个环的运算,此时的系统运算量最大,动态响应速度也最慢。  目标位置  --> (速度闭环) --> 反馈实时位置

注意: FUN_PID(目标位置   - 反馈实时位置)  作为目标速度 ,传递给内环的速度闭环

 

对于电流和速度,需要给定最大和最小速度,最大和最小电流,实际使用时还有做进一步优化和调整。

 

 

### PID控制在电机闭环控制系统中的应用 #### 1. 基本概念 PID控制器由两个或个相互关联的PID控制器组成,其中每个控制器负责不同的反馈回路。在外环中,通常设置一个用于跟踪目标位置的位置控制器;而在内环,则配置了一个用于精确调整速度的速度控制器[^1]。 #### 2. 结构设计 对于电机驱动系统而言,采用PID可以有效提高系统的响应性能和稳定性。具体来说,在该架构下: - **外环**:主要处理的是位置误差信号,并将其转换成所需达到的目标速度; - **内环**:接收来自外环设定好的目标速度作为输入参数,进而计算出实际所需的PWM占空比来驱动电机运行至指定转速。 这样的分层设计方案不仅能够简化各自子模块的设计难度,而且有助于增强整个体系面对复杂工况变化时的表现能力[^3]。 #### 3. 参数整定策略 为了使上述提到的内外双环都能稳定工作并取得良好的动态特性,合理地选定各环节的比例(P)、积分(I) 和微分(D)系数至关重要。一般情况下,会先单独调试好内部速度环的各项参数直至满意为止,再着手于外部位置环部分的优化调整[^2]。 ```python import numpy as np from scipy.integrate import odeint def pid_controller(error, Kp, Ki, Kd): """Simple PID controller implementation.""" global integral_error, previous_error P_value = Kp * error integral_error += error I_value = Ki * integral_error D_value = Kd * (error - previous_error) output = P_value + I_value + D_value previous_error = error return max(min(output, MAX_OUTPUT), MIN_OUTPUT) # Example usage of the function within a simulation loop. integral_error = 0 previous_error = 0 MAX_OUTPUT = 100 MIN_OUTPUT = -100 time_points = np.linspace(0, 10, num=500) initial_conditions = [0] solution = odeint(lambda y,t: pid_controller(desired_position(t)-y, kp, ki, kd), initial_conditions, time_points) ``` 此代码片段展示了如何在一个简单的模拟环境中实现基本的PID算法逻辑。请注意这只是一个示意性的例子,真实的应用场景可能需要更加复杂的模型和支持更的功能特性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值