Está en la página 1de 10

Código 5.

1 00

Anteproyecto - Brazo mecánico


Programación de microcontroladores
Página 1 de 10

EL BRAZO MECÁNICO
(​Diseño, construcción y control de un brazo robótico automatizado para control manual)

Autor
ROGER ROLDAN BONILLA |160004232
YUBERLEY GUERRERO CASTRO |160004210
DIEGO CABRERA ROJAS |160004203
SEBASTIAN BAEZ RAMOS |160004201

Director
SEBASTIAN CARDENAS L.
Ingeniero Electrónico

PROGRAMA DE INGENIERÍA EN SISTEMAS


FACULTAD DE CIENCIAS BASICAS E INGENIERIA

UNIVERSIDAD DE LOS LLANOS,


Marzo 8 de 2020
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 2 de 10

TABLA DE CONTENIDO

1. INTRODUCCIÓN 3
2. MARCO TEÓRICO
3​. PLANTEAMIENTO DEL PROBLEMA 4
4​. JUSTIFICACIÓN 5
5. ENSAMBLAJE 6
6. PROGRAMACIÓN Y SIMULACIÓN 7
7. IMPLEMENTACIÓN DE CÓDIGO AL BRAZO 8
8​.​ ​REFERENCIAS BIBLIOGRÁFICAS 9
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 3 de 10

INTRODUCCIÓN

Se ha planteado el desarrollo de la programación de un brazo robótico diseñado para


realizar secuencias semi-industriales con un prototipo Kimo Mini en acrílico acompañado
de un microcontrolador, más precisamente el 18F8722, el objetivo de este prototipo es la
facilitación laboral en áreas industriales o tareas comunes, con un enfoque al
desplazamiento de objetos o contenidos que requieren la ayuda de una máquina para evitar
riesgos o hacer más eficientes las labores. El microcontrolador tendrá control de los
servomotores de una forma automática; mediante un interruptor el usuario también podrá
tener el control del brazo mediante 5 potenciómetros de los cuales cada uno está asociado
una articulación del brazo. Se espera tener un resultado que genere eficiencia para su
aplicabilidad laboral.
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 4 de 10

MARCO TEÓRICO.

Para la realización del brazo robótico se tuvo que tener en cuenta conceptos claves, tales
como lo son:

INTERRUPCIONES: ​Las interrupciones permiten a cualquier suceso interior o exterior


interrumpir la ejecución del programa principal en cualquier momento. En el momento de
producirse la interrupción, el PIC ejecuta un salto a la rutina de atención a la interrupción,
previamente definida por el programador, donde se atenderá a la demanda de la
interrupción. Cuando se termina de ejecutar dicha rutina, el PIC retorna a la ejecución del
programa principal en la misma posición de la memoria de programa donde se produjo la
interrupción.

El manejo de interrupciones permite realizar programas que no tienen que estar


continuamente consultando sucesos internos o externos mediante técnicas de consulta o
polling, las cuales provocan retrasos o paradas en la ejecución del programa principal.

TEMPORIZADORES: ​Los TIMER o temporizadores son módulos integrados en el PIC


que permite realizar cuentas tanto de eventos internos como externos. Cuando la cuenta es
interna se habla de temporización y cuando la cuenta es externa se habla de contador. Los
timers están íntimamente ligados al uso de las interrupciones, pero no por ello se utilizan
siempre de forma conjunta.

CONVERTIDOR ANÁLOGICA - DIGITAL: ​Los microcontroladores PIC pueden


incorporar un módulo de conversión de señal analógica a señal digital. Los módulos AD
que utiliza Microchip hacen un muestreo y retención con un condensador y después utiliza
el módulo de conversión. El módulo de conversión A/D es del tipo de aproximaciones
sucesivas.

El módulo de conversión se caracteriza por parámetros como los siguientes:


● Rango de entrada.
● Número de bits.
● Resolución.
● Tensión de fondo de escala.
● Tiempo de conversión.
● Error de conversión.

MÓDULO CCP - COMPARADOR, CAPTURA Y PWM: ​Los módulos CCP permiten


realizar tres funciones básicas basadas en el manejo de los temporizadores:

