Esta es una gran pregunta, planeo presentar el problema en detalle y mi plan de acción actual para resolverlo. Espero recibir indicaciones sobre qué hacer y qué no hacer.
Participé en una publicación reciente sobre la caracterización HIL de actuadores de vehículos aéreos no tripulados en miniatura que consisten en piezas RC disponibles comercialmente. Se formaron muchas conclusiones, pero en resumen, el eslabón más débil en nuestros sistemas de actuadores para nuestros vehículos aéreos no tripulados son los controladores de motor. Todos son diferentes y bastante impredecibles. Algunas son señales ppm enviadas, otras como las de nuestra nave de ala rotatoria usan comunicación i2c.
Lo ideal es diseñar un sistema de potencia superior con mosfets de n canales únicamente. 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 el voltaje que se modula a los motores.
Para lograr esto, planeo usar un regulador externo para el voltaje de operación de MCU y el voltaje de conducción de mosfet más alto.
La siguiente consideración son los mosfets en sí mismos. Planeo usar múltiples mosfets en paralelo 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 para UAV en miniatura, planeo colocar la MCU basada en AVR en una placa con conectores molex de cable a placa y conectores de programación, así como LED de estado y componentes de soporte.
Luego, todos los mosfets de potencia y los dispositivos de aislamiento óptico en otra PCB de 2 capas que se conectan a la PCB de la MCU con conectores de enclavamiento de placa a placa molex.
La última consideración es el MCU en sí mismo. No tengo experiencia con la programación de dispositivos integrados 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 gestor 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 integrados.
Gracias por tus pensamientos.
PS i2c será el protocolo de comunicación para el controlador del motor porque es robusto, bidireccional y puede admitir múltiples dispositivos en un solo bus.
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 de lado alto se activen con el voltaje requerido. La desventaja de esto es que el controlador MOSFET tiene un rango operativo restringido (típicamente 10V-20V). El segundo inconveniente es que no puede conducir los MOSFET al 100% del ancho de pulso; esto no suele ser un problema. Alternativamente, podría usar MOSFET de lado alto de canal P y canal N para el lado bajo. Con esta configuración, puede PWM solo en los interruptores 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 refuerzo). Vaya a Digikey y busque "controlador mosfet".
En cuanto a los MOSFET en sí, no recomiendo usarlos en paralelo. Esto aumentaría su huella, así como su cargo 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 el control de motores basado en sensores y sin sensores . Desafortunadamente, los AVR no tienen mucha potencia de procesamiento y, debido a esto, es probable que su algoritmo de control esté restringido a matemáticas de punto fijo. Debido a las limitaciones de potencia de procesamiento, es posible que desee considerar no utilizar el entorno Arduino y, en su lugar, utilizar C o ensamblaje directo.
Es posible que tenga problemas para aislar ópticamente el bus I2C, ya que es un bus bidireccional. Si tuviera que utilizar 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).
En lugar de diseñar hardware y escribir software casi en su totalidad desde cero, tal vez pueda ahorrar algo de tiempo si comienza con uno de varios controladores BLDC de hardware abierto y lo adapta a sus necesidades:
Me parece que Open-BLDC ya maneja la mayoría de las cosas que mencionaste: control BLDC de hasta 200 A, etc. ¿Qué más necesitas hacer que ya no maneje?
Incluso si ninguno de estos es exactamente lo que desea, tal vez pueda ponerse en contacto con las personas que trabajan en estos grupos y convencerlos de que escriban software para su sistema a cambio de que usted construya hardware para su sistema o viceversa. En lugar de que una persona haga hardware + software en una placa y otra persona haga hardware + software de forma independiente en otra placa similar, a menudo ahorra tiempo a ambas personas para que una persona diseñe dos placas de hardware BLDC muy similares y otra persona para escriba dos paquetes de software muy similares para esas placas.
Contrariamente a la creencia popular, es posible construir un bus bidireccional optoaislado . Un enfoque utiliza un total de 4 optoaisladores para aislar ambos cables de señal del bus I2C, dispuestos de la siguiente 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
En lugar de controladores de lado alto, también puede considerar controladores de lado bajo y usar transformadores de pulso (también conocidos como transformadores de accionamiento de compuerta) 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 clasificación de voltios-segundos del transformador para evitar la saturación), además 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.
connor lobo
minimer
minimer
davidcary