Simulación Y cálculo de Sistemas de Control Realimentado en Python
-
Upload
luis-maria-pizarro -
Category
Software
-
view
170 -
download
2
Transcript of Simulación Y cálculo de Sistemas de Control Realimentado en Python
Python - Control - Numpy
Simulación y Cálculo de Sistemas Luis María Pizarro - CNEAIngeniería de Reactores [email protected]
C P
eu
y
REDIS EXPRESS RED
redisto hmi
hmi toredis
Clientehtml5
Clientehtml5
redisto mongo
MongoDBHistórico
socket.IO
Estáticos
RESTFulFlask
NGINXPython
P
eu
y
C A
N A
L E
S
P R
O X
Y
HMI REDIS: DB en memoria de pares clave-valor, publish-subscribeEXPRESS: framework de desarrollode aplicaciones web en node.js
socket.IO: comunicaciones bidi-reccionales, "tiempo-real", orienta-da a eventos. mongoDB: DB no relacionaldb.state.insert( { values: [v1,v2,v3] } )
REST: Representational State Transfer, una arquitectura web.nginx: es un servidor HTTP proxy inverso
d3.js: Visualización gráfica
cliente html5: browser con soporte parawebsocket
Integración
C Pe u yr
Solución numérica a ecuaciones diferenciales ordinarias
método predictor corrector
DIFF Python Orientado a Objetos eulerModified.py
.class EulerModified (): def __init__ (self, A,B,C,D,x,y,h): .... def iteration (self): ... ....Controller = EulerModified (Ac, Bc, Cc, Dc, x0c, u0c, h)Plant = EulerModified (Ap, Bp, Cp, Dp, x0p, u0p, h)
El lazo se cierra en la interfázhombre máquina
Ap Bp
Cp Dp
Ac Bc
Cc Dc
Ap Bp
Cp Dp
Ac Bc
Cc Dc
def limiter (self, num): limite = num if (limite[0,0] >= self.lim): limite [0,0] = self.lim elif (limite[0,0] <= -1*self.lim): limite[0,0] = -1*self.lim return limite
Saturación en |2|
C
HILArduinoController
MIL
Repo: https://github.com/lmpizarro/SciPyConArg2014
SerialComm
Comparación resultados: control vs euler modificado
Error Absoluto
Error porcentual
de Control Realimentado con Python
Cálculo de la respuesta del sistema CON saturaciónen la actuación
Cálculo de la respuesta del sistema SIN saturaciónen la actuación
Python 62,2%, Javascript 28,6 %, Arduino 8,7 %, CSS 0,5 %
1 - Feedback Control of Dynamic Systems. Franklin - Powell - Emami-Naeini2 - EULER’S METHODS FOR SOLVING DIFFERENTIAL EQUATIONS; RC CIRCUITS Robert Ehrlich3 - Controls Tutorial - Matlab Simulink http://ctms.engin.umich.edu/CTMS/index.php?aux=Home4 - Control_Systems_Library_for_Python http://www.cds.caltech.edu/~murray/wiki/index.php/Control_Systems_Library_for_Python5 - Numpy for Matlab Users - http://mathesaurus.sourceforge.net/matlab-numpy.html6 - Python for Control Purposes - Roberto Bucher - http://robertobucher.dti.supsi.ch/python/
"Tiempo Real"
Histórico
ReferenciasEl trabajo muestra algunas de las capacidades del lenguaje python en el problemas de cáculo ysimulación de sistemas de control realimentado.Además con el uso de herramientas de código abierto se muestra la integración de las solucionesanteriores a sistemas con otras características.
Conclusiones
mpl.plot(t,y, label='salida')mpl.legend(loc='upper right')mpl.show()