Solución a la caída potencial del I2C.

Tema en 'Mikrokopter' iniciado por ombli, 21 Oct 2010.

  1. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0
    Hola.

    Después de buscar y basarme en informaciones de otros usuarios de foros internacionales como de rcgroups, mikrokopter.us, mikrokopter.de y de aplanding.com, a los cuales agradezco sus informaciones en especial a 13brv3 y andyman, he diseñado un circuito para evitar que si un variador se quema, se desconecta, se corticircuetea, etc, el resto de variadores también dejen de trabajar, y así poder seguir volando o realizar un aterrizaje controlado.

    Esto es válido para octos y dodecas, pues pueden seguir volando con algún motor parado. Para hexas es probable que puedan seguir volando, dependiendo de la carga que lleven, pero seguro se podrá realizar un aterrizaje semicontrolado. Para quads, esta protección no hará nada, ya que no podrá mantenerse en el aire con solo 3 motores por muy potentes que sean, no compensará el par-motor y girará sobre si mismo en dirección al suelo.

    El circuito consiste principalmente en este chip, que lo que hace es "puentear" o "cortar" el I2C del variador afectado. Con lo cual es necesario un chip por variador. Este chip necesita ser alimentado con 5V y en mi diseño lo he probado con el BEC del mismo variador, como con la salida de 5V FC, simplemente hay que cambiar la forma de conectar los cables del I2C a la plaquita.

    En esta primera versión he hecho una placa individual para cada variador, pero podría diseñarse una placa de 5X5cm con las mismas medidas para que encaje en la torreta de la electrónica, con todos los chips en ella; o cambiar las pistas y las medidas de la placa para que se adapte perfectamente a los variadores si están montados en una placa de distribución de MK.

    No me lío más, os dejo un vídeo para mostraros el funcionamiento. He usado una FC_1.3 y variadores BL_1.2, la siguiente prueba será un vuelo real en mi octo con FC_2.0ME y variadores 1hoch4, aunque no podré realizarla por lo menos hasta finales de la semana que viene.

    Si hay gente interesada podría haceros diseños a medida o enviaros unas plaquillas listas para instalar, por un precio muy ajustado, unos 60-80€.

    Un saludo.

     
  2. trokola Miembro

    trokola
    Registrado:
    18 Dic 2008
    Mensajes:
    414
    Me Gusta recibidos:
    0
    O sea ¿que desconectando un variador, el bus I2C se vuelve loco? ¿Y esto pasa con los variadores "standard" del MK o solo con variadores normales modificados?

    Yo tenia en mente que si un variador (de los del MK normales) se chamusca, lo mas probable sera que se fria la etapa FET. Yo imagino que para tumbar el bus I2C tendra que freirse (y de lo lindo) el Atmega8 de manera que el bus quede en corto o con una impedancia muy baja (y con suerte en caso de fritura quedara abierto)

    Tu que has estado trabajando en el tema cuentanos un poco mas acerca de estos problemas, que desde luego pueden ser preocupantes ...
     
  3. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0
    Buenas Trokola.

    La caída del I2C ocurre independiente del variador que sea, pues el problema no es el variador si no el bus I2C en si mismo. A diferencia del protocolo PWM que emplea una comunicación individual por cada variador y placa de control, el I2C consiste en una sola conexión para todos los variadores, y la orden a un variador en concreto va "codificada" para ese variador. Un ejemplo, queremos que el motor 5 aumente RPM, se envía la señal por parte de la FC por el I2C, que como sólo es una conexión va a llegar a todos los variadores, pero esa orden solo será interpretada por el variador al que va dirigido esa orden.

    El problema es que cuando un variador deja de "responder" a esa orden, el I2C se cae.

    Llevo en esto poco tiempo pero creo que es una forma sencilla de explicarlo, y si alguien considera que me equivoco en algo por favor que me corrija, y aprenderemos todos. Podéis obtener más información sobre el I2C en las siguientes direcciones:

    http://www.educypedia.be/electronics/I2C.htm

    En cuanto lo que comentas de freirse el variador, pues si, primero cascará uno o varios FET's, incluso en los variadores de MK no llegarán a freirse pues se romperá el SHUNT antes, lo que implicaría que el variador quedase sin corriente, pero el I2C caerá, y el MK también lo hará, literalmete :rolleyes2:

    Esto mismo es lo que simulo en el vídeo, cuando desconecto un variador que no lleva este circuito protector, los demás variadores dan fallo de I2C, con su correspondiente led rojo y los motores se paran.

    Aclarar antes de nada que si se desconecta el I2C del variador el I2C no se cae, evidentemente se apaga el motor de ese variador, pues deja de recibir ordenes, pero el bus I2C sigue trabajando para los otros variadores. Esto es así tanto en los variadores con la plaquita protectora como en los que no la tienen. No pensaba que fuera así, pero con las pruebas vi esto. Es decir, que si el variador se apaga, el I2C queda "enganchado" y como no recibe respuesta, se cae. Si se "desengancha" el bus I2C no se cae.

    Lo que consigue este circuito, es evitar la caída de todo el bus I2C, al fallar un variador, realizando este "desenganche", antes de que el bus caiga.

    Una forma fácil y entendible de como trabajan:

    1º- Plaquita alimentada por el BEC del variador.
    Podemos pensar que cuando la plaquita protectora quede sin alimentación dejará de realizar su trabajo, pues efectivamente así es, con lo que aísla la conexión del I2C con el variador, es decir, desconecta fisicamente el I2C del variador, y como expliqué antes, el I2C no se cae. No lo puse en el vídeo pero al desconectar la corriente de la plaquita, esta se apaga y "corta" el I2C.

    2º- Plaquita alimentada por los 5V de la FC.
    Realiza exactamente lo mismo, como es obvio, pero la forma de conectar los cables I2C se tiene que invertir, fijaros bien en el vídeo. Realmente no se muy bien la explicación, pero así es, di con ello realizando las pruebas (método de prueba-error:locos:) trataré de saber realmente el por qué.

    Habría una tercera posibilidad de alimentación, pero que no he probado. Que sería alimentar las plaquitas con una o varias fuentes de 5V independientes. Esto estaría pensado para un diseño de una placa sola para todos los chips, y montada en la torreta, y tener que evitar el pasar 2 cables de alimentación desde el variador a la plaquita (caso 1º) o evitar que si por alguna razón los 5V de la FC se pierden (caso 2º) se apaguen todos los variadores (ya que todas las plaquitas son alimentadas de una misma fuente, y no se si sería demasiada carga para esa fuente).

    Para mi, lo ideal sería alimentar cada plaquita con el BEC de cada variador. Pero caben las otras posibilidades.

    Espero haber aclarado un poco más el funcionamiento.
     
  4. acristóbal Gurú FPV

    acristóbal
    Registrado:
    9 Oct 2006
    Mensajes:
    3.710
    Me Gusta recibidos:
    0
    Un circuito similar se posteó hace tiempo.
    Yo quisiera hacerlo y creo que se podría hacer un diseño en una miniplaca SMD con el regulador lineal, condensadores y los componentes necesarios diseñada de tal manera que se acople a la placa que une los reguladores.

    Gracias por los aportes.

    Saludos
    Alberto
     
  5. trokola Miembro

    trokola
    Registrado:
    18 Dic 2008
    Mensajes:
    414
    Me Gusta recibidos:
    0
    ¡¡¡ Leñe !!!. Pues ya voy a hacer pruebas yo también. Si el bus entero cae simplemente por no tener respuesta de uno de los nodos, es un fallo bastante peligroso ...
     
  6. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0
    Y tanto, a mi me pasó desde unos 20m del suelo, con la suerte de que cayó bien, y el flexlander y la arena de la playa amortiguaron el golpe. Consecuencia, un brazo doblado, 2 hélices rotas, dos baterías dobladas (que no me atrevo a volver a usarlas), y arena dentro del objetivo de mi vieja cámara.

    Y la culpa fue de una soldadura fría en uno de los cables de alimentación de un variador. Espero ya pronto poder instalarle estas plaquitas, y un paracaídas también. No me vuelvo a jugar el okto (o la cabeza de alguien:frown:), y si vuela 2 minutos menos pues es lo que hay... Safety First!!!!
     
  7. espariz Miembro

    espariz
    Registrado:
    26 Feb 2007
    Mensajes:
    848
    Me Gusta recibidos:
    0
    Hola

    Hola, creo que ahí das en el clavo, es muy dificil que caiga el I2C porque como dices lo normal es freir un FET, pero la etapa que se encarga del I2C (procesador) seguiría funcionando normalmente en casi todos los casos...

    De todas formas, Rusty, del foro americano RcGroups, ha puesto a la venta una placa que protege el I2C muy bien ante fallos de algún variador, si necesitáis más seguridad es buena idea comprarla (o construiros esa que hablábais arriba):

    http://aglhobbiesllc.com/shop/viewitem.php?groupid=0&productid=32

    [​IMG]

    Un video-demo de la placa aquí
     
  8. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0
    Bueno, pues la teoría era buena, pero la práctica no. Si algún moderador quiere, que tache lo de "solución" en el título del tema.

    Me he topado con un problema al que no le veo explicación, y ya no se por donde tirar.

    El problema es un I2C error cuando se le mete cierta carga al motor, es decir, los motores sin carga, sin las hélices como puse en el vídeo, todo funciona a la perfección, pero a la hora de tener algo de resistencia en el motor, se produce un error de I2C general, con lo que caen todos los motores.

    Traté de encontrar algo con un osciloscopio, pero creo que es demasiado casero para encontrar algo (tarjeta de sonido + ordenador :), y no vi nada cuando este error se reproduce.

    El error es en el I2C maestro, es decir, en la FC, ya que paran todos los motores, y en la JetiBox aparece ERROR 3 y en el MkTools I2C ERROR, no indica si hay algún variador con el problema.

    Me gustaría seguir haciendo alguna prueba, pero lo voy a aparcar por ahora, hasta que lea un poco más o alguien me "ilumine" con que es lo que puede ser.

    Y si a alguien se le ocurre algo, pues que me lo comente. Y si alguien quiere probar, le envío algunos chips y componentes smd para montar el circuito.

    En fin, paso al siguiente proyecto: el paracaídas :)
     
    #8 ombli, 1 Nov 2010
    Última edición: 1 Nov 2010
  9. trokola Miembro

    trokola
    Registrado:
    18 Dic 2008
    Mensajes:
    414
    Me Gusta recibidos:
    0
    Toda la pinta de ruido eléctrico por inducción. Al cargar los motores es cuando circula la corriente que lo provoca.

    Lo del paracaidas me parece una cosa muy interesante.
     
  10. jfh900 Miembro

    jfh900
    Registrado:
    9 Oct 2010
    Mensajes:
    356
    Me Gusta recibidos:
    0
    Se supone que has puesto un condensador de filtro de 100 nF entre la patilla de alimentación de cada integrado y masa, para filtrar el ruido de los motores (uno por integrado). Tampoco estaría de más poner un único condensador de 100 uF.

    Un saludo

     
  11. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0
    Voy a probar a alimentar las plaquitas con una fuente independiente (como ya hiciera con los BL-1.2) del variador y así evitar el ruido, ya que al parecer es la fuente del problema, ya que los "sabios" así lo indican.

    @jfh900, de 100 no, he puesto uno de 10nF en cada plaquita. Me han indicado en otro foro algo similar:
    "good luck, you can also try once more capacitors on the PCA9510A (470uF and 100n and 470n)"

    Pero si, voy a probar a alimentarlo externamente y si funciona, estudiar bien la tolerarncia de la patilla ENABLE, que es la que decide "cortar" el I2C, para luego ajustar bien la capacitancia.

    Ya os contaré, pero parece que este proyecto aún no está muerto :-D

    Gracias.
     
  12. jfh900 Miembro

    jfh900
    Registrado:
    9 Oct 2010
    Mensajes:
    356
    Me Gusta recibidos:
    0
    Aunque utilices una fuente independiente, si no pones los condensadores no harás nada, ya que las pistas de alimentación hacen de antena y recogen el ruido electromagnético generado por los variadores. Los condensadores de 100 nF (este valor lo he tomado del datasheet del integrado) se han de colocar lo mas cerca posible de las patillas de alimentación de los C.I. El condensador de 100 o 470 uF (no es una valor crítico) se puede poner en la entrada de alimentación de la placa. También supongo que estarás poniendo las resistencias de polarización del bus I2C (10 kohmios a positivo), ya que al intercalar el circuito de protección una parte del circuito se queda sin polarización (las resistencias de polarización no se si van en la FC o en los BL, aunque creo por lógica que debería de ir en la FC). Sin ver el esquema que has montado del circuito, no te puedo decir más.

    Un saludo.

     
  13. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0

    Muchas gracias @jfh900, adjunto una foto del circuito recien sacado del atacador, pues ahora no tengo a mano los circuitos listos, y les puse donde van los componentes, supongo que se entenderá. En los esquemas del datasheet pone 0.01uF, y son los que usé.

    Tendré en cuenta tus explicaciones, muchísimas gracias. A ver si consigo esos componentes para probar.


    [​IMG]
    [​IMG]
     
  14. igc23 Miembro

    igc23
    Registrado:
    7 Abr 2010
    Mensajes:
    704
    Me Gusta recibidos:
    0
    #14 igc23, 3 Nov 2010
    Última edición: 4 Nov 2010
  15. ombli Nuevo Miembro

    ombli
    Registrado:
    9 Feb 2010
    Mensajes:
    87
    Me Gusta recibidos:
    0
    Novedades en las pruebas

    Bueno, parece que el proyecto de "I2C buffer" lo retomo :biggrin2:

    He realizado una pequeña prueba alimentando la plaquita con 5V independientes del 1hoch4, y el primer test fue bueno, el problema no se reproduce.

    Ahora la gran duda es, de dónde obtener los 5V?? A ver si los más puestos me ayudan. Las opciones son:

    1º.- Todas las placas alimentadas de una misma salida de la FC. Esta idea no me gusta, pues aunque los chips estos consumen poco (6mAh cada una como máximo lo que serían 54mah las 8, creo que la salida de la FC da de sobra, ya que el RECOM creo que son 0.5A), el problema lo veo en que si falla esta fuente, se apagan todas las plaquitas a la vez. Pero quizás esto sea casi imposible de que ocurra, no lo se.


    2º.- Poner una fuente totalmente independiente del MK. Y alimentar todas las placas con un RECOM exclusivo para ellas.

    15' despues de escribir lo de arriba...

    Bueno, antes de mandar lo anterior decidí hacer una prueba que me rondaba la cabeza, que era desconectar un variador estando el circuito conectado externamente. Y pasó lo que me temía: Se cae el I2C completo :censurado: Y es que el problema está claro. Al seguir la plaquita alimentada, el circuito sigue manteniendo "cerrado" el I2C de ese variador, con lo que el veriador al desconectarse apaga el motor, pero el I2C sigue "enganchado" al variador, con lo que el I2C cae entero apagando todos los motores. Vamos como si no se tuviera la protección.

    Así que la única solución sería poner en cada plaquita una fuente de alimentación de 5v, conectada directamente al GND y el VCC que alimenta al variador, pero con el riesgo de que si se "rompe" el variador después de esta conexión, la plaquita seguirá alimentada. Con lo que no vale tampoco :censurado:

    Pues ya solo quedaría corregir el problema de la caída de tensión del BEC del 1hoch4 al darle caña y que es lo que provoca que en la patilla ENABLE del chip no llegues constantes los 5V. Pero esto ya me supera :censurado::censurado: A alguien se le ocurre algo??

    No sé, me queda probar a ponerle algún estabilizador y ver si fuera posible corregir esas caídas de tensión...
     
  16. serverciao Miembro

    serverciao
    Registrado:
    10 May 2010
    Mensajes:
    151
    Me Gusta recibidos:
    0

    Disculpa la intromisión pero si el único problema es la caida de tensión de 5V al darle caña, se me ocurre una solución (creo que demasiado básica) conectar un buen condensador a cada entrada de alimentación haciendo las funciones de estabilizador en caso de picos por exceso de consumo en el variados/motor

    No se si puede servir ?

    Un saludo y felicidades por el proyecto, creo que lo que nos ahce falta para evitar disgustos, un sistema de protección de IC2, gracias por tu curro.
     
  17. jfh900 Miembro

    jfh900
    Registrado:
    9 Oct 2010
    Mensajes:
    356
    Me Gusta recibidos:
    0
    Veamos se puedo arrojar un poco de luz al tema.

    El I2C es un protocolo de comunicación tipo maestro-esclavo, esto quiere decir que solo el maestro manda órdenes y los esclavos las cumplen o responden a la petición del maestro (como buenos esclavos :wink2:). ¿Si el maestro realiza varias peticiones como saben los esclavos cuando responder?, muy sencillo, la línea de datos está por defecto a 5V (por eso hace falta las resistencias de 100K de polarización), cuando un esclavo o el maestro se pone a transmitir, lo primero que hace es comprobar la línea de datos y si está a 5V la ponen a 0V para indicar que toman dicha línea.

    ¿Que ocurre cuando un variador se queda sin alimentación?, al quedarse sin alimentación (+5V) no hay caída de tensión dentro del variador y todos los puntos están al mismo potencial (0V), incluido las patillas del I2C, con lo que la línea de datos pasa a 0V permanentemente y la comunicación se interrumpe para todos los variadores.

    ¿De donde se debe de alimentar las placas?, obviamente de la FC si esta soporta bien la corriente demandada, ya que los reguladores efectivamente suministran 500 mA y lo lógico es que no estén al límite. Si la FC deja de suministrar los 5V poco importa que los variadores no funcionen ya que sin FC no tenemos control de ninguna de las maneras.

    Yo probaría la alimentación de los módulos de la FC y la patilla de control se la conectaría a la alimentación de cada uno de los variadores, de tal forma que al perder estos la alimentación los desconectara.

    Un saludo.
     
  18. complux Nuevo Miembro

    complux
    Registrado:
    16 Nov 2010
    Mensajes:
    1
    Me Gusta recibidos:
    0
    Holla a todos...

    Como puedo tener un conjunto de essos gadgets para el ESC?

    Gracias
     

Compartir esta página