Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Materia.
Control
Nombre de la actividad
PRACTICA 1 - BALANCIN
Unidad
Tema 3
Grado
A
Grupo
7
Fecha
14/12/2021
INDICE
Contenido
Contenido
INTRODUCCION ..................................................................................................................................... 3
MARCO TEORICO.................................................................................................................................... 5
Acción proporcional ...................................................................................................................................... 5
Arduino .......................................................................................................................................................... 6
Período de medida y reacción ....................................................................................................................... 7
Cálculo de la velocidad de la bola ................................................................................................................. 7
DESARROLLO: PID BALANZA Y BOLA ........................................................................................................ 8
MATERIALES .................................................................................................................................................. 8
PIEZAS EN 3D (IMPRESOS) ...................................................................................................................... 8
PROCEDIMIENTO ......................................................................................................................................... 15
SINTONIZACIÓN PID ............................................................................................................................. 16
FOTOGRAFIAS ..................................................................................................................................... 17
ESQUEMA DEL SISTEMA .............................................................................................................................. 17
COMENTARIOS RESPECTO A LA PRACTICA .............................................................................................. 24
PROGRAMACION ................................................................................................................................. 26
CONCLUSION ....................................................................................................................................... 30
INTRODUCCION
El control por realimentación tiene una larga historia que comenzó con el deseo
primordial de los seres humanos de dominar los materiales y las fuerzas de la
naturaleza en su provecho. El reloj de agua, inventado por ktesibios de Alejandría
(Egipto, 260 a.c.) fue posiblemente el primer sistema realimentado creado por el
hombre. Su finalidad es mantener el nivel de agua de un tanque constante. Para
controlar el nivel se emplea un flotador o válvula flotante.
Cuando el nivel del agua disminuye, dicha válvula favorece un aumento del caudal
que alimentaba a este depósito, posibilitando la subida del nivel de este, y cuando el
nivel de agua aumentaba, la válvula limita el caudal. Así se conseguía que el nivel
del tanque permanezca constante. De esta forma se creó también el primer
controlador, la Válvula de flotador. Hoy en día, cualquier planta moderna tiene
innumerables y sofisticados controladores para regular sus procesos, pero esto no
sería posible sin los avances del pasado.
Durante los años se han ido creando nuevas tecnologías que han ido ligadas a los
mayores periodos de desarrollo de la sociedad, pero los fundamentos y conceptos
principales no son diferentes a los que se pensaron hace dos milenios.
OBJETIVOS
Acción proporcional
La finalidad del sistema es conseguir que la variable del proceso sea igual a la
referencia. Esto se logra cuando se ha elegido de forma satisfactoria los valores de
las ganancias proporcional, integral y derivativa. Este procedimiento se conoce
como sintonizar el controlador PID. Esto suele ser un proceso iterativo donde se van
variando los valores de las ganancias individualmente observando la respuesta del
sistema. Sin embargo, hay software especializado que obtienen los valores
adecuados o métodos que se basan en la teoría de control, como es el ejemplo de
Zieglers y Nichols.
Arduino
MATERIALES
PIEZAS EN 3D (IMPRESOS)
Engranaje
Base
Disco para la base
Parada final
Bisagra
Bisagra 2
Soporte del servomotor
Pequeña bisagra
Pequeña bisagra 2
Pequeña bisagra 3
PROCEDIMIENTO
• Para llevar la bola al centro de la barra, debemos inclinar la barra más, cuanto
más alejada esté la bola del centro. El giro del servo, que determina la
inclinación de la barra, lo determinamos con el valor de la variable los que
adopta valores negativos (hacia arriba) y positivos (hacia abajo) a partir del
valor 0 que deja la barra en horizontal.
• La señal analógica proveniente del sensor infrarrojo es recibida y procesada
por el microcontrolador mediante un convertidor ADC.
Podemos observar el cambio de las variables que nosotros podemos llegar a encontrar, en
el set point , nosotros le colocamos una distancia algo variada a la distancia deseada.
}
#include <Wire.h>
#include <Servo.h>
//Salidas, entradas
int Analog_in = A0;
Servo myservo; // crear un objeto servo para controlar un servo, que luego se adjunta a D9
//Variables
int Read = 0;
float distance = 0.0;
float elapsedTime, time, timePrev; //Variables para el control del tiempo
float distance_previous_error, distance_error;
int period = 50; //El período de frecuencia de actualización del bucle es de 50 ms
///////////////////Constantes PID///////////////////////
float kp=8; //Aquí ponemos 8
float ki=0.2; //Aquí ponemos 0.2
float kd=3100; //Aquí ponemos 3100
float distance_setpoint = 21; //Debe ser la distancia desde el sensor hasta el centro de la barra
en mm
float PID_p, PID_i, PID_d, PID_total;
void setup() {
//analogReference(EXTERNAL);
Serial.begin(9600);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo.write(125); //Put the servco at angle 125, so the balance is in the middle
pinMode(Analog_in,INPUT);
time = millis();
}
void loop() {
if (millis() > time+period)
{
time = millis();
distance = get_dist(100);
distance_error = distance_setpoint - distance;
PID_p = kp * distance_error;
float dist_diference = distance_error - distance_previous_error;
PID_d = kd*((distance_error - distance_previous_error)/period);
myservo.write(PID_total+30);
distance_previous_error = distance_error;
}
}
float get_dist(int n)
{
long sum=0;
for(int i=0;i<n;i++)
{
sum=sum+analogRead(Analog_in);
}
float adc=sum/n;
//voltios flotantes = analogRead (adc) * 0.0048828125; // valor del sensor * (5/1024)
//voltios flotantes = suma * 0,003222656; // valor del sensor * (3.3 / 1024) Referencia analógica
CONCLUSION
Con respecto al diseño mecánico, cabe destacar que las piezas de “Bola-Balancín”
son de suma importancia, por lo tanto, es necesario que dichas piezas sean de
buena calidad y de cortes finos.