MONTAJE / Proyecto Servos

Autores: José Coll(Electrónica) Rafael López(informática)

El circuito que aquí presentamos surgió de la idea de construir un robot, tras haber estudiado la viabilidad del proyecto, nos dimos cuenta que uno de los mayores inconvenientes era la parte mecánica de los movimientos, esto suponía mecanizar piezas adaptar engranajes, cojinetes, motor y dotar de un control de motor con regulación de velocidad y posición, esto encarecía el proyecto, pero surgió una idea, adaptar la parte electrónica para poder controlar servos de los utilizados en radiocontrol, estos tienen toda la mecánica y electrónica de control en su interior, son robustos, precisos, fáciles de conseguir, y se pueden comprar acordes a la potencia deseada.

Todos estos servos se controlan fácilmente, únicamente una señal binaria que en función del ancho de pulso generado posiciona el servo en el ángulo deseado.

La utilidad del montaje es variada y depende del usuario, una posible aplicación seria el montaje de un robot, nosotros ya hemos construido uno y funciona perfectamente, también se podría utilizar para controlar la apertura proporcional de una válvula en un proceso industrial, o bien para la automatización de maquetas complejas, cambio de vías de trenes o movimientos de figuras.

Los sistemas proporcionales llevan años utilizándose en la industria, también nosotros podríamos utilizar nuestro diseño para aplicaciones industriales, hoy día hay servos que están totalmente preparados para soportar estos ambientes y su utilización resultaría técnicamente valida y económicamente viable, dicho todo esto dejo al aire la idea para que cada uno pueda imaginar su aplicación dentro de su campo de trabajo o hobby.

PROCESO DE MONTAJE Y AJUSTE

El proceso de montaje de este circuito es muy simple, empezamos montando el zócalo de 18 pines y el conector para los servos, a continua­ción montamos el conector DB25 (macho) de comunicación con el PC, y seguimos haciendo el puente entre el (-) y el pin 5 del micro-controlador, montamos el cristal de cuarzo, las bomas de alimentación, el regulador de 5Vcc. y los tres condensadores, verificando la polaridad del condensa­dor electrolítico, por la cara de solda­dura se monta la resistencia de mon­taje superficial entre el pin 4 y (+), en este momento ya podemos insertar el integrado en su zócalo y dar por finalizado en montaje.

Este circuito no necesita nin­gún tipo de ajuste, únicamente es necesario conectar los servos en la posición adecuada en función de la disposición de sus cables, en el dibujo adjunto se detalla la disposición y color de los cables en función de su marca.

CARACTERÍSTICAS TÉCNICAS

La alimentación del circuito es de 5Vcc que la suministramos a través de una pila de 9vcc, ésta la regulamos con el regulador de tensión positiva 7805 y filtramos con el condensador electrolítico.

El consumo del circuito depende principalmente del tipo y tamaño de los servos utilizados, y esto será determinante en el uso de una fuente de alimentación para todos aquellos que pretendan un uso continuo del circuito, o que instalen servos de elevada potencia.

El circuito integrado PIC16F84 es un pequeño pero potente micro-controlador, el cual se ha programado para controlar tres servos comandados a través del puerto paralelo del PC, este da los valores al micro-controlador de la posición y velocidad a donde se tienen que desplazar cada uno de los servos, y en función de estos valores el micro-controlador genera los pulsos de mando llamados servo-pulsos.

Los servo-pulsos son los que el servo lee y en función de su anchura este interpreta la posición. Estos pulsos están comprendidos entre 1ms y 2ms, donde 1ms seria tener posicionado el servo al mínimo, 1,5ms este estaría en la mitad de su recorrido, y 2ms estaría al máximo de su recorrido.

Como nosotros tenemos una resolución de ocho bits, es decir 256 posibilidades y el ángulo de trabajo de nuestros servos es aproximadamente de 190° , tenemos una resolución de 190/256=0.742° de movimiento angular.

TIPOS DE SERVOS Y CONTROLADORES DE VELOCIDAD

Variedad de marcas fabrican servos para el hobby del modelismo, todos ellos se rigen por un patrón que hace que sean compatibles, la única diferencia puede ser la disposición del cableado y sus colores.

En el mercado podemos encontrar desde servos miniatura, hasta grandes servos que alcanzan los 20kg de fuerza, estos pueden tener desde un ángulo de trabajo de aproximadamente 190° de giro, hasta unas cinco vueltas, y todos ellos en distintas calidades técnicas, los más simples son servos de plástico, con engranajes de plástico y sin rodamientos, los más complejos son con carcasa en aluminio muy robustos y resistentes, con engranajes metálicos y rodamientos de alta calidad, claro está que el precio es más elevado en estos últimos, pero solo sería necesario utilizarlos si se van a montar en ambientes industriales duros.

Hasta aquí hemos explicado que podemos con este proyecto posicionar un objeto en un punto y a una velocidad controlados por el PC, pero también existen en el mercado del modelismo controles proporcionales de velocidad, estos también existen en diversas gamas de potencia e incluso para control de motores brushless muy utilizados en la industria, todos estos controles son proporcionales y como la señal es compatible con los servos se pueden conectar en lugar de estos. Haciendo esto podemos dotar a nuestro sistema de un control de velocidad de un motor.

Estos controles de velocidad para motores, pueden trabajar con tensiones de hasta 40Vcc y corrientes de 120 amperios, lógicamente estos equipos están dotados de una toma de alimentación independiente, en este caso tendríamos que montar una fuente de alimentación acorde a la tensión y comente necesaria para el motor.

