Sunteți pe pagina 1din 12

UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN

FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA

Laboratorio de Diseño de Sistemas Mecatrónicos

Práctica #5
Control de posición e implementación en servomotor
M.C. Dante Ferreyra Mendez

Emmanuel Pablo García Muñoz 1594897


Jueves: V4 Brigada: 415
Oscar Eduardo Medellin Cuellar 1598578
Miercoles: V5 Brigada: 306

Ciudad Universitaria San Nicolás de los Garza N.L. a 14 de Abril del 2017
ÍNDICE
Objetivo 3

Marco Teórico 3

Introducción 6

Desarrollo 6

Material 6

Procedimiento 6

Conclusión 11

Bibliografía 12

2
CONTROL DE POSICIÓN E IMPLEMENTACIÓN EN
SERVOMOTOR
OBJETIVO.

Esta práctica consiste en realizar un experimento con un dispositivo electromecánico dado por un
actuador, el cual se puede definir como aquel que combina parte eléctrica y mecánica para
conformar su mecanismo u operación.

El objetivo principal es que el alumno aprenda a combinar sistemas mecánicos, eléctricos y el uso
de la computadora con la finalidad de controlar la posición del eje del servomotor. La señal de
entrada que se obtuvo a partir de LABVIEW mediante el instrumento virtual de la práctica
anterior, servirá como alimentación de control del servomotor.

MARCO TEÓRICO

SERVOMOTOR
Un Servo es un dispositivo pequeño que tiene un eje de rendimiento controlado. Este puede ser
llevado a posiciones angulares específicas al enviar una señal codificada. Con tal de que una señal
codificada exista en la línea de entrada, el servo mantendrá la posición angular del engranaje.
Cuando la señala codificada cambia, la posición angular de los piñones cambia. En la práctica, se
usan servos para posicionar superficies de control como el movimiento de palancas, pequeños
ascensores y timones. Ellos también se usan en radio control, títeres, y por supuesto, en robots.

Los Servos son sumamente útiles en robótica. Los motores son pequeños, tiene internamente una
circuitería de control interna y es sumamente poderoso para su tamaño. Un servo normal o
Standard como el HS-300 de Hitec tiene 42 onzas por pulgada o mejor 3kg por cm. De torque que
es bastante fuerte para su tamaño. También potencia proporcional para cargas mecánicas. Un
servo, por consiguiente, no consume mucha energía. Se muestra la composición interna de un
servo motor en el cuadro de abajo. Podrá observar la circuitería de control, el motor, un juego de
piñones, y la caja. También puede ver los 3 alambres de conexión externa. Uno es para
alimentación Vcc (+5volts), conexión a tierra GND y el alambre blanco es el alambre de control.

Hay tres tipos de servomotores:

 Servomotores de CC
 Servomotores de AC
 Servomotores de imanes permanentes o Brushless.

3
PARTES DE UN SERVOMOTOR

 Motor de corriente continua: Es el elemento que le brinda movilidad al servo. Cuando se


aplica un potencial a sus dos terminales, este motor gira en un sentido a su velocidad
máxima. Si el voltaje aplicado sus dos terminales es inverso, el sentido de giro también se
invierte.
 Engranajes reductores: Se encargan de convertir gran parte de la velocidad de giro del
motor de corriente continua en torque.
 Circuito de control: Este circuito es el encargado del control de la posición del motor.
Recibe los pulsos de entrada y ubica al motor en su nueva posición dependiendo de los
pulsos recibidos.
 Tiene además de los circuitos de control un potenciómetro conectado al eje central del
motor. Este potenciómetro permite a la circuitería de control, supervisar el ángulo actual
del servo motor.

FUNCIONAMIENTO DE UN SERVOMOTOR

El servomotor tiene algunos circuitos de control y un potenciómetro (resistencia variable)


conectado al eje central. potenciómetro permite a la circuitería de control supervisar el ángulo

4
actual del servomotor. Si el eje está en el ángulo correcto, entonces el motor estará apagado. Si el
circuito verifica que el ángulo no es el correcto, el motor girará en la dirección adecuada hasta
llegar al ángulo correcto. El eje del servomotor es capaz de llegar a los 180 grados. Normalmente,
en algunos llega a los 210 grados, pero varía según el fabricante. Un servomotor normal se usa
para controlar un movimiento angular de entre 0° y 180°.

La cantidad de voltaje aplicado al motor es proporcional a la distancia que éste necesita viajar. Así,
si el eje necesita regresar una distancia grande, el motor regresará a toda velocidad. Si este
necesita regresar sólo una pequeña cantidad, el motor correrá a una velocidad más lenta. A esto
se le llama control proporcional.

CONTROL DE UN SERVOMOTOR

Los servomotores hacen uso de la modulación por ancho de pulsos (PWM) para controlar la
dirección o posición de los motores de corriente continua. La mayoría trabaja en la frecuencia de
los cincuenta hertz, así las señales PWM tendrán un periodo de veinte milisegundos. La electrónica
dentro del servomotor responderá al ancho de la señal modulada. Si los circuitos dentro del
servomotor reciben una señal de entre 0,5 a 1,4 milisegundos, éste se moverá en sentido horario;
entre 1,6 a 2 milisegundos moverá el servomotor en sentido antihorario; 1,5 milisegundos
representa un estado neutro para los servomotores estándares.

Señal de ancho de pulso modulado:

INTRODUCCIÓN

5
En esta práctica utilizaremos un microprocesador como interfaz entre el NI ELVIS y el servomotor,
para esto en la práctica anterior se dio a conocer el funcionamiento de los servomotores.

DESARROLLO

 Seleccione el microprocesador a utilizar para esta práctica, sustentando las razones de su


