Consideraciones de diseño para microgonos cc a trifásicos basado en AVR (ESC) para aplicaciones de UAV en miniatura

4

Esta es una gran pregunta, planeo presentar el problema en detalle y mi plan de acción actual para resolverlo. Espero obtener sugerencias sobre qué hacer y qué no hacer.

Participé en una publicación reciente sobre la caracterización HIL de actuadores uav en miniatura que consta de piezas RC disponibles comercialmente. Se formaron muchas conclusiones, pero en resumen, el enlace más débil en nuestros sistemas de actuadores para nuestros uavs son los controladores de motor. Todos son diferentes y bastante impredecibles. Algunos se envían señales de ppm, otros como los de nuestra nave de ala rotativa utilizan la comunicación i2c.

Lo ideal es diseñar un sistema de energía superior solo con mosfets de n canales. La razón de esto es un control de fase simétrico. Sin embargo, para hacer esto, se requeriría una fuente de energía ligeramente más alta que la tensión que se está modulando a los motores.

Para lograr esto, planeo usar un regulador externo para el voltaje de funcionamiento de la MCU y el mayor voltaje de activación del mosfet.

La siguiente consideración es la cantidad de mosfets que planeo usar en forma paralela para reducir la resistencia de la puerta y aumentar la capacidad de potencia.

Me gustaría que todos los PCB involucrados fueran PCB de 2 capas para reducir los costos de producción. Para hacer esto y mantener un tamaño lo suficientemente pequeño como para los UAV en miniatura, planeo colocar la MCU basada en AVR en una placa con los cables Molex a los conectores y los conectores de programación, así como los LED de estado y los componentes de soporte.

Luego, todas las fuentes de energía y los dispositivos de aislamiento óptico en otra PCB de 2 capas que se conectan a la PCB MCU con la placa molex para conectar los conectores de enclavamiento.

La última consideración es la propia MCU. No tengo experiencia en la programación de dispositivos embebidos que no sean arduinos. También tengo menos de nueve semanas para producir este producto. Debido a esto, estoy considerando usar un atmega 328 y usar el cargador de arranque arduino y hacer que todos los pines sean compatibles en el controlador del motor para el ICP inicial.

Me gusta el xmega 16A pero no quiero volver a escribir el cargador de arranque.

Todo esto en mente hay consideraciones todavía. Tendré que almacenar parámetros caracterizados externa y dinámicamente en la MCU para los algoritmos de control a bordo.

Gracias por tus pensamientos.

P.S. i2c será el protocolo de comunicación con el controlador del motor porque es robusto, bidireccional y puede admitir múltiples dispositivos en un solo bus.

    
pregunta minimer

3 respuestas

3

Cuando se usan MOSFET de canal N de lado alto, generalmente se usa un chip controlador MOSFET (por ejemplo, un IR2130). Estos chips requieren un condensador de refuerzo que permite que las puertas de los MOSFET del lado alto se conduzcan con el voltaje requerido. La desventaja de esto es que el controlador MOSFET tiene un rango de operación restringido (típicamente 10V-20V). El segundo inconveniente es que no puede conducir los MOSFETS al 100% del ancho de pulso; Esto no suele ser un problema. Alternativamente, puede usar MOSFET de canal alto en el canal P y canal N para el lado bajo. Con esta configuración, puede hacer PWM solo en los conmutadores del lado bajo y ahorrar algo de energía. (También puede hacer esto con todos los canales N, es más complicado ya que tiene que mantener cargados los condensadores de impulso). Vaya a Digikey y busque "controlador Mosfet", querrá que los controladores de puente trifásicos se especifiquen para conmutadores externos.

En cuanto a los MOSFET en sí mismos, no recomiendo que los uses en paralelo. Esto aumentaría su huella, así como su carga de puerta. En su lugar, busque mosfets de alta corriente en Digikey. Mis paquetes favoritos para estos son D-Pak, 8-PowerVDFN y PowerPAK 1212-8.

Atmel tiene una nota de aplicación para sensor-basado y sensor- sin control del motor. Desafortunadamente, los AVR no tienen mucha capacidad de procesamiento y, por este motivo, su algoritmo de control estará restringido a matemáticas de punto fijo. Debido a las limitaciones de la capacidad de procesamiento, es posible que desee considerar no utilizar el entorno Arduino y, en su lugar, utilizar C o ensamblaje en línea recta.

Es posible que tenga algunos problemas para aislar ópticamente el bus I2C, ya que es un bus bidireccional. Si utilizara un sistema de comunicación con líneas de una sola dirección, es posible que desee ver la línea de chips aisladores de TI (por ejemplo, el ISO7221).

    
respondido por el JuiceboxHero
2

En lugar de diseñar hardware y escribir software casi totalmente desde cero, quizás pueda ahorrar algo de tiempo comenzar con uno de varios controladores BLDC de hardware abierto y adaptarlo a sus necesidades:

Me parece que el Open-BLDC ya maneja la mayoría de las cosas que mencionaste: el BLDC controla hasta 200 A, etc. ¿Qué más necesitas para hacer que no se maneje?

Incluso si ninguno de estos es exactamente lo que desea, quizás pueda ponerse en contacto con las personas que trabajan en estos grupos y convencerlos de que escriban un software para su sistema a cambio de que construyan hardware para su sistema o viceversa. En lugar de una persona para hacer hardware + software en un tablero, y otra persona que haga de forma independiente hardware + software en otra placa similar, a menudo ahorra tiempo para ambas personas para que una persona diseñe dos tableros de hardware BLDC muy similares, y otra persona que escriba dos paquetes de software muy similares para esos tableros.

Contrariamente a la creencia popular, es posible construir un bus bidireccional opto-aislado . Un enfoque utiliza un total de 4 optoaisladores para aislar ambos cables de señal del bus I2C, dispuestos de esta manera para cada señal:

        D1
 left-+|>|+--------------+
      |   |    (+5V)-R2--+   gnd
      |   |              |   |
      +|<|+               \ /    -
        |                 ---     \(optoisolator chips)
       --- IC1             |  IC2 /
       / \               +|>|+   -
      |   |              |   |
    gnd   +--R1-(+5V)    |   |
          +--------------+|<|+-----right
                          D2
 -|>|- == diode  Circuit by Jerry Steele _EDN_ 1996 Jun 6
    
respondido por el davidcary
0

En lugar de controladores de lado alto, también puede considerar controladores de lado bajo y usar transformadores de pulso (también conocido como transformadores de accionamiento de puerta) para llevar las señales a los FET de lado alto. Se aplican las mismas limitaciones con el ciclo de trabajo (no debe exceder la capacidad en voltios-segundos del transformador para evitar la saturación) y debe asegurarse de que el transformador se reinicie correctamente. Lo bueno de este enfoque es que no necesita una fuente de alimentación de lado alto.

    
respondido por el Adam Lawrence

Lea otras preguntas en las etiquetas