Está en la página 1de 7

INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022

Modelo matemático del motor de corriente directa


Castro Arias Bibiana, Galiote Estrada Leslie T., Melo Muñoz Luis E., Rodríguez Torres Axel D.
Instituto Tecnológico Superior de Huauchinango
Huauchinango, Puebla
Anacomegalletas18@gmail.com, legaliote7@gmail.com, kihaloke@outlook.com, axeldavidrodrigueztorres@gmail.com

Resumen- En el presente reporte se hará el modelo matematico • Relaciones entre las variables: El modelo establece
del motor de corriente directa, lo cual, nos ayudara a conocer los una determinada relación entre las variables
doferentes parametros de este mismo, dejandonos ver la posibilidad apoyándose en teorías económicas, físicas, químicas,
del diseño de un esquema de control. etc.
Palabras Clave- Corriente, Modelo, Matematico, Grafica. • Representaciones simplificadas: Una de las
I. INTRODUCCIÓN características esenciales de un modelo matemáticos es
la representación de las relaciones entre las variables
Un modelo matemático es una representación simplificada, a estudiadas a través de elementos de las matemáticas
través de ecuaciones, funciones o fórmulas matemáticas, de un tales como: funciones, ecuaciones, fórmulas, etc.
fenómeno o de la relación entre dos o más variables. La rama de
las matemáticas que se encarga de estudiar las cualidades y Cuando se diseña un modelo matemático, se busca que este
estructura de los modelos es la llamada “teoría de los modelos”. tenga un conjunto de propiedades que ayude a asegurar su
robustez y efectividad. Entre estas propiedades se encuentran:
Los modelos matemáticos son utilizados para analizar la
relación entre dos o más variables. Pueden ser utilizados para
entender fenómenos naturales, sociales, físicos, etc. • Simplicidad: Uno de los objetivos principales de un
Dependiendo del objetivo buscado y del diseño del mismo modelo matemático es simplificar la realidad para
modelo pueden servir para predecir el valor de las variables en poder entenderla mejor.
el futuro, hacer hipótesis, evaluar los efectos de una determinada • Objetividad: Que no tenga sesgos ni teóricos ni de
política o actividad, entre otros objetivos. los prejuicios o ideas de sus diseñadores.
Aunque parezca un concepto teórico, en realidad hay muchos • Sensibilidad: Que sea capaz de reflejar los efectos de
aspectos de la vida cotidiana regidos por modelos matemáticos. pequeñas variaciones.
Lo que ocurre es que no son modelos matemáticos enfocados a • Estabilidad: Que el modelo matemático no se altere
teorizar. Al contrario, son modelos matemáticos formulados significativamente cuando hay cambios pequeños en
para que algo funcione. Por ejemplo, un coche. las variables.
• Universalidad: Que sea aplicable a varios contextos y
no sólo a un caso particular.
II. MARCO TEÓRICO

Los modelos matemáticos pueden variar en cuanto a su


complejidad, pero todos ellos tienen un conjunto de III. MARCO METODOLÓGICO
características básicas:
Los métodos de estudio de la estabilidad de sistemas continuos
• Variables: Son los conceptos u objetos que se busca
son también aplicables al análisis de sistemas muestreados, si
entender o analizar. Sobre todo, con respecto a su
relación con otras variables. Así, por ejemplo, una ciertas modificaciones son realizadas. Estos métodos incluyen el
variable puede ser el salario de los trabajadores y lo que criterio de Routh–Hurwitz, el método del lugar de las raíces y
queremos analizar son sus principales determinantes los métodos de análisis frecuencial. También es analizado el
(por ejemplo: años de estudio, educación de los padres, criterio simplificado de Jury que es una técnica especialmente
lugar de nacimientos, etc.). desarrollada para analizar la estabilidad de sistemas de tiempo
discreto. Con el fin de enfatizar las similitudes y diferencias
• Parámetros: Se trata de valores conocidos o entre los sistemas de tiempo continuo y discreto, se compara la
controlables del modelo. estabilidad de un sistema de control continuo con el de su
• Restricciones: Son determinados límites que nos equivalente discreto.
indican que los resultados del análisis son razonables. En sistemas continuos, la estabilidad se analiza a partir del
Así por ejemplo, si una de las variables es el número de denominador (ecuación característica) de la función de
hijos de una familia, una restricción natural es que este transferencia de lazo cerrado:
valor no puede ser negativo.
INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022
De acuerdo a las ecuaciones propuestas Ec.1 y Ec.2. en la
ecuación Ec.3 se expresa la relación proporcional entre el
voltaje inducido en la armadura y la velocidad angular de giro
del motor.
𝐸𝑎 (𝑡) = 𝐾𝑎 𝜔(𝑡) Ec.3