elección y desarrollo.
 Seleccione el software y lenguaje de programación del mismo.
 Desarrolle el código de programación para que el microprocesador pueda ser usado como
interface
 Desarrolle el instrumento virtual en Labview
 Genere las pruebas necesarias para la obtención satisfactoria de la práctica.
 Desarrolle un escrito de las problemáticas encontradas en el desarrollo de la misma y sus
respectivas soluciones.
 Genere sus conclusiones tomando en cuenta los puntos anteriores.

MATERIAL
 Un motor a paso de 12 Volts.
 Labview
 Servo Motor hs422
 Transistor 2n2222
 1 MOC
 2 Resistencias de 1KΩ
 Resistencia de 333Ω
 Arduino

PROCEDIMIENTO

Para poder cumplir nuestro objetivo utilizamos el microprocesador Atmega328, que tiene incluido
el Arduino, elegimos utilizar el arduino por la facilidad y flexibilidad de comunicar arduino con el
servomotor con sus librerías así como el manejo de PWM y los periféricos necesarios para nuestra
aplicación.

Descargando el Software Arduino, de la página oficial de Arduino http://www.arduino.cc/ y solo


tuvimos que descargar un complemento para la comunicación de Labview y el programa Arduino.

La interfaz Arduino Uno es una plataforma de desarrollo de computación física y está compuesta
por una placa con un microcontrolador y con una circuitería que ayudan a tener un control de los
valores de entradas y salidas. Con Arduino Uno se pueden configurar las entradas y salidas, ya

6
sean analógicas o digitales, de tal manera que se logren obtener los valores más convenientes,
según se requiera.

Una característica de Arduino Uno es que se puede energizar a través de la conexión USB o
conectando una fuente externa. En esta práctica energizaremos el microcontrolador a través de la
conexión USB, ya que contamos con el uso de una computadora.

El software que se utilizó en esta práctica es LABVIEW en combinación con Arduino y el lenguaje
de programación, con el cual se programó el microcontrolador, es lenguaje C.

En el entorno de Labview desarrollamos una VI) para controlar un servo motor, en este caso
utilizamos un arduino para facilitar la comunicación. Para lograr la comunicación de Labview con el
arduino bajamos un tool kit desde la página de National Instruments.

Con ayuda de los comandos explicados en la práctica pasada se logró de nuevo la comunicación
correcta del servo con el arduino y estos a su vez con el entorno de Labview.

La codificación realizada con el arduino para el funcionamiento del servo se muestra a


continuación.

/*************************************************************************
********
**
** LVFA_Firmware - Provides Basic Arduino Sketch For Interfacing With LabVIEW.
**
** Written By: Sam Kristoff - National Instruments

7
** Written On: November 2010
** Last Updated: Dec 2011 - Kevin Fort - National Instruments
**
** This File May Be Modified And Re-Distributed Freely. Original File Content
** Written By Sam Kristoff And Available At www.ni.com/arduino.
**
**************************************************************************
*******/
/*************************************************************************
********
**
** Includes.
**
**************************************************************************
******/
// Standard includes. These should always be included.
#include <Wire.h>
#include <SPI.h>
#include <Servo.h>
#include "LabVIEWInterface.h"
/*************************************************************************
********
** setup()
**
** Initialize the Arduino and setup serial communication.
**
** Input: None
** Output: None
*****************************************************************************
****/
void setup()
{
// Initialize Serial Port With The Default Baud Rate
syncLV();
// Place your custom setup code here
}
/*************************************************************************
********
** loop()
**
** The main loop. This loop runs continuously on the Arduino. It
** receives and processes serial commands from LabVIEW.
**
** Input: None
** Output: None
**************************************************************************
*******/
void loop()

8
{
// Check for commands from LabVIEW and process them.
checkForCommand();
// Place your custom loop code here (this may slow down communication with LabVIEW)
if(acqMode==1)
{
sampleContinously();
}
}

Para la implementación del VI, se colocó los controles en el panel frontal: Botón de Stop Booleano,
Control de conexión VISA que muestra el puerto donde está conectado el Arduino, Control de
ubicación del pin donde se colocará la señal del Arduino al servomotor, Knoob para cambiar el
giro/ángulo que se desea en el servomotor y un indicador del ángulo resultante. Se implementó el
diagrama de bloques para lo cual fue necesario el uso de la librería de Arduino y establecer una
comunicación con éste.

9
10
Una vez concluidos los pasos anteriores, se conectó la tarjeta de Arduino a la computadora a
través del cable USB, se energizó el microcontrolador a través de dicho cable, se conectó la
terminal GND y se estableció que la señal de control saliera de la terminal 2 de la tarjeta de
Arduino. La implementación se muestra en la figura.

CONCLUSIÓN

Se pudo comprobar con éxito el funcionamiento de nuestra programación, de nuestra VI y de la


comunicación con el servo gracias al arduino ya que pudimos ver en tiempo real la comunicación
de estos. El control del servo fue bastante bueno ya que al momento de enviar una posición, en el
VI, el servomotor se movía automáticamente y se ubicaba en la posición indicada.

Algunas ocasiones el dispositivo no se podía inicializar y concluimos que se debe de tener cuidado
al ejecutar el programa ya que si se interrumpe la comunicación repentinamente se debe de dar
un reset al dispositivo y al Labview.

11
BIBLIOGRAFÍA

https://es.wikipedia.org/wiki/Servomotor

http://www.info-ab.uclm.es/labelec/solar/electronica/elementos/servomotor.htm

http://www.monografias.com/trabajos60/servo-motores/servo-motores.shtml

http://www.control-systems-principles.co.uk/whitepapers/spanishwp/02ServoPaper2SP.pdf

http://www.arduino.cc/en/Main/ArduinoBoardUno

12