Primeras (y últimas) pruebas de campo

No sin trabajo comencé a hacer las primeras pruebas de campo y los resultados fueron bastantes lamentables.

Lo primero de todo fue que unos de los ESC’s parece que está roto porque va a otro ritmo completamente distinto. A plena potencia parece tener la misma potencia que los demás, pero la curva de RPM que va cogiendo es distinta a los demás. De esta manera, a un 20% de gas el motor que esté conectado a este ESC va al doble de RPM que los demás así que es un problema muy gordo. Y no es un problema de calibración, que lo he calibrado 20 veces.

Así que no me tocó otra que trucarlo por software para que este motor siempre llevase un % menos de gas.

Las versiones de Arduino que hay por la red tienen una velocidad del bucle principal de unos 200Hz. Tras meterle unas trazas a mi código me daba unos tristes 15 Hz lo cual hacía que fue enormemente lento de reacción el quadcopter y sosteniéndolo con la mano se veía que no iba nada bien, reaccionaba bien pero con muchísimo retraso.

Estuve haciendo mil pruebas para ver donde se iba el tiempo de computo y la cosa estaba más o menos así:

– Cálculo de la posición con los acelerómetros: 5% del tiempo
– Cálculo de la posición con los giroscópios: 5% del tiempo
– Cálculo de la potencia a suministrar a cada motor: 3% del tiempo
– Cálculo de los valores recibidos desde la radio: 87%

Estaba bastante claro. Si eliminaba la gestión de la radio y trazaba el código obtenía unos 180 Hz lo cual era aceptable, pero claro, sin radio….

El problema es que el .NET Micro Framework no tiene una gestión nativa de entradas PWM con lo que para leer la radio hay que hacer uso de un código un poco complejo a base de una barbaridad de interrupciones que está claro que es muy costoso para el micro.

Aún así desconecté la IMU para volarlo completamente en manual y descubrimos que era hyper nervioso. No fuimos capaces de levantarlo ni un palmo del suelo. En gran parte por el tema del motor que va a su bola, pero creo que sobretodo porque es muy grande. En un principio pensé que cuanto más grande, más estable, pero tras luego pensarlo bien y leer un poco, parece que es justo al revés. Cuando más largos son los brazos, más palanca hace cada motor con lo que se vuelve más nervioso.

Así que tras una hélice rota y visto que era imposible volarlo vuelta a casa y a hacerle una operación para recortarle los brazos. A pasado de unos 80 cm de diámetro a unos 60 cm.

De cualquier forma el proyecto llega a su fin aquí hasta que encuentre una forma mejor de leer el receptor que no sea tan costoso. A la hora de escribir estas líneas está en desarrollo la versión 4.2 del framework que parece que va a dar un mejor soporte a las entradas PWM. Ya veremos si es suficiente…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.