SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
UNIVERSIDAD TECNICA PARTICULAR DE LOJA

                                   La Universidad Católica de Loja




Escuela de Electrónica y Telecomunicaciones


Proyecto de Fin de Curso de Metodología de la
                Programación


          Tema: “Brazo mecánico”


                Integrantes:
        Luis Gerardo Hidalgo García
      José Vicente Jaramillo Valdivieso
     Juan Francisco Maldonado Morales
    Mauricio Fernando Román Rodríguez


                  Periodo:

               2009 –2010
1. Objetivos:

         1.1. Objetivos generales:
   -     Construcción de un brazo mecánico con movimiento en los ejes X,Y y Z
         para recolección de objetos livianos.

         1.2. Objetivos específicos:
   -     Diseñar el programa en lenguaje C y programar los microcontroladores.
   -     Construir la parte mecánica, que incluye el ensamblaje del brazo y los
         servomotores.
   -     Ensamblar y conectar la parte mecánica al ordenador.



   2. Descripción:


             PC                         PIC                        Brazo Mecánico
       Programa en PC




Construcción de brazo mecánico en base de aluminio, movilizado con
servomotores, por medio de la programación en C++, con una pinza en el extremo
para la recolección de objetos.

Las instrucciones de C++ serán enviadas a través del puerto serial para darle
movilidad al brazo, los componentes del brazo se encontrarán en un protoboard o
en una placa la cual estará conectada al computador. La energía necesitada para
mover el brazo se tomará de una fuente de alimentación la cual será distribuida
cables. El brazo tendrá 3 articulaciones y movilidad en los ejes X, Y, Z. Este brazo
será capaz de recoger objetos livianos mediante sus pinzas.



   3. Herramientas:

         3.1. Hardware:
   -     Servomotores.
   -     Aluminio.
   -     Microcontolador pic12f683.
   -     Pulsantes.
-   Resistencias.
   -   Transistores.
   -   Protoboard.
   -   Cable DB9.
   -   Fuente de Alimentación.
   -   Cristal de 9 Mhz
   -   Computador con puerto serial.

       3.2. Software:
   -   Programa C++.
   -   Programa Visual Basic.


   4. Metodología:

Para la investigación de todo lo concerniente al proyecto utilizamos lluvia de ideas
para el diseño del brazo robótico. Para la investigación de los conceptos utilizamos
la técnica del mapa mental para realizar un borrador de lo que necesitamos
investigar.

Para realizar el programa vamos a utilizar la herramienta de lenguaje de
programación C++, ya que es un programa que nos facilita programar vía
comunicación serial, también es considerado un programa base para el desarrollo
de los demás programas que poseen sus bases en C.

Diagrama del Circuito:




                                       Imagen 1.
5. Fundamentos Teóricos:

Protoboard: “El dispositivo más básico y grande, que permite conectar los otros
fácilmente, es la protoboard. Está hecha para poder comunicar dos elementos
conductores (alambres, patas de dispositivos, fuentes de voltaje) sin necesidad de
soldarlos, sino simplemente al introducirlos en dos o más agujeros que por debajo
están interconectados. No todos los agujeros de la protoboard están comunicados
entre sí. Este es un diagrama simple de su funcionamiento, las franjas grises
muestran lo que serán líneas de conducción separadas: tiras metálicas dobladas
para agarrar los alambres”. [1]




                                     Imagen 2.



Servomotor:

   Imagen 3.

                  “Un servomotor de modelismo —conocido generalmente como
                  servo o servo de modelismo— es un dispositivo actuador que
                  tiene la capacidad de ubicarse en cualquier posición dentro de
                  su rango de operación, y de mantenerse estable en dicha
                  posición. Está formado por un motor de corriente continua, una
caja reductora y un circuito de control, y su margen de funcionamiento
generalmente es de menos de una vuelta completa.

Los servos de modelismo se utilizan frecuentemente en sistemas de radiocontrol y
en robótica, pero su uso no está limitado a estos”.[2]



Microcontrolador pic12f683:

“Un microcontrolador es un circuito integrado o chip que incluye en su interior las
  Imagen 4.
