UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Nombre del proyecto:
CONTROL DE POSICIÓN DE UN SERVOMOTOR MEDIANTE ARDUINO
“
”
SISTEMAS AUTOMATIZADOS Y REDES INDUSTRIALES I NDUSTRIALES
Presenta: Francisco Iván Ríos Chávaro Luis Díaz Juárez Erik Ramírez Gutiérrez Deciderio Olvera Mondragón Omar Alexis García López Mauricio Ortiz Velázquez
Profesor: Ing. Adrián Morales Pérez
" You're Doing B etter Than You Thin k... Self Perceptio n Can Be Harsh At Times" ("Lo estás haciendo mejor de lo que crees... La auto percepción puede
ser dura a veces") @JamesBlute
I. INTRODUCCIÓN. Arduino es una herramienta para la fabricación de computadoras que pueden detectar y controlar más del mundo físico que el equipo de escritorio. Es una plataforma de computación física de código abierto basado en una placa electrónica simple, y un entorno de desarrollo para escribir software para la placa.
Arduino se puede utilizar para desarrollar objetos interactivos, teniendo las entradas de una variedad de interruptores o sensores, y el control de una variedad de luces, motores, y otras salidas físicas. Los proyectos en Arduino pueden ser entes individuales, o pueden comunicarse con el software que se ejecuta en el ordenador (por ejemplo, Flash, Processing, MaxMSP.)
El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma similar en
computación , que se basa en el entorno de
programación multimedia de procesamiento.
II. ANTECEDENTES. El proyecto tiene su origen a partir de la necesidad de realizar el control de un servomotor, como requisito para aprobar la materia. Con base a la realización de un proyecto se definió el control de una charola para cd´s.
III. JUSTIFICACIÓN. Se decide llevar a cabo el proyecto para aprobar de manera satisfactoria la materia.
2
IV. OBJETIVOS.
Lograr el control de posición de un servomotor de 180°
V. ALCANCES.
Lograr el control de posición en el avance lineal de la bandeja, mediante elementos de transmisión (engranes)
VI. ANALISIS DE RIESGOS. Riesgo
Consecuencia
Falta de tiempo
Entregar en destiempo el proyecto, causando malas expectativas ante el profesor. Retrasar el proyecto en tiempo y forma e incluso la pérdida parcial del proyecto. Desacuerdo entre las dos partes, inconformidad.
Falta de capital
Falta de comunicación o entendimiento con el equipo y/o maestro.
3
VII. FUNDAMENTACIÓN TEÓRICA El
servomotor
tiene
3
cables,
Alimentación
,
Masa
y
la
señal.
Los colores son los siguientes:
Rojo - Alimentación (Normalmente 5 V aunque pueden ser mas)
Negro o Marrón -Masa
Blanco o Naranja - Señal de control (pulso enviado al servomotor)
Básicamente un servomotor es un motor de corriente continua con un potenciómetro que le permite saber la posición en la que se encuentra y así poder controlarla.
Para controlar el servomotor se le envía pulsos cada 20 ms es decir 50Hz. La anchura del pulso es lo que codifica el ángulo de giro , es decir lo que se conoce como PWM, codificación por ancho de pulso. Esta anchura varía según el servomotor pero normalmente va entre 0.5 y 2.5 ms aunque pueden variar.
Sobre el peso que pueden levantar se puede deducir con el par del servo. Normalmente los servos indican el par o torque que pueden realizar para un servo estándar suele ser 5kg/cm es decir puede mover 5kg a 1 cm de distancia. En caso de querer mover lo a 5 cm el servo solo podrá mover 1kg.
Arduino puede ser utilizado para desarrollar objetos autónomos e interactivos, como prototipos o interactuar con software instalado en el ordenador. Dada su rápida curva de aprendizaje y su precio económico es ideal para educadores, diseñadores y cualquiera interesado en la electrónica y robótica. El compilador necesario para programarlo está disponible de forma gratuita en www.arduino.cc y está disponible para Mac OS X, Windows y Linux. Arduino UNO es la versión mejorada de su predecesor Duemilanove. Incluye función de autoreset, protección de sobrecargas, conector USB para 4
programarlo, totalmente montado con componentes miniatura SMD (salvo el microcontrolador, para poder cambiarlo facilmente) y nuevo bootloader OptiBoot a 155kbps. La placa se entrega completamente ensamblada y probada con un microcontrolador AVR ATmega328 con un cristal de cuarzo de 16Mhz. El microcontrolador se entrega con un bootloader que permite su programación sin necesidad de ningún tipo de programado externo. Se entrega con el nuevo chip Atmega328 de AVR con 32 KB de memoria de programa en lugar de 16 KB de la anterior versión, RAM de 2KB (antes 1KB) y EEPROM de 1 KB (antes 512 bytes).
5
IX. DESARROLLO DEL PROYECTO El proyecto se realizó en distintas fases, pues primero se comenzó con la determinación de cómo se iba a realizar el mecanismo, prosiguió con la elaboración de la maqueta, el cableado y la programación del Arduino.
Se pensó primeramente en un mecanismo que moviera un tornillo sin fin, con una caja o placa que funcionaría como referencia, todo esto movido por un juego de engranes, la desventaja que presentó este prototipo fue que el servomotor no tenía la suficiente potencia para moverlo. La opción que resultó ser la solución fue una bandeja de cd´s para una consola de video-juegos. El mecanismo ya estaba armado, únicamente se tuvieron que hacer ajustes para acoplar el servomotor con el funcionamiento de los engranes.
Una vez dispuesto el mecanismo se prosiguió con el cableado del protoboard, usando diagramas se definió que serían cuatro botones que controlarían la posición del servomotor. Una vez conectado el servomotor se prosiguió con la programación del Arduino. Mediante el uso de un pseudocódigo se definió como iba a funcionar el programa.
6
Figura 1. Cuerpo del programa
7
Figura 2. Funcionamiento lógico del programa mediante comparaciones "if"
X. RESULTADOS OBTENIDOS Se logró el control de posición del servomotor en cuatro ángulos diferentes, 0°, 60°, 120° y 180° siendo ilimitadas las posiciones que se podrían controlar.
XI. CONCLUSIONES Y RECOMENDACIONES Concluimos que el control de un servomotor se puede realizar de distintas maneras, siempre y cuando se respete lo que se quiere manejar y como se va a realizar.
RECOMENDACIONES Se podría realizar el manejo desde el programa Processing, una extensión de Arduino, que permite el control desde la computadora.
8
BIBLIOGRAFÍA
[1] http://itp.nyu.edu/physcomp/labs/labs-arduino-digital-andanalog/servo-motor-control-with-an-arduino/ [2] http://arduino.cc/en/pmwiki.php?n=Main/ [3] https://www.youtube.com/watch?v=LJaOaBY_W5c
"Salvaguardar el medio ambiente.... Es un principio rector de todo nuestro trabajo en el apoyo del desarrollo sostenible; es un componente esencial en la erradicación de la pobreza y uno de los cimientos de la paz". Kofi Annan 9