Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RESUMEN
El presente proyecto de tesis consiste en construir un Robot Explorador de Ductos que sea totalmente
autónomo y, a su vez sea capaz de reconocer obstrucciones en los ductos y reconstruir la trayectoria realizada.
Lo mas importante en la elaboración de este proyecto fue el diseño de la estructura del robot, ya que esta
debía ser la más adecuada para que pueda desplazarse correctamente por ductos de diámetros superiores a 14
pulgadas.
Para esto se opto por realizar una estructura conformada por dos bases tipo trailer con tracción independiente,
unidas por un eje que permita el giro del robot en diferentes ángulos. El robot cuenta con cuatro motores de
24 VDC (dos por tracción) y un mecanismo de corrección de trayectoria.
Paralelamente se diseño y elaboró la parte electrónica del robot. Para esto se utilizan dos microntroladores
PIC16F877 en la configuración maestro esclavo, comunicándose paralelamente para el desplazamiento del
robot. Cada microcontrolador gobierna el funcionamiento de una tracción, controlando la habilitación, el
PWM y el sentido de giro de cada motor.
Tomando en cuenta las consideraciones anteriores Figura 2. Vista perfil del robot
se diseño una estructura capaz de adaptarse a la
superficie curva de los tubos, seleccionando un
diámetro adecuado de ruedas. A su vez, esta
estructura esta diseñada para que el robot pueda
ser capaz de desplazarse por trayectorias de hasta
90º de curvatura. Esto se logra gracias a la
articulación que une las 2 bases de la estructura
del robot, las cuales estarán unidas por un perno
pasante y este a su vez contendrá a un resorte. El
resorte asegurará el regreso a la posición inicial en
caso de que el móvil se desplace por pequeñas
pendientes.
• Bases
150,
75,0
Figura 6. Unión Pieza1 y 2
• Ruedas
Figura 7. Rueda
• Resorte
Figura 4. Pieza 1
Figura 8. Resorte
• Pasador
Figura 5. Pieza 2
Se eligió un pasador adecuado para el mecanismo
de unión de las bases.
- Microcontrolador Master
Esta encargado de ejecutar el programa Figura 10. Diagrama de bloques del hardware implementado
principal del robot y gobernar las acciones
sobre el otro microcontrolador para las
acciones que tengan que ver con el 3.4 Características y detalles del producto final
desplazamiento del robot. También esta 3.4.1 Funcionamiento
encargado de procesar el dato proveniente del El móvil tendrá la capacidad de desplazarse de
potenciómetro, el cual servirá para la rutina manera autónoma a través de la tubería
de corrección de direccionamiento del robot y registrando continuamente los valores de los
así evitar que este se ladee. Además sus dos sensores de posición para asegurar la estabilidad
canales de PWM son utilizados para el y direccionamiento del móvil. Además tendrá la
movimiento de los 2 motores de la tracción capacidad de almacenar la información del
delantera. cambio de velocidades de cada motor para luego
ser procesada por una computadora por
- Microcontrolador Slave transmisión serial y obtener así la curva de la
La función de este microcontrolador es trayectoria del móvil.
proporcionar los 2 canales de PWM para los
motores de la tracción trasera y la de recibir la 3.4.2 Cinemática de funcionamiento del robot
información del microcontrolador Master
para poder ejecutar las tareas de giro para el Cuando el móvil se desplaza hacia adelante los
desplazamiento. motores funcionan según indican las flechas en la
Fig.11. Cabe señalar que se ha logrado controlar
Se implementó la tarjeta de potencia utilizando el la habilitación y el sentido de giro de los cuatro
driver TA8440. Este driver nos permitió obviar el motores por separado.
uso de compuertas lógicas, debido a que posee
una entrada especial para el PWM y otra para el
cambio de giro del motor. También posee un
entrada para habilitarlo y una entrada de parada,
lo cual es de gran ayuda para el control de los
motores cuando no se requiere el movimiento de
los mismos. Con el uso del dirver TA8440 se
evitan los problemas de corriente ya que estos
soportan picos de corriente de hasta 3 amperes,
Almacenamiento
de datos
- Interrupciones:
Se configura la interrupción del Timer 0, solo Configuración de puertos
Configuración de PWM
en el microcontrolador master, esta Configuración de ADC
interrupción es utilizada para obtener el dato Configuración de las interrupciones
Configuración del timer
del ADC cada 20 ms. para esto debemos tener
en cuenta la frecuencia del oscilación del
oscilador (3.57 MHz). PWM ON
(Se cargan los valores
También se configura la interrupción externa iniciales)
RB0, interrupción utilizada para ordenar al
robot que esta ingresando a una curva.
- ADC: Inversa SI
Se configura esta opción para poder utilizar el = 1?
canal analógico cero y tomar el dato del
Rutina sentido giro
potenciómetro el cual indica si el móvil esta NO hacia atrás
alineado o ladeado. Rutina sentido de
giro hacia adelante
- Puertos
Configuramos los Puertos B y C como salidas
digitales. El Puerto A estará configurado como Rutina de comprobación de
entradas analógicas y el Puerto D como posición por el ADC
entradas digitales
SI
- PWM Band0
Se configura el Timer2 y un preescalador de Alinear a la
= 1?
derecha
16, con esto podremos obtener un periodo de
PWM de 218 Hz, lo cual proporcionará un NO
mayor torque a los motores. Luego se Cargo el PWM1
con 85 % de duty
habilitaran los dos canales de PWM del cicle. Giro hacia Band1 SI Alinear a la
controlador. adelante = 1? izquierda
3.4.4.1 Diagramas de Flujo del Programa del PIC Master NO Cargo el PWM1
Cargo el PWM2
con 85 % de duty
Luego de realizar los pasos anteriormente con 85 % de duty Adelante cicle. Giro hacia
cicle. Giro hacia
señalados, el programa principal entra a un bulcle atrás
atrás
donde constantemente esta testeando el bit que
indica el sentido del desplazamiento ya sea hacia Cargo el PWM2
con 85 % de duty
delante o hacia atrás. Podemos ver el diagrama de cicle. Giro hacia
flujo en la Fig. 15. adelante
Paralelamente la rutina de interrupción del Timer0
Figura 15. Diagrama de Flujo del PIC Master.
estará actualizando el valor obtenido por el
potenciómetro del mecanismo de engranajes, el
cual encenderá ciertos bits (Band0 y Band1) según
M1