tres unidades funcionales de una computadora: unidad central de procesamiento,
memoria y unidades de E/S”.[3]


Cristales de Cuarzo:


          Imagen 5.

                         “La importancia de los cristales de cuarzo en electrónica
                         es el resultado de su extremadamente alto factor de
                         calidad “Q”, tamaño relativamente pequeño y excelente
                         estabilidad en temperatura. Los cristales de cuarzo
                         están compuestos de dióxido de silicio. Su propiedad es
                         un fenómeno llamado “piezoeléctrico”, que consiste en
                         aplicar stress o tracción mecánica a un cuarzo y este
genera un campo eléctrico directamente proporcional y viceversa.


La aplicación de un campo eléctrico sobre un cristal genera una fuerza en la
estructura del cristal, haciendo que este vibre a una frecuencia determinada. Los
cristales de cuarzo proveen una fuente fiable de aplicaciones en crono-medición,
incluyendo relojes, servo controles, dispositivos analógico digitales y micro
procesadores”.[4]



Puerto serial:

        Imagen 6.
                           “Un puerto serie o puerto serial es una interfaz de
                           comunicaciones de datos digitales, frecuentemente
                           utilizado por computadoras y periféricos, en donde la
                           información es transmitida bit a bit enviando un solo bit a
                           la vez, en contraste con el puerto paralelo que envía
varios bits simultáneamente. La comparación entre la transmisión en serie y en
paralelo se puede explicar usando una analogía con las carreteras. Una carretera
tradicional de un sólo carril por sentido sería como la transmisión en serie y una
autovía con varios carriles por sentido sería la transmisión en paralelo, siendo los
vehículos los bits que circulan por el cable”.[5]



C++: “es un lenguaje de programación diseñado a mediados de los años 1980 por
Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje
de programación C con mecanismos que permitan la manipulación de objetos. En
ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++
es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó
a los otros dos paradigmas que ya estaban admitidos (programación estructurada
y la programación orientada a objetos). Por esto se suele decir que el C++ es un
lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la
mayoría de los fabricantes de compiladores más modernos. Existen también
algunos intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores
(sobrecarga de operadores), y de poder crear nuevos tipos que se comporten
como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje
fue utilizado por primera vez fuera de un laboratorio científico. Antes se había
usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento
de C" y se refiere a que C++ es una extensión de C”.[6]



