Ил-18 Долгий путь к мечте

Гена_Большой

Пока вспомнил,
Дмитрий, ОЧЕНЬ ВАЖНО, при включении питания этого устройства, чисто механически, шасси должны быть в убранном положении.
Просто потому, что совсем не понятно в каком состоянии при включении будут створки шасси, особенно в режиме первичного программирования.

DmitryK

А что случится, если шасси будут выпущены? Чисто с целью повышения образованности?
Как вариант - при включении сразу открываем створки, убираем шасси, ждем, закрываем створки.

Гена_Большой

самый главный момент с режимом программирования, при входе в режим, стойка должна быть выпущена или убрана.

  1. в режиме программирования, в первый раз, не понятно в каком положении окажутся створки шасси.
    и как только я дам команду на изменение положения стойки, а это надо будет сделать обязательно (начальная инициализация),
    то стойка может убраться через створки ну или выпуститься,
    просто программа не знает в каком положении ретракт
  2. при старте программы в принципе я могу прописать открытие створок и перевод шасси в заданное положение.
Гена_Большой

в принципе “защита от дурака” предусмотрена, до завершения программирования на ретракт вообще не подается никакая команда,
но всякое бывает, вдруг трабла проскочит

DmitryK
Гена_Большой:
  • программа не знает в каком положении ретракт

Ну дык я и говорю, что можно начать с открытия створок. Они всяко быстрее откроются, чем нога до них доедет. Но это только мысли вслух. Меня вполне устроит начальноубранное положение.

Гена_Большой

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

про руление носового колесо

  • не вижу смысла программировать конечные точки
  • достаточно запрограммировать реверс, среднее положение и процент от канала РН.

по крайней мере мне так кажется, всегда можно будет увеличить/уменьшить реакцию на поворота.
среднее положение обязательно, что бы при выпуске проходило соединение с сервой руления

Гена_Большой

Закончил режим программирования для носового колеса.
В итоге остановился на трех параметрах:

  • средняя точка, позиция из которой осуществляется уборка стойки и она же начальная для руления.
  • процент реакции от канала РН с аппаратуры, по дефолту стоит 50 процентов, меняется вверх/вниз с шагом 1 за 0,3 секунды. При этом можно смотреть насколько реально будет повернуто носовое колесо, отклоняя стик РН.
  • реверс носового колеса, по дефолту стоит 0, т.е. реверс ОТКЛ, любое значение отличное от 0 трактуется как ВКЛ.
    так же как в предыдущем пункте можно сразу контролировать направление поворота, при движении стика РН.

Вроде с носовым колесом закончил.
Кроме того, поменял меню на дисплее в режиме программирования, он стало более читабельным.

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

В скором времени придет из Китая мелочевка, новую плату со всеми исправлениями уже нарисовал.

DmitryK

ЗдОрово! Но у моего варианта руления колесом есть один серьезный недостаток. При слишком сильном отклонении сервы нога может выскочить из прорези в качалке. если, например оттриммировать РП после настройки, в крайнем положении стойка может выпасть, а этого бы не хотелось. А ограничить ход - радиус поворота вырастет. Пока не проверял, насколько, но предвижу …

Гена_Большой

Сначала с минимальным коэффициентом передачи от РН к рулевому колесу, что бы рулилось на взлете и посадке,
после первого полета и тримирования РН в воздухе настраивается среднее положение рулевого колеса,
положение РН и рулевого колеса не зависят одно от другого,
при старте программы она считывает показание канала РН и от этого положения уже пляшет.
суть в том, что после тримирования РН, даже если РН окажется отклонен на 45 градусов,
при следующем включении питания колесо встанет в среднее положение, заданное в программе.
а потом процентами настраивается максимальное отклонение рулевого колеса, при котором “не выпадает”.

Гена_Большой

И кстати, у тумблера GEAR может быть три положения,
вполне могу прикрутить два режима рулевого колеса руление и взлетный,
во взлетном режиме например отклонение колеса 50 процентов от руления или 60, сколько надо в общем ).
Памяти микроконтроллера пока съедено 18 процентов.

DmitryK
Гена_Большой:

И кстати, у тумблера GEAR может быть три положения,

Да, как-то так будет. Два наверное.

9 days later
Гена_Большой

В выходные приступлю к крайнему шагу выпуск-уборка шасси.
Вчера пришла из Китая мелочевка (резисторы, конденсаторы SMD),
сегодня перерисовал плату с учетом выявленных недостатков и переходом на другой камень.

выглядеть будет примерно так.
паять SMD будет тот еще квест )), а их там теперь очень много )

boss

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

Гена_Большой

она не на Ардуине, это на процессоре STM32, Ардуинка не потянула,.
а выпуск/уборка шасси потихоньку продвигаются.

Гена_Большой
DmitryK:

Да, как-то так будет. Два наверное.

подумал на досуге, мне проще прикрутить экспоненту на рулевое колесо, чем думать как сделать два режима,
да еще что бы пилот после посадки не попутал и не убрал ненароком шасси.

boss

У меня ардуина управляет 7 машинками.Если шасси будут убирать машинки, то нужно предусмотреть регулировать скорость уборки, изменение крайних точек и реверса. Режимы можно назначить на передатчике

Гена_Большой

Если использовать библиотеку Servo для Ардуино и “прикрутить” замедление" и программируемые конечные точки,
то неизбежно возникнут непредусмотренные колебания в процессе перемещения,
проверено на нескольких разных процессорах Атмега.
Как выяснилось, это “особенность” использования библиотекой таймеров.
Это касается в том числе и Арду 2560.
А если писать все самому, то памяти Меги 328 в итоге может и не хватить, сейчас проект занимает 25 килобайт
и это еще не все.

Да и по производительности F401 значительно превосходит любую Мегу,
а про количество портов я вообще молчу ).
В даннос проекте задействовано три таймера, каждый генерирует по 4 PWM сигнала на четырех ногах процессора,
сам процессор в этом процессе не участвует.

boss:

Если шасси будут убирать машинки, то нужно предусмотреть регулировать скорость уборки, изменение крайних точек и реверса.

два канала на закрылки,
три канала на фары,
три канала на створки шасси,
три канала на ретракты,
один канал на рулевое колесо.

Итого 12 каналов с периодом 10 мс (так захотелось, могу сделать и 7 и 20),
точность импульсов PWM составляет ±2 мкс, т.е. если должно быть 1520 мкс, то будет от 1518 до 1522,
точность с запасом )
Для каждого канала программируются конечные точки и замедление в миллисекундах.
Уверен, что с Ардуино Вы получаете не больше ± 5-7 мкс.

DmitryK
Гена_Большой:

подумал на досуге, мне проще прикрутить экспоненту на рулевое колесо, чем думать как сделать два режима,

А зачем вам то думать об этом? Это все в пульте двойными расходами будет делаться. И экспонента тоже…

boss

(Да и по производительности F401 значительно превосходит любую Мегу, а про количество портов я вообще молчу. В даннос проекте задействовано три таймера, каждый генерирует по 4 PWM сигнала на четырех ногах процессора, сам процессор в этом процессе не участвует)

С этим я согласен на 100%