Балансировочный квадрокоптер с использованием Arduino
Я делаю проект по самобалансирующемуся квадрокоптеру с автономным управлением. Я использую Arduino Mega 2560 и MPU6050. Я получил углы крена и тангажа от MPU6050 без помощи DMP и применил сложный фильтр, чтобы исключить шум из-за вибрации. Также настроен и способен запускать двигатели BLDC с передатчиком и приемником Flysky с помощью прерываний arduino. Теперь для балансировки я сосредотачиваюсь только на одной оси (т.е. крен). Я также сконструировал балансировочный стенд для свободного перемещения оси вращения двигателя.
Для контролирующей части я реализую алгоритм PID. Я попытался использовать только значение kp, чтобы каким-то образом я мог сбалансировать и затем перейти к терминам ki и kd. Но, к сожалению, для самого Kp квадрокоптер подвергается агрессивным колебаниям и совсем не успокаивается.
Некоторые из моих запросов,
- достаточно ли одного цикла PID, или мы должны добавить другой
- какой тип метода настройки я могу реализовать, чтобы найти kp, ki, kd кроме проб и ошибок
- Я запрограммировал свой ESC на 1000-2000 микросекунд. Мои входные углы ПИД будут в диапазоне +/- 180. Могу ли я напрямую установить пределы выхода ПИД для диапазона от -1000 до 1000 или от -180 до 180 или любое другое значение
Код можно прочитать по https://github.com/antonkewin/quadcopter/blob/master/quadpid.ino
1 ответ
Поскольку это не предусмотрено, я предполагаю, что:
- Время цикла не менее 4 мс. (Чем меньше, тем лучше)
- Шум датчика уменьшен до приемлемого уровня.
- Для MPU-6050 необходимо объединить данные гироскопа + ускорения для получения углов в градусах.
Если вышеупомянутые пункты не будут приняты во внимание, они не будут сбалансированы.
Изначально вы можете уйти без настройки Ки. Итак, давайте сосредоточимся на КП и КД:
- Продолжайте увеличивать Kp, пока он не начнет быстро колебаться. Оставьте значение Kp половиной этого.
- С установленным значением kP начните экспериментировать со значениями kD, так как оно попытается ослабить выбросы kP.
- Поиграйте с этими двумя ценностями, настройте их на совершенство.
Обратите внимание: чем точнее ваши гироскопические данные, тем выше вы можете установить свой КП.