Visual Basic: “(Visual Studio) constituye un IDE (entorno de desarrollo integrado
o en inglés Integrated Development Enviroment) que ha sido empaquetado como
un programa de aplicación, es decir, consiste en un editor de código (programa
donde se escribe el código fuente), un depurador (programa que corrige errores en
el código fuente para que pueda ser bien compilado), un compilador (programa
que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz
gráfica o GUI (es una forma de programar en la que no es necesario escribir el
código para la parte gráfica del programa, sino que se puede hacer de forma
visual)”.[7]



   6. Alcance:

El alcance máximo de nuestro proyecto es lograr movimiento del brazo mecánico
en los ejes X, Y y Z para la recolección de objetos livianos y su traslado a un
destino diferente.

Resultados esperados:

Una vez terminado el proyecto, se tendrá un brazo mecánico capaz de recolectar
objetos livianos por medio de una pinza, posteriormente trasladarlos a su destino
final dentro del rango de movimiento del brazo.
7. Desarrollo de Módulos.
      7.1. Hardware:

Los pasos a describir son secuenciales.

1ra Etapa:

Envió de pulsos por el pin 3 hacia el pic para la transformación de las ordenes a
código binario.

2da Etapa:

Enviar los pulsos del pic al brazo mecánico.

3ra Etapa:

Recepción de pulsos y transformar código binario a instrucción normal.



      7.2.   Software:

Los pasos a describir son secuenciales

1ra Etapa:

Implantar objeto de transmisión serial.

2da Etapa:

Implantar puntos de comunicación serial.

3ra Etapa:

Empezar comunicación serial.

4ta Etapa:

Ingreso de instrucciones por teclado y su almacenamiento en sus respectivas
variables.

5ta Etapa:

Transmisión de datos vía comunicación serial.
6ta Etapa:

Recepción y ejecución de instrucciones.



   8. Flujograma del Programa en PC:
8.1.   Algoritmo del programa en PC:



1. Inicio
2. Encender Ordenador
3. Abrir software
4. Conectar el brazo al puerto serial del ordenador
5. Mientras (Programa=Encendido) Entonces
6.     Si (Motor 1=Controlado) Entonces
7.         Si (Orden= Derecha)
8.             Mover a derecha
9.         Caso Contrario
10.             Mover a izquierda
11.        Ingresar Grados
12. Caso Contrario
13.        No moverse
14.     Si (Motor2=Controlado) Entonces
15.         Si (Orden= Arriba)
16.             Mover hacia arriba
17.         Caso Contrario
18.             Mover hacia abajo
19.          Ingresar grados
20. Caso Contrario
21.          No Moverse
22. Si(Motor3= Controlado) Entonces
23.        Si(orden=arriba)
24.          Mover hacia arriba
25.        Caso Contrario
26.           Mover hacia abajo
27.        Ingresar Grados
28. Caso Contrario
29.         No moverse
30. Si(Motor4= Abierto)
31.        Cerrar motor4
32. Caso Contrario
33.        Abrir Motor4
34. Ir a instrucción 6
35. Fin mientras
36. Fin
9. Flujograma del Microcontrolador:

                               INICIO




                    Incluir librería “Modedefs.bas”




                        Establecer variables
                     globales arriba, abajo, izq,
                      der, grad, abrir, cerrar de
                              tipo char




                                                      NO   No transmitir
                           ¿Está conectado?
                                                               nada


                                        SI


                       Controlar Servomotor 1
                       Transmitir izq, der, grad




                      Controlar Servomotor 2
                    Transmitir arriba, abajo, grad




                      Controlar Servomotor 3
                    Transmitir arriba, abajo, grad




                       Controlar Servomotor 4
                       Transmitir abrir, cerrar




                      SI
                             ¿Continuar?




                                        NO


                                 FIN
9.1.   Algoritmo del microcontrolador:

1. Inicio
2. Incluir librería “modedefs.bas” para establecer comunicación con puerto
    serial.
3. Establecer variables globales arriba, abajo, izquieda, derecha, grado, abrir y
    cerrar de tipo char
4.      Si (coneccion=true)Entonces
5.      Controlar servomotor 1 por pin 7
6.          Transmitir izquierda, derecha, grados.
7.      Controlar servomotor 2 por pin 6
8.          Transmitir arriba, abajo y grados.
9.      Controlar servomotor 3 por pin 5
10.          Transmitir arriba, abajo y grados.
11.     Controlar servomotor 4 por pin 3
12.          Transmitir arriba y cerrar.
13.     Caso contrario
14.           No transmitir
15. Fin si
16. Fin



10. Referencias:

-   Imagen 1 “Diagrama de circuitos”, disponible en:
    http://www.xbot.es/microplans/servos4.htm

-   Imagen 2 y [1] “Protoboard”, disponible en:
    http://taller.tagabot.org/index.php/Arduino/Armada

-   Imagen 3 y [2] “Servomotor”, disponible en:
    http://es.wikipedia.org/wiki/Servomotor_de_modelismo

-   Imagen 4 “Microcontrolador”, disponible en:
    http://parts.digikey.com/1/parts/557513-ic-mcu-flash-2kx14-8soic-pic12f683-i-
    sn.html

-   [3] “Microcontrolador”, disponible en:
    http://es.wikipedia.org/wiki/Microcontrolador

-   Imagen 5 y [4] “Cristal de cuarzo”, disponible en:
    http://www.endrich.com/es/site.php/4533

-   Imagen 6 “Puerto serial”, disponible en:
    http://es.wikipedia.org/wiki/Archivo:SerialPort_ATX.jpg
-   [5] “Puerto serial”, disponible en:
    http://es.wikipedia.org/wiki/Puerto_serie

-   [6] “C++”, disponible en:
    http://es.wikipedia.org/wiki/C%2B%2B

-   [7] “Visual Basic”, disponible en:
    http://es.wikipedia.org/wiki/Microsoft_Visual_Basic

Más contenido relacionado

Destacado

Pràctiques electrònica i robòtica amb arduino
Pràctiques electrònica i robòtica amb arduinoPràctiques electrònica i robòtica amb arduino
Pràctiques electrònica i robòtica amb arduinoJOSEP ROMERO
 
Clase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con ArduinoClase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con ArduinoActivo 2.0
 
Robótica e Inteligencia Artificial
Robótica e Inteligencia ArtificialRobótica e Inteligencia Artificial
Robótica e Inteligencia Artificialjulienata
 
Prácticas labview
Prácticas labviewPrácticas labview
Prácticas labviewlizluvzmcr
 
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...UNIVERSIDAD CATOLICA DE CUENCA SEDE AZOGUES
 
Ejercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo SabikaEjercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo SabikaJohnny Parrales
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino El Gfe Davidson
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full TutorialAkshay Sharma
 

Destacado (9)

Instroduccion arduino
Instroduccion arduinoInstroduccion arduino
Instroduccion arduino
 
Pràctiques electrònica i robòtica amb arduino
Pràctiques electrònica i robòtica amb arduinoPràctiques electrònica i robòtica amb arduino
Pràctiques electrònica i robòtica amb arduino
 
Clase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con ArduinoClase 2 - Taller de Intrucción a la robótica con Arduino
Clase 2 - Taller de Intrucción a la robótica con Arduino
 
Robótica e Inteligencia Artificial
Robótica e Inteligencia ArtificialRobótica e Inteligencia Artificial
Robótica e Inteligencia Artificial
 
Prácticas labview
Prácticas labviewPrácticas labview
Prácticas labview
 
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
Ejercicios resueltos del capítulo 1 del libro de Teoría de Circuitos y dispos...
 
Ejercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo SabikaEjercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo Sabika
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full Tutorial
 

Similar a Brazo

Brazo
BrazoBrazo
Brazoroger
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraLenin Jiménez
 
F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)edwin andres
 
