universidad nacional autónoma de méxico

Anuncio
“UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO”
FACULTAD DE INGENIERIA.
REPORTE TÉCNICO
PROTOTIPO MECANISMO ESCALADOR
“AK-KOALA”
SEMESTRE LECTIVO:
2012-1
P R E S E N T A N:
GARCIA GALINDO VANESSA M
CINEMATICA Y DINAMICA GRUPO. 15
TEL. 5551815635
E-MAIL. [email protected]
OSORNIO MARTINEZ JOEL ITAUQUI
PRINCIPIOS DE ELECTRICIDAD Y MAGNETISMO GRUPO. 6
TEL. 5534276491
E-MAIL. [email protected]
ZAMORA LÓPEZ EDUARDO GABRIEL
ECUACIONES DIFERENCIALES GRUPO.20
TEL. 5526877262
E-MAIL. [email protected]
México, D. F. octubre del 2011.
1
OBJETIVO.
El principal objetivo de este proyecto es el diseño y construcción de un mecanismo
autómata escalador de superficies verticales (esencialmente árboles), con presupuesto y
complejidad reducidos.
Este objetivo plantea esfuerzos de investigación en los siguientes campos:
Diseño de estructuras mecánicas articuladas, capaces de posicionar de manera eficiente el
sistema del mecanismo (maximización del espacio alcanzable frente a minimización de
colisiones entre los elementos).
Estudio y búsqueda de sistemas mecánicos de servo control (minimización del tamaño,
peso y costo frente a optimización del control en el sentido de fuerza ejercida y reducción
del error).
Arquitecturas de control (autonomía).
Diseño de la electrónica de control y de los interfaces (estructuras digitales para el
mantenimiento de las señales de posicionamiento y elección de dispositivos.
Sistemas software, estructurados en niveles de abstracción, capaces de movimientos
complejos y eficientes del autómata.
2
INTRODUCCIÓN.
Autómata, del latín automăta y este del griego automatos (αὐτόματος), espontáneo o con
movimiento propio. Según la RAE (Real Academia Española), máquina que imita la figura
y los movimientos de un ser animado. Un equivalente tecnológico en la actualidad serían
los robots autónomos.
En electrónica un autómata es un sistema secuencial,
aunque en ocasiones la palabra es utilizada también para
referirse a un robot. Puede definirse como un equipo
electrónico programable en lenguaje no informático y
diseñado para controlar, en tiempo real y en ambiente
industrial, procesos secuenciales.
En el campo de la robótica móvil existen robots que
utilizan ruedas, orugas, patas oninguno de los
mencionados para desplazarse. (Dentro de este grupo se
encuentran los robots ápodos). Con este punto de partida, podemos mencionar que los
primeros autómatas se remotan al Antiguo Egipto donde las estatuas de algunos de sus
dioses o reyes despedían fuego de sus ojos, como fue el caso de una estatua de Osiris, otras
poseían brazos mecánicos operados por los sacerdotes del templo, y otras, como la de
Memon de Etiopía emitían sonidos cuando los rayos del sol los iluminaba consiguiendo, de
este modo, causar el temor y el respeto a todo aquel que las contemplara.Esta finalidad
religiosa del autómata continuará hasta la Grecia clásica donde existían estatuas con
movimiento gracias a las energías hidráulicas. Esos nuevos conocimientos quedan
plasmados en el primer libro que trata la figura de los robots Autómata escrita por Herón de
Alejandría (10 dC -70 dC) donde explica la creación de mecanismos, muchos basados en
los principios de Philon o Arquímedes, realizados fundamentalmente como entretenimiento
y que imitaban el movimiento, tales como aves que
gorjean, vuelan y beben, estatuas que sirven vino o
puertas automáticas todas producidas por el movimiento
del agua, la gravedad o sistemas de palancas. Nacido en
1206 en Baviera, teólogo, filósofo y hombre de ciencia
Alberto Magno es una de las figuras decisivas del
pensamiento medieval. Se le han atribuido a lo largo de
la historia multitud de obras tanto de carácter mágico
como de creación de seres artificiales. Si hablamos de
avances científicos, Auilicos y tecnológicos debemos
hablar del mundo árabe y de Al-Jazari (1260) uno de los
más grandes ingenieros de la historia. Inventor del
cigüeñal y los primeros relojes mecánicos movidos por
pesos y agua entre otros muchos inventos de control
automático, estuvo también muy interesado en la figura
del autómata creando una obra del mismo nombre
(también llamada El libro del conocimiento de los
ingeniosos mecanismos) y considerada una de las más importantes sobre historia de la
3
tecnología. Leonardo Da Vinci (1452-1519), hombre por excelencia del Renacimiento
diseñó al menos dos autómatas de los que se tenga constancia. El primero se considera
también uno de los primeros con forma completamente humana, vestido con una armadura
medieval. y fue diseñado alrededor del año 1495, aunque como muchos otros inventos de
Leonardo no fue construido. Este mecanismo fue reconstruido en la actualidad según los
dibujos originales y podía mover los brazos, girar la cabeza y sentarse. El segundo, mucho
más ambicioso, se trató de un león mecánico construido a petición de Francis I, Rey de
Francia (1515) para facilitar las conversaciones de paz entre el rey francés y el papa León X
, el animal, mediante diversos trucos de artificio, anduvo de una habitación a otra donde se
encontraba el monarca, abrió su pecho y todos pudieron comprobar que estaba lleno de
lirios y otras flores, representado así un antiguo símbolo de Florencia (el león) y la flor de
lis que Luis XII regaló a la ciudad como señal de amistad. Nacido un 24 de febrero de
1709, Jacques de Vaucanson, excelente relojero pero con amplios conocimientos de
música, anatomía y mecánica, quería demostrar mediante sus autómatas la realización de
principios biológicos básicos, tales como la circulación, la digestión o la respiración, sobre
esta última función versó su primera creación “El Flautista” , en 1738, crea su segundo
autómata llamado “El Tamborilero” . El tercero y más famoso fue “El pato con aparato
digestivo” transparente y compuesto por más de cuatrocientas partes móviles y que batía las
alas, comía y realizaba completamente la digestión imitando al mínimo detalle el
comportamiento natural del ave. Aunque en realidad el pato era un engaño, pues lo que
comía no era lo mismo que defecaba, sino que al interior del pato había un compartimento
en el que se depositaba el grano que comía y del que salía algo parecido a un excremento.
A finales del siglo XIX y comienzos del siglo XX se siguieron creando autómatas de todo
tipo, pero la realidad es que no fueron tan elaborados como sus antecesores y estuvieron
más guiados al mundo del espectáculo. Entre los más importantes caben destacar “La
pareja” de Alexander Nicolas Theroude, los autómatas animales de Blaise Bontems, las
figuras que realizaban pequeños trucos de magia o la encantadora de serpientes de Roullet
& Decamps, el fumador turco de Leopold Lambert, los escarceos con el mundo de los
autómatas de científicos como Nikola Tesla y su robot sumergible con mando a distancia o
el autómata caminante de George Moore con forma humana y movido por la fuerza del
vapor que podía recorrer distancias a casi 9 millas por hora. Finalmente, con el estallido de
la Primera Guerra Mundial la industria de los autómatas desaparece y no renacerá hasta la
llegada de los modernos robots.
El autómata AK-KOALA, descrito en esta presentación, es un mecanismo desarrollado
bajo la perspectiva de los autómatas programables. Está compuesto por cuatro
servomotores (sujeción); se desplaza en línea recta, mediante un motor de corriente directa
que está a través de su cuerpo desde la cola hasta la cabeza. Para la electrónica se han usado
diferentes enfoques. En esta presentación se muestra la más sencilla: control mediante un
microcontrolador de 8 bits. AK-KOALA es un prototipo, que está en desarrollo para la
investigación de otros sistemas. Se muestran los algoritmos empleados para la locomoción
y los que se van a emplear en un futuro.
En el desarrollo de un mecanismo escalador deben tenerse en cuenta aspectos tales como la
sujeción, coordinación de los movimientos, entre otros. Un sistema que ataque todos los
aspectos y resuelva estos problemas resulta de difícil implementación y un estudio muy
4
complejo, por lo cual este documento tratara aspectos muy puntuales tales como, hardware,
arquitectura, tipos de motores etc.
Se ha llevado a cabo el diseño y construcción de un autómata articulado; controlado por
microcontroladores. Se partió de un objetivo primordial: realizar el diseño de un robot
experimental con presupuesto y complejidad reducidos.
Para el desarrollo de este proyecto, se diseñaron todos los sistemas mecánicos, electrónicos
y de software que se consideraron necesarios a partir de la documentación citada en la
bibliografía. Se experimentó con diversas estructuras mecánicas, servomecanismos de
posicionamiento, electrónica de generación de señales y software jerarquizado y modular.
Finalmente, se implantó e integró todo ello, logrando un sistema completo.
Este prototipo está destinado a una rápida expansión que estaría limitada únicamente por la
capacidad e inventiva que se vuelque en ella y no por la falta de medios.
5
CAPITULO I
BASES
ROBOTS:
Un robot es una entidad virtual o mecánica artificial. En la práctica, esto es por lo general
un sistema electromecánico que, por su apariencia o sus movimientos, ofrece la sensación
de tener un propósito propio. La palabra robot puede referirse tanto a mecanismos físicos
como a sistemas virtuales de software, aunque suele aludirse a los segundos con el término
de bots.
Un robot es un dispositivo electrónico y generalmente mecánico, que desempeña tareas
automáticamente, ya sea de acuerdo a supervisión humana directa o a través de un
programa predefinido o siguiendo un conjunto de reglas generales.
Un robot también se define como una entidad hecha por el hombre con un cuerpo
(anatomía) y una conexión de retroalimentación inteligente entre el sentido y la acción no
bajo la acción directa del control humano. Sin embargo, se ha avanzado mucho en el campo
de los robots con inteligencia alámbrica. Las acciones de este tipo de robots son
generalmente llevadas a cabo por motores o actuadores que mueven extremidades o
impulsan al robot. Asimismo, el término robot ha sido utilizado como un término general
que define a una máquina mecánica o autómata, que imita a un animal, ya sea real o
imaginario, pero se ha venido aplicado a muchas máquinas que reemplazan directamente a
un humano o animal en el trabajo o el juego. Esta definición podría implicar que un robot
es una forma de biomimetismo.
En la robótica existen dos grandes áreas: manipulación y locomoción. La manipulación es
la capacidad de actuar sobre los objetos, trasladándolos o modificándolos. Esta área se
centra en la construcción de manipuladores y brazos robóticos. La locomoción es la
facultad de un robot para poder desplazarse de un lugar a otro. Los robots con capacidad
locomotiva se llaman Robots móviles.
Uno de los grandes retos en el área de la locomoción es el de desarrollar un robot que sea
capaz de moverse por cualquier tipo de entorno, por muy escarpado que sea. Esto tiene
especial interés en la exploración de otros planetas, en los que no se sabe qué tipo de
terreno nos podemos encontrar.
Se llaman extremidades o miembros a los órganos externos, articulados con el tronco, que
cumplen funciones de locomoción, vuelo o manipulación de objetos en los animales. En
lenguaje vulgar, se les llama «patas» a las extremidades de los animales cuadrúpedos a las
inferiores de las aves y a las de los insectos.
Tomando en cuenta lo anterior será necesario realizar una compacta clasificación, avances
en el ramo; así como disposición de extremidades.
6
ROBOTS ÁPODOS.
Son robots apodos los que imitan el comportamiento
de serpientes, gusanos, caracoles y otros organismos
vivos que emplean su propio tronco central para
desplazarse.
Hasta 1993, se diseñaban robots para cada tipo de
terreno. En 1994 apareció el primer robot basado en
los paradigmas de la robótica modular reconfigurable
: Polybot. ¿Por qué no trabajar en una nueva línea de
investigación en la que no se diseñen robots
específicos para cada terreno, sino que el propio robot
se adapte al terreno, modificando su forma y su manera de desplazarse.
El diseño de robots ápodos se puede abordar desde esta perspectiva. En vez de diseñar un
robot ápodo específico, es mejor diseñar un módulo sencillo que se pueda unir formando
cadenas. Este mismo módulo también servirá para construir otros robots diferentes.
Entre estos, mencionaremos a:
POLYPOD
POLYBOT
Cube Reloaded
CUBE: EL GUSANO
(V.2.0)
ROBOT
ROBOTS BIPEDOS.
7
ROBOTS CUADRUPEDOS.
En esta clasificación, resulta interesante observar; que las siguientes imágenes
corresponden solamente a prototipos robóticos con desplazamiento en terrenos
horizontales.
En las imágenes siguientes, los prototipos
siguen teniendo solamente cuatro
extremidades, sin embrago, se encuentran
escalando superficies verticales.
8
ROBOTS HEXÁPODOS.
9
CAPITULO II
COMPONENTES Y MATERIALES
MOTORES:
Un motor es una máquina capaz de transformar la energía almacenada, combustibles,
baterías u otras fuentes en energía mecánica capaz de realizar un trabajo
Existen diversos tipos, siendo común clasificarlos en:



motores térmicos, cuando el trabajo se obtiene a partir de algunas diferencias de
temperatura.
motores eléctricos, cuando el trabajo se obtiene a partir de una corriente eléctrica.
motores de combustión interna, cuando el trabajo se obtiene de combustibles
fósiles, como el petróleo.
En los aerogeneradores, las centrales hidroeléctricas o los reactores nucleares también
transforman algún tipo de energía en otro. Sin embargo, la palabra motor se reserva para los
casos en los cuales el resultado inmediato es energía mecánica.
SERVOMOTORES:
Un servomecanismo es un actuador mecánico —generalmente un motor, aunque no
exclusivamente—, que posee los suficientes elementos de control como para que se puedan
monitorizar los parámetros de su actuación mecánica, como su posición, velocidad, torque,
etc.
Por la explicación que hemos encontrado en otros sitios parecería que sólo se le llamaría
"servo" a aquellos motores con reducción y control de posición que se utilizan
extensivamente en modelismo, para efectivizar los movimientos controlados por radio.
En realidad se utilizan muchos otros tipos de servos (o servomotores, mejor) en equipos
industriales y comerciales, desde una diskettera en nuestra computadora —o en la
videocassettera hogareña—, a las unidades de almacenaje y entrada y salida de datos de
grandes sistemas de computación (hoy, más que nada, discos magnéticos), y hasta en los
ascensores en edificios. El motor de un ascensor, junto con su equipo de control y
detectores de posicionamiento, no es ni más ni menos que un servomotor. El mecanismo
que saca hacia el exterior una porta-Cd de la lectora de CD de su computadora es un
servomotor.
10
Servo analógico para modelismo
Estos servomotores se componen, en esencia, de un motor de corriente continua, un juego
de engranajes para la reducción de velocidad, un potenciómetro ubicado sobre el eje de
salida (que se usa para conocer la posición) y una plaqueta de circuito para el control.
Los servo-mecanismos que se usan en modelismo son de este tipo. Como se menciona
antes, por lo general poseen un motor de CC, que gira a velocidad alta, una serie de
engranajes para producir la reducción de velocidad
de giro y acrecentar su capacidad de torque, un
potenciómetro conectado al eje de salida y un
circuito de control de la alimentación.
Estos servos reciben señal por tres cables:
alimentación para el motor y la pequeña plaqueta
de circuito del control (a través de dos cables,
positivo y negativo/masa), y una señal controladora
que determina la posición que se requiere. La
alimentación de estos servos es, normalmente, de
entre 4,8 y 6 voltios
El estándar de esta señal controladora para todos
los servos de este tipo, elegido para facilitar el uso
11
en radiocontrol, es un pulso de onda cuadrada de 1,5 milisegundos que se repite a un ritmo
de entre 10 a 22 ms. Mientras el pulso se mantenga en ese ancho, el servo se ubicará en la
posición central de su recorrido. Si el ancho de pulso disminuye, el servo se mueve de
manera proporcional hacia un lado. Si el ancho de pulso aumenta, el servo gira hacia el otro
lado. Generalmente el rango de giro de un servo de éstos cubre entre 90° y 180° de la
circunferencia total, o un poco más, dependiendo la marca y modelo.
Suelen estar limitados a 180 grados. Se controlan con una onda; con una serie de pulsos,
modulados en su ancho.
La anchura (longitud) marca la cantidad de giro, el control de la anchura es crítico, en
cambio, la separación de los pulsos no es importante.
El servomotor puede incorporar acoplado un reductor de velocidad, de manera que
obtenemos un motor con un par de giro bastante potente como para poder hacer mover las
patas de nuestro hexápodo.
El recorrido de la salida es de 180 grados, pero se puede modificar hasta obtener un giro de
360 grados para actuar como un motor convencional, dependiendo de nuestra aplicación.
12
Servo digital para modelismo
Los servos digitales tienen, al igual que los analógicos, un motor de corriente continua, un
juego de engranajes reductores, un potenciómetro para la realimentación de posición y una
electrónica de control embebida dentro del servo. La diferencia está en la placa de control,
en la que han agregado un microprocesador que se hace cargo de analizar la señal,
procesarla y controlar el motor.
La diferencia más grande de rendimiento está en la velocidad a la que reacciona el servo a
un cambio en la señal. En un mismo lapso, el servo digital puede recibir cinco o seis veces
más pulsos de control que un analógico. Como resultado la respuesta del servo a un cambio
en la orden de posición es mucho más veloz. Este ritmo mayor de pulsos también produce
mejoras en el rendimiento electromecánico del motor (mayor velocidad y más fuerza). Esto
se debe a que en cualquier servo (de ambos tipos) el motor recibe, para su control, una
alimentación conmutada. En los servos analógicos, la señal está conmutada a un ritmo de
entre 10 y 22 ms. Si el ajuste que se requiere es muy pequeño (un ángulo pequeño de giro),
los pulsos son muy delgados y están muy separados (10 a 22 ms). La integración de estos
pulsos es la que da la alimentación de potencia al motor, y en consecuencia la que lo hace
mover. Una integración de pulsos delgados y muy separados puede dar resultados erráticos.
Suele ocurrir que cuando llega el otro pulso, el motor se ha pasado de la posición y deba
reajustarse, algo que ocurre constantemente. En los servos digitales la señal llega mucho
más seguido y por esto la integración es más estable y la variación de corriente de control
es más firme.
En los servos digitales, la señal está separada por unos 3,3 ms. La separación entre pulsos
varía en cada marca de servo digital, pero el ritmo de llegada de los pulsos es de al menos
300 veces por segundo versus 50 a 100 en un analógico.
La ventaja de los digitales se reduce un poco cuando se habla de consumo (algo muy
importante en, por ejemplo, un avión radiocontrolado, pero también en los robots), ya que
el consumo del circuito y de los ajustes más continuados produce un gasto mayor de
energía, y también un mayor desgaste del motor.
Los servos digitales son capaces de memorizar parámetros de programación, que varían de
acuerdo a cada fabricante pero en general son:
1 - Se puede programar el sentido de giro como "normal" o "inverso".
2 - Se puede variar la velocidad de respuesta del servo.
3 - Se puede programar una posición central (o posición neutra) diferente, sin afectar los
radios de giro.
4 - Se pueden determinar diferentes topes de recorrido para cada lado.
5 - Es posible programar qué debe hacer el servo en caso de sufrir una pérdida de señal.
6 - Es posible programar la resolución, es decir cuánto se mueve el control en el radio sin
obtener un movimiento en el servo.
Estos valores pueden ser fijados en los servos utilizando aparatos destinados a la
programación, que son específicos para cada marca.
13
SERVOMOTOR FORMADO POR:
El servomotor elegido para el prototipo .
El Hitec HS311 es un servo de dimensiones estándar Conexiones: Amarillo-señal, Rojopositivo y Negro-negativo
Los servos hitec se caracterizan por su calidad técnica y sus excelentes características
mecánicas y electrónicas hacen que sean los servos mas utilizados en el montaje de robots.
14
MICROCONTROLADORES:
Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres
unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es decir, se
trata de un computador completo en un solo circuito integrado. Aunque sus prestaciones
son limitadas, además de dicha integración, su característica principal es su alto nivel de
especialización. Aunque los hay del tamaño de un sello de correos, lo normal es que sean
incluso más pequeños, ya que, lógicamente, forman parte del dispositivo que controlan.
PIC’S
Los 'PIC' son una familia de microcontroladores tipo RISC fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de
microelectrónica de General Instruments.
El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque
generalmente se utiliza como Peripheral Interface Controller (Controlador de Interfaz
Periférico).
CARACTERÍSTICAS:
Los PICs actuales vienen con una amplia gama de mejoras al hardware incorporadas:


















Núcleos de UCP de 8/16 bits con Arquitectura Harvard modificada
Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes
Puertos de E/S (típicamente 0 a 5,5 voltios)
Temporizadores de 8/16 bits
Tecnología Nanowatt para modos de control de energía
Periféricos serie síncronos y asíncronos: USART, AUSART, EUSART
Conversores analógico/digital de 10-12 bits
Comparadores de tensión
Módulos de captura y comparación PWM
Controladores LCD
Periférico MSSP para comunicaciones I²C, SPI, y I²S
Memoria EEPROM interna con duración de hasta un millón de ciclos de
lectura/escritura
Periféricos de control de motores
Soporte de interfaz USB
Soporte de controlador Ethernet
Soporte de controlador CAN
Soporte de controlador LIN
Soporte de controlador Irda
15
ARQUITECTURA DEL PIC.
C
I
R
C
U
I
T
E
R
I
A
A
U
X
I
L
IA
A
R
Comunicació
n
COMPARADORES
Manejadores
Display
(LCD, VF, LED)
RF/IR
Periféricos
Digitales
A/D
PW M
Micros PIC
Manejador
Potencia
Periféricos
Comunicaciones
P L I C A C I O N E S
El PIC elegido para el prototipo “AKKOALA” fue el 16F648A (Fig. 2.3)
Fig. 2.3 Pic 16f648a
16
Microchip PIC 16F648A.
Características:
- DIP 18 pines.
- Memoria FLASH para programa: 4,096 palabras.
- Memoria RAM para datos: 256 bytes.
- Memoria EEPROM para datos: 256 bytes.
- Capacidad de Interrupciones.
- Stack de 8 niveles.
- Modos de direccionamiento directo, indirecto y relativo.
- Hasta 16 pines de entrada/salida.
- Dos comparadores análogos.
- Tres timers/counters (8, 16 y 8 bits).
- Módulo CCP (capture, compare y PWM).
- Retención de datos en memoria de datos EEPROM mayor a 40 años.
- In circuit serial
programming (ICSP).
- Power On Reset, Power
Up Timer, Oscillator
Start-up Timer.
- Watchdog Timer.
- Code protection.
- Modo SLEEP para
ahorro de energía.
ESTRUCUTURA
DISEÑO:
Características
Diseño modular. Construido uniendo 2 placas con un tornillo (esparrago) en su
torso; estos placas constituyen dos planos perpendiculares al del desplazamiento.
Mecánicamente se puede hacer tan largo como se requiera.
En AK-KOALA toda la electrónica se sitúa integrada al prototipo lo que permite
experimentar con diferentes tecnologías.
El diseño del cuerpo se ha hecho con pvc espumado (Fig.2.8) de 3mm y 6 mm de espesor;
se emplea este material ya que es termo-formable, ligero, de fácil manipulación, económico
y con la resistencia necesaria para cumplir el propósito.
17
Fig. 2.8 Pieza de pvc espumado de 3mm de espesor.
Fig. 2.9 Diseño total
18
CONTROL DE MOTOR DE CORIENTE DIRECTA.
Un motor NUNCA se puede conectar directamente a un microcontrolador. Un motor
absorbe mucha corriente (normalmente, los usados en robots rastreadores, suelen
consumir unos 400mA, 500mA... depende mucho del tamaño del motor). Una patilla
de un PIC puede dar en torno a los 25mA: mucho menos que lo que pide un motor.
Para poder gobernar motores con un PIC, debemos crear una etapa intermedia, entre
la electrónica de control, y los motores. A esta etapa se la llama "etapa de potencia".
Observemos la siguiente figura:
Se trata de un motor de corriente continua, flanqueado por cuatro interruptores, que a su
vez están conectados a 5V por un lado, y a tierra por el otro. Si cerramos los interruptores
S1 y S4, dejando S2 y S3 abiertos; el lado izquierdo, el motor estará conectado a 5V, y el
lado derecho a tierra (0V). La diferencia de potencial entre los bornes del motor es de 5V
(5-0=5), con lo que el motor se pone a girar en un sentido.
19
Si abrimos S1 y S4, cerrando S2 y S3. Ahora al contrario: el lado derecho está a 5V y el
izquierdo a 0V. Ahora la diferencia de potencial es -5V (0-5=-5). Esto quiere decir que el
motor girará en el sentido contrario a como giraba antes.
Lo que se haremos entonces es colocar, en vez de interruptores, transistores. Pensemos en
un transistor como un elemento de tres patillas. Dos de ellas funcionan exactamente como
un interruptor, si está cerrado pasa corriente, y si no, no pasa. La tercera patilla es la que
gobierna al interruptor: si en esa patilla hay un '1' lógico, se cierra el interruptor que forman
las otras dos. Si se pone un '0' lógico, se abre el interruptor.
Entonces, tendremos 4 transistores flanqueando a un motor. Las patillas que controlan cada
uno de los transistores, irán conectadas a nuestro PIC, y así controlaremos por software
cuándo se abren y cierran. Controlamos por tanto si giramos el motor en un sentido o en
otro.
A esta estructura se le llama puente H. Como se puede ver en la figura anterior, los
interruptores/transistores, flanquean al motor formando una H.
Los puentes H comerciales que usaremos vienen en un circuito integrado, que se llama
L293B.
Este chip lleva integrados dos puentes H (un para cada motor). Soporta 1A por cada puente
H. El patillaje de estos chips, y para qué sirve cada PIN se muestra a continuación:
Lo primero que debemos tener en cuenta es que el chip tiene dos partes completamente
independientes (en la figura, separadas por la línea roja punteada). Cada una de ellas,
gobernará a un motor.
Veamos la parte de la izquierda. En primer lugar, tenemos las patillas señaladas con
flechas naranjas. La patilla 1A indicará el sentido de giro del motor. Si 1A=0, girará en un
sentido (según como hayamos conectado el motor), y si 1A=1, girará en el sentido
contrario. A la patilla 2A tiene que llegar justo la inversa de 1A. Esto se puede hacer por
20
software, o por hardware. Es más seguro hacerlo por hardware, haciendo pasar a la señal
1A por un inversor.
No lo haremos por software, porque, si se diese el error de poner el mismo valor en 1A que
en 2A, se coloca en cortocircuito la alimentación y tierra, con lo que, en el mejor de los
casos, se gastarían las pilas rápidamente. Lo normal es que con un cortocircuito se dañe la
electrónica. Si el cortocircuito dura mucho tiempo, se puede dañar el prototipo entero. Por
eso lo hacemos mejor por hardware, que es más seguro. En nuestra situación consideramos
la solución implementada por software a partir del microcontrolador.
Las pines azules, son las salidas hacia los motores. A esas patillas deben ir conectados
directamente los bornes del motor.
La patilla 1,2EN es una entrada de habilitación del chip. Esto quiere decir que si 1,2EN es
un '1', el chip funcionará como se ha indicado hasta ahora. Si 1,2EN fuese '0', el motor se
para, independientemente del valor que tengan las patillas 1A y 2A (el chip está
deshabilitado).
1,2EN 1A
0
0
0
1
2A
1
0
1
0
1
1
1
0
Motor
Parado
Parado
Gira en un
sentido
Gira en el
otro
sentido
SUJECIÓN.
El principio del proyecto se desarrollo la sujeción, con pijas para tabla-roca, las cuales
resultaron fallidas, debido a que la sujeción era insuficiente por lo largo de las mismas y
falta de punta.
Después de una larga investigación, se encontró que varios seres vivos presentan uñas
curveadas tanto insectos como felinos.
21
La solución dada fueron agujas curveadas de 2 ½ in, cinco
por cada extremidad como las presentes en la imagen, ya
que éstas presentan por su curvatura mayor rigidez y por su
punta mayor sujeción.
22
CAPITULO III.
DESARROLLO DEL PROTOTIPO.
FASE DE CONTROL.
En este capítulo se describe el aspecto electrónico de control de “AK-KOALA”. Se
diseñaron varios prototipos de circuitos capaces de generar y mantener las ondas que los
servos aceptan como señales de posicionamiento. Estas ondas, llamadas PWM codifican un
dato numérico que indica al servo la posición absoluta a la que debe desplazarse y en la que
debe permanecer mientras la onda no cambie. Finalmente se diseñó la llamada tarjeta
controladora, que incluye toda la lógica de selección de servos y generación de ondas
PWM. En conclusión el prototipo es en parte autónomo.
TARJETA CONTROLADORA:
La tarjeta controladora, de ”AK-KOALA”, controla al robot mandando órdenes de
posicionado individual de servos que transforma en ondas PWM haciendo que el robot sea
autónomo.
La tarjeta controladora se programa desde el PC, para activar o desactivar las salidas
(analógicas o digitales), mover (a derecha o izquierda) los motores y cambiar su velocidad
de giro y leer las entradas (analógicas o digitales).
En el área de anexos se muestran el diagrama esquemático de la tarjeta controladora y el
diseño del circuito impreso de la tarjeta controladora.
SOFWARE UTILIZADO:
El software PicBasic Pro y PIC C Compiler poseen todos aquellas variantes que
necesitábamos para la programación profesional de PICs en lenguaje BASIC, incorporando
especialmente los comandos utilizados en las BASIC Stamp II, y utilizando los pines de los
PORTA, C, D, E, como así también el PORTB, y la posibilidad de utilizar mas variables y
mayor espacio de programa.
Siendo el PicBasic un compilador, logramos desarrollar sistemas más rápidos y de mayor
longitud.
Por default PBP genera ejecutables para ser cargados en un PIC16F648A PicBasic Pro
puede ser utilizado con el package Microchip's MPLAB IDE permitiendo la simulación en
entorno Windows.
A partir de la versión 2.42 soporta los microcontroladores de 12-bit, nuevos comandos y
debugeo en BASIC, como se muestra a continuación




Permite ejecución más rápida y programas más largos que los interpretes Basic.
Acceso directo a cualquier pin o registro
Paginado automático para banco mayor a 2K
Arreglos con Bit, byte y word.
23











If.Then.Else.End.
Expresiones con jerarquías de procesamiento
Interrupciones en Basic y assembler
Librerías BASIC Stamp I y II
Instrucciones Built-in LCD
Soporta osciladores desde 3.58MHz a 40MHz
Instrucciones de acceso a buses I2C incluyendo memorias EEPROMs serie
In-line assembler y soporte Call
Compatibilidad MPLAB / MPASM / ICE
Se ejecuta en DOS o Windows
Soporta todos los microcontroladores Microchip PICmicro
Además se utilizó el software WINPIC 800g para cargar el archivo .hex al pic por medio de
una interfaz; junto con éste se utilizo EAGLE LAYOUT 5.10 para generar y diseñar el
circuito electrónico y el pcb.
ARMADO DEL PROTOTIPO
24
CAPITULO IV.
CÁLCULOS
Mencionaremos los cálculos cinemáticos presentes en la siguiente gráfica, los cuales
muestran posición vs. Tiempo. El experimento duró 16 segundos y se tuvo que truncar
hasta 6 segundos para un mejor ajuste.
Los cálculos se obtuvieron derivando una vez la ecuación de posición, una para la
velocidad y dos para la aceleración. Concluyendo que la aceleración es constante; y tanto la
velocidad como la aceleración son considerablemente bajas. Se agradece la colaboración
del laboratorio de Mecánica por el equipo proporcionado además de asesorías en el manejo
del software y equipo.
25
Cálculo de la fuerza de sujeción
Donde los cálculos se realizaron sólo en el plano XY ya que el momento se encuentra en el
eje Z; el dato proporcionado de MoF se encuentra en el anexo y es dato del servomotor de
3.5 kg cm.
Concluyendo que la fuerza de sujeción es por extremidad de 1.108 kg.
26
CONCLUSIONES
El prototipo escalador “AK-KOALA” a nivel industrial puede ser usado en investigación y
exploración debido a que su funcionamiento no es de gran complejidad y su estructura es
muy resistente, además se le pueden incorporar grandes mejoras para un desempeño
superior. Como la presentada en la imagen inferior, la cual es un prototipo desarrollado por
un grupo de investigación oriental; este prototipo a diferencia de los mencionados tiene un
torso flexible que adapta la sujeción de sus extremidades al medio y forma irregular de la
superficie trepada.
En la implantación de todos estos sistemas se han encontrado los problemas y restricciones
enumerados a continuación:
-Limitación de tiempo, manufactura
-Limitación de presupuesto.
-Sujeción
-Limitada disponibilidad de materiales y de medios de mecanización de los mismos.
-Escasez de documentación sobre los dispositivos de servo control utilizados, y en general,
sobre los robots de este tipo realizados en otros departamentos.
-Limitación del tiempo y de personal capacitado para el desarrollo del proyecto, debido
principalmente a la extensión de los campos abarcados.
-Espacio de trabajo reducido (Disponibilidad de laboratorios y personal de los mismos).
En general, estos problemas no se han podido obviar. El resultado final se ha adaptado
a las restricciones expuestas, consiguiendo pese a ello sus objetivos de manera parcial.
Estos objetivos incluyen, aparte del ya mencionado criterio de bajo coste, otros más
generales:
-Facilidad de reemplazo de componentes.
-Modularidad de hardware y software reusable.
-Sencillez de diseño.
-Preparación para futuras ampliaciones y/o mejoras.
Del último punto podemos mencionar la implementación del proyecto para análisis de
follaje interno de la copa de un árbol, determinación de la altura y grosor del mismo,
condición de salud del árbol (hongos e infecciones). Todo esto por medio de sensores e
implementación de cámaras inalámbricas.
El estudio de las ramas infectadas de los árboles resulta interesante, ya que a través de la
tala de éstas se puede obtener biocombustible por medio de la biomasa que se genere con
ellas.
27
ANEXO A contiene las características técnicas del servomotor Hitec HS311
Fig. A.1 Terminales del cableado
Fig. A.2 Dimensiones del Servo lateral
Fig. A.3 Dimensiones del Servo superior
28
29
ANEXO B contiene set de instrucciones básicas de PIC BASIC PRO
El siguiente es un completo listado de los comandos PBASIC para las dos versiones de
Stamps . No se incluyen los operadores aritméticos o lógicos. Muchos perfeccionamientos
fueron hechos al lenguaje PBASIC para ser usados en la BASIC Stamp II y por lo tanto
estos comandos sólo existen en una de las versiones de las BASIC Stamps.
Indica instrucción sólo disponible para BASIC Stamp D y BS1-IC.
Indica instrucción sólo disponible para BS2-IC y BS2SX-IC.
BRANCHING
IF . . .THEN
Compara y condiciona el ciclo.
BRANCH
Similar al If...Then pero para varias condiciones.
GOTO
Ir a una dirección.
GOSUB
Ir a una dirección que consiste en una subrutina.
RETURN
Ir al comienzo de la subrutina.
LOOPING (SALTO)
FOR . . .
NEXT
Establecimiento de un salto (ciclo).
NUMÉRICOS
LET
Comando para asignar variables, tales como A=5, B=A+2, etc. Las
posibles operaciones son suma, resta, multiplicación, división, máx.
limit, min. limit, y operaciones lógicas AND, OR, XOR, AND NOT,
OR NOT, y XOR NOT.
LOOKUP
Buscar datos especificados por offset y guardarlos en variable.
LOOKDOWN Encuentra número (0-N) y lo almacena en variable.
RANDOM
Genera un número pseudo-random.
E/S DIGITALES
INPUT
Hacer de un pin una entrada
OUTPUT
Hacer de un pin una salida
REVERSE
Si el pin es una salida, dejarlo como entrada. Si el pin es una entrada,
30
dejarlo como una salida.
LOW
Hacer de un pin una salida de baja.
HIGH
Hacer de un pin una salida de alta.
TOGGLE
Hacer de un pin una salida (conmutación reversible).
PULSIN
Medir un pulso de entrada.
PULSOUT
Salida en pulso temporizado invirtiendo un pin por algún tiempo.
BUTTON
Previene alteraciones por causa de apertura o cierre de circuitos.
SHIFTIN
Cambio por deslocamiento de bits de paralelo a serial.
SHIFTOUT
Cambio por deslocamiento de bits de serial a paralelo.
COUNT
Cuenta ciclos de un pin por un tiempo determinado (0 a 125 kHz,
assumindo 50/50 duty cycle).
XOUT
Genera códigos de control X-10 .
E/S SÉRIAL
SERIN
Recibe datos en forma serial. Para la Stamp D y BS1-IC, la cantidad
de baudios posibles son de 300, 600, 1200, y 2400 . Para la BS2-IC y
BS2SX-IC, cualquier número de baudios (hasta 50k baud) es posible.
SEROUT
Envía datos en forma serial. Para la Stamp D y la BS1-IC, los datos
son enviados a 300, 600, 1200, o 2400 baudios. Para la BS2-IC y
BS2SX-IC, los datos se envían a velocidades de hasta 50k baudios.
E/S ANÁLOGICOS
PWM
Salida PWM, luego retorna el pin a entrada. Esto puede ser usado para
obtener voltajes análogos (0 a 5 V) usando un condensador y una
resistencia.
POT
Lee potenciómetro (5 a 50K).
RCTIME
Mide el tiempo de carga/descarga del RC. Puede ser usado para medir
potenciómetros (Es más rápido que el comando POT de la Stamp D y
la BS1-IC).
FREQOUT
Genera uno o dos ondas seno de frecuencias específicas (cada una
desde 0 a 32767 Hz).
DTMFOUT
Genera DTMF (tonos telefónicos).
SOM
31
SOUND
Toca notas. Nota 0 es silencio, notas 1 a 127 son tonos ascendientes, y
las notas 128 a 255 son ruidos.
ACCESO EN EL EEPROM
DATA
Almacena datos en EEPROM antes de descargar el programa BASIC
(BS2-IC y BS2SX-IC).
EEPROM
Almacena datos en EEPROM antes de descargar el programa BASIC
(Stamp D and BS1-IC)
READ
Lee un byte EEPROM en variable.
WRITE
Escribe un byte en la EEPROM
TIEMPO
PAUSE
Ejecuta una pausa de 0 a 65536 milisegundos.
CONTROL ENERGIA
NAP
Ejecutando Nap por períodos cortos. El consumo de energía es
reducido.
SLEEP
Duerme desde 1 a 65535 segundos. El consumo de energía es
reducido a 20 µA (Stamp D and BS1-IC) o 50 µA (BS2-IC y BS2SXIC).
END
Modo Sleep hasta que los ciclos de energía o el PC se conecten. El
consumo de energía es el mismo que en el modo sleep.
DEBUGGING DEL PROGRAMA
DEBUG
Envía variables al PC para mostrar por pantalla.
32
ANEXO C contiene el programa realizado en MicroCode Studio- PIC BASIC PRO
para el microcontrolador 16f648A.
'PROTOTYPE 0 ALTIUS
'********************************************
@ device pic16F648A, INTOSC_OSC_NOCLKOUT, wdt_off, pwrt_on, mclr_on, lvp_off,
protect_off, BOD_OFF
TRISA = %11111111 ' Configuración el Puerto A
TRISB = %00000000 ' Configuración el Puerto B
CMCON = 7
VRCON = 0
serv1 var
serv2 var
serv3 var
serv4 var
portb.0
portb.1
portb.2
portb.3
pos1 var byte
pos2 var byte
pos3 var byte
pos4 var byte
W VAR BYTE
x var byte
z var byte
PORTA = 0
PORTB = 0
Inicio:
' Inicializa el puerto "A", es decir, se ponen todos los pines en cero.
' Inicializa el puerto "B".
' Etiqueta de Inicio del programa
GOSUB CENTRADO
PAUSE 1000
FOR W =0 TO 9
GOSUB AGARRADO
GOSUB ABRIR_INF
GOSUB AGARRADO
GOSUB ABRIR_SUP
GOSUB AGARRADO
NEXT W
GoTo Inicio
End
' Salta a la etiqueta "Inicio" y se repite el proceso.
CENTRADO:
for x = 0 to 10
pos1 = 150
pos2 = 150
33
pos3 = 150
pos4 = 150
gosub servos
next x
return
AGARRADO:
for x = 0 to 10
pos1 = 250
pos2 = 50
pos3 = 250
pos4 = 50
gosub servos
next x
return
ABRIR_SUP:
for x = 0 to 50
pos1 = 150
pos2 = 150
pos3 = 250
pos4 = 50
gosub servos
next x
return
ABRIR_INF:
for x = 0 to 50
pos1 = 250
pos2 = 50
pos3 = 150
pos4 = 150
gosub servos
next x
return
servos:
FOR Z= 0 TO 20
portb = 0
pulsout serv1,pos1
pulsout serv2,pos2
pulsout serv3,pos3
pulsout serv4,pos4
NEXT Z
return
34
ANEXO D contiene el programa realizado en MicroCode Studio- PIC BASIC PRO
para el microcontrolador 12F629.
'PRUEBA0 FINAL ALTIUS
'****************************************************************
@ device PIC12F629, INTRC_OSC_NOCLKOUT, wdt_off, pwrt_on, mclr_on,
protect_off, BOD_OFF
TRISIO = %000100
' Configuración el Puerto
CMCON = 7
VRCON = 0
Y var byte
W var byte
Z VAR BYTE
GPIO = 0 ' Inicializa el puerto, es decir, se ponen todos los pines en cero.
Inicio:
' Etiqueta de Inicio del programa
GPIO = 0
PAUSE 5500
FOR Z = 0 TO 9
GOSUB ARRIBA
PAUSE 5000
GPIO = 0
PAUSE 3500
GOSUB ABAJO
PAUSE 5500
GPIO = 0
PAUSE 5500
NEXT Z
GoTo Inicio ' Salta a la etiqueta "Inicio" y se repite el proceso.
End
ARRIBA:
GPIO = %010000
RETURN
ABAJO:
GPIO = %100000
RETURN
35
ANEXO E contiene el programa realizado en PCW para el microcontrolador
16f648A.
#include <16f648a.h>
#Fuses HS
#Fuses MCLR,NOLVP,INTRC, NOWDT
#Fuses NOCPD
#use delay (clock=4MHZ)
int contador;
int servo_1,servo_2,servo_3,servo_4;
#INT_TIMER1
void inter_timer1(){
set_timer1(45370);
set_timer0(0);
output_bit(PIN_B0,1);
output_bit(PIN_B1,1);
output_bit(PIN_B2,1);
output_bit(PIN_B3,1);
while(get_timer0()<=160)
{
contador=get_timer0();
if(contador>=servo_1)
output_bit(PIN_B0,0);
if(contador>=servo_2)
output_bit(PIN_B1,0);
if(contador>=servo_3)
output_bit(PIN_B2,0);
if(contador>=servo_4)
output_bit(PIN_B3,0);
}
}
int angulo(int ang)
{ int inter;
inter=0.64*ang+34;
return inter;
}
void centrado()
{ servo_1=angulo(90);
servo_2=angulo(90);
servo_3=angulo(90);
servo_4=angulo(90);
36
}
void agarrado()
{ servo_1=angulo(180);
servo_2=angulo(0);
servo_3=angulo(180);
servo_4=angulo(0);
}
void abrir_sup()
{ servo_1=angulo(90);
servo_2=angulo(90);
}//
void abrir_inf()
{ servo_3=angulo(90);
servo_4=angulo(90);
}
void main(){
enable_interrupts(GLOBAL); //habilita las interrupciones
enable_interrupts(INT_TIMER1);
setup_timer_0( RTCC_INTERNAL|RTCC_DIV_16|RTCC_8_BIT);
setup_timer_1( T1_INTERNAL | T1_DIV_BY_1);
set_timer0(0);
set_timer1(45370);
centrado();
delay_ms(2000);
agarrado();
delay_ms(2000);
for(;;)
{ abrir_sup();
delay_ms(6000);
agarrado();
delay_ms(1000);
abrir_inf();
delay_ms(6000);
agarrado();
delay_ms(1000);
}
}
37
ANEXO F contiene el programa realizado en PCW para el microcontrolador 12F629.
#include <12F629.h>
#FUSES NOWDT
#FUSES INTRC
#FUSES NOCPD
#FUSES NOPROTECT
#FUSES NOMCLR
#FUSES NOPUT
#FUSES BROWNOUT
//No Watch Dog Timer
//Internal RC Osc
//No EE protection
//Code not protected from reading
//Master Clear pin disabled
//No Power Up Timer
//Reset when brownout detected
#use delay(clock=4000000)
void main ()
{
set_tris_a(0x00);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC);
setup_vref(FALSE);
delay_ms(5000);
for (;;)
{
output_bit(PIN_A5,1);
output_bit(PIN_A4,0);
delay_ms(5000);
output_bit(PIN_A5,0);
output_bit(PIN_A4,0);
delay_ms(2000);
output_bit(PIN_A5,0);
output_bit(PIN_A4,1);
delay_ms(5000);
output_bit(PIN_A5,0);
output_bit(PIN_A4,0);
delay_ms(2000);
}
}
38
ANEXO G Se muestra el diseño del circuito electrónico de control
39
ANEXO H Puesta en marcha del prototipo y manejo del mismo.
Las baterías se encuentran cargadas; la manera de encenderlo es por medio del botón rojo,
en el cual el círculo indica que se encuentra apagado, y la línea indica encendido del
prototipo. Si es necesario reiniciar la secuencia se debe presionar el botón negro ubicado en
la placa de control. (Es necesario esperar que la parte inferior del robot llegue lo mas abajo
posible al tornillo sinfín)
BOTON DE
ENCENDIDO
BOTON DE
RESET
40
BIBLIOGRAFÍA
http://cursoderoboticaii.blogspot.com/2010_08_01_archive.html
http://cursoderoboticaii.blogspot.com/2010/08/clasificacion-de-los-robots.html
http://es.wikipedia.org/wiki/Leonardo_da_Vinci
http://en.wikipedia.org/wiki/Animatronics
http://despertarverde.wordpress.com/el-koala/
http://es.wikipedia.org/wiki/Insecta
http://www.sugano.mech.waseda.ac.jp/woody/research.htm#WOODY-1
http://publicweb.unimap.edu.my/~hazry/Current%20and%20Recent%20Projects.htm
http://hackedgadgets.com/2006/03/11/tree-climbing-robot/
http://gizmodo.com/rise
http://www.newscientist.com/blog/technology/2006/03/tree-climbing-robot.html
http://arl.mae.cuhk.edu.hk/node/674
http://kodlab.seas.upenn.edu/RiSE/RiSEV1
http://english.sina.com/technology/p/2011/0621/378436.html
http://www.technologyreview.com/computing/22635/page2/
http://www.iearobotics.com/personal/juan/conferencias/conf1/
http://www.roboticspot.com/spot/artic.shtml?todo=&block=9&newspage=tiposderobots
http://es.wikipedia.org/wiki/Robot
http://robots-argentina.com.ar/MotorServo_basico.htm
http://es.wikipedia.org/wiki/Servo
http://es.wikipedia.org/wiki/Microcontrolador
http://www.robodacta.com.mx/activacioncartproducto.asp?CategoriaID=31&ProductoID=4
11&SubCategoriaID=67
http://www.iearobotics.com/personal/juan/doctorado/cube-reloaded/index.html
http://www.iearobotics.com/personal/juan/doctorado/cube-revolutions/index.html
http://es.wikipedia.org/wiki/Radiofrecuencia
41
Descargar