Таблица миксера моторов
…у кроля в последней прошивке есть возможность играться геометрией рамы. Там настройка миксеров идет графически. Пользователь выставляет координаты расположения моторов своей рамы.
…у кроля в последней прошивке есть возможность играться геометрией рамы. Там настройка миксеров идет графически. Пользователь выставляет координаты расположения моторов своей рамы.
Это, наверное, самый удобный способ, но с другой стороны, в таком варианте не видны “шестеренки” процесса, пользователь вынужден верить разработчику на слово, что все рассчитано правильно. Кролика я не щупал, но если судить по Вашему описанию, мне больше нравится MK. Таблица выглядит так:
В моей поделке этот выглядит так:
предустановленые наборы:
/* сумматор */
#include "mixer.hpp"
/* крен тангаж рыск газ */
/*/ квадро +
int16_t servo_conf[4][4] =
{
1250, 0, -500, 1800,
-1250, 0, -500, 1800,
0, 1250, 500, 1800,
0, -1250, 500, 1800
};
*/
// квадро Х
int16_t servo_conf[4][4] =
{
625, 625, 500, 1800, // канал1
-625, -625, 500, 1800, // канал2
625, -625, -500, 1800, // канал3
-625, 625, -500, 1800 // канал4
};
/*
// крыло
int16_t servo_conf[4][4] =
{
2048, -2048, 0, 0,
-2048, -2048, 0, 0,
0, 0, 4096, 0,
0, 0, 0, 4096};
*/
Конфигурация задаётся матрицей 4х4, 4 аргумента и 4 выхода на ШИМ. Математика миксера целочисленная, поэтому чтобы не потерять точность коэффициенты задаются 0-1024 дискрет. Если нужен весь диапазон занчений на выходе сумма коэффициентов в строке должна быть 4096, т.к. сумма делится на 4. Получается точность 1024 дискреты.
В квадре канал газа занижен для того чтобы не уперется в ограничение на максимуме и оставить динамический коридор для стабилизатора.
Интересно! А почему у Вас коэффициент рысканья меньше, чем для крена и тангажа, а тяга настолько больше всех остальных величин?
Два дня мучил коптер “правильными” миксами. Результат странный. Если учитывать геометрию, коптер летит хуже, чем если ограничиться готовыми таблицами. Объяснения найти не могу 😦
А почему у Вас коэффициент рысканья меньше, чем для крена и тангажа
Коэффициены взяты по степени важности для удерждания в воздухе. Основной фактор с которым борется система это сила тяжести, потому тяга имеет максимальный вес, устойчивость определяется каналми тангажа и крена они следующие, ну и рысканье последние по важности для устойчиваости.
По большому счёту это условность, малые коэффициенты можно скомпенсировать ПИДами. Коэффициенты матрицы влияют только на точность присутсвующих в сумме составляющих, чем больше - тем точнее.
Кроме того, матрица при равных ПИДах должна оставлять динамический коридор для регулирования каждого привода, т.е. предотвращает выход канала в нелинейный режим (на отсечку или насыщение).