PicManía by RedRaven
 

Búsqueda personalizada

 

PROYECTOS :
P
LACA CONTROLADORA para 16 SERVOS

 
 

   Continuando con esto de la afición al Radio-Control planteo ahora un circuito para controlar 16 Servos simultáneamente. Es la continuación lógica de lo que vimos en Controlando 8 Servos con una sola interrupción.

   Este segundo proyecto de temas RC va destinado a conseguir controlar muchos actuadores independientes para nuestro futuro proyecto ¿Robot? ¿Avión? ¿Barco? radiocontrolado.

 

Descripción del Proyecto
 

   La idea fundamental es la de hacer un circuito que sea capaz de recibir órdenes vía serie y mantener perfectamente controlados hasta 16 servos mediante sus correspondientes señales PWM. Es una ampliación de los temas tratados en artículos anteriores de PicManía como los presentados en el Receptor RC asistido por PIC o el mencionado Controlando 8 Servos con una sola interrupción. Este proyecto va en paralelo también con lo descrito en Experimentando con un Motor d.c. usando el driver L298N.
 

   En el fondo todos estos experimentos y proyectos parciales no son más que pequeños pasos que damos hacia el Gran Proyecto (que cada vez se va decantando más hacia el Barco de Vela Radiocontrolado, muy probablemente una Maqueta navegable de una Goleta del Siglo XIX).
 

   Este proyecto debe ser capaz de controlar esos 16 servos de forma estable y fiable. Debe poder controlar Servos de distintas clases, de fabricantes distintos y con especificaciones técnicas similares pero no iguales. Deben poder ser configurables uno a uno los distintos servos para adaptar las señales PWM que cada uno de ellos requiera según esas especificaciones.
 


 

   No hay que olvidar que aunque todos ellos requieren un PWM con una frecuencia de 50 Hz, cada fabricante, cada modelo o incluso cada Servo en concreto tienen márgenes distintos en cuanto a la relación Duty Cycle y posicionamiento efectivo. Hay servos que requieren pulsos entre 0.5 y 2.5 milisegundos para posicionarse en ambos extremos, mientras que en otros su rango es entre 0.7 y 2.3 milisegundos por ejemplo. Diferencias de este tipo encontramos entre servos como los Hitec HS-311 y los Futaba S-3003 que son dos de los servos mas utilizados por los aficionados al RC.
 

   Lo que se quiere conseguir es poder enviarle a este diseño las distintas posiciones requeridas para cada uno de los servos y que sea él quien realice la función de generar los distintos PWM's que cada uno de ellos necesita.
 

   Se le deben también poder enviar los distintos "trimmers" o ajustes de posición al centro y/o a cada uno de los extremos a cada uno de ellos. Las curvas de evolución: lineal, logarítmica, exponencial o compleja. Y por último se debería también poder enviar "macros" de ejecución, o pequeñas programaciones que combinen movimientos concretos que involucren a varios servos al mismo tiempo, a modo de procedimientos almacenados que se ejecutan con una sola orden sencilla.
 

   Como podemos ver no es sólo generar los PWM lo que deseamos sino algo bastante mas interesante y por ello mas complejo. Así que me he decidido por hacer una placa suficientemente inteligente como para poder realizar todas estas funciones. And the winner is: Un viejo conocido, nuestro buen amigo el 18F4550 en su encapsulado TQFP de 40 pines.
 

   ¿Que por qué? Pues porque lo conozco, porque tiene suficientes pines como para ser capaz de tener dos puertos completos, el PORTB y el PORTD, con todos sus 16 pines correlativos disponibles, sospecho que puede ser una importante simplificación a la hora de diseñar el firmware generador de 16 PWM's, y porque tiene USB que a la hora de configurarlo o utilizarlo puede venir muy bien. Y porque tengo un saco de ellos y me parece oportuno no tener que experimentar con otros modelos que no conozco o conozco menos. Así que ¿necesitas alguna otra razón?
 

Primera Parte: El Hardware.
 
   En esto del diseño hardware que propongo hay pocas cosas que explicar ya que tanto el esquema como la realización del PCB se auto-explican bastante bien. Sin embargo se pueden decir cosas sobre los porqueses de algunas cosas.
 
   El esquema que propongo es este (click sobre él para verlo a tamaño natural):
 


 

   Una decisión previa que tomé fue la de utilizar todos los componentes SMD posible en un intento de reducir al máximo el tamaño de esta placa. El mismo PIC 18F4550 en su formato PDIP me parecía tener mas de un metro de largo y no deseaba tener que usar una carretilla para llevar la placa.
 

Lo básico:

   El PIC 18F4550 con sus imprescindibles circuitos auxiliares de Oscilador, ICSP/Reset y sus condensadores de desacoplo (lleva dos ya que tiene dos grupos de pines de alimentación).
 

Lo necesario:

   La alimentación, que puede ser de tres formas distintas: Directamente a 5V a través de la clema correspondiente, de 9V a 12V por la suya propia y utilizando un 7805ABD2TG ó los 5V por el conector USB poniendo el correspondiente puente en JP4, el Macro-Conector JP1-JP2 en batería para los 16 Servos (recordad que éstos tienen un conector de tres pines con GND,VCC,PWM en ese orden) y el conector TX-RX para la comunicación serie TTL.
 

Lo accesorio:

   El conector USB y su condensador VUSB, los conectores JP5, JP6, JP7 y JP8 para la publicación de otros pines sin utilizar para un uso futuro indeterminado por el momento.
 

   Con todo esto ya solo queda rutear y ver que PCB nos sale. Gracias al sabio consejo del gran maestro de maestros, Manolo Jímenez "Nocturno" Webmaster de Micropic.es, que me dijo que poniendo todos los componentes SMD por la cara Bottom podría evitarme "un güebo" de vías (son palabras textuales). Así lo hice y el resultado es este (click sobre él para verlo a tamaño natural):
 


 

   Como se puede comprobar en la imagen anterior todo un TQFP de 40 pines con la mayoría de ellos conectados en una placa de una sola cara con tan solo seis puentes por la cara Top. Me encanta tener amigos que me den este tipo de consejos.
 
   Los correspondiente fotolitos en PDF los tenéis disponibles en la sección picmaníaca de Todos los PCB's en PDF en nuestro Cajón de Sastre.
 


 

Realización práctica del PCB y montaje de los componentes:
 

*** En deconstrucción ***
En breve mas noticias sobre este proyecto

 
 

 

 

 

Esta página se modificó el 27/12/2008


Esta página usa la letra Ñ

Nota pública importante sobre las consultas al Webmaster de PicManía.


Sugerencias a Picmanía... (que serán leídas pero seguramente no podrán ser contestadas)

Esta página pertenece al grupo de páginas de Diego RedRaven

 

 



Nota: Esta página Web esta repleta de imágenes, textos, logotipos y demás material extraídos de los mas variados medios de los que no soy ni autor ni depositario de los correspondientes derechos de autor, uso y/o reproducción. Si Ud. es depositario de dichos derechos y desea que el material correspondiente sea eliminado de esta Web no dude en ponerse en contacto conmigo mediante e-mail y será inmediatamente retirado. Gracias.
 
Visitas
Totales : 13197 Hoy: 1 Activas: 1 Vistas: 13197

Esta página fue modificada el 07-08-2010 15:42:21

           
 DmSoft WAMP Escribir Unreal