Estoy haciendo un proyecto en un quadcopter de auto balanceo con control Autónomo. Estoy usando Arduino Mega 2560 y MPU6050. Obtuve los ángulos de balanceo y cabeceo de MPU6050 sin la ayuda de DMP y apliqué un filtro complementario para omitir el ruido debido a la vibración. También configurado y capaz de ejecutar los motores BLDC con transmisor y receptor Flysky con la ayuda de interrupciones arduino. Ahora, para equilibrar, me estoy centrando en un solo eje (es decir, rodar). También he construido un soporte de equilibrio para el movimiento libre del eje de balanceo por el motor.
Para la parte de control, estoy implementando el algoritmo PID. Intenté usar solo el valor kp para que, de alguna manera, pueda equilibrar y luego pasar al término ki y kd. Pero desafortunadamente, para Kp en sí, el quadcopter está experimentando una oscilación agresiva y no se está conformando en absoluto.
Algunas de mis consultas son,
- si un solo bucle PID es suficiente, o si tenemos que agregar otro
- qué tipo de método de ajuste puedo implementar para encontrar el kp, ki, kd aparte de prueba y error
- Programé mi ESC para 1000 a 2000 microsegundos. Mi entrada PID los ángulos estarán dentro del rango +/- 180. Si puedo configurar directamente los límites de salida pid para el rango -1000 a 1000 o -180 a 180 o cualquiera otro valor.
El código se puede leer en la url enlace