A modo de saludo:Aquí estamos de nuevo con un nuevo proyecto. Afrontado con renovadas energías e ilusión y con mi particular forma de afrontar los temas que me parecen difíciles: par partes y poco a poco. En un claro intento de no atragantarme si intento masticar un bocado mayor de lo que me cabe en la boca. Haciendo las cosas una detrás de otra y empezando por el principio, que poner el tejado antes que los cimientos es signo seguro de fracaso. Y no quiero fracasar sino concluir con éxito esta nueva andadura.
Introducción y antecedentes:Me ha fascinado y entusiasmado el proyecto
Proyecto Barco a Vela RC con PIC del amigo Juan Luis
JLIGUAL. Soy aficionado antiguo al RC, en su modalidad aérea, pero hace años que vengo soñando con hincarle el diente a un Velero RC. Este proyecto lo he acogido como una oportunidad para realizar mis sueños náuticos.
Ante la complejidad de lo planteado por el amigo Juan Luis en su proyecto me decanté por la idea de hacer todo el sistema RC completo, desde la lectura de los mandos de control hasta el accionamiento de los actuadores en el modelo, pasando por la emisión y recepción RF que enlaza ambos extremos del sistema. Y por supuesto con los insustituibles PIC's para ambas funciones.
Resultado directo de este planteamiento fue el origen del hilo
¿Conocéis módulos RF? (con ciertas carácteristicas que os detallo) en el que planteaba esta pregunta a los amigos de Todopic interesándome en qué módulos RF podrían ser los idóneos para este proyecto.
Tras los oportunos debates y siguiendo los consejos de estos amigos me decidí por adquirir los módulos
XBee-Pro de Maxstream que ya tengo en mi poder. La idea es montar las partes emisora y receptora alrededor de cada uno de estos módulos Xbee, y como cerebros un par de PIC's, seguramente unos 18F4550 TQFP de 44 pines, que estarían encargados el uno de la lectura de los mandos y el otro de accionar los servos, relés y motores DC en el modelo. Implementar el protocolo de comunicaciones y tener así tantos "canales" de control como necesitásemos, sin mas limitación que nuestras propias capacidades de diseño.
Pero hete aquí en en dicho hilo apareció el
Post del amigo
Veguepic en el que nos mostraba su Emisora RC comercial Hitec Conquest de la que usaba solo los controles, haciendo uso de sus propios módulos RF ... y esto me hizo caer en la cuenta de que tengo una emisora casi idéntica a la de él: La Hitec Focus 4.
Me fui al desván en su busca, con la asesina idea de desmontarla y extirparle todos los controles: Interruptores, los Joysticks de doble canal, los potenciómetros deslizantes de los Trimmers ... La encontré pronto y la saqué de un sueño de mas de quince años, y ya con las herramientas viviseccionadoras en la mano tuve un flash de sentido común y me paré a reflexionar. Fruto de esta reflexión es el presente proyecto.
Me dije algo así como - Si encuentro el receptor, si ambos, Emisora y Receptor, funcionan, si le conecto los cuatro servos y todo anda perfectamente ... no la mato, la conservo tal y como está y ya me buscaré los controles en otro sitio, quizás comprándolos en RS-Online o Farnell ... o ya veremos donde.
En un par de horas, las necesarias para recargar unas Ni-Cad que llevaban quince años descargadas, todo estaba funcionando como el primer día de 1992 en que la desembalé de su caja original. Eso la salvó a ella y a mí porque en mi reflexión me dí cuenta de que podía hacer mucho por el proyecto de Juan Luís, por otros aficionados al Rc, por los Picmaníacos y por mi mismo, dicho sea de paso, ya que tenía una idea en la mente para un proyecto propio, diferenciado, útil e interesante haciendo uso de todo el equipo completo.
Descripción del Proyecto.En un sistema RC simple las distintas lecturas de los controles en la Emisora RC provocan una reacción proporcional en el Receptor RC del modelo que hace posicionarse a los servos conectados a él.
Las lecturas de los controles son codificadas y transmitidas vía RF desde la emisora hasta el receptor. En éste la señal es transformada en una señal pulso PWM cuyo Duty Cycle define el posicionamiento de los servos (ver
Controlando un Servo ...)
En el receptor tendremos entonces unas cuantas señales PWM que podremos controlar, mas o menos, desde la Emisora pero siempre sujetas a las especificaciones que el fabricante haya decidido establecer para su producto.
¿Qué hacer si decidimos saltarnos dichas especificaciones? Como puede ser por ejemplo ampliar o reducir los recorridos reales de los servos, o más difícil aún, cambiar la escala de evolución del movimiento del servo de una lineal a un logarítmica por decir algo. O utilizar sensores externos que "modulen" el movimiento o los márgenes de actuación de un servo, pero manteniendo el control remoto sobre él desde la parte emisora.
Éste es el objeto de este proyecto:
Interceptar las señales PWM que salen del Receptor RC hacia los servos, insertando entre ambos un PIC que "lee" las señales recibidas y que tiene la capacidad de transmitirlas a los servos tal cual o modificadas según el algoritmo que deseemos.Se trata de dotar de "inteligencia" a la parte actuadora sobre el servo. Este cerebro recibirá nuestras órdenes pero actuará dependiendo de ciertas interacciones entre éstas ordenes y otros elementos que podremos involucrar a voluntad: sensores, combinaciones con otras señales, posibilidades complejas de maniobras ... etc.
Concretando:Os pongo un ejemplo muy concreto sobre el que voy a trabajar. Como os dije más arriba mi equipo es la Hitec Focus 4 con el receptor HFS-04MI. Esta sistema está especialmente diseñado para el control de Aviones RC.
Los tengo equipados con los Servos Hitec HS-300 y HS-311
Este equipo tiene ciertas características, fijadas por el fabricante, que limitan de alguna forma su propia operatividad.
La primera y principal limitación proviene directamente de ser un avión el objeto controlado y ello debido a que los aviones son especialmente sensibles a muy pequeños movimientos en los planos físicos de control: alerones, profundidad y timón.
Esto requiere que los servos tengan muy poco desplazamiento entre ambos extremos. Esta compresión del "ancho de banda" del movimiento de los servos podría conseguirse mecánicamente pero el fabricante ha decidido "comprimir" la señal PWM disponible en el receptor RC.
Así aunque el Servo sea nominalmente capaz de realizar un desplazamiento completo de 180º de extremo a extremo, es comandado por un PWM comprimido que hace que sus desplazamiento máximo sea solo de 90º, o sea 45º a cada lado del punto medio. Estos desplazamientos máximos de 45º solo se consiguen con el mando control en la emisora en cada uno de los extremos, con el Trimm a tope y con el ajuste ATV de banda al máximo.
Esto es una de las cosas que vamos a corregir con nuestro proyecto. Vamos a leer la señal PWM recibida y vamos a "amplificarla" haciendo que nuestros servos recuperen su capacidad de giro de 180º.
Igualmente podemos "atenuarlas" y hacer que esos 45º a cada lado se puedan convertir en sólo 25º con el mando control en un extremo, o cualquier ángulo que nos parezca oportuno.
Podemos también hacer que los recorridos de un servo sean a distintas velocidades según a qué lado se muevan o que tengan distintas amplitudes hacia la izquierda que hacia la derecha, como si tuviesen Trimmers individuales a cada lado del centro.
O podemos implementar nuestro propio sistema de compensación de movimientos haciendo uso de varios servos dependiendo de una sola señal ...
O incluso .... dejémoslo estar. La imaginación es nuestro único límite.
Propósitos para los primeros pasos:Lo primero que vamos a hacer es conectar nuestro PIC a uno de los canales del receptor y leer la señal PWM.
Después vamos a hacer un By-Pass y vamos a retransmitir este PWM de forma absolutamente indéntica al Servo, de forma que parezca que nuestro PIC es transparente, como si no estuviese en medio leyendo la señal del receptor y generando a su vez un PWM especular, para que todo siga funcionando igual.
Y después vamos a implementar algún algoritmo "amplificador" o "atenuador" de esa misma señal de forma que el PWM recibido y el PWM transmitido al servo sean asimétricos y tengamos así la capacidad de modificarlo según nuestra conveniencia.
Pero eso ya será otro día. Que por hoy ya está bien.
Un saludo a todos. Mañana más.