Este proyecto consiste en un sistema programado bajo ecosistema Arduino, para ser utilizado como controlador de variadores brushless (ESC) en aeromodelos de Vuelo Circular.
Puntualmente para esta versión, se ha utilizado como entorno de desarrollo Visual Studio Code, con los plugins oficiales de PlatformIO y Espressif IDF.
El objetivo es desarrollar 3 variantes de código para diferentes aplicaciones:
- Código 1: para control esencial de regimen de variador (aplicable a vuelo sport nivelado, puede intentarse alguna maniobra sencilla como el looping, se notarán algunas quedadas de motor en trepadas y algunas aceleraciones en descensos, en mayor o menor medida de acuerdo a la relación peso / potencia del modelo).
- Código 2: con idéntica base al código 1, pero con agregado de sensor hall. (En este caso el sensor permite monitorear de forma directa el movimiento de los polos del rotor, o bien utilizar imanes externos que se instalen según se desee, para poder calcular las rpm y reaccionar también a las variaciones que se detecten, ajustando el regimen del variador, es decir, realizando un control governor sencillo sobre las rpm del motor).
- Código 3: contando también con un sensor hall, pero agregando las lecturas de un sensor de medición inercial (IMU) para calcular en todo momento la posición de la nariz del modelo, y decidir en base a ello los ajustes a realizar en el regimen del motor. (Esta variante lógicamente requiere un código más complejo y mayores cuidados en la puesta a punto, pero posibilita un control más armónico del vuelo, aplicando potencia en los lugares donde más se la necesita, y quitando en aquellos donde el exceso genera aceleraciones no deseadas). Es una alternativa más completa y eficiente para vuelos acrobáticos de precisión, tal cual sucede con otros desarrollos conocidos de controladores para Acrobacia F2B por ejemplo.
Componentes:
- Placa de desarrollo Wemos D1 Mini (u otra basada en módulo ESP8266 12F, con pocas modificaciones puede adaptarse también para módulos ESP32).
- Pulsador mecánico standard 6x6 o 12x12 mm.
- Sensor efecto hall A3144 o equivalente (opcional, solo si se desea disponer de información y control variable de rpm durante el vuelo).
- Cables servo RC con conectores.
Herramientas:
- Soldador de punta convencional.
- Estaño standard de electrónica.
- Termocontraíble / cinta kapton / cinta normal.
Características:
- Alimentación directa mediante BEC.
- Configuración práctica por interfaz gráfica utilizable en móvil (Android).
- Aceleración suave programada para partida.
- Alerta de corte de motor antes del cierre de vuelo.
- Parada de emergencia accionable desde app u opcionalmente desde botón de pánico.
- Items seteables:
- Demora partida: el tiempo a esperar antes de arrancar el motor luego de iniciada la secuencia (segundos).
- Tiempo vuelo: el tiempo neto de vuelo (segundos).
- RPM motor: el regimen a utilizar en el motor (porcentaje ESC).
- Polos motor: cantidad de polos en el rotor p/cálculo de rpm (unidades).
- Offset motor: ajuste de desviación en la lectura de rpm (unidades).
- Tolerancia ajuste RPM: variación mínima de régimen que debe suceder para realizar un ajuste (rpm).
- Ajuste RPM trepada: regimen a adicionar al valor actual p/ mejorar la trepada (rpm).
- Ajuste RPM bajada: regimen a descontar al valor actual p/ suavizar el descenso (rpm).
Todo (por hacer):
- depurar código IMU para implementar versión release del control inercial.
- agregar variante OTA (Over The Air) para permitir la actualización inalámbrica de firmware directamente desde servidor.
- agregar alternativa para almacenar diferentes combinaciones de seteos en app.
- agregar alternativa para backup de seteos en app.