La siguiente relación mecánica-eléctrica establece que el torque


mecánico es proporcional a la corriente eléctrica, como se
expresa en la ecuación Ec.4.

𝑇𝑚 (𝑡) = 𝐾𝑚 𝑖𝑎 (𝑡) Ec.4

De acuerdo a las ecuaciones propuestas Ec.1-Ec.4., se realiza


Fig.1. Sistema de control de tiempo continuo un procedimiento obtener la transformada de Laplace de dichas
ecuaciones.
La posición de las raíces de la ecuación característica (1 +
GH(s)), determina la estabilidad del sistema. El límite de la 𝑉(𝑠) = 𝑅𝑎 𝐼𝑎 (𝑠) + 𝐿𝑎 𝑆𝐼𝑎 (𝑠) + 𝐸𝑎 (𝑠) Ec.5
región de estabilidad en el plano s es el eje jω, debido a que 𝑇𝑚 (𝑠) = 𝐽𝑆𝜔(𝑠) + 𝐵𝜔(𝑠) Ec.6
polos con parte real negativa implican una respuesta que se 𝐸𝑎 (𝑠) = 𝐾𝑎 𝜔(𝑠) Ec.7
amortigua en el tiempo. Si se muestrea la señal de error y se 𝑇𝑚 (𝑠) = 𝐾𝑚 𝐼𝑎 (𝑠) Ec.8
utiliza un reconstructor de orden cero, se obtiene el sistema de
control de tiempo discreto de la figura 2:

Al sustituir las Ecuaciones 7 y 8 en ecuación 5 se puede obtener


ecuación 9

(𝑅𝑎 +𝐿𝑎 𝑆)𝑇𝑚 (𝑠)


𝑉(𝑠) = + 𝐾𝑎 𝜔(𝑠) Ec.9
𝐾𝑚

De la ecuación 6 se puede despejar la función de la frecuencia


angular 𝜔(𝑠) = 𝑇𝑚 (𝑠)/(𝐽𝑠 + 𝐵) y sustituyendo en Ec.9 se
Fig.2. Sistema de control de tiempo discreto
obtienen las siguientes ecuaciones:

(𝑅𝑎 +𝐿𝑎 𝑆)𝑇𝑚 (𝑠) 𝐾𝑎 𝑇𝑚(𝑠) (𝑅𝑎 +𝐿𝑎 𝑆)


IV. DESARROLLO 𝑉(𝑠) = + → 𝑉(𝑠) = ( +
𝐾𝑚 (𝐽𝑠+𝐵) 𝐾𝑚
a) Funcion de transferencia 𝐾𝑎
(𝐽𝑠+𝐵)
) 𝑇𝑚 (𝑠) Ec.10
De acuerdo al siguiente modelo electro-mecánico Figura 1 se
realiza el análisis de mallas del circuito eléctrico, y se obtiene
la siguiente ecuación Ec.1. Finalmente, con la ecuación Ec.10 se obtiene la forma de la
función de transferencia Ec.11.

𝑇𝑚(𝑠) 𝐾𝑎 𝐽𝑆+𝐾𝑚 𝐵
= Ec.11
𝑉(𝑠) 𝐿𝑎 𝐽𝑆 2 +(𝑅𝑎 𝐽+𝐿𝑎 𝐵)𝑆+𝑅𝑎 𝐵+𝐾𝑚𝐾𝑎

De la manera como se ha desarrollado la ecuación Ec.11. Es


posible obtener funciones de transferencia mostradas en Ec.12-
Ec.14.