DISEÑO ELECTRONICO
DISEÑO ELECTRONICODISEÑO ELECTRONICO
DISEÑO ELECTRONICOsgtc_24
 
191256975 micro-practicas
191256975 micro-practicas191256975 micro-practicas
191256975 micro-practicasproyband
 
Informe de proyecto final de control discreto
Informe de proyecto final de control discretoInforme de proyecto final de control discreto
Informe de proyecto final de control discretoSamuel Guiza Jerez
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusPaolaPerez263
 
Guia de aprendizaje circuitos
Guia de aprendizaje circuitosGuia de aprendizaje circuitos
Guia de aprendizaje circuitosAlexis Zapata
 
Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...
Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...
Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...MariaBarradas17
 
Diseño de un robot móvil omnidireccional mayabot
Diseño de un robot móvil omnidireccional mayabotDiseño de un robot móvil omnidireccional mayabot
Diseño de un robot móvil omnidireccional mayabotAlvaro Cortes Manica
 
Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...
Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...
Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...kyaalena
 
Recuperacion de soporte tecnico -Las caracteristicas de los simuladores
Recuperacion de soporte tecnico -Las caracteristicas de los simuladoresRecuperacion de soporte tecnico -Las caracteristicas de los simuladores
Recuperacion de soporte tecnico -Las caracteristicas de los simuladoresMaryuriVega5
 

Similar a Brazo (20)

Brazo
BrazoBrazo
Brazo
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadora
 
F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)
 
Rostro Expresivo
Rostro ExpresivoRostro Expresivo
Rostro Expresivo
 
intro_VHDL.pdf
intro_VHDL.pdfintro_VHDL.pdf
intro_VHDL.pdf
 
Intro vhdl
Intro vhdlIntro vhdl
Intro vhdl
 
Control de motor (eje flexible)
Control de motor (eje flexible)Control de motor (eje flexible)
Control de motor (eje flexible)
 
Control de motor (eje flexible)
Control de motor (eje flexible)Control de motor (eje flexible)
Control de motor (eje flexible)
 
DISEÑO ELECTRONICO
DISEÑO ELECTRONICODISEÑO ELECTRONICO
DISEÑO ELECTRONICO
 
191256975 micro-practicas
191256975 micro-practicas191256975 micro-practicas
191256975 micro-practicas
 
