Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE I NGENIERÍA
I NGENIERÍA EN AUTOMATIZACIÓN
Control II
Práctica 2
Profesor:
Dr. Roberto Valentín Carrillo Serrano
Equipo 2
Integrantes:
21 de Octubre de 2023
Índice
1. Objetivo 2
2. Marco Teórico 2
3. Materiales y Métodos 2
3.1. Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Resultados y Discusión 4
4.1. Arcadia Soto Jehú . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Leyva Sánchez Gerardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3. Ramos Mayorga Javier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4. Muro González Ángel David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.5. David Karim Pérez López . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.6. Parral Medrano Diego Iván . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.7. Resultados y discusión del equipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Conclusiones 7
5.1. Arcadia Soto Jehú . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Leyva Sánchez Gerardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3. Ramos Mayorga Javier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.4. Muro González Ángel David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.5. Pérez López David Karim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.6. Parral Medrano Diego Iván . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.7. Conclusiones del equipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Bibliografía 8
6. Anexos 9
6.1. Programa de DEV C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Índice de figuras
1. Plataforma experimental RKCII. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Gráfica de Bode realizada en EXCEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Índice de cuadros
1. Características de la laptop del compañero Leyva Sánchez Gerardo. . . . . . . . . . . . . . . . 3
2. Características de la laptop del compañero Ramos Mayorga Javier. . . . . . . . . . . . . . . . . 3
3. Resultados experimentales obtenidos desde MATLAB y EXCEL. . . . . . . . . . . . . . . . . 4
1. Objetivo
Identificar los parámetros de un motor de CD con escobillas con la técnica de la respuesta en frecuencia
para obtener los valores numéricos de la función de transferencia cuando entra voltaje y sale velocidad angular.
2. Marco Teórico
Identificación Cp y Ck (Carrillo-Serrano, 2023):
m K Km
Θ(s) Ck Km Ra b + Km Kb
= Ra b+Km Kb = Ra J
= , Ck = , Cp =
Va (s) Ra J
s Ra b+K s + 1 s s+ Ra b+Km Kb s (s + Cp ) Ra J Ra J
m Kb Ra J
(1)
Donde:
Km : constante de par.
Ra : resistencia de armadura.
b: coeficiente de fricción viscosa.
J: momento de inercia.
Kb : constante de fuerza contraelectromotriz.
Así la función de transferencia simplificada en posición es (Carrillo-Serrano, 2023):
Θ(s) Ck
= (2)
Va (s) s (s + Cp )
Pasando la s del denominador de (2) al primer miembro (Carrillo-Serrano, 2023):
|Ck | Ck B
|G (jω)| = =q = (4)
|Cp + jω| 2
Cp + ω 2 A
ω
∠G (jω) = 0 − arctan (5)
Cp
Con w = 0.1 y usando (4):
B
q
Ck = Cp 2 + ω 2 (6)
A
3. Materiales y Métodos
3.1. Materiales
Para la realización de esta práctica utilizamos el siguiente material:
2
• DEV C++
◦ Versión: 5.11.
Plataforma experimental RKCII, mostrada en la Figura 1.
Durante la actividad, se usaron dos laptops: la de Ramos Mayorga Javier y la de Leyva Sánchez Gerardo.
La laptop de Ramos Mayorga Javier fue utilizada para manejar la plataforma experimental y elaborar gráficas
en MATLAB con información de DEV C++. En todo momento, se compartieron los valores con Leyva Sánchez
Gerardo, quien los procesó en EXCEL. Este software, al aplicar las fórmulas correspondientes, permite hacer
cálculos de manera automática y fue empleado para obtener las gráficas de Bode. Las características de las
laptops se detallan en los Cuadros 1 y 2.
Marca: HP
Windows: 8.1 Single Language
Procesador: AMD A6-5200 APU
Memoria RAM: 8.00 [GB] (7.46 [GB] utilizable)
Tipo de Sistema: Sistema operativo de 64 [bits], procesador x64
Id. del Producto: 00179-40476-94726-AAOEM
Id. del dispositivo: 2F2721EE-A326-492A-B196-61DE77A24B64
Marca: ASUS
Windows: Windows 11 Home Single Language 22H2
Procesador: 11th Gen Intel(R) Core(TM) i3-1115G4
Memoria RAM: 12 [GB] (8 [GB] utilizable)
Tipo de Sistema: Sistema operativo de 64 [bits], procesador x64
Id. del Producto: 00342-41446-18108-AAOEM
Id. del dispositivo: 94DF8ED1-B75E-48A1-B770-76A08F84AF67
3.2. Métodos
Los pasos que realizamos para lograr el objetivo de ésta segunda práctica del curso de Control II, fueron los
siguientes:
1. Se verificó que las conexiones de la plataforma experimental eran las correctas.
2. El primer día, se utilizó la laptop del profesor Roberto Valentín Carrillo Serrano, en la cual se abrieron
DEV C++ y MATLAB. Los días subsecuentes, se hizo uso de la laptop del compañero Ramos Mayorga
Javier para abrir los mismos programas. Por su parte, en la laptop de Leyva Sánchez Gerardo, solo se
abrió EXCEL.
3
3. Se confirmó que en el código proporcionado por el Dr. Roberto Valentín estuviera declarada la ecuación
(7), que nos sirvió para obtener la señal de entrada de voltaje al sistema de control.
4. Se procedió a sustituir el valor de ω en el código de DEV C++, realizando varias veces la experimentación,
modificando el valor de ω en la ecuación (7).
5. Pusimos en marcha la plataforma experimental y ejecutamos el código en DEV C++ durante un tiempo
previamente calculado en EXCEL con la fórmula del inverso de la frecuencia, es decir, el periodo en [s].
6. Mientras transcurrieron los segundos correspondientes en cada experimentación observamos a través de
la pantalla de la computadora el comportamiento del motor de CD, complementando con las gráficas
generadas en MATLAB al parar la ejecución del código y la plataforma experimental una vez que pasaron
los respectivos segundos en cada prueba.
4. Resultados y Discusión
A partir de los valores del Cuadro 3, la Figura 2 y haciendo uso de la fórmula (6), se obtuvieron los valores
de Cp y Ck . Siendo Cp = 0.9 y Ck = 15.46.
4
Figura 2: Gráfica de Bode realizada en EXCEL.
5
Pasa Bajas, debido a que su capacidad de movimiento decrece progresivamente en la medida en que aumenta
la frecuencia. En este sentido, se puede inferir que el motor no dispone de la aptitud para efectuar cambios de
manera tan rápida.
En la Figura 2 podemos observar los datos, es importante destacar que el renglón número 7 se encuentra
ω de 0.9 rad
s que corresponde al parámetro Cp obtenido por medio de la experimentación. El diagrama de
Bode revela que, tal y como se había señalado previamente, el filtro rechaza las frecuencias altas, lo que implica
una disminución en su magnitud.
Una vez obtenidos estos valores se calculó Ck , haciendo uso de la ecuación (6), obteniendo un valor de
Ck = 15.46.
Por último, agrego que tuvimos dificultades para determinar Cp a causa de algunos problemas con la he-
rramienta DataTip en las gráficas en MATLAB y la interferencia de otros elementos en la computadora. La
técnica definitiva a la hora de obtener los valores mediante las gráficas en MATLAB fue propuesta por nuestro
compañero Vargas Carrillo Mauricio.
6
4.6. Parral Medrano Diego Iván
Primero comenzaremos hablando del Cuadro 3 en el cual utilizamos valores de ω desde 0.1 hasta 10 con
el objetivo de analizar y comprender el comportamiento del motor de CD con cambios de giro a diferentes
frecuencias. Asignando los diferentes valores ya preestablecidos de ω, obtuvimos los resultados del resto de las
variables del Cuadro 3.
Con base en los datos obtenidos en Bmax y en Bmin observamos que comienzan con valores con una
diferencia de 30 rad
s y conforme va aumentando la frecuencia la amplitud de la señal va disminuyendo y la
diferencia entre ellas también.
Otro dato importante que hay que recalcar es cuando ω tiene valor de 0.90 rad
s , podemos observar que en
este valor es cuando decae 3 [dB] por lo tanto, en este punto obtenemos la frecuencia de corte.
Después tenemos la figura 2 que obtuvimos mediante EXCEL que nos muestra claramente como va deca-
yendo la respuesta del motor conforme va aumentando el valor de ω, demostrándonos que este motor no está
diseñado para brindar buenas respuestas a alta frecuencia.
5. Conclusiones
7
Es notable que nuestros cálculos teóricos coinciden de manera destacada con las observaciones del comporta-
miento físico del sistema. Esto refleja una sólida comprensión de los conceptos involucrados y la capacidad para
llevar a cabo experimentos significativos.
Referencias
Carrillo-Serrano, R. V. 2023. Material didáctico control II. Notas de clase.
8
6. Anexos
6.1. Programa de DEV C++
En este anexo se muestra el código fuente utilizado en DEV C++.
#include <iostream>
#include <string.h>
#include<dos.h>
#include <windows.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#define Ts 0.01
#define ppr 400.0
#define pi_ 3.141593
#define VM 10.3
#define VNM 10.0
if((fp=fopen("MONIT.txt","w+"))==NULL)
{
printf("No se puede abrir el archivo.\n");
exit(1);
}
/*abrimos el puerto*/
h=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if(h == INVALID_HANDLE_VALUE)
{
/*ocurrio un error al intentar abrir el puerto*/
}
/*Configuramos el puerto*/
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.fBinary = TRUE;
dcb.fParity = TRUE;
DWORD n;
char enviar;
int recibido;
/* De la llamada a WaitCommEvent solo se retorna cuando ocurra51. * el evento seteado con SetCommMask */
// WaitCommEvent(h, &dwEventMask, NULL);
9
/* Recibimos algun dato!*/
while(1)
{
ReadFile(h, &recibido, 1/* leemos un byte */, &n, NULL);
if(!n)
break;
else
{
if(flagcom!=0)
flagcom++;
if((recibido==0xAA)&&(flagcom==0))
{
pos=0;
flagcom=1;
}
if(flagcom==2)
{
pos=recibido;
pos=pos<<8;
}
if(flagcom==3)
{
p_1=p;
pos=pos+recibido;
p=(signed short int)pos;
p=esc*p;
if(abs(p-p_1)<60)
y=(p-p_1)*iTs;
u=2.0+sin(10.0*t);
//u=sin(0.628*t);
//u=1.0;
if(u>VNM)
u=VNM;
if(u<-VNM)
u=-VNM;
pwmf=u;
if(pwmf<0)
pwm=pwm+128;
//Imprimiendo en pantalla
printf("%3.3f\t%3.3f\t%3.3f\n",t,y,u);
flagcom=0;
t=t+Ts;
}
}//cierre del else
//printf("%c",recibido);
//cout << recibido; /* mostramos en pantalla */
}//CIERRE WHILE()
}//CIERRE WHILE()
fclose(fp);
return 0;
}
10