● Comparador: compara el valor del temporizador con el valor de un registro y


provoca una acción en el PIC.
● Captura: obtiene el valor del temporizador en un momento dado, fijado por la
acción de un terminal del PIC.
● PWM: genera una señal modulada en amplitud de pulso.
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 5 de 10

1. PLANTEAMIENTO DEL PROBLEMA

La noción del desarrollo del brazo robótico


como proyecto, es permitir la manipulación de
objetos y/o sustancias que dificulten la labor
industrial, o principalmente coloquen en
riesgo la vida e integridad del operario. La
importancia de cubrir una necesidad como la
anteriormente nombrada es debido a la
automatización de procesos industriales o
cubrir necesidades comunes y básicas que
requieren de un factor ayudante como el brazo
mecánico. La aplicación esencial del proyecto
se basa en tres simples momentos: grabar
movimientos, reproducirlos y activar un
momento manual, en el que las articulaciones
serán accionadas por el operario.
Figura 1 (Brazo robótico multiuso) ​Haciendo una analogía y/o paralelo con lo que
en la vida real observamos, lo hacemos con las estaciones de radio al ser grabadas; se
oprime un botón (del 1 al 6) y la estación de radio quedará grabada en la posición del botón
seleccionado. La diferencia con la funcionalidad del proyecto, radica en que habrán
disponibles 4 botones para grabar y en lugar de grabar estaciones de radio, grabaremos
movimientos de las articulaciones del brazo robótico. Importante mencionar que, la manera
en que funcionará estas grabaciones, será de forma consecutiva; es decir, no se podrá grabar
en una posición en el caso que la anterior se encuentre vacía.

¿CÓMO SE LLEVARÁ A CABO?

Para poder lograr el objetivo de realizar e implementar una actividad programada al brazo
robótico, tenemos que tener en cuenta además de la estructura física (servomotores,
microcontrolador, estructura del brazo robótico, etc), el cómo llevar del computador al
microcontrolador dicho programa. Para ello, se dará uso del quemador Pickit 3, el cual
consta de un montaje físico, el que hará contacto con los pines del microcontrolador y el
cual estará relacionado mediante un cable USB a un software (complemento del quemador
físico).
Además de esto, se hará uso del entorno de
desarrollo interactivo (IDE) Pic C
Compiler, para realizar todo lo relacionado
con la programación del brazo.
En el código que se realizará, se tendrá en
cuenta la manipulación de los periféricos
(entradas y salidas) y sus respectivas
acciones.
También, se usará el software Proteus 8
Professional, para poder simular el código
que se vaya implementando y así hacer
más dinámico el proceso, sin hacer tanto
uso del microcontrolador y sus derivados.

Figura 2 (Microchip 18F8722)


Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 6 de 10

2. JUSTIFICACIÓN

Actualmente el crecimiento de la industria ha generado que se vaya empleando nuevas


tecnologías a la hora de realizar los distintos procesos de producción, una de las principales
necesidades es automatizar la mayoría de los procesos con el fin de ser más eficientes,
precisos y reducir riesgos a la hora de realizar las distintas tareas, la automatización
aumenta factores como la productividad y competitividad generando nuevas oportunidades
de crecimiento, la automatización de procesos es quizás uno de los factores que más
influyen en el desempeño industrial, es uno de los que actualmente tiene más dificultad a la
hora de ser implementado en los distintos sectores productivos pequeños o usuarios que
quieran otro uso específico.

3. ENSAMBLAJE

Al momento de ensamblar el brazo robótico, se requirió usar el tutorial otorgado por la


empresa a la que se compraron las partes (ztrobotic.com).
Además, para permitir que los movimientos de los servomotores fueran coordinados,
tuvimos que modificar sus grados mediante software, para que quedaran en la misma
posición. Luego se procedió a ensamblar cada una de las articulaciones en su respectiva
posición y a ubicar el respectivo servomotor.
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 7 de 10

4. ​PROGRAMACIÓN Y SIMULACIÓN.

(Figura 3: ecuación para mover los servos con potenciómetro)

