Балансировочный квадрокоптер с использованием 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.
  • Поиграйте с этими двумя ценностями, настройте их на совершенство.

Обратите внимание: чем точнее ваши гироскопические данные, тем выше вы можете установить свой КП.

Другие вопросы по тегам