Professional Documents
Culture Documents
Motor CD
Motor CD
import emoji
import numpy as np
import matplotlib.pyplot as plt
import control as co
from scipy import signal
from IPython.display import Image
from IPython.core.display import HTML
import ipywidgets as widgets
from ipywidgets import interact, interactive, fixed, interact_manual
1 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
2 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
plt.plot(t2,y2)
#plt.plot(t2, [1 for i in t2])
plt.grid()
plt.xlabel('Voltaje (V)')
plt.ylabel('Tiempo (t)')
#plt.ylim(0,1.20)
#plt.xlim(0,3)
plt.show()
3 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
sys2
sys=signal.ss2tf(A,B,C,D)
t3,y3=signal.step(sys)
plt.plot(t3,y3)
plt.plot(t2,y2)
#plt.plot(t2, [1 for i in t2])
plt.grid()
plt.ylabel('Velocidad ($\omega$)')
plt.xlabel('Tiempo (t)')
#plt.ylim(0,1.20)
#plt.xlim(0,3)
plt.show()
4 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
sys
systf
5 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
sysr=co.feedback(systf,1,-1)
sysr
t,y=co.step_response(sysr)
plt.plot(t,y)
#plt.plot(t2, [1 for i in t2])
plt.grid()
plt.ylabel('Velocidad ($\omega$)')
plt.xlabel('Tiempo (t)')
#plt.ylim(0,1.20)
#plt.xlim(0,3)
plt.show()
6 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
ganancia=widgets.IntSlider(
value=10,
min=1,
max=150,
step=1,
description='Ganancia:',
disabled=False,
continuous_update=False,
orientation='horizontal',
readout=True,
readout_format='d'
)
display(ganancia)
7 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
sysrg
kp=100;kd=10;ki=200;
contr=co.tf([kd, kp, ki],[1, 0])
systf=co.tf([2], [1, 12 ,20.02])
sysc=contr*systf
syscr=co.feedback(sysc,1,-1)
tr,yr=co.step_response(syscr)
plt.plot(tr,yr)
#plt.plot(t2, [1 for i in t2])
plt.grid()
plt.ylabel('Velocidad ($\omega$)')
plt.xlabel('Tiempo (t)')
#plt.ylim(0,1.20)
#plt.xlim(0,3)
plt.show()
8 de 9 22/01/2021 04:43 p. m.
ControlAut http://localhost:8888/nbconvert/html/Documents/ProgPython/ControlA...
contr
sysc
syscr
tr,yr=co.step_response(syscr)
9 de 9 22/01/2021 04:43 p. m.