La ecuación se ha dictaminado para utilizarla como la responsable de mandar los datos


correctos a las funciones que capturan los datos para mover los servos
(​set_pwm1_duty((int16) x)​) , ​la ecuación se ha dado utilizando uno de los casos para mover
un servomotor, donde se conoce que la senal analogica de el potenciometro que estará entre
el rango de 0 a 1023 bits, por lo que son los datos que estarán disponibles para mover el
servo entre los -90° y los 90°, por lo que se plantea una recta y se saca su pendiente para
obtener su ecuación (Figura 3) para aplicarlas para todos los casos en general.

(Figura 4: Simulación con el potenciómetro y el servo).

En la figura 4 se evidencia:
● Un potenciómetro, conectado al pin RA0, capaz de convertir la señal análoga del
potenciómetro a una señal digital, para que la pueda interpretar el PIC.
● Un servomotor, conectado al pic RC2, cuya funcionalidad es interpretar el valor
ADC mediante la ecuación antes mencionada. Este pin de control enviará una señal
que el servomotor interpretará y accionará sus correspondientes labores ya
programadas.
● Un osciloscopio, para verificar los pulsos que recibe el servomotor.
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 8 de 10

(Figura 5: Simulación del brazo y un interruptor para manejo manual o esquemas grabados).

Teniendo en cuenta lo analizado en la figura 4, podemos observar que además del pin RC2 (pin de control del
servomotor), el PIC nos brinda el pin RC1, RG0, RG3 y RG4; esto, con el fin de poder ver reflejado las
acciones en cada uno de los 5 servomotores utilizados en el brazo robótico, manipulados mediante los 5
potenciómetros, los cuales serán conectados a los pines de ADC (RA0, RA1, RA2, RA3 y RA5), que como ya
mencionamos anteriormente, son los encargados de analizar las señales analógicas.
Además, podemos observar 4 pulsadores, conectados a los pines RB0, RB1, RB2 y RB3, y un interruptor
conectado al pin RC0 que cambia los estados (manual o automático). En el caso de estar en modo manual, los
pulsadores se habilitarán para poder grabar movimientos. En caso contrario, se podrá reproducir los
movimientos.

CÓDIGO IMPLEMENTADO:
Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 9 de 10

4. IMPLEMENTACIÓN DE CÓDIGO AL BRAZO

(Figura 6: Explorer board 18F y el Pickit3)

Con la ayuda de la Explorer board 18F y el Pickit3 (Figura 6)se ha se ha podido realizar la
implementación del código al micro chip 18F8722 para el funcionamiento del brazo
robótico donde se ha utilizado la board como fuente de programación y no de alimentacion
de energia, por lo que se ha utilizado una alimentación externa de corriente para el brazo
robótico.

(Figura 7: Partes del brazo).


Código 5.2 00
Anteproyecto - Brazo mecánico
Programación de microcontroladores
Página 10 de 10

5. REFERENCIAS BIBLIOGRÁFICAS

[1] CCS INC . (2019) . ​CCS C Compiler Manual .​ Computer Services, Inc.

[2] Foros de Electrónica. (2010-2019).​ PIC C​, Recuperado de


https://www.forosdeelectronica.com/threads/pic-c-compiler-error-al-compilar.74136/​.

[3] K.S.Fu, R.C , González, C.S.G. ​ROBÓTICA: control,visión e inteligencia . Lee Edito .
McGraw hill.

​ icrochip Technology Inc.


[4] Microchip. (2008) . ​PIC18F8722 Family Data Sheet . M

[5] PIC C. (2019). ​Uso de PIC C​ , Recuperado de :


https://www.todopic.com.ar/foros/index.php?board=4.0​.

[6] Mendoza Sánchez Eduardo Augusto, ​“Control de un Robot Manipulador”, Tesis


Profesional,​ Marzo 2004, Universidad de las Américas, Puebla. Disponible en:
http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/mendoza_s_ea/capitul o2.pdf

​ ecuperado de :
[7] Israel Quispe Zarate .(2011) . ​Construir un Robot con Pic. R
https://www.scribd.com/document/52136766/construir-un-robot-con-pic​.

También podría gustarte