Informe de proyecto final de control discreto
Informe de proyecto final de control discretoInforme de proyecto final de control discreto
Informe de proyecto final de control discreto
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
 
Guia de aprendizaje circuitos
Guia de aprendizaje circuitosGuia de aprendizaje circuitos
Guia de aprendizaje circuitos
 
2 juanpedro montero
2 juanpedro montero2 juanpedro montero
2 juanpedro montero
 
Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...
Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...
Diseño de un sistema de microcontroladores maestro-esclavo mediante el uso de...
 
Diseño de un robot móvil omnidireccional mayabot
Diseño de un robot móvil omnidireccional mayabotDiseño de un robot móvil omnidireccional mayabot
Diseño de un robot móvil omnidireccional mayabot
 
Software simulación electrónica
Software simulación electrónicaSoftware simulación electrónica
Software simulación electrónica
 
diseño de brazo de 6 GDL
diseño de brazo de 6 GDLdiseño de brazo de 6 GDL
diseño de brazo de 6 GDL
 
Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...
Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...
Defensa proyecto desarrollo de aplicación web para la gestión de nomina y cab...
 
Recuperacion de soporte tecnico -Las caracteristicas de los simuladores
Recuperacion de soporte tecnico -Las caracteristicas de los simuladoresRecuperacion de soporte tecnico -Las caracteristicas de los simuladores
Recuperacion de soporte tecnico -Las caracteristicas de los simuladores
 

Más de Luis Gerardo Hidalgo (6)

Web2.0
Web2.0Web2.0
Web2.0
 
Brazo Robótico
Brazo RobóticoBrazo Robótico
Brazo Robótico
 
Tv digital
Tv digitalTv digital
Tv digital
 
Cibercafes
CibercafesCibercafes
Cibercafes
 
Semana2
Semana2Semana2
Semana2
 
Jornadas De Telec Loja
Jornadas De Telec LojaJornadas De Telec Loja
Jornadas De Telec Loja
 

