Ил-18 Долгий путь к мечте
Пока вспомнил,
Дмитрий, ОЧЕНЬ ВАЖНО, при включении питания этого устройства, чисто механически, шасси должны быть в убранном положении.
Просто потому, что совсем не понятно в каком состоянии при включении будут створки шасси, особенно в режиме первичного программирования.
А что случится, если шасси будут выпущены? Чисто с целью повышения образованности?
Как вариант - при включении сразу открываем створки, убираем шасси, ждем, закрываем створки.
самый главный момент с режимом программирования, при входе в режим, стойка должна быть выпущена или убрана.
- в режиме программирования, в первый раз, не понятно в каком положении окажутся створки шасси.
и как только я дам команду на изменение положения стойки, а это надо будет сделать обязательно (начальная инициализация),
то стойка может убраться через створки ну или выпуститься,
просто программа не знает в каком положении ретракт - при старте программы в принципе я могу прописать открытие створок и перевод шасси в заданное положение.
в принципе “защита от дурака” предусмотрена, до завершения программирования на ретракт вообще не подается никакая команда,
но всякое бывает, вдруг трабла проскочит
- программа не знает в каком положении ретракт
Ну дык я и говорю, что можно начать с открытия створок. Они всяко быстрее откроются, чем нога до них доедет. Но это только мысли вслух. Меня вполне устроит начальноубранное положение.
опять я забыл, что у Вас ретракты на шасси и шасси не могут оказаться в промежуточном состоянии.
в общем для простоты будем считать, что модель всегда разбирается с убранными шасси.
хотя, на самом деле, если инициализируются первыми створки, а потом сделать паузу для завершения отработки ретрактов,
то скорее всего ничего страшного не должно произойти.
про руление носового колесо
- не вижу смысла программировать конечные точки
- достаточно запрограммировать реверс, среднее положение и процент от канала РН.
по крайней мере мне так кажется, всегда можно будет увеличить/уменьшить реакцию на поворота.
среднее положение обязательно, что бы при выпуске проходило соединение с сервой руления
Закончил режим программирования для носового колеса.
В итоге остановился на трех параметрах:
- средняя точка, позиция из которой осуществляется уборка стойки и она же начальная для руления.
- процент реакции от канала РН с аппаратуры, по дефолту стоит 50 процентов, меняется вверх/вниз с шагом 1 за 0,3 секунды. При этом можно смотреть насколько реально будет повернуто носовое колесо, отклоняя стик РН.
- реверс носового колеса, по дефолту стоит 0, т.е. реверс ОТКЛ, любое значение отличное от 0 трактуется как ВКЛ.
так же как в предыдущем пункте можно сразу контролировать направление поворота, при движении стика РН.
Вроде с носовым колесом закончил.
Кроме того, поменял меню на дисплее в режиме программирования, он стало более читабельным.
В общем завтра сделаю видео (сегодня уже нет ни сил ни желания).
Постепенно приближаюсь к самому главному, выпуск/уборка шасси.
Но судя по всему это будет не сложная задача )).
В скором времени придет из Китая мелочевка, новую плату со всеми исправлениями уже нарисовал.
ЗдОрово! Но у моего варианта руления колесом есть один серьезный недостаток. При слишком сильном отклонении сервы нога может выскочить из прорези в качалке. если, например оттриммировать РП после настройки, в крайнем положении стойка может выпасть, а этого бы не хотелось. А ограничить ход - радиус поворота вырастет. Пока не проверял, насколько, но предвижу …
Сначала с минимальным коэффициентом передачи от РН к рулевому колесу, что бы рулилось на взлете и посадке,
после первого полета и тримирования РН в воздухе настраивается среднее положение рулевого колеса,
положение РН и рулевого колеса не зависят одно от другого,
при старте программы она считывает показание канала РН и от этого положения уже пляшет.
суть в том, что после тримирования РН, даже если РН окажется отклонен на 45 градусов,
при следующем включении питания колесо встанет в среднее положение, заданное в программе.
а потом процентами настраивается максимальное отклонение рулевого колеса, при котором “не выпадает”.
И кстати, у тумблера GEAR может быть три положения,
вполне могу прикрутить два режима рулевого колеса руление и взлетный,
во взлетном режиме например отклонение колеса 50 процентов от руления или 60, сколько надо в общем ).
Памяти микроконтроллера пока съедено 18 процентов.
И кстати, у тумблера GEAR может быть три положения,
Да, как-то так будет. Два наверное.
В выходные приступлю к крайнему шагу выпуск-уборка шасси.
Вчера пришла из Китая мелочевка (резисторы, конденсаторы SMD),
сегодня перерисовал плату с учетом выявленных недостатков и переходом на другой камень.
выглядеть будет примерно так.
паять SMD будет тот еще квест )), а их там теперь очень много )
прикольная шайтан коробка получается на ардуине , а самое главное, что можно настраивать без компа.
она не на Ардуине, это на процессоре STM32, Ардуинка не потянула,.
а выпуск/уборка шасси потихоньку продвигаются.
Да, как-то так будет. Два наверное.
подумал на досуге, мне проще прикрутить экспоненту на рулевое колесо, чем думать как сделать два режима,
да еще что бы пилот после посадки не попутал и не убрал ненароком шасси.
У меня ардуина управляет 7 машинками.Если шасси будут убирать машинки, то нужно предусмотреть регулировать скорость уборки, изменение крайних точек и реверса. Режимы можно назначить на передатчике
Если использовать библиотеку Servo для Ардуино и “прикрутить” замедление" и программируемые конечные точки,
то неизбежно возникнут непредусмотренные колебания в процессе перемещения,
проверено на нескольких разных процессорах Атмега.
Как выяснилось, это “особенность” использования библиотекой таймеров.
Это касается в том числе и Арду 2560.
А если писать все самому, то памяти Меги 328 в итоге может и не хватить, сейчас проект занимает 25 килобайт
и это еще не все.
Да и по производительности F401 значительно превосходит любую Мегу,
а про количество портов я вообще молчу ).
В даннос проекте задействовано три таймера, каждый генерирует по 4 PWM сигнала на четырех ногах процессора,
сам процессор в этом процессе не участвует.
Если шасси будут убирать машинки, то нужно предусмотреть регулировать скорость уборки, изменение крайних точек и реверса.
два канала на закрылки,
три канала на фары,
три канала на створки шасси,
три канала на ретракты,
один канал на рулевое колесо.
Итого 12 каналов с периодом 10 мс (так захотелось, могу сделать и 7 и 20),
точность импульсов PWM составляет ±2 мкс, т.е. если должно быть 1520 мкс, то будет от 1518 до 1522,
точность с запасом )
Для каждого канала программируются конечные точки и замедление в миллисекундах.
Уверен, что с Ардуино Вы получаете не больше ± 5-7 мкс.
подумал на досуге, мне проще прикрутить экспоненту на рулевое колесо, чем думать как сделать два режима,
А зачем вам то думать об этом? Это все в пульте двойными расходами будет делаться. И экспонента тоже…
да уж, точно на пенсию пора, очевидные вещи упускаю из виду.
(Да и по производительности F401 значительно превосходит любую Мегу, а про количество портов я вообще молчу. В даннос проекте задействовано три таймера, каждый генерирует по 4 PWM сигнала на четырех ногах процессора, сам процессор в этом процессе не участвует)
С этим я согласен на 100%