Proyecto Mezclador para veleros con flaps

Tema en 'R/C ELECTRÓNICA' iniciado por JoaquinCF, 1 Ene 2013.

  1. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    Tengo un velero modelo "Ideal" de Topmodel (similar al Fascination y Grafas), y no veia forma de resolver cómo hacer subir los servos de alerones cuando activaba los flaps para frenar el avión, y al mismo tiempo usar un solo canal de alerones dado que el EagleTree que estoy usando sólo dispone de un canal y es imprescindible tener los alerones a través del Eagletree para que funcione la vuelta a casa.

    Como solución chapucera dejé uno de los servos de alerones sin pasar por el EagleTree, por lo cual se queda un solo alerón controlado por EagleTree. Dado que este velero es relativamente lento en los giros, al quitarle un alerón el giro para volver lo hacía de forma limitada, y con viento fuerte había veces que no conseguía girar.

    Intenté solucionarlo con un mezclador del tipo elevón, pero las salidas de los mezcladores salen al 50% de la entrada, por lo que se reducía drásticamente el mando de los flaps y de los alerones.

    Como solución "definitiva" he programado la función de mezcla en una placa Arduino-mini, con las siguientes funcionalidades:
    - Memoriza los valores máximos y mínimos de alerones y flaps, y el porcentaje de mezcla
    - La mezcla se inicia en el valor mínimo programado de flaps, por lo que puede dejarse un cierto nivel de flaps sin activar frenos. Esta función permite activar ligeramente los flaps para volar a térmica sin que los alerones suban para frenar
    - Al desplazar los alerones hacia arriba, cambia la pendiente de la mezcla de forma que al girar al máximo a un lado, los dos alerones se mueven a sus posiciones extremas con independencia del estado de los flaps´, de forma continua y sin escalones. Por ejemplo, si los alerones están subidos un 50%, el que tiene que subir sólo le falta un 50% de recorrido pero al otro le falta el 150%; con este mezclador se consigue seguir alcanzando el límite máximo en los dos alerones al mover la palanca de alerones a los extremos.
    - El consumo es de 14 mA (17 cuando se enciende el led)

    Para funcionar hace falta:
    - Plana mini-arduino o similar
    - programador STK-500 (yo uso el de Olimex), o hacerlo con las herramientas de arduino (yo no las he usado)
    - Un conversor rs232 a USB con niveles TTL.. los hay baratos en ebay
    - Para programar los valores, conectar el puerto serie del arduino a un terminal serie, y hacer un puente entre los terminales PC0 y PC1 al arrancar, y seguir las indicaciones dadas en pantalla.

    Dejo el programa fuente, y el esquema que he usado (cambiar la extensión del arcivo a zip), por si le es útil a algún otro forofo de veleros. Los expertos en Arduino seguro que sabrán como evitarse usar el programador STK500 y usar directamente la puerta serie a traves del bootloader.

    Saludos y buenos vuelos
     

    Adjuntos:

  2. juan ruiz

    juan ruiz Moderator

    Registrado:
    25 Sep 2006
    Mensajes:
    3.040
    Me Gusta recibidos:
    0
    Un buen aporte,seguro que algun compañero le vendra bien.


    Saludos
     
  3. jggkin

    jggkin New Member

    Registrado:
    6 Oct 2010
    Mensajes:
    62
    Me Gusta recibidos:
    0
    El aporte es bueno pero, yo lo he solucionado con un mezclador de cola en V de GWS. Es pequeño, eficiente y muy económico.

    Un saludo.
     
  4. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    El mezclador que tenía me limitaba al 50% del recorrido. Si el GWS suma (y resta) el 100%, es una solución eficiente especialmente para solucionar el problema del RTH. Las ventajas de este mezclador que propongo, al estar diseñado específicamente para este fin son las que he mencionado antes:
    - Límite de los servos de alerones ajustable. Con el mezclador corres el riesgo de forzar servos, si no aguantan ir al máximo físico de recorrido
    - Cuando activas los flaps, los alerones siguen teniendo el 100% del recorrido

    En mi opinión, éstas ventajas son interesantes si el avión es perezoso en giros y necesitas apurar los recorridos con los flaps activos.

    Joaquín
     
  5. elossam

    elossam Active Member

    Registrado:
    6 Oct 2006
    Mensajes:
    2.812
    Me Gusta recibidos:
    0
    Joaquin. ¿con esa placa y programa los servos de alerones pueden ademas disponer de diferencial?
     
  6. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    En mi caso el diferencial lo hice mecánico (girando el plato del servo hacia atrás), por lo que no precisé programarlo.
    Me parece una buena idea y lo programaré en cuanto vuelva del viaje de trabajo en que estoy, en un par de semanas.
    Aprovecho para comentar que la placa miniarduino a 5V funciona muy bien con mi emisora Futaba, pero cuando lo usé con el Dragon-Link tenía muchos problemas de ruido de servo que los solucioné con una placa arduino a 3.3V.
     
  7. elossam

    elossam Active Member

    Registrado:
    6 Oct 2006
    Mensajes:
    2.812
    Me Gusta recibidos:
    0
  8. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    En concreto la que usé es es una miniarduino con reloj de 16 MHz:
    http://dx.com/p/arduino-pro-mini-w-...cks-interactive-media-improved-version-104332
    En el DL, como no funcionaba correctamente la probé con una arduino normal a 3.3 V: http://shop.ciseco.co.uk/xino-basic-for-atmel-atmega-avr-arduino-compatible-kit/

    Visto que funcionaba bien, como la placa anterior es muy grande, he encargado otr mini-arduino a 3.3V, aunque es a 8 MHz: http://dx.com/p/pro-mini-atmega328-3-3v-8m-microcontroller-board-for-arduino-blue-156957

    El tema de ser a 8 MHz implica cambiar un poco la programación, tanto para el puerto serie como para los temporizadores. En cuanto la reciba me pondré a ello (y añadiré la posibilidad de diferencial).
     
  9. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    Ya he recibido la placa de 8 MHz a 3.3V, y he modificado el programa para:
    - Incorporar posibilidad de diferencial
    - Invertir cada servo individualmente: en mi avión ya giré uno de los servos de forma que no hiciera falta, con la desventaja de que la tapa de servos original no me valía; con esta solución no me hubiera hecho falta
    - Cambiar fácilmente la frecuencia de reloj entre 8 y 16 MHz

    El modo de 8 MHz tiene la mitad de resolución (1.000 pasos en vez de 2.000), siendo inherente al procesador al bajar la frecuencia. Las pruebas me indican que el incremento de paso apenas es perceptible a 8 MHz, y a 16 MHz yo no lo percibo. La prueba se puede ver aquí

    https://vimeo.com/58799072

    Tengo que hacer pruebas más en detalle, especialmente con el Dragon-Link. Entretanto, por si alguien se anima a probar, adjunto la nueva versión (cambiar la extensión a zip).
     

    Adjuntos:

  10. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    Si no me equivoco, un diferencial al 80% indica que el alerón que baja sólo lo hace un 20% del rango de movimiento del servo. ¿no es demasiado elevado?
     
  11. elossam

    elossam Active Member

    Registrado:
    6 Oct 2006
    Mensajes:
    2.812
    Me Gusta recibidos:
    0
    Cada modelo es una combinacion de factores: perfil, velocidad, envergadura, alargamiento .... en mi caso eso es lo que me pide.
     
  12. elossam

    elossam Active Member

    Registrado:
    6 Oct 2006
    Mensajes:
    2.812
    Me Gusta recibidos:
    0
    La inversión de servo es una buena idea. Yo uso servos hitec y con el programador invierto el giro por software.
     
  13. aguillamot

    aguillamot New Member

    Registrado:
    5 Oct 2014
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Joaquín,
    No se si estarás todavía en linea, el hilo es un poco antiguo pero te pregunto para qué incluyes los dos ficheros de 8 y 16Mhz.elf?
    Y cómo se cambia de 8 a 16?
    Mil gracias por el software y la idea.
     
  14. JuanTrillo

    JuanTrillo Active Member

    Registrado:
    21 Sep 2007
    Mensajes:
    5.272
    Me Gusta recibidos:
    0
    Me habia perdido este hilo y es magnifica la solucion adoptada. Espero tenga su autor del reconocimiento que se merece. Buen trabajo. Mas vale tarde que nunca.

    Saludos
    JuanTrillo
     
  15. JoaquinCF

    JoaquinCF New Member

    Registrado:
    8 Jul 2012
    Mensajes:
    19
    Me Gusta recibidos:
    0
    Adaptación a la Naze32Rev5

    No logro que me funcione el buscador del foro, por lo que inserto este programa para que funcione el mezclador en una placa Naze32Rev5 (12 MHz).
    Para programar la placa hay que poner el jumper de programación cerrado y usar el programa "STMFlashLoader Demo" de ST.
    Una vez programada conectar un emulador de terminal y conectarlo al puerto serie que aparece cuando se conecta la placa (verlo en Administrador de Dispositivos en Windows, o en /dev/ttyUSBX en Linux) conectado a 115200 baudios. A partir de ahí va dando instrucciones
     

    Adjuntos:

  16. aguillamot

    aguillamot New Member

    Registrado:
    5 Oct 2014
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Mil gracias Joaquín,
    El foro es http://www.rcgroups.com/forums/showthread.php?t=2564226

    Mientras llegaba tu solución, he hecho algo parecido en Arduino con una técnica más rudimentaria que la tuya.

    Se carga en una Arduino Pro Mini y funciona. Dos canales, uno para 2 alerones y otro para 2 flaps, con diferencial y butterfly.

    Lo adjunto por si le interesa a alguien. Hay que cambiar la extensión dwg a ino
     

    Adjuntos:

  17. aguillamot

    aguillamot New Member

    Registrado:
    5 Oct 2014
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Siguiendo al maestro Joaquín, he depurado el sketch anterior.
    Este está simplificado y vale para Pro Mini 8 y 16 Mhz, pero también para Teensy 32 Mhz.
    El contenido del sketch se explica por sí mismo y funciona de maravilla en diferencial, flaps de velocidad y térmica, y butterfly sobre todo en Teensy.

    Cambiar extensión dwg por ino y abrir con Arduino IDE
     

    Adjuntos:

  18. aguillamot

    aguillamot New Member

    Registrado:
    5 Oct 2014
    Mensajes:
    4
    Me Gusta recibidos:
    0
    Debo advertir que con Pro Mini los servos muestran jittering que habría que corregir con interruptores o delay.
    Con la placa Teensy el comportamiento de los servos es limpio.
     

Compartir esta página