LISTA DE MATERIALES

Placa de circuito impreso – Conector DB25 macho para soldar en placa – Zócalo 18 pins – Boma doble de entrada alimentación – Regulador 7805 – Condensador electrolítico 16V 100 µR – 2 Condensadores cerámicos 22µR – Cristal cuarzo de 4 Mhz – Resistencia SMD 1K – PIC 16P84-04/P (programado) – Cable para puerto paralelo PC

Proyecto Servos esquema electrónico

 

INSTALACIÓN DEL SOFTWARE

La instalación del software proporcionado es muy fácil, solamente se ha de seguir los siguientes pasos:

1° Cerrar todos los programas antes de instalar el software para evitar cualquier posible fallo durante el proceso de instalación.

2° Introduzca el Disquete N°1 en la disquetera y ejecutar el fichero Setup.exe. Una vez haya leído toda la información necesaria del disco N°1 el programa de instalación pedirá el Disco N°2, introdúzcalo y apriete aceptar.

3° Siga las instrucciones del programa de instalación e instale el Proyecto Servos donde usted quiera.

Si ha seguido los pasos anteriores el Proyecto Servos debería estar instalado en el menú Inicio-Programas-Proyecto Servos.

Para ejecutar el programa no es necesario reiniciar el Pe, pero asegúrese de conectar la placa electrónica y que ésta esté alimentada.

MANUAL DE FUNCIONAMIENTO DEL PROGRAMA

El programa es un ejemplo dedicado para programadores de Visual Basic y para los amantes de las maquetas que quieran dar movimiento a todas sus creaciones. Como primer producto, presentamos una demostración de control de 3 Servomotores. Con esta utilidad estamos abriendo una nueva frontera de control de sistemas externos con el PC.

El programa desarrollado es una aplicación 100% ejecutable que incorpora un control dedicado para los programadores en Entorno Visual Basic. Este control, llamado Servo.ocx,se compone de dos herramientas:

– Herramientas que dispone Servo.ocx :

El ControlTotal, control que dispone de métodos generales para todos los Servos conectados a la Placa electrónica y que más adelante explicaremos.

El ConlroIServo, control que dispone de métodos y propiedades propios para el control individualizado de cada Servo.

MANUAL DE FUNCIONAMIENTO DEL CONTROL SERVO.OCX

El control que utilizamos ha sido confeccionado principalmente para facilitar el control de los servomotores a aquellos programadores que tengan en mente realizar aplicaciones lúdicas en sus proyectos, tales corno por ejemplo proyectos dedicados para subir y bajar pasos de barreras en maquetas de trenes, belenes animados, etc.

Pues bien este control consta, como anteriormente hemos dicho, de 2 he­rramientas las cuales detallamos a continuación.

Eventos del Control Total:

Control Total – Activar(): Este evento Activa todos los servomotores que estén en ese momento conectados a la placa electrónica de comunicación. Llevando a estos a sus posiciones preprogramadas. Estas posiciones se pueden cambiar en el mismo control o bien haciendo referencia al objeto Control-Servo y a su propiedad Posición.

Control Total – Desactivar (): Este evento Inhibe todos los servomotores que estén en ese momento conectados a la placa electrónica de comunicación, dejando a estos sin fuerza alguna y pudiéndose mover con la mano sin peligro alguno de colisión. Debemos tener en cuenta que una vez desactivado y desplazado con la mano si lo volvemos a activar, estos servomotores se desplazaran automáticamente, a la misma posición que tenían justo antes de ser desactivados, a máxima velocidad.

Control Total. Parar(): Este evento detiene a todos los servomotores que estén en ese momento conectados a la placa electrónica de comunicación, a la espera de volver a ser activados uno a uno con el evento del ControlServo.Activar o bien con el ControlTotal.Activar anteriormente detallado.

Con los Servomotores parados individualmente (ControlServo.Parar) o totalmente parados (PrincipalWipper.Parar) se puede modificar los valores de posición y velocidad sin que estos acusen el cambio hasta que se les vuelva a activar.

EVENTOS DEL CONTROL SERVO

Contrariamente ControlServo es un objeto visible y los programadores de VisualBasic pueden identidicarlo.

ControlServo.BotoneraActiva(): A True mostrará los botones de Activar y Parar y les ocultará si esta propiedad está a False.

ControlServo.ServoNumero(): Indica el número del Servo que va a adoptar el objeto ControlServo y al cual se hará referencia.

ControlServo.Activar(): Este evento Activa el Servomotor correspondiente al Objeto referido esté o no conectado a la placa electrónica de comunicación. Llevando a este a su posición preprogramada en la propiedad ControlServo.Posicion().

ControlServo.Parar(): Para individualmente al servo que esté haciendo referencia.

ControlServo.Posicion(): Es un valor que indica la posición de 0 a 255 en la que se encuentra o se quiere llevar al Servo.

ControlServo.Velocidad(): Es un valor que indica la velocidad de 1 a 255 a la que el Servo se va a trasladar a partir de ese momento y hasta que se vuelva a modificar.

Compartir:
(1 votes, average: 2,00 out of 5)
Loading...

1 Comment

  1. Esta fabuloso el proyecto para un paralítico, pues se puede emplear para automatizar su casa: luces, puertas etc….
    Ya tengo todo armado, pero,,,,, y el programa?
    Lo venden y donde? : (

    Responder

Escribe un comentario

*