𝐸𝑎 (𝑠) 𝐾𝑎 𝐾𝑚
Fig 3. Circuito RC. = Ec.12
𝑉(𝑠) 𝐿𝑎 𝐽𝑆 2 +(𝑅𝑎 𝐽+𝐿𝑎 𝐵)𝑆+𝑅𝑎 𝐵+𝐾𝑚𝐾𝑎
𝐼𝑎 (𝑠) 𝐽𝑆+𝐵
= Ec.13
𝑉(𝑠) 𝐿𝑎 𝐽𝑆 2 +(𝑅𝑎 𝐽+𝐿𝑎 𝐵)𝑆+𝑅𝑎 𝐵+𝐾𝑚 𝐾𝑎
𝑑𝑖𝑎 (𝑡) 𝜔(𝑠) 𝐾𝑚
𝑣(𝑡) = 𝑅𝑎 𝑖𝑎 (𝑡) + 𝐿𝑎 + 𝐸𝑎 (𝑡) Ec.1 = Ec.14
𝑑𝑡 𝑉(𝑠) 𝐿𝑎 𝐽𝑆 2 +(𝑅𝑎 𝐽+𝐿𝑎 𝐵)𝑆+𝑅𝑎 𝐵+𝐾𝑚 𝐾𝑎

La ecuación de la parte mecánica del motor es la ecuación Ec.2.


𝑑𝜔(𝑡)
𝑇𝑚 (𝑡) = 𝐽 + 𝐵𝜔(𝑡) Ec.2
𝑑𝑡
INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022
De las ecuaciones Ec.11 a Ec.14 en el estado estable adquieren
la forma presentada por las ecuaciones Ec.15- Ec.18

𝑇𝑚(𝑠) 𝐾𝑚 𝐵
= Ec.15
𝑉(𝑠) 𝑅𝑎 𝐵+𝐾𝑚𝐾𝑎
𝐸𝑎 (𝑠) 𝐾𝑎 𝐾𝑚
= Ec.16
𝑉(𝑠) 𝑅𝑎 𝐵+𝐾𝑚𝐾𝑎
𝐼𝑎 (𝑠) 𝐵
= Ec.17
𝑉(𝑠) 𝑅𝑎 𝐵+𝐾𝑚 𝐾𝑎
𝜔(𝑠) 𝐾𝑚
= Ec.18
𝑉(𝑠) 𝑅𝑎 𝐵+𝐾𝑚 𝐾𝑎

Figura 7. Adquisición de datos experimentales para la


Utilizando las ecuaciones Ec.15 a Ec.18 se pueden determinar ecuación Ec.18.
los parámetros del motor de DC, para lo cual se realizan algunas
mediciones. Contando con los datos de las Figuras 4 a 7 y las ecuaciones
Ec.15 a Ec.18 se obtienen los parámetros del motor los cuales
son:

𝐾𝑎 = 0.053682
𝐾𝑚 = 0.033057
𝑅𝑎 = 4.188405
𝐿𝑎 = 0.590001
𝐵 = 0.000068
𝐽 = 0.000084

Aplicando estos parámetros a la ecuación Ec.14 resulta la


Figura 4. Adquisición de datos experimentales para
la ecuación Ec.15. ecuación Ec.19.

𝜔(𝑠) 0.033057
= Ec.19
𝑉(𝑠) 0.000049𝑠 2 +0.000391𝑠+0.002058

Si aplicamos la ecuación Ec.15 A Simulink de Matlab. Figura


6. Se obtiene la gráfica de la respuesta de la velocidad angular
en términos del voltaje de entrada, Figura 8.

Figura. 5. Adquisición de datos experimentales para


la ecuación Ec.17.
Figura 8. Diagrama de bloques en Simulink de la Ec.19.

Figura. 6. Adquisición de datos experimentales para


la ecuación Ec.16.
INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022
Entonces como an es mayor que a0, se puede decir que nuestro
sistema es inestable.

b) Funcion PID

Como implementación a nuestra función de trasferencia se le


hizo el control PID para que nuestra respuesta del motor sea la
más estable posible.
Como teníamos muchos problemas con nuestra función de
transferencia, utilizamos la función de un compañero, por la
cual es la siguiente:
0.01
𝐺(𝑠) =
0.005𝑠 3 + 0.0006𝑠 2 + 0.1001𝑠
La función para el control PID (posicional) es la siguiente:

