Helicóptero cuádruple: de los valores PID a la potencia del motor

3

Estoy luchando con un helicóptero cuádruple totalmente construido / autoconstruido en el que estoy trabajando.

Estoy trabajando en el controlador PID para mantener el equilibrio, ahora mismo solo con un valor de P y solo reacciona en ROLL y PITCH para minimizar posibles errores. Pongo el prototipo en una caja y uso cuerdas para restringirlo para que no pueda dañar algo / a mí.

Mi pregunta principal está actualmente relacionada con la función de control del motor.

Actualmente mi controlador PID me da un número de -1024 a +1024 para cada eje dependiendo de la inclinación, etc.

Actualmente utilizo este valor, lo multiplico por 0.4 y AGREGO / DEDUCIRLO de la variable THROTTLE global.
Por lo tanto, cada motor recibe el ACELERADOR (0-1000) y luego, dependiendo de su posición, el valor PID * 0.4 se agrega / deduce al / del ACELERADOR. 1000 sería la potencia máxima, 0 sería la potencia mínima.

Soy nuevo en el control de motores con vehículos aéreos y creo que la forma en que controlo el motor no es la correcta para un equilibrio estable.

¿Cuál es una buena manera de controlar la potencia del motor en base a un valor PID? Así que ahora uso un valor absoluto basado en lo que devuelve mi PID, independientemente del acelerador.

Aparte del hecho de que todavía tendré que modificar ese valor, ya que causaría un bloqueo en el inicio (el valor absoluto de la PID sería más alto que el acelerador total). / p>

Mi principal preocupación es que este enfoque es rápido en el cálculo (sin divisiones, etc.) pero los valores PID siempre están en el mismo rango, mientras que el TRITORIO puede ser bajo (inicio). Por lo tanto, en valores THROTTLE más bajos, la misma inclinación produce actualmente una respuesta más fuerte que en valores THROTTLE altos.

Estoy seguro de que alguien con más experiencia que yo podría ayudarme a ajustar la potencia del motor según la salida PID.

    
pregunta John

2 respuestas

2

Esto parece más una cuestión de aerodinámica, pero lo intentaré.

¿Tal vez de lo que estás hablando es de ajustar en términos de porcentaje de ACELERACIÓN? construyendo sobre tu técnica, esto podría ser

$$ OUTPUT = Error * 0.4 * {THROTTLE \ over THROTTLE_ {max}} + THROTTLE $$

Factorizando el ACELERADOR,

$$ OUTPUT = (Error * {0.4 \ over THROTTLE_ {max}} + 1) * THROTTLE $$

Ahora, considerando que $$ {0.4 \ sobre el ACELERADOR_ {max}} $$ es una constante, esto es solo dos multiplicados y un agregado.

Sin embargo, creo que si la salida del acelerador es lineal (es decir, si el acelerador es proporcional a la fuerza), las fuerzas restauradoras para inclinar la cosa hacia el nivel deberían ser las mismas independientemente de la altura del acelerador ... Dicho de otra manera, no se necesita más ni menos fuerza para girar el 'helicóptero sin importar lo rápido que vaya.

Esperemos que esto ayude. Es WAAY fuera de mi área de experiencia, jaja

    
respondido por el Daniel
0

No soy un experto en cuadricópteros pero sí conozco sobre control.

Si lo entendí correctamente, Throttle es su entrada de usuario o "punto de ajuste" y se lo está transmitiendo directamente a los motores con los PID que proporcionan un efecto adicional según los errores de control.

Este es un enfoque muy inusual. La función del término I en PID es establecer el valor promedio o de estado estable para el motor. Básicamente, cualquier error que no sea cero causará que el integrador se incremente (hacia arriba o hacia abajo), por lo que se establece en un valor estable cuando el error se convierte en cero. Por lo tanto, la salida I debe ser el valor de estado estable requerido para error cero. Parece que estás intentando anular esto al hacer avanzar el valor del Acelerador, lo que podrías hacer, pero probablemente no es lo que quieres.

Todos los PID requieren un punto de ajuste y un valor medido (del 'helicóptero'). Los puntos de ajuste deberán estar en la misma forma que el valor que se mide, de modo que se puedan restar para formar una señal de error que es la entrada al PID. No puedes agregar manzanas y naranjas para obtener más manzanas, eso es lo que aprendí en la escuela. Así que los sensores son Ángulo y Rotación, entonces también deben ser puntos de ajuste.

Tenía curiosidad, así que hice una búsqueda rápida y con toda seguridad esto es lo que se hizo

Note que hay 2 PIDs. Uno toma el Ángulo y genera una velocidad de rotación, el otro toma la velocidad de rotación como punto de referencia y se compara con la velocidad medida desde el Gyro.

    
respondido por el akellyirl

Lea otras preguntas en las etiquetas