Paso 5: Implementación de funciones básicas
Primera tabla muestra valores del receptor, de lectura es igual como en el paso 3 de este tutorial. Usted puede ajustar el transmisor a 1500 bruja es la posición media (1ms es min, es máximo 2ms, 1500 = 1,5ms bruja es centro).
Etiqueta de estado muestra si estamos conectados al tablero de IOIO y si estamos en modo de armado o desarmado. Hay código de ejemplo que cambia a armado y desarmado: } else if (ch3_val < throttle_min & & ch4_val > arm_pos) {}
si (ch3_val < throttle_min & & ch4_val < disarm_pos) {}
desarmar
armado = false;
brazo
armado = true;
}
ch3_val es el valor de la aceleración y ch4_val es ruddler (yaw), armar es mostrado en fotografía principal que utilizar mode3 en transmisor de mi. throttle_min, arm_pos y disarm_pos son posiciones donde palillo debe ser para activar o desactivar.
Segunda tabla se muestran datos de salida, el valor es exacto pulso longitud enviar a salidas.
En primer lugar que he intentado volar sin PID (hablaremos de PID más adelante), la lógica era simple:
-debido a tricopter M1 y M2 (motor delantero) debe trabajar en la mitad de velocidad que el M3, porque M3 es solo en la parte posterior.
-Si quiero ir al futuro pondré más aceleración posterior M3 y menos delantera M1 y M2 (al revés es opuesto)
-Si quiero ir a le pongo mas gas M1 y a menos a M2 (está enfrente de la izquierda)
-desvío - rotación es controlado por servo
Mi aplicación se ve así (no me referiré más adelante): control de válvula reguladora control de pitch Roll control
//yaw servo control
servo_val = ch4_val;
m1_val = 1000 + (ch3_val - 1000) / 2;
m2_val = 1000 + (ch3_val - 1000) / 2;
m3_val = ch3_val;
m1_val += - (ch2_val - 1500) / 2;
m2_val += - (ch2_val - 1500) / 2;
m3_val += + (ch2_val - 1500);
m1_val += + (ch1_val - 1500);
m2_val += - (ch1_val - 1500);
servo_val y mx_val son valores calculados a partir de los valores de entrada. Problema de esta implementación es sensibilidad del stick, si tira al elevador al frente en baja velocidad (aceleración) el M1, M2 disminuye más de aceleración está establecida, por lo que dejan. La sensación en Banco de prueba es realmente agresiva, usted no puede volar con esta implementación. Para añadir la casilla de verificación a la GUI, cambia a solamente incrementales. Que significa programa de no disminuir los motores por un lado, sólo el incremento en el otro lado. Comportamiento de estos modos se muestra en el siguiente video:
Así que como veis no he podido volar estable como en el paso 4, cuando pruebo mi stand con el tablero de KK. La forma correcta es usar el acelerómetro y regulación PID.