𝑀(𝑘) = (𝑘𝑝 + 𝑘𝑖 + 𝑘𝑑)𝐸(𝑘) − (𝑘𝑝 − 2𝑘𝑑)𝐸(𝑘 − 1|)


+ 𝑘𝑑𝐸(𝑘 − 2) + 𝑀(𝑘 − 1)

Figura. 7. Grafica de la función de transferencia de la velocidad Por lo tanto, se mostrarán las conexiones que se hicieron en
angular contra el voltaje de entrada. Ec.19. simulink para poder ir calculando los valores de kp, kd y ki.

Al agregarle un integrador a nuestro diagrama para que nos de


la posición no entrega la siguiente grafica.

Figura 8. Diagrama de bloques en Simulink de la Ec.19


complementada con el integrador.
Figura 10. Diagrama de bloques en Simulink de la función PID
(posicional) completo.

En el subsistema se cableo la función PID del motor, como se


muestra en la siguiente imagen:

Figura 9. Grafica de la función de transferencia de la velocidad


angular contra el voltaje de entrada más un integrador. Ec.19

Ahora nuestra función de transferencia se le aplicara el criterio


jury, que nos determinara si nuestro sistema es estable o
inestable.
𝜔(𝑠) 0.033057
=
𝑉(𝑠) 0.000049𝑠 2 + 0.000391𝑠 + 0.002058
Figura 11. Diagrama de bloques en Simulink de la función PID
0.000049𝑠 2 + 0.000391𝑠
𝑃(𝑧) = ⏟ ⏟ + 0.002058
⏟ (posicional).
𝑎0 𝑎1 𝑎2
1 0.002058 0.000391 0.000049 Al declarar las variables en Matlab puedes ir variándolas para
2 0.000049 0.000391 0.002058 que nuestra y se parte de:
Kp=1
Entonces el primer paso para el criterio de jury, es que a n sea Kd=0
menor que a0 por ende quedaría de la siguiente manera: Ki=0
1.|0.002058|<|0.000049| Y se les va a ir variando esos valores esta que nosotros veamos
0.002058<0.000049 que nuestra grafica sea la más favorable.
INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022

Figura 12. Grafica arrojada del scope de nuestra función de PID


(Posicional).

Para la función de PID (Velocidad) es la siguiente:

𝑅(𝑧) − 𝐶(𝑧)
𝑀(𝑧) = −𝑘𝑝(𝑧) + 𝑘𝑖 − 𝑘𝑑(1 − 𝑧 −1 )𝐶(𝑧)
1 − 𝑧 −1

Para el subsistema se cableo de la siguiente manera:

Fig.16. Circuito físico de control de motor

Para poder hacer funcionar nuestro motor se hizo un código en


Figura 13. Diagrama de bloques en Simulink de la función PID Arduino el cual es el siguiente:
(velocidad) completo.
/********************
Por lo cual la grafica que nos muestra es la siguiente: double Kp=0.082201, Ki=1.7447, Kd=-0.0067911;
CONEXIÓN
> Arduino: (5V USB)
A0 = Sensor de posición
A1 = Sensor que lee el valor del SetPoint
D8 = IN1 --L298N
D9 = IN2 --L298N
D11 = PWM --L298N
> L298N (5v & 19v)
IN1
IN2
Figura 15. Grafica de la función de PID (velocidad). In PWM
********************/
En la figura 16 se puede observar el circuito realizado de #include <PID_v1.h>
manera física, donde se incluyen dos potenciómetros para #include <TimerOne.h>
controlar a un motor y un Arduino. En el software de Arduino #define potentrada A1// pin por donde entra el set point
se desarrolló previamente un código con la información #define potsensor A0// Pin de entrada de la lectura del sensor
relacionada en Matlab para que este pueda funcionar de manera
adecuada con ayuda de un puente h. // Control motor DC puente H
int IN1;
int IN2;
int PWM1;
int adelante = 1;
int atras = 0;

// Almacenamiento temporal de lectura del sensor


INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022
double ValorSensor; // Constantemente está leyendo el sensor de posición
ang= -0.1899*ValorSensor + 102.18; // Obtenido
//Definir vairables del control PID experimentalmente
double Setpoint, Input, Output;
float ang; // Algoritmo de protección de mecanismos de posición
//parámetros del PID if(ang>=100){
double Kp=1, Ki=1.7, Kd=0.006; shaftrev(IN1,IN2,PWM1,atras,0);
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, }else if(ang<=-100){
DIRECT); shaftrev(IN1,IN2,PWM1,atras,0);
}
// Accion en la interrupción
void flash(){ // Introduce el angulo para cerrar el lazo de control
myPID.Compute(); // Calcula la señal de control Input=ang;
Motor(Output); // Aplica la señal de control hacia el Motor
} //Muestra la lectura del sensor y el SP
Serial.print(ang); Serial.print("\t");Serial.println(Setpoint);
/----------------------------------------------------------------------/ }
void setup(){ /----------------------------------------------------------------------/
Serial.begin(9600);
IN1 = 9; // Función para accionar el giro del eje del motor
IN2 = 8; void Motor(double Usignal){
PWM1 = 11; double pwmS;
pinMode(IN1, OUTPUT);
pinMode(IN1, OUTPUT); if(Usignal>=0){
pinMode(PWM1, OUTPUT); pwmS=Usignal*10000/719-9089.0/719.0;
shaftrev(IN1,IN2,PWM1,atras, pwmS);
//Iniciando lectura de sensores }else{
ValorSensor = analogRead(potsensor); pwmS=-Usignal*10000/719-9089.0/719.0;
Input= -0.1899*ValorSensor + 102.18; // ángulos shaftrev(IN1,IN2,PWM1,adelante, pwmS);
sexagesimales }
// SP }
Setpoint = 60.0; // Valor del Setpoint en grados sexagesimales
- predeterminado // Función que configura el motor que se quiere controlar
void shaftrev(int in1, int in2, int PWM, int sentido,int Wpulse){
//Activa el PID if(sentido == 0){ //atras
myPID.SetMode(AUTOMATIC); digitalWrite(in2, HIGH);
// valores maximos y minimos de salida del controlador digitalWrite(in1, LOW);
myPID.SetOutputLimits(-5.0,5.0); analogWrite(PWM,Wpulse);
//TIempo de muestreo milisegundos para el PID }
myPID.SetSampleTime(3); if(sentido == 1){ //adelanto
digitalWrite(in2, LOW);
// Inicializando Interrupciones digitalWrite(in1, HIGH);
Timer1.initialize(4000); // cada 4ms analogWrite(PWM,Wpulse);
Timer1.attachInterrupt(flash); // la funcion flash se acciona en }
cada INT }
} Para la parte del código, solo es necesaria la ayuda de la librería
PID donde solo es necesario mostrar valores de kd, ki y kp,
void loop(){ además del Setpoint.
// Captura el valor de la lectura del sensor para el SP Haciendo mucho más fácil la labor de la programación del
Setpoint=int(analogRead(potentrada)/1024.0*180-90); código para el control PID.

// Pondera el valor de 3+1 lecturas del sensor de posición V. CONCLUSIONES


for(int i=1;i<=3;i++){ Teniendo en cuenta lo recabado en el curso, se consiguió la
ValorSensor += analogRead(potsensor); función de transferencia del modelo matemático del motor de
} corriente directa, dejando ver que los procedimientos realizados
ValorSensor=ValorSensor/4; a lo largo de esta practica fueron culminados de manera
satisfactoria.
INGENIERIA MECATRONICA ITSH SEMESTRE MARZO-JUNIO 2022
REFERENCIAS

[1]. Julio, G., Silene, V., Ada, A., & Jury, M. (2013). Respuesta
de variedades mejoradas de papa (Solanum tuberosum L.) al
estrés hídrico por sequía Response of potato varieties improved
(Solanum tuberosum L.) to water stress by drought. Journal of
the Selva Andina Biosphere, 1(1), 33-44.
[2]. Morales Benavides, B. I. (1983). Métodos y programas
computacionales para análisis de estabilidad de sistemas
discretos (Bachelor's thesis, Quito: EPN, 1983.).
[3]. Ogata, K. (1996). Sistemas de control en tiempo discreto.
Pearson educación.
[4]. VALDIVIA MIRANDA, C. A. R. L. O. S. (2012). Sistemas
de control continuos y discretos. Editorial Paraninfo.

También podría gustarte