class PID:
def __init__(self,P,I,D,t):
self.P = P
self.I = I
self.D = D
self.e = 0
self.e_old_list = [0,0,0,0]
self.kp = self.P
self.ki = 0
self.kd = self.D
self.Dt = t
self.limit_up = float('inf')
self.limit_down = float('-inf')
self.out = 0
self.i = 0
def input(self,e,t):
self.e = e
self.Dt = t - self.Dt
def Integral_separation(self): #积分分离
self.ki = self.I if abs(self.e) < 0.2 else 0
def FPCDM(self): #四点中心差分法
self.e_old_list.insert(0, e)
self.e_old_list.pop()
self.Dx = (self.e_old_list[0] + 3 * self.e_ol
pid(python代码)
最新推荐文章于 2024-10-13 23:35:45 发布