MK-Tools
Программа для управления настройками полётного контроллера Mikrokopter, телеметрии OSD, а также для работы в ней некоторых режимах работы (например, полёт по точкам).
Содержание |
Управление режимами
- Altitude - режим удержания высоты полёта.
- CareFree - «беззаботный» режим управления коптером, при котором сохраняется «виртуальное» направление движения коптера, независимо от фактического направления.
Параметры
Настройка подвеса («Камера»)
- ServoMin, ServoMax - это длительность PWM-импульсов. Несмотря на то, что вообще она измеряется в микросекундах, в MK-Tools длительность задаётся в неких относительных единицах. По сути, эти параметры задают крайние точки положения вала сервы. На практике нужно подобрать значения этих параметров опытным путём.
- Servo refresh rate - задаёт количество серв, обслуживаемых контроллером FlightCtrl за один цикл вычислений. Например, частота выдачи сигнала для 2 серв вдвое больше, чем для 4-х. Получается, что этот параметр влияет на частоту PWM-импульсов. Если серва аналоговая - то нужна частота 50 Гц! Если серва цифровая - можно ставить намного больше, вплоть до 330Гц.
Табличка соответствия частот PWM:
servo refresh 8 = 44.4Hz
servo refresh 7 = 50Hz
servo refresh 6 = 58.8Hz
servo refresh 5 = 72Hz
servo refresh 4 = 88.8Hz
servo refresh 3 = 114.28Hz
servo refresh 2 = 181.8Hz
Мнения
- на 2 дергается, даже не дергается - выворачивается в какое-то крайнее положение и все. Нормально работают при 3,4,5. Я говорю про сервы Spektrum. [1]
- на 2 дергается серва на roll - Savox 1290MG, на 3х - нормально работает. [2]
Failsafe
Failsafe - режим работы полётного контроллера при отсутствии связи с передатчиком, которое может произойти, например, при радиопомехах, или пропадании питания передатчика. Этот режим нужен для того, чтобы за заданное время действия этого режима оператор мог принять меры по восстановлению радиосвязи - например, подойти поближе, аппарат опустится пониже и т.п.
Режим Failsafe настраивается в окошке "Misc" ("Разное") программы настройки MK-Tools.
Алгоритм работы Failsafe такой - при потере сигнала включается режим, в котором аппарат будет поддерживать равновесие, а двигатели будут вращаться со скоростью, заданной в окошке "emergency gas" - если эта скорость меньше необходимой для уравновешивания тягой силы тяжести, то аппарат плавно опускается, если больше - то поднимается. Режим Failsafe будет действовать в течение времени, заданном в окошке "emergency time" (цифру нужно умножить на 0,1 - т.е. число 247 = 24,7 с.)
Конкретно, логика следующая. Как только качество сигнала падает ниже 140, то:
- если высота маленькая (modell_fliegt <= 1000), то моторы выключаются сразу же (аварийно). Это действует, например, на земле.
- если мы в полете (modell_fliegt > 1000), то в течение Emergency time будет стоять Emergency Gas, а по истечении этого времени моторы выключаются. Успел коптер снизиться или нет - не отслеживается, моторы просто выключаются.
- если в течение обратного отсчета времени Emergency time сигнал восстановится, то таймер сбрасывается и включается обычный режим полёта.
Что означает modell_fliegt достоверно неизвестно.
Настройка
- Подключаем FlightCtrl к MK-USB или Wi232, который в свою очередь подключаем к компьютеру.
- Запускаем программу MK-Tools.
- Запускаем двигатели на коптере, который нагружен полезной нагрузкой так, как и предполагается летать.
- Удерживаем мультикоптер в одной руке, другой рукой увеличиваем газ до уровня, когда тяга двигателей будет уравновешивать силу тяжести - в левом столбике цифр главного окна MK-Tools напротив GAS считываем значение. Например, оно получилось равным 396.
- Выключаем двигатели и опускаем коптер.
Теперь - к расчетам. При минимальном газе значение его напротив GAS стоит 72 (это значит 0), при максимальном - 868. Общий ход составляет - 868-72=796, т.е. полный газ (247 ед.) соответствует значению 796 в окне программы.
Составляем пропорцию:
796 - 247
396 - Х
Х = 396*247/796 = 123 ед.
Таким образом, коптер зависает при значении газа по шкале, которая используется в окне emergency gas, составляющем 123 ед. Отсюда вывод, что если нужно, чтобы при потере радиосвязи коптер плавно снижался на протяжени, например, 24,7 секунд, нужно поставить значение emergency GAS меньше 123 ед., например, 100 ед.
Проверить работу режима Failsafe можно подняв коптер повыше и выключив передатчик, а потом включив через 2-3 сек. - адреналин обеспечен, но и опыт получите.
Чтобы при потере сигнала коптер пытался вернуться к точке старта, нужно параметр Failsafe CH Time выставить в секундах, макс. 28-30. Это время, выделенное на возврат.
FAQ
У меня MK Tool в окнах со значениями параметров(внизу слева и верхнем, где графики отображаются) показываются уровни газа только для первых четырех моторов. Как сделать, чтобы отображались значения для всех 6/8 моторов?
Нужно внести изменения в код программы в файле fc.c
DebugOut.Analog[12] = Motor[0].SetPoint; DebugOut.Analog[13] = Motor[1].SetPoint; DebugOut.Analog[14] = Motor[2].SetPoint; DebugOut.Analog[15] = Motor[3].SetPoint; DebugOut.Analog[24] = Motor[4].SetPoint; DebugOut.Analog[25] = Motor[6].SetPoint; DebugOut.Analog[26] = Motor[7].SetPoint; DebugOut.Analog[27] = Motor[8].SetPoint;
См. также
- DUBwise - аналог программы MK-Tools для мобильных платформ Android, WinMobile и Java.
- QMKGroundStation - аналог программы, работающей под MacOS