Beruflich Dokumente
Kultur Dokumente
505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
OBJETIVOS:
Objetivo General:
Objetivos específicos:
HIPÓTESIS:
Hipótesis General:
El control de una planta de temperatura requiere una sintonización del control PID mediante un software
apropiado.
Hipótesis Operativa:
METAS:
Metas a corto plazo:
MARCO TEÓRICO:
Modelamiento
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
Analisis Cinemático: La posición de un punto P sobe el péndulo puede ser descrito por el vector
Donde la variable ra representa la posición radial del brazo y rp es la posición radial del péndulo. Las distancias
radiales son medidas desde el centro de rotación de los cuerpos al derivar se obtiene la velocidad
Expresión de energía
1 (3)
𝑇 = ∫ 𝑣 2 𝑑𝑚
2
(4)
𝑉 = 𝑔 ∫ 𝑟𝑧 𝑑𝑚
Pilar central
2𝑇𝑐 = 𝐽𝜑 2 (5)
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
𝑉𝑐 = 0 (6)
Brazo Horizontal
𝑙𝑎 (7)
2𝑇𝑐 = ∫ 𝑣 2 (𝑠, 0)𝑚𝑎 /𝑙𝑎 𝑑𝑠
0
1 (8)
2𝑇𝑐 = 𝑚 𝑙 2𝜑2
3 𝑎𝑎
𝑉𝑎 = 0 (9)
Brazo Pendular
𝑙𝑝 (10)
2𝑇𝑝 = ∫ 𝑣 2 (𝑟𝑎 , 𝑠)𝑚𝑝 /𝑙𝑝 𝑑𝑠
0
(11)
1 (12)
𝑉𝑝 = 𝑚 𝑔𝑙 𝑐𝑜𝑠𝜃
2 𝑝 𝑝
1 (13)
= 𝑚𝑝 𝑔𝑙𝑝 𝑐𝑜𝑠𝜃
2
La energía cinética total del péndulo invertido rotacional está dada por
𝑇 = 𝑇𝑐 + 𝑇𝑎 + 𝑇𝑝 (14)
𝑉 = 𝑉𝐶 + 𝑉𝑎 + 𝑉𝑃 (15)
Ecuaciones de movimiento
Lagrangiano
𝐿 =𝑇−𝑉 (16)
𝜕 𝑑𝐿 𝑑𝐿
( )− = 𝜏∅
𝜕𝑡 𝑑∅̇ 𝑑∅
(17)
𝜕 𝑑𝐿 𝑑𝐿
( )− =0
𝜕𝑡 𝑑𝜃̇ 𝑑𝜃
Siendo 𝜏∅ el torque externo aplicado al brazo horizontal. Las derivadas parciales son:
𝑑𝐿
=0
𝑑∅
𝑑𝐿 1 1 1
= (𝐽 + ( 𝑚𝑎 + 𝑚𝑝 ) 𝑙𝑎2 + 𝑚𝑝 𝑙𝑝2 𝑠𝑒𝑛2 𝜃) ∅̇ + 𝑚𝑝 𝑙𝑎 𝑙𝑝 𝑐𝑜𝑠𝜃𝜃̇
𝑑∅̇ 3 3 2
𝑑𝐿 1 1 1
= 𝑚𝑝 𝑙𝑝2 𝑐𝑜𝑠𝜃 𝑠𝑒𝑛𝜃 ∅̇2 − 𝑚𝑝 𝑙𝑎 𝑙𝑝 𝑠𝑒𝑛𝜃∅̇𝜃̇ + 𝑚𝑝 𝑔𝑙𝑝 𝑠𝑒𝑛𝜃
𝑑𝜃 3 2 2
𝑑𝐿 1 1 ̇
= 𝑚𝑝 𝑙𝑎 𝑙𝑝 𝑐𝑜𝑠𝜃∅ + 𝑚𝑝 𝑙𝑝2 𝜃̇
𝑑𝜃̇ 2 3
1 1
𝛼 = 𝐽 + ( 𝑚𝑎 + 𝑚𝑝 ) 𝑙𝑎2 𝛽 = 𝑚𝑝 𝑙𝑝2
3 3
(19)
1 1
𝛾= 𝑚 𝑙 𝑙 𝛿 = 𝑚𝑝 𝑔𝑙𝑝
2 𝑝𝑎𝑝 2
Resultan las ecuaciones del movimiento para el sistema:
(20)
Teniendo en cuenta que el par de control se genera por un motor de corriente continua controlado por voltaje:
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
𝜕𝑖 𝑉 𝐾𝑒 . ∅ (21)
𝑉 = 𝑅. 𝐼 + 𝐿 + 𝐾𝑒 . ∅ → 𝐼 = −
𝜕𝑡 𝑅 𝑅
En la expresión anterior se desprecia el efecto inductivo en el motor (por ser muy pequeño) para simplificar el
modelo.
𝐾𝑒 𝐾𝑒 2 (22)
𝜏∅ = 𝐾𝑡 . 𝐼 → 𝜏 = .𝑉 − . ∅̇
𝑅 𝑅
Debido a que en los motores de corriente de continua el valor de Kt y el valor de Ke son casi idénticos, se
reemplaza Kt por Ke en la expresión anterior.
𝑥̇ 1 = 𝑥2
(23)
𝑥̇ 3 = 𝑥4
𝑥̇ 4
̇
𝛽(𝛼 + 𝛽𝑠𝑒𝑛2 𝜃)𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜃𝜑̇ 2 + 2𝛽𝛾(1 − 𝑠𝑒𝑛2 𝜃)𝑠𝑒𝑛𝜃𝜑 − 𝛾 2 𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜃𝜃 ̇ 2 + 𝛿(𝛼 + 𝛽𝑠𝑒𝑛2 𝜃)𝑠𝑒𝑛𝜃 − 𝛾𝑐𝑜𝑠𝜃𝜏∅
=
𝛼𝛽 − 𝛾 2 + (𝛽 2 + 𝛾 2 )𝑠𝑒𝑛2 𝜃
Puntos de equilibrio
Igualando las derivadas de las variables de estado en la representación (21), se obtiene el siguiente sistema de
ecuaciones simultáneas no lineales:
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
0 = 𝑥2
0 = 𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜃
(24)
0 = 𝑥4
0 = (𝛼 + 𝛽𝑠𝑒𝑛2 𝜃)(𝛿𝑠𝑒𝑛𝜃)
Por lo tanto, los puntos de equilibrio del sistema son 𝑥1 ,0,𝜃0 ,0)
Linealización
Sea
𝑑𝑥 (25)
= 𝑓(𝑥, 𝜏)
𝑑𝑡
𝑑(𝛿𝑥) 𝛿𝑓 𝛿𝑓 (27)
= |0 𝛿𝑥 + | 𝜏 = 𝐴𝛿𝑥 + 𝐵𝜏
𝑑𝑡 𝛿𝑥 𝛿𝑥 0
Con 𝛿𝑥 = 𝑥 − 𝑥0
(28)
(29)
𝛼𝛿
{0,0, ±√ }
𝛼𝛽 − 𝛾 2
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
El sistema linealizado posee un valor propio en la parte derecha del semi-plano complejo. Basado en el método
de linealización de Lyapunov se puede concluir que el punto de equilibrio 𝑥0 0,0,0,0) es inestable.
(30)
(31)
𝛼𝛿
{0,0, ±√ }
𝛼𝛽 − 𝛾 2
El sistema linealizado posee cuatro valores propios sobre el eje j , así que no se puede llegar a una conclusión
sobre la estabilidad de este punto de equilibrio a partir de la aproximación lineal.
DESARROLLO
PROGRAMACION ENCODER
volatile int contador=0; // Declaramos como 'volatile' las variables que participan dentro y fuera de la interrupción.
byte ant=0, act=0; // Sólo se utiliza los dos primeros bits de estas variables. ant=anterior, act=actual.
void setup()
/*
pinMode(3, INPUT); // los puedes poner si quieres. Los pines 2 y 3 es donde va conectado el encoder incremental.
*/
void loop()
if(n != contador) // Sólo cuando la variable contador cambie de valor se transmite dicho valor.
n=contador;
Serial.println(contador);
void encoder()
if(digitalRead(2)==1) bitSet(act,0); else bitClear(act,0); // Seteamos los dos primeros bits de la variable 'act' con
if(digitalRead(3)==1) bitSet(act,1); else bitClear(act,1); // el valor de este instante, como un número de dos bits.
Una manera de leer el encoder de forma más eficiente sería hacerlo en paralelo en vez de comprobar bit a bit.
La función/interrupción encoder() quedaría así:
void encoder()
{
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
act=PIND & 12; // Guardamos en 'act' el valor que hay en ese instante en el encoder y hacemos un
// enmascaramiento para aislar los dos únicos bits que utilizamos para esta finalidad.
volatile int contador=0; // Declaramos como 'volatile' las variables que participan dentro y fuera de la interrupción.
byte ant=0, act=0; // Sólo se utiliza los dos primeros bits de estas variables. ant=anterior, act=actual.
void setup()
/*
pinMode(3, INPUT); // los puedes poner si quieres. Los pines 2 y 3 es donde va conectado el encoder incremental.
*/
void loop()
{
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
if(n != contador) // Sólo cuando la variable contador cambie de valor se transmite dicho valor.
n=contador;
Serial.println(contador);
void encoder()
if(digitalRead(2)==1) bitSet(act,0); else bitClear(act,0); // Seteamos los dos primeros bits de la variable 'act' con
if(digitalRead(3)==1) bitSet(act,1); else bitClear(act,1); // el valor de este instante, como un número de dos bits.
Una manera de leer el encoder de forma más eficiente sería hacerlo en paralelo en vez de comprobar bit a bit.
La función/interrupción encoder() quedaría así:
void encoder()
act=PIND & 12; // Guardamos en 'act' el valor que hay en ese instante en el encoder y hacemos un
// Enmascaramiento para aislar los dos únicos bits que utilizamos para esta finalidad.
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
Angulo Positivo
400
300
250
200
150
100
50
0
0 200 400 600 800 1000 1200 1400 1600 1800
-50
Angulo Negativo
0
-1800 -1600 -1400 -1200 -1000 -800 -600 -400 -200 0
-50
y = 0.2227x - 8.8423
-100
-150
-200
-250
-300
-350
-400
Figura N° 2 Grafica Angulo Negativo
Una vez que se obtuvo el modelo matemático se procede a la realización de la sintonización de control
PID, para este caso lo más recomendable es la utilización del criterio de la ganancia límite. A
continuación se detalla minuciosamente como se ejecuta este criterio:
𝐾𝐷 = 0 𝑇𝐷 = 0
𝐾𝐼 = 0 𝑇𝐼 = ∞
En la siguiente tabla se muestra los valores iniciales que se añadió para obtener oscilaciones
constantes.
Valor de la ganancia
Oscilación
Crítica Kc
0.20 No oscila
No oscila
0.21
No oscila
0.22
No oscila
0.23
No oscila
0.24
No oscila
0.25
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
No oscila
0.26
No oscila
0.27
No oscila
0.28
No oscila
0.29
No oscila
0.30
No oscila
0.31
No oscila
0.32
No oscila
0.33
No oscila
0.34
No oscila
0.35
No oscila
0.36
No oscila
0.37
No oscila
0.38
No oscila
0.39
No oscila
0.40
No oscila
0.41
Oscila
0.42 constantemente
Como ya se consiguió tener las oscilaciones contantes con Kc = 0.423 se procede a calcular Ti y Td basándose
en la Figura N° 1.
PID:
𝐾𝑝 = 0.6 ∗ 𝐾𝑐 = 0.2538
𝑇𝑖 = 0.5 ∗ 𝑇𝑐 = 2.6
𝑇𝑑 = 0.125𝑇𝑐 = 0.65
CONTROLADOR PD.
Balance de control PD
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
En este apartado vamos a controlar el péndulo de Furuta entorno al punto de funcionamiento, es decir, entorno
a la posición vertical del mismo a la vez que vamos a intentar controlar también el ángulo del brazo, phy. Por
tanto se van a controlar dos variables, el ángulo del péndulo y del brazo, con una sola variable de actuación, la
tensión de entrada al motor.
Se va a intentar establecer en que rango entorno al punto de funcionamiento el balance de control PD es capaz
de controlar adecuadamente y se van a discutir los resultados.
Como es sabido, un control PD proporciona una entrada al sistema que es la suma de un término proporcional
y otro derivativo del error, actuando este último fundamentalmente en el régimen transitorio del sistema que es
cuando mayormente varía el error y por tanto la variación del error respecto del tiempo es mayor, como en
régimen permanente apenas varía el error la variación del mismo es prácticamente cero provocando una
actuación insignificante por parte del término derivativo.
Con un solo control PD es imposible controlar dos salidas, por ello la entrada al sistema va a ser la suma de
dos controladores PD, uno aplicado a una de las salidas y el otro PD a la otra salida, de este modo si alcanzamos
la referencia para una de las salidas pero no para la otra seguiremos teniendo una señal de entrada al sistema
hasta que ambas referencias sean alcanzadas.
La tensión de entrada a nuestro modelo es la suma de dos controladores PD, tal como se comentó
anteriormente. El control que se aplica a la posición del ángulo del brazo del péndulo, phy, contiene un término
proporciona Kp con valor -2 y un término derivativo Kd con valor 0.8, previa a la ganancia derivativa podemos
ver un filtro HP con la función de transferencia,
Control LQR
Para poder realizar el control LQR previamente tenemos que linealizar nuestro sistema para pasarlo al espacio
de estados, en este apartado se intentará explicar detalladamente la linealización de ecuaciones diferenciales.
Antes de linealizar ecuaciones diferenciales veremos como linealizar una ecuación algebraica y se comentará
su significado.
Sea la función no lineal 𝑦 𝑡 = 𝑡2, suponiendo que queremos tener una aproximación lineal a dicha función en
𝑡𝑜 = 2, la ecuación que rige dicha función lineal es la siguiente
𝑡=𝑡𝑜 (𝑡 − 𝑡𝑜 )
(𝑡)𝐿𝐼𝑁 = 4 + 4(𝑡 − 2)
Se introduce el término de variable incremental, 𝛼 𝑡 = 𝑡 − 𝑡𝑜. Como se puede ver en la figura 2-32 para que la
aproximación lineal sea válida hemos de estar entorno a 𝑡𝑜, es decir, la variable incremental debe estar
próxima a cero. Además de modelo de variables incrementales a veces también se le puede llamar modelo de
pequeña señal.
Si tenemos más variables entorno a las que linealizar el procedimiento es idéntico, sea la función 𝑓 𝑥, 𝑦 =𝑥𝑦
se quiere linealizar entorno a 𝑥𝑜 = 0 𝑦𝑜 = 0. Se definen las variables incrementales
𝛼 𝑡 = 𝑥 𝑡 − 𝑥𝑜
𝛽 𝑡 = 𝑦 𝑡 – 𝑦𝑜
Para linealizar ecuaciones diferenciales básicamente hacemos lo mismo que para ecuaciones algebraicas pero
teniendo en cuenta que:
1) Si hay una parte de la ecuación diferencial que se deriva respecto al tiempo, el primer paso es realizar
dicha derivación total, véase el siguiente ejemplo.
2) Hay que tomar la expresión de Taylor, derivar parcialmente, respecto de todas las variables y sus
derivadas, ya que todas tendrán un valor concreto en el punto de funcionamiento.
A continuación se van a linealizar las ecuaciones de movimiento de péndulo de Furuta entorno al punto de
funcionamiento que no es otro que 𝜃𝑜 = 0, 𝜃 𝑜 = 0, 𝜃 0 = 0, 𝜑𝑜 = 0, 𝜑 𝑜 = 0, 𝜑 𝑜 = 0 𝑦 𝑢𝑜 = 0, que sería con el
péndulo en posición vertical hacia arriba con el brazo en un ángulo de cero grados, donde no debe de haber
movimiento, de ahí que las derivadas temporales sean cero, y con tensión aplicada igual a cero voltios.
Con,
∆= 𝛽 + 𝑠𝑖𝑛2𝜃 − 𝛼2𝑐𝑜𝑠2𝜃
Linealizando la primera ecuación término a término queda que el término de la izquierda de la igualdad se reduce
a (𝛽 − 𝛼2) , el primer, segundo y tercer sumando de la derecha se reducen a cero, al igual que el quinto, mientras
que el cuarto queda como 𝛽𝜃, el sexto queda – 𝛾𝛼𝑢 y el último queda igual al ser ya lineal.
Por otro lado, linealizando la segunda ecuación diferencial queda que ∆𝜑 → (𝛽 − 𝛼2) , 𝛼𝜃 2 sin 𝜃 → 0,−𝛼𝜑 2 sin
𝜃 𝑐𝑜𝑠2𝜃 → 0 , −2𝜃 𝜑 sin 𝜃 cos 𝜃 → 0, −𝛼 sin 𝜃 cos 𝜃 → −𝛼𝜃 y los dos términos restantes ya son lineales.
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
Por tanto, obtenemos la siguiente ecuación de movimiento linealizada entorno al punto de funcionamiento:
𝛽 − 𝛼2 𝜃 = 𝛽 𝜃 − 𝛾 𝛼 𝑢 − 𝑐𝑝 𝜃
𝛽 − 𝛼2 𝜑 = −𝛼 𝜃 + 𝛾 𝑢 − 𝑐𝑎 𝜑
Una vez que tenemos las ecuaciones linealizadas de movimiento vamos a tratar de describirlas en espacio de
estados, esto es, describirlas de la forma siguiente,
𝑥 =𝐴𝑥+𝐵𝑢
𝑥 = [𝜑 𝜃 𝜑 𝜃]
La ecuación de movimiento, considerando que α=0.56, β=0.74, γ=2.37, cp=0.5 y ca=0.5, queda como,
#include <Encoder.h>
#include <PID_v1.h>
#include <TimerOne.h>
#include <SoftwareSerial.h>
#define TxD 9
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
double E;
double reqE=4.2;
Encoder myEnc(2,3);
void setup() {
nextion.begin(115200);
nextion.print("cle 1,255\xFF\xFF\xFF");
Serial.print("cle 1,255\xFF\xFF\xFF");
Serial.begin(115200);
pinMode(dirA,OUTPUT);
pinMode(dirB,OUTPUT);
pinMode(motorPWM,OUTPUT);
setPoint=3.14;
myPID.SetMode(AUTOMATIC);
myPID.SetOutputLimits(-150, 150);
myPID.SetSampleTime(5);
}
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
void loop() {
int envia=newPosition*255/6.28;
enviaDato (1,0,envia);
input = newPosition*0.00157; // Since the encoder generates 4000 pulses in 1 revolution 4000 pules= 360 degree Hence,
1 pulse=0.09 degree
//Serial.println(input);
if(input > 2.96 && input < 3.31) balance(); // Switch the controller between 170 and 190 degrees
else
digitalWrite(dirA,LOW);
digitalWrite(dirB,HIGH);
analogWrite(motorPWM,90);
delay(30);}
digitalWrite(dirA,HIGH);
digitalWrite(dirB,LOW);
analogWrite(motorPWM,90);
delay(30);
}
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
void balance(){
myPID.Compute();
if(output>=0){
digitalWrite(dirA,HIGH);
digitalWrite(dirB,LOW);
analogWrite(motorPWM,abs(output));
else if(output<0){
digitalWrite(dirA,LOW);
digitalWrite(dirB,HIGH);
analogWrite(motorPWM,output);
void callback()
newPosition = myEnc.read();
rate=((newPosition-prevPosition)*0.00157)/0.01;//0.01 second is the sample time and we are converting the velocity in
radians per second 1 degree=0.01744 radians and 1 pulse=0.09 degree since 360 degree=4000 pulses
newPosition -= 4000;
myEnc.write(newPosition);
else if(newPosition<-4000)
newPosition += 4000;
myEnc.write(newPosition);
}
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
prevPosition=newPosition;
E=0.010773*y*y+1.0536*(1+cos(z));
return E;
comando += id;
comando += ",";
comando += canal;
comando += ",";
comando += dato;
comando += "\xFF\xFF\xFF";
nextion.print(comando);
Serial.print(comando);
RESULTADOS:
De acuerdo al proceso que se efectuó el control PID del Péndulo de Furuta requiere de una interpretación
minusiosa, es decir, al realizar la oscilación de la masa su movimiento es tridimensional lo cual es necesario
tener ecuaciones en función de estos movimientos, para ello la parte o los parámetros fundamentales en la
oscilación es la posición angular y la velocidad angular de la masa, también para que se efectúe un movimiento
adecuado es necesario tener una masa adecuada para alcanzar la estabilidad en la parte superior.
ANÁLISIS DE RESULTADOS:
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
Para efectuar el movimiento se basó en el movimiento del péndulo simple como se muestra en la Figura a
continuación, se trata de realizar el movimiento de izquierda a derecha lo cual tomando como referencia la
masa en reposo (0,0) sus puntos de movimiento toma valores positivos y negativos como ya se desarrolló en
su modelamiento matemático
Figura N° 5 Movimiento bidimensional del péndulo, representa diferentes fuerzas durante el movimiento lo cual es primordial para el análisis del
cuerpo dinámico.
CONCLUSIONES:
De acuerdo a la revisión de la parte mecánica del proyecto, las condiciones en que se encuentra son
favorables ya que el péndulo, la base y la masa cuentan con un correcto desempeño y funcionamiento.
Es improbable que el modelo falle mecánicamente.
En la parte electrónica del proyecto hay una serie de dificultades que radican en la mala selección de los
componentes al momento de la implementación del modelo, es decir, los componentes no cumplen con
los requerimientos necesarios para el adecuado control del péndulo de Furuta. Este ámbito es el que más
fallas puede producir dentro del funcionamiento del proyecto.
Se debe realizar una redistribución de los elementos del modelo, tomando en cuenta factores como la
protección de los mismos y la factibilidad de su ubicación en el modelo. Hay componentes que no se
encuentran debidamente ubicados y por lo tanto no se puede disponer el modelo de una manera adecuada
para su funcionamiento.
El control que se debe realizar debe ser una especie de control hibrido dividiendo el proceso en dos partes,
una en que la masa se eleve cerca al punto de estabilidad y otra en que la masa se estabilice dentro de un
rango menor de variabilidad. Este control debe diseñarse de acuerdo a un modelo matemático que sea
fiable y bastante bien adaptado al modelo real del proyecto del péndulo de Furuta.
RECOMENDACIONES:
CÓDIGO: SGC.DI.505
GUIA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 19/12/2017
Revisar las conexiones del encoder a la tarjeta Arduino ya que debido al movimiento de la estructura
estos se enredan y se rompen, encontrar una mejor manera de conexión sería lo ideal.
Proteger la circuitería del ambiente exterior es decir, que posea una estructura que cubra los elementos
que se pueden dañar al estar expuestos a todas las condiciones ambientales.
BIBLIOGRAFÍA:
FIRMAS
F:
F: ………………………………………………
F: ………………………………………… ……
……………………………………… …….
……. Nombre:
Nombre: COORDINADOR/JEFE DE
Nombre: COORDINADOR DE ÁREA DE LABORATORIO
DOCENTE CONOCIMIENTO