Ayuda diseñar PPM Encoder "casero"

Tema en 'R/C ELECTRÓNICA' iniciado por sokoloko, 13 Jun 2013.

  1. sokoloko Miembro

    sokoloko
    Registrado:
    23 Nov 2008
    Mensajes:
    111
    Me Gusta recibidos:
    0
    Hola a todos,

    Estaba mirando el tema de los PPM encoder, y la verdad que se venden muchos modelos, pero todos son basicamente un Chip Atmel y los componentes basicos minimos (vamos, una placa relativamente sencilla de fabricar).

    He encontrado un esquema basico para hacer un PPM Encoder, con unos diodos y un transistor, pero lo he probado en un Corona 35Mhz, un Turnigy 9x8c y un HK-GT2R y en ninguno a funcionado, he mirado con el osciloscopio y estos receptores generan todos los canales a la vez, por eso no sirve, pues se suman las señales.

    Yo no tengo mucha idea de programacion, pero a ver si alguno me puede ayudar para sacar el codigo y desarrollar uno :biggrin2:(ya sea con Microchip o Atmel), pues en los Multicopteros cada vez es mas util, para conectar la emisora al simulador,etcetc.

    Saludos!!!!
     

    Adjuntos:

    #1 sokoloko, 13 Jun 2013
    Última edición: 13 Jun 2013
  2. Hararion Miembro

    Hararion
    Registrado:
    6 May 2010
    Mensajes:
    518
    Me Gusta recibidos:
    0
    creo que tengo lo que buscas...

    hola amigo, resulta que yo estoy haciendo algo similar, aunque aun me falta muuuuucho código por hacer, pero la idea detrás de esto es similar:

    http://www.aeromodelismovirtual.com/showthread.php?t=22297

    otra cosa, encontré esta espectacular pagina, dedicada exclusivamente a esto del radiocontrol, ademas, hay un hilo de fred (está adentro del hilo que puse) donde explica detalladamente como hacer un codificador y su respectivo decodificador, sin embargo el problema que veo con esto es que esos integrados son escasos de conseguir...

    Saludos!!!:redface:
     
    #2 Hararion, 13 Jun 2013
    Última edición: 13 Jun 2013
  3. sokoloko Miembro

    sokoloko
    Registrado:
    23 Nov 2008
    Mensajes:
    111
    Me Gusta recibidos:
    0
    HOla Hararion,

    Muy interesante tu proyecto, y la web de E-Radiocontrol, gracias por los enlaces. Lo unico que lo que intentamos hacer son dos cosas un poco diferentes :rolleyes::rolleyes:.

    Tu quieres modular unas entradas analogicas o digitales (0-1), pero yo necesito leer un pulso de una duracion entre 1 y 2mS, lo que seria la señal de entrada de un servo.

    La parte de la generación de la señal PPM podría coincidir.......pero creo que es la mas sencilla :blink: lo que mas me cuesta es leer ocho canales mas o menos a la vez.

    Saludos!!!

    Aun asi a ver si tenemos suerte y los proyectos van adelante.
     
  4. WorldFly Nuevo Miembro

    WorldFly
    Registrado:
    16 Mar 2013
    Mensajes:
    49
    Me Gusta recibidos:
    0
    Hola,
    Bastante interesante, si tengo tiempo este verano me haré uno casero como este, ya que comprándolo sale bastante caro por los componentes que tiene.
     
    #4 WorldFly, 14 Jun 2013
    Última edición: 14 Jun 2013
  5. mga_78 Miembro

    mga_78
    Registrado:
    9 Ene 2007
    Mensajes:
    348
    Me Gusta recibidos:
    0
    y esto no es mas facil que todo eso?

    no se supone que el receptor recibe la señal cppm del emisor, y despues la decodifica en los diferentes 8 canales (PPM)? no seria mas facil coger la señal justo a la entrada del decofificador? tendriamos una señal cppm para poder utilizarla ¿no? en que me estoy equivocando? es que lo que quereis hacer es volver a componer una trama que se supone que ya existe antes del decodificador ppm.
     
  6. sokoloko Miembro

    sokoloko
    Registrado:
    23 Nov 2008
    Mensajes:
    111
    Me Gusta recibidos:
    0
    Hola MGA,

    Efectivamente, tiene lógica lo que dices.

    El problema es que yo he mirado con el osciloscopio, y no he dado con la trama "de entrada" por decirlo de alguna manera.

    Creo que el mismo chip que "recibe" la señal, la amplifica y la decodifica por canales.

    Tengo dos tipos de receptores en 2,4 para la emisora Turnigy 9x y no hay manera de "buscar" dicha señal......
     
  7. mga_78 Miembro

    mga_78
    Registrado:
    9 Ene 2007
    Mensajes:
    348
    Me Gusta recibidos:
    0
    Pues en teoria no deberian ser el mismo chip; deberia haber uno cerca de la antena que es de donde se saca el rssi, y otro cerca de los conectores de los servos que es de donde saldrian las salidas decodificadas a cada canal, y una entrada que seria la trama cppm, o algo parecido a esa trama.

    acabo de abrir mi receptor futaba de 5 canales y ahi hay dos integrados, uno cerca de la antena(TA7761F) y otro cerca de los conectores de servo (BU4015BF), pues en este ultimo, si miras el datashet, veras que es un doble registro de despplazamiento, pues tiene dos entradas de dato Da y Db, pues una de esas dos tiene que ser el la trama cppm.

    En otros receptores puede que en lugar de bu4015 aparezca con otras letras delante o detras, pero son el mismo integrado, es un cmos, y supongo que para receptores con mas canales habra otros, pero siempre empezando por 40.
     
  8. sokoloko Miembro

    sokoloko
    Registrado:
    23 Nov 2008
    Mensajes:
    111
    Me Gusta recibidos:
    0
    He retomado el tema :rolleyes2:

    He desmontado el receptor (9X8C v2) y dentro tiene esto:

    http://i1.ytimg.com/vi/kYej1LxGgR0/maxresdefault.jpg

    El datasheet del primer integrado (un A7105) DATASHEET se puede ver en la imagen que la antena va a la patilla tres del integrado.....

    Igual tienes razón y el integrado que esta a la izqda es el que demultiplexa las salidas, el problema es que he raspado la pasta blanca que tapa el integrado y no tiene ninguna referencia del tipo de integrado que es.....


    El otro receptor, un HK-TR6A V2, tiene el mismo chip (un A7105) y de este va a otro chip sin identificar.


    El problema es que en ninguno puedo ver las pistas, salen pistas de debajo de los integrados que tendría que desoldar para saber de donde son.
     
  9. mga_78 Miembro

    mga_78
    Registrado:
    9 Ene 2007
    Mensajes:
    348
    Me Gusta recibidos:
    0
    parece ser que el segundo receptor que has puesto, ya saca directamente una trama cppm por el puerto bat (es el canal 7?), parece ser que las versiones mas unevas no lo hacen, pero las otras si, te remito al post:

    http://translate.google.es/translat...search?q=HK-TR6A+ppm&rlz=1C1CHNV_esES455ES455


    de todas formas, el ppm encoder no sale tan caro:

    http://www.fpv4ever.com/fr/options-accessoires/25-ppm-encodeur.html

    y... como no, la version china:

    http://www.ebay.com/itm/PPM-Encoder...766?pt=LH_DefaultDomain_0&hash=item417483dbbe

    el manual es el mismo que el original ppm encoder v2, poniendolo en google sale
     
    #9 mga_78, 5 Sep 2013
    Última edición: 5 Sep 2013
  10. waverider Gurú FPV

    waverider
    Registrado:
    13 Feb 2011
    Mensajes:
    3.182
    Me Gusta recibidos:
    0


    Normalmente el demultiplexado se puede hacer con un desplazador de registro. Mirate el proyecto de Fred de el sistema de largo alcance.
    LINK no se qué. ahora no me acuerdo del nombre. Lo malo del deslpazador de registro es que se mueva la coincidencia entre el numero de canal correspondiente. El otro metodo de hacerlo es medioante un microcontrolador. Necesitas a través de una interrupción externa leer los pulsos de entrada ppm e ir encendiendo salidas. (relativamente sencillo) Pero si lo quieres guay hay que medir los tiempos de los pulsos con un timer para ver cuando vien eel pulso de borrado o sincornismo. Y volver a empezar por el canal de salida 1. Utilizando mascaras para que solo esté activo un canal de salida en cada momento. Por supuesto es recomendable no utiilzar librerias externas y trabajr directamente sobre los registros del microcontrolador, si lo quieres con cierta precisión.

    En cuanto al codificador PPM, es algo más complejo. Si usas un microcontrolador necesitas una interrupción por cada entrada a usar, o en su defecto puedes hacerla por softwware. Lo que pasa que el pulso pwm completo incluye el pulso de separación de canal PPM. Lo cual lo hace mas complejo. NEcesitas usar variables donde guardar los tiempos de lecturay adelantarte al pulso de separación de canales. Es todo un reto programarlo sin jitter ni glitches y si no tienes unos minimos conocimientos de programación de microcontroladores no lo recoemindo.

    En cuanto a la solución analogica digamos, yo lo que veo en tu circuito es que hay varias carencias. No es que todos los canales se generena a la vez, que no creo que sea asi, sino que : entra el primer pulso PWM ch1 y lo que iocurre es que el transistor deja de conducir. Inmediatamente despues de que acabe el PWM1 entra el PWM2. Y el transsitor sigue dejando de conducir... el resultado es que en la PPM no se generan los puklsos de separacion de canales que tienes en tu dibujo. Correcto??
    Mirate un chipo de registro. Porque estos tienen una salida que es una salida SERIE por la cual a lo mejor puedes trabajar. Tambien se podría hacer con algun componente de forma que se ponga en cada entrada de da canal y que deje de enviar corriente cuando se cargue con un condensador o algo asi, y podrías simular los pulsos de separación de canales. No sé son ideas...
     
  11. waverider Gurú FPV

    waverider
    Registrado:
    13 Feb 2011
    Mensajes:
    3.182
    Me Gusta recibidos:
    0
    lo que te comento es que cada entrada digamos que tenga un temporizador, que lo puedes hacer con pocos componentes.

    debe ser antes del diodo.

    El tiempo de carga debe ser inmediato y el tiempo de descarga debe ser el tiempo del ancho de pulso de separacion de canales en PPM que por ejemplo en futaba para una PPM estandar de 22.5ms esta en torno a los 400 us.

    Y por ultimo, te falta unicamente prever un inversor de señal a la salida por si necesitaras hacerlo. Esto lo puedes hacer tan facil como coger la señal del colector o del emisor , usar una puerta inversora u otro transistor
     
    #11 waverider, 5 Sep 2013
    Última edición: 5 Sep 2013
  12. mga_78 Miembro

    mga_78
    Registrado:
    9 Ene 2007
    Mensajes:
    348
    Me Gusta recibidos:
    0
    a la velocidad que van hoy en dia los microcontroladores, no es ya ningun reto programarlo, pero a la vista de como venden los chinos el ppm encoder, es un poco cabezoneria programarlo y hacerlo, porque por 9 euros lo tienes hasta con los pines soldados. Es mas, tampoco tienes que hacer la trama en directo, si no que se pueden leer los tiempos de los 8 canales, meterlo en variables y despues tranquilamente formar la trama con estos valores, durante el tiempo de espera entre los 8 pulsos. La latencia de reaccion de los servos pongo la mano en el fuego que no la notaria nadie, y esto se puede programar en C, sin tener ni idea de asm ni acceder a registros, pero sigo pensando que pa lo que vale la placa hecha....
     
  13. waverider Gurú FPV

    waverider
    Registrado:
    13 Feb 2011
    Mensajes:
    3.182
    Me Gusta recibidos:
    0

    no es cuestion de que el micro sea lento... es cuestion de saber hacerlo bien.

    intentalo y me cuentas. :wink2:

    pero estoy contigo es que porlo que vale es mu cabezoneria romperse la cabeza, a no ser que te guste disfrutar de hacer este tipo de cosas.
     
  14. sokoloko Miembro

    sokoloko
    Registrado:
    23 Nov 2008
    Mensajes:
    111
    Me Gusta recibidos:
    0
    Hola,

    Muchas gracias por las respuestas. Lo primero que probe es si mi receptor trae esa señal...pero por desgracia es de los nuevos y no la trae. :sad:

    Bufff!!!! no había mirado el precio comercial....pero es cierto que ya no merece la pena por el precio que trae.

    Aun así, y solo por trastear, :rolleyes2: a ver si saco algo de tiempo y doy algún uso a unos pic que tengo cogiendo polvo, un 12f683 o un 16f88.....lo malo es que soy muy muy zote programando, jeje. Hice unas pruebas y nunca me funcionaba bien.

    Saludos!!
     
  15. mga_78 Miembro

    mga_78
    Registrado:
    9 Ene 2007
    Mensajes:
    348
    Me Gusta recibidos:
    0
    hombre, si es verdad que si se hace en asm y generando una trama al tiempo que recibes la señal de cada servo, pues chapeau, pero es que aqui no lo veo necesario; cuando se hacia lo de decodificar el nagra, la gente lo hacia en asm si o si, porque al pic16f84 no se le podia pedir mas, pero para el tema que nos tenemos entre manos, creo programar en c seria mas practico, y no creo que por eso este mal hecho.

    En cuanto a que no te funciona, lo primero que tienes que hacer es usar un simulador, porque si no estas programando a ciegas, y eso es muy complicado. con el simulador se pueden ver los tiempos exactos de cada trama, y ajustar la velocidad del micro u optimizar los calculos para que le de tiempo a hacer lo que tenga que hacer entre delays de la trama. yo ahora no estoy metido en esto, hace tiempo que no practico, pero en su dia me fue de mucha utilidad. Pensar que al principio lo que hacia era grabar, porner en el protoboard y comprobar, volver a grabar....

    De hecho, el dalay no se nota aun leyendo la trama entera, y presentandola a posteriori, porque quiero recordar que Sinver ya lo hizo cuando diseñó su head track; leia la trama, la modificaba para meterle los pulsos del head track y volvia a meter la trama modificada al puerto trainer de la emisora. piensa que si estos pulsos se pueden ver en un simple osciloscopio virtual de tarjeta de sonido, es porque son muyyy lentos.

    Es una pena que tu receptor no sea de los salga la ccpm, pero podrias enviar un mail al fabricante a ver si hay algun firmware que lo haga.
     
  16. sokoloko Miembro

    sokoloko
    Registrado:
    23 Nov 2008
    Mensajes:
    111
    Me Gusta recibidos:
    0
    Hola Mga,

    Gracias por tu respuesta, Voy a buscar el software de Silver a ver si logro sacar algo.....aunque ya te digo que de ASM ni flores y de C.....lo basico para cosas sencillitas.

    El tema del receptor, ya pidieron en algun foro la actualizacion, y nada, al ser un receptor de 6$ el soporte que tiene te lo puedes imaginar, jeje!!!

    Lo dicho muchas gracias!!!
     

Compartir esta página