class PID_Posicion(object): """docstring for PID_Posicion""" def __init__(self, kp = 1.5 , ki =0.5, kd =0.0): self.pid = PID(kp , ki , kd) #self.pid_velocidad = pidv() self.motor = Nema42(12,7) def SetPoint(self , setpoint): self.pid.setPoint(setpoint) if setpoint > 0: direccion = 1 elif setpoint <= 0: direccion = -1 sp = 3000 - abs(setpoint) if sp < 1000 : sp = 1000 sp = sp *direccion self.motor.avance(sp)
class PID_Posicion(object): """docstring for PID_Posicion""" def __init__(self, kp=1.5, ki=0.5, kd=0.0): self.pid = PID(kp, ki, kd) #self.pid_velocidad = pidv() self.motor = Nema42(12, 7) def SetPoint(self, setpoint): self.pid.setPoint(setpoint) if setpoint > 0: direccion = 1 elif setpoint <= 0: direccion = -1 sp = 3000 - abs(setpoint) if sp < 1000: sp = 1000 sp = sp * direccion self.motor.avance(sp)
class PID_Velocidad(object): """Clase que ejecuta un PID de velocidad en la maquina dobladora""" def __init__(self, kp=0.000000001, ki=0.0, kd=0.0): self.pid = PID(kp, ki, kd) self.motor = Nema42(conf2.pines['Nema42']['direccion'], conf2.pines['Nema42']['pulso']) self.pi = pigpio.pi() self.funciones_Nema42 = funciones.Nema42() self.direccion_motor = 0 def SetPoint(self, setpoint): if setpoint < 0: self.direccion_motor = 0 else: self.direccion_motor = 1 self.pid.setPoint(abs(setpoint)) if not setpoint: self.motor.parar() else: ts = self.funciones_Nema42.ts_from_vel(abs(setpoint)) self.motor.avance(ts, self.direccion_motor) def update(self, valor): self.pid.update(valor)
class PID_Velocidad(object): """Clase que ejecuta un PID de velocidad en la maquina dobladora""" def __init__(self , kp = 0.000000001, ki = 0.0 , kd = 0.0): self.pid = PID(kp , ki , kd) self.motor = Nema42(conf2.pines['Nema42']['direccion'] , conf2.pines['Nema42']['pulso']) self.pi = pigpio.pi() self.funciones_Nema42 = funciones.Nema42() self.direccion_motor = 0 def SetPoint(self , setpoint): if setpoint < 0: self.direccion_motor = 0 else : self.direccion_motor = 1 self.pid.setPoint(abs(setpoint)) if not setpoint: self.motor.parar() else: ts = self.funciones_Nema42.ts_from_vel(abs(setpoint)) self.motor.avance(ts,self.direccion_motor) def update(self , valor): self.pid.update(valor)