Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Jader Alvarino
Jalvarino28@unisalle.edu.co
Leonardo Ciendua
cleonardo31@unisalle.edu.co
Resumen- El presente informe, presenta el diseo e implementacin del robot balancn, donde se evidencia el diseo
y construccin de la estructura, asi como el diseo de los controladores para estabilizar el sistema.
OBJETIVOS
II.
METODOLOGIA
ELEMENTOS SELECCIONADOS
RUEDAS
Debido al entorno de trabajo del robot se seleccionaron ruedas lisas para una mxima traccin y bajo
deslizamiento, las cuales tienen un dimetro de 21 cm, como se observa en la figura 3, se considera esta
configuracin para una mayor estabilidad del sistema, puesto que hay mayor rea de contacto con el suelo
MOTOREDUCTOR
La traccin del robot se realizara por medio de dos motoreductores figura 4, trabaja a una tensin de 12
voltios dc y en las pruebas de movilidad se halla su consumo con una corriente de 0.6 amperios cada
motoreductor, tambin se prob que acoplados con la base puede trasladar una carga de hasta 9 kg de forma
estable, su caja reductora presenta una relacin de reduccin de 1:62.
BATERA RECARGABLE
La fuente de poder recargable es la batera DAHUA de 12 voltios dc, 2.2 amperios, ofreciendo un servicio de
20 horas figura 5.
TARJETA DE POTENCIA
ARDUINO MOTOR SHIELD (ARDUMOTO)
Para controlar independientemente el sistema de potencia requerido de los motores se utiliza, la tarjeta
complemento para arduino Ardumoto, vista en figura 6, diseada para controlar dos motores DC basndose
en un puente H L298 capaz de proveer hasta 2A por canal. El control OUT1/2 est conectado a la lnea 12
para direccin y a la 3 para velocidad (PWM A) El control OUT3/4 est conectado a la lnea 13 para
direccin y a la 11 para velocidad (PWM B).
La tensin de alimentacin va desde los 2,2V a los 3,6V. En este caso al tratarse de un modulo es posible
alimentarlo con 5V ya que posee su regulador de 3V3 el cual tambin nos provee una salida de esa tensin
A partir de los datos se obtuvo la funcin de transferencia del subsistema del motor, por medio de la
herramienta matlab ident, en donde se tom la funcin de transferencia con un polo y un ceros, en donde
se tiene un porcentaje de proximidad del 95%.
La siguiente es la funcin de transferencia para este sistema:
La respuesta en lazo abierto del subsistema se grfica y observa en la siguiente figura, en donde el sistema
se estabiliza aproximadamente despus de 6000 seg, estabilizndose en una valor aproximado 1, en donde
se aprecia que el sistema es estable y con un tiempo lento de respuesta.
PI EN TIEMPO CONTINUO
El paso siguiente consisti en disear un controlador para mantener el sistema estable, se realizaron dos
tipos inicialmente, un PI en tiempo continuo y el segundo un compensador en tiempo discreto.
Simplificando,
Se requiere que el sistema para una entrada de tipo escaln tenga un error de estado estacionario 0, un
overshoot mximo de 15% con un tiempo de respuesta menor a 1 segundo. Para garantizar que el sistema
sea estable con el controlador, se pretende que los polos se encuentren a 45
Tomando al denominador de L(S) como ecuacin de diseo, y con base en la ubicacin de los polos del
controlador, se tiene que:
Mediante la ecuacin cuadrtica se obtiene las races del lado izquierdo las cuales son las contantes del
primer controlador
Simplificando
Despejando de la anterior ecuacin Kp y Ki se consiguen los valores para las constantes del controlador:
Kp=4,09521
Ki=0,02579
La figura 8, se observa la respuesta de la posicin del motor con el controlador diseado anteriormente.
En donde el overshoot del sistema es menor del 15% y un tiempo de respuesta de 80 ms.
PI TIEMPO CONTINUO
motor_dir(1,2);
motor_dir(1,1);
analogWrite(vel,pot);
analogWrite(vel_2,pot);
} else if (error<-3){
motor_dir(2,2);
motor_dir(2,1);
analogWrite(vel,abs(pot));
analogWrite(vel_2,abs(pot));
}else if((error<3)&&(error>-3)){
pot=0;
analogWrite(vel,abs(pot));
analogWrite(vel_2,abs(pot));
}
PI DISCRETO
Se procedi luego a disear un controlador PI en tiempo discreto en miras de observar si la respuesta se
haca ms rpida y estable, para esto se procedi a hacer los clculos
Teniendo el controlador diseado, se contina con la discretizacin de las ecuaciones por medio de
retenedor de orden cero para implementarlas en cdigo c y poner el controlador en cascada a prueba. A
continuacin se muestra la discretizacin.
El retenedor de orden cero tiene la siguiente forma:
pot=pot_ant;
error=error_ant
Al igual que en el anterior controlador se tiene que establecer el sentido de giro de las ruedas segn las
condicines que se encuentra el robot, si el Angulo respecto a la referencia es positivo o negativo, adems
de limitar la salida del controlador hasta 250 en caso se sobre picos, como se observa a continuacin:
if (angleXZ>1){
motor_dir(2,2);
motor_dir(2,1);
analogWrite(vel,pot);
analogWrite(vel_2,pot);
} else if (angleXZ<-1){
motor_dir(1,2);
motor_dir(1,1);
analogWrite(vel,abs(pot));
analogWrite(vel_2,abs(pot));
}else if((error<3)&&(error>-3)){
pot=0;
analogWrite(vel,abs(pot));
analogWrite(vel_2,abs(pot));
}
if (pot>250){
pot=250;
}else if((pot<0)&&(error<-30)){
pot=pot*(255.0/200);
if(pot<-250){
pot=250;
}
}
Serial.print(error);
Serial.print(" ");
Serial.print(pot);
Serial.print(" ");
Serial.println(angleXZ);
delayMicroseconds(500);
V.
CONCLUSIONES
Debido a la alta inercia del sistema, el controlador no logra estabilizar el sistema, pudiendo ser el
bajo tiempo de estabilizacion de controlador.
Se comprobo el ruido en el sensor de acelerometro debido a las perturbaciones generadas cuando la
estructura tiene contacto con el suelo, incorporando inestabilidad al sistema por sus medidas
erroneas del sensor.
es necesario la calibracion del sensor tomando como referencia el compas del celular iphone, puesto
que el sensor utilizado no es de tipo absoluto.
Se debe implementar una etapa de proteccin con diodos entre el puente H y el controlador: Arduino
uno para evitar daos en la tarjeta
Se debera realizar una calibracion de velocidad para las ruedas puesto que un motor gira mas rapido
que el otro, al conectarlos al mismo voltaje.
Se evidencio que la respuesta del controlador no es suficientemente rapida para estabilizar el
sistema, pudiendo necesitar un controlador adicional en cascada.
El sistema sufre de retrasos debido a los cortos circuitos momentaneos, que se generan al invertir el
sentido de la corriente como consecuencia del sentido de giro de los motores, por lo cual es
necesario establecer un tiempo de desenergizacion del sunistro de corriente de los motores.
VI.
BIBLIOGRAFIA