Найти в Дзене
Sergey Ivanov

Сова. Полууспех

После последних "полётов" решено было немного переделать фюзельник, во первых- т.к. старый был разбит, во-вторых т.к. хотел внести некоторые изменения в конструкцию. Изменения связаны с тем, что проводка собирается отдельно, проверяется и устанавливается в корпус. Проводка на половину установлена в корпус через жопу заднее технологическое отверстие. Новый стильный корпус готов ) На моделирование и сборку ушёл день . Так же, решил уложить немного иначе парашют. Стропы кольцом. Превозмогая нечеловеческие усилия над собой немного переписал код прошивки совы, добавив ограничения на газ. В прошлой статье писал, в этой меняю. UPD, пару дней подумав о жизни, посмотрев на циферки в логах пришло осознание ещё одной проблемы, о которой было известно и о которой на первых полётах совершенно забыл. Ошибка таится в одной строчке кода servoFL=(rThrottle-500)*1.5+CtrlPitch+CtrlRoll+CtrlYaw; rThrottle - это принятый сигнал с передатчика (в диапазоне 1000-2000 мкс) servoFL - воздействие на мотор пере
Оглавление

После последних "полётов" решено было немного переделать фюзельник, во первых- т.к. старый был разбит, во-вторых т.к. хотел внести некоторые изменения в конструкцию.

Исправление, дополнение.

Изменения связаны с тем, что проводка собирается отдельно, проверяется и устанавливается в корпус.

Разбитый корпус
Разбитый корпус
Проводка отдельно на столе
Проводка отдельно на столе
-3

Проводка на половину установлена в корпус через жопу заднее технологическое отверстие.

Новый стильный корпус готов )

На моделирование и сборку ушёл день .

-4
-5

Так же, решил уложить немного иначе парашют. Стропы кольцом.

-6

Превозмогая нечеловеческие усилия над собой немного переписал код прошивки совы, добавив ограничения на газ. В прошлой статье писал, в этой меняю.

UPD, пару дней подумав о жизни, посмотрев на циферки в логах пришло осознание ещё одной проблемы, о которой было известно и о которой на первых полётах совершенно забыл.
Ошибка таится в одной строчке кода
servoFL=(rThrottle-500)*1.5+CtrlPitch+CtrlRoll+CtrlYaw;
rThrottle - это принятый сигнал с передатчика (в диапазоне 1000-2000 мкс) servoFL - воздействие на мотор передний левый и если приглядеться, учитывая логи (см. скрин ниже), видно, то при rThrottle более 1700 мкс происходит зашкаливание управляющего воздействия на мотор, он гребёт по максимум и всё. Именно это и произошло. На все моторы был одинаковый сигнал максимальной величины, что говорит о невозможности стабилизации углов. Что делать ?
На этапе ручного управления не перемещать стик управления газом более половины.
Переписать код таким образом, что при приближении любого управляющего сигнала на мотор к 2000 мкс автоматически снижался бы газ на это превышения для сохранения управления.

В коде реализовал примерно так.

//Находим наибольшее значение среди четырех переменных, если они больше 2000
if (servoFR > 2000 && servoFR > servoDown) {
servoDown = servoFR-2000; // Если servoFR больше 2000 и больше текущего servoDown, обновляем
}
if (servoFL > 2000 && servoFL > servoDown) {
servoDown = servoFL-2000; // Если servoFL больше 2000 и больше текущего servoDown, обновляем
}
if (servoBR > 2000 && servoBR > servoDown) {
servoDown = servoBR-2000; // Если servoBR больше 2000 и больше текущего servoDown, обновляем
}
if (servoBL > 2000 && servoBL > servoDown) {
servoDown = servoBL-2000; // Если servoBL больше 2000 и больше текущего servoDown, обновляем
}
if (servoFR <= 2000 && servoFL <= 2000 && servoBR <= 2000 && servoBL <= 2000) { // Проверяем, все ли значения меньше 2000
servoDown = 0; // Если все значения меньше или равны 2000, записываем 0
}

Код на дзен лучше не грузить. Отстой какой-то в плане отображения.

Видео полётов.

Логи итоги.

Почему-то код не очень работает, всё равно происходит зашкаливание, это грустно.

Судя по логам, когда дал газа более 1735 мкс ШИМа, началось невероятное веселье, сову стало крутить вертеть.

График тяги, крена и тангажа, высоты
График тяги, крена и тангажа, высоты

Что нужно сделать

  • Исправить ошибку в перераспределении тяги
  • К АКБ добавить банку, сейчас 3S, нужно 4S
  • Возможно, сделать выкос моторов чтобы парашют выкидывало быстрее


Картинка для заставки
Картинка для заставки