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.