Brazo

  • 1. UNIVERSIDAD TECNICA PARTICULAR DE LOJA La Universidad Católica de Loja Escuela de Electrónica y Telecomunicaciones Proyecto de Fin de Curso de Metodología de la Programación Tema: “Brazo mecánico” Integrantes: Luis Gerardo Hidalgo García José Vicente Jaramillo Valdivieso Juan Francisco Maldonado Morales Mauricio Fernando Román Rodríguez Periodo: 2009 –2010
  • 2. 1. Objetivos: 1.1. Objetivos generales: - Construcción de un brazo mecánico con movimiento en los ejes X,Y y Z para recolección de objetos livianos. 1.2. Objetivos específicos: - Diseñar el programa en lenguaje C y programar los microcontroladores. - Construir la parte mecánica, que incluye el ensamblaje del brazo y los servomotores. - Ensamblar y conectar la parte mecánica al ordenador. 2. Descripción: PC PIC Brazo Mecánico Programa en PC Construcción de brazo mecánico en base de aluminio, movilizado con servomotores, por medio de la programación en C++, con una pinza en el extremo para la recolección de objetos. Las instrucciones de C++ serán enviadas a través del puerto serial para darle movilidad al brazo, los componentes del brazo se encontrarán en un protoboard o en una placa la cual estará conectada al computador. La energía necesitada para mover el brazo se tomará de una fuente de alimentación la cual será distribuida cables. El brazo tendrá 3 articulaciones y movilidad en los ejes X, Y, Z. Este brazo será capaz de recoger objetos livianos mediante sus pinzas. 3. Herramientas: 3.1. Hardware: - Servomotores. - Aluminio. - Microcontolador pic12f683. - Pulsantes.
  • 3. - Resistencias. - Transistores. - Protoboard. - Cable DB9. - Fuente de Alimentación. - Cristal de 9 Mhz - Computador con puerto serial. 3.2. Software: - Programa C++. - Programa Visual Basic. 4. Metodología: Para la investigación de todo lo concerniente al proyecto utilizamos lluvia de ideas para el diseño del brazo robótico. Para la investigación de los conceptos utilizamos la técnica del mapa mental para realizar un borrador de lo que necesitamos investigar. Para realizar el programa vamos a utilizar la herramienta de lenguaje de programación C++, ya que es un programa que nos facilita programar vía comunicación serial, también es considerado un programa base para el desarrollo de los demás programas que poseen sus bases en C. Diagrama del Circuito: Imagen 1.
  • 4. 5. Fundamentos Teóricos: Protoboard: “El dispositivo más básico y grande, que permite conectar los otros fácilmente, es la protoboard. Está hecha para poder comunicar dos elementos conductores (alambres, patas de dispositivos, fuentes de voltaje) sin necesidad de soldarlos, sino simplemente al introducirlos en dos o más agujeros que por debajo están interconectados. No todos los agujeros de la protoboard están comunicados entre sí. Este es un diagrama simple de su funcionamiento, las franjas grises muestran lo que serán líneas de conducción separadas: tiras metálicas dobladas para agarrar los alambres”. [1] Imagen 2. Servomotor: Imagen 3. “Un servomotor de modelismo —conocido generalmente como servo o servo de modelismo— es un dispositivo actuador que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y de mantenerse estable en dicha posición. Está formado por un motor de corriente continua, una caja reductora y un circuito de control, y su margen de funcionamiento generalmente es de menos de una vuelta completa. Los servos de modelismo se utilizan frecuentemente en sistemas de radiocontrol y en robótica, pero su uso no está limitado a estos”.[2] Microcontrolador pic12f683: “Un microcontrolador es un circuito integrado o chip que incluye en su interior las Imagen 4.
  • 5. tres unidades funcionales de una computadora: unidad central de procesamiento, memoria y unidades de E/S”.[3] Cristales de Cuarzo: Imagen 5. “La importancia de los cristales de cuarzo en electrónica es el resultado de su extremadamente alto factor de calidad “Q”, tamaño relativamente pequeño y excelente estabilidad en temperatura. Los cristales de cuarzo están compuestos de dióxido de silicio. Su propiedad es un fenómeno llamado “piezoeléctrico”, que consiste en aplicar stress o tracción mecánica a un cuarzo y este genera un campo eléctrico directamente proporcional y viceversa. La aplicación de un campo eléctrico sobre un cristal genera una fuerza en la estructura del cristal, haciendo que este vibre a una frecuencia determinada. Los cristales de cuarzo proveen una fuente fiable de aplicaciones en crono-medición, incluyendo relojes, servo controles, dispositivos analógico digitales y micro procesadores”.[4] Puerto serial: Imagen 6. “Un puerto serie o puerto serial es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por computadoras y periféricos, en donde la información es transmitida bit a bit enviando un solo bit a la vez, en contraste con el puerto paralelo que envía varios bits simultáneamente. La comparación entre la transmisión en serie y en paralelo se puede explicar usando una analogía con las carreteras. Una carretera tradicional de un sólo carril por sentido sería como la transmisión en serie y una autovía con varios carriles por sentido sería la transmisión en paralelo, siendo los vehículos los bits que circulan por el cable”.[5] C++: “es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En
  • 6. ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales. El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C”.[6] Visual Basic: “(Visual Studio) constituye un IDE (entorno de desarrollo integrado o en inglés Integrated Development Enviroment) que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del programa, sino que se puede hacer de forma visual)”.[7] 6. Alcance: El alcance máximo de nuestro proyecto es lograr movimiento del brazo mecánico en los ejes X, Y y Z para la recolección de objetos livianos y su traslado a un destino diferente. Resultados esperados: Una vez terminado el proyecto, se tendrá un brazo mecánico capaz de recolectar objetos livianos por medio de una pinza, posteriormente trasladarlos a su destino final dentro del rango de movimiento del brazo.
  • 7. 7. Desarrollo de Módulos. 7.1. Hardware: Los pasos a describir son secuenciales. 1ra Etapa: Envió de pulsos por el pin 3 hacia el pic para la transformación de las ordenes a código binario. 2da Etapa: Enviar los pulsos del pic al brazo mecánico. 3ra Etapa: Recepción de pulsos y transformar código binario a instrucción normal. 7.2. Software: Los pasos a describir son secuenciales 1ra Etapa: Implantar objeto de transmisión serial. 2da Etapa: Implantar puntos de comunicación serial. 3ra Etapa: Empezar comunicación serial. 4ta Etapa: Ingreso de instrucciones por teclado y su almacenamiento en sus respectivas variables. 5ta Etapa: Transmisión de datos vía comunicación serial.
  • 8. 6ta Etapa: Recepción y ejecución de instrucciones. 8. Flujograma del Programa en PC:
  • 9. 8.1. Algoritmo del programa en PC: 1. Inicio 2. Encender Ordenador 3. Abrir software 4. Conectar el brazo al puerto serial del ordenador 5. Mientras (Programa=Encendido) Entonces 6. Si (Motor 1=Controlado) Entonces 7. Si (Orden= Derecha) 8. Mover a derecha 9. Caso Contrario 10. Mover a izquierda 11. Ingresar Grados 12. Caso Contrario 13. No moverse 14. Si (Motor2=Controlado) Entonces 15. Si (Orden= Arriba) 16. Mover hacia arriba 17. Caso Contrario 18. Mover hacia abajo 19. Ingresar grados 20. Caso Contrario 21. No Moverse 22. Si(Motor3= Controlado) Entonces 23. Si(orden=arriba) 24. Mover hacia arriba 25. Caso Contrario 26. Mover hacia abajo 27. Ingresar Grados 28. Caso Contrario 29. No moverse 30. Si(Motor4= Abierto) 31. Cerrar motor4 32. Caso Contrario 33. Abrir Motor4 34. Ir a instrucción 6 35. Fin mientras 36. Fin
  • 10. 9. Flujograma del Microcontrolador: INICIO Incluir librería “Modedefs.bas” Establecer variables globales arriba, abajo, izq, der, grad, abrir, cerrar de tipo char NO No transmitir ¿Está conectado? nada SI Controlar Servomotor 1 Transmitir izq, der, grad Controlar Servomotor 2 Transmitir arriba, abajo, grad Controlar Servomotor 3 Transmitir arriba, abajo, grad Controlar Servomotor 4 Transmitir abrir, cerrar SI ¿Continuar? NO FIN
  • 11. 9.1. Algoritmo del microcontrolador: 1. Inicio 2. Incluir librería “modedefs.bas” para establecer comunicación con puerto serial. 3. Establecer variables globales arriba, abajo, izquieda, derecha, grado, abrir y cerrar de tipo char 4. Si (coneccion=true)Entonces 5. Controlar servomotor 1 por pin 7 6. Transmitir izquierda, derecha, grados. 7. Controlar servomotor 2 por pin 6 8. Transmitir arriba, abajo y grados. 9. Controlar servomotor 3 por pin 5 10. Transmitir arriba, abajo y grados. 11. Controlar servomotor 4 por pin 3 12. Transmitir arriba y cerrar. 13. Caso contrario 14. No transmitir 15. Fin si 16. Fin 10. Referencias: - Imagen 1 “Diagrama de circuitos”, disponible en: http://www.xbot.es/microplans/servos4.htm - Imagen 2 y [1] “Protoboard”, disponible en: http://taller.tagabot.org/index.php/Arduino/Armada - Imagen 3 y [2] “Servomotor”, disponible en: http://es.wikipedia.org/wiki/Servomotor_de_modelismo - Imagen 4 “Microcontrolador”, disponible en: http://parts.digikey.com/1/parts/557513-ic-mcu-flash-2kx14-8soic-pic12f683-i- sn.html - [3] “Microcontrolador”, disponible en: http://es.wikipedia.org/wiki/Microcontrolador - Imagen 5 y [4] “Cristal de cuarzo”, disponible en: http://www.endrich.com/es/site.php/4533 - Imagen 6 “Puerto serial”, disponible en: http://es.wikipedia.org/wiki/Archivo:SerialPort_ATX.jpg
  • 12. - [5] “Puerto serial”, disponible en: http://es.wikipedia.org/wiki/Puerto_serie - [6] “C++”, disponible en: http://es.wikipedia.org/wiki/C%2B%2B - [7] “Visual Basic”, disponible en: http://es.wikipedia.org/wiki/Microsoft_Visual_Basic