Нужна не стандартная железка.

AsMan
V_Alex:

Распишите алгоритм с привязкой к длительностям сервоимпульса. Подумаем

Я вижу это так:

При включении (инициализации) запоминаем длительность импулься на входе. Он будет пороговым. На выходе, переводим серву в крайне (исходное) положение. Любое. Если на плате будет какая нибудь перемычка для реверса, будет супер, но это не обязательно.
Далее, при любых изменениях длительности импульса на входе, выше порогового, держим серву в исходном положении.
Если импульс на входе стал короче порогового, и находится в таком состоянии 0.5 сек. Медленно переводим серву в противоположное положение. Полная перекладка за 2 секунды.
Когда серва находится не в исходном положении, а импульс на входе стал длиннее порогового (незнаю сколько нужно импульсов чтобы удостовериться что это не глюк, 5…10?), забиваем на все, и максимально быстро переводим серву в исходное положение.

Fotilla:

Угу… Пост № 5…

Это не то.

V_Alex

Пока ТЗ не бьется с сообщением #1. Сперва есть смысл определить (хотя-бы условно) положение тротлкат и крайние положения сервы (назовем их А и Б, которые генерируются устройством) в миллисекундах.
Вне состояния тротлкат, где должна находиться серва? В крайнем положении или отрабатывать текущее значение сервоимпульса?

AsMan

Мне просто трудно оперировать конкретными цифрами. Наверняка там есть нюансы о которых я не знаю. Если это важно, РУ у меня футаба в PPM моде.
Предположим как по учебнику. Крайние положения 1, и 2 мс.
При инициализации:
Запоминаем длительность импульса на входе. Она будет 1<Т.п<2 мс. На выходе выставляем длительность 1 мс.
В процессе работы:
Если длительность на входе >= Т.п , на выходе 1 мс.
Если длительность на входе < Т.п , ждем полсекунды, потом в течении двух секунд, линейно изменяем длительность на выходе с 1 до 2 мс, и так оставляем.
В общем то и все.

Самое главное, если в друг длительность на входе становится >= Т.п , прерываем все действия и выставляем на выходе 1 мс.

V_Alex

Более или менее понятно. Теперь надо разобраться с точкой “Т.п.” То, что она запоминается при инициализации, означает, что при сбое и повторной инициализации будет запоминаться другое значение. Поэтому эта точка должна настраиваться кнопкой (перемычкой) и запоминаться в EEPROM или крутилкой. Место под крутилку есть на плате, которую предполагается использовать,если дело дойдет до изготовления.
Второй момент - зачем нужна задержка в 0,5 сек? Она вызовет проблемы в момент включения и при переключениях.
Может быть так: если при включении сигнал попадает в интервал 1мс…“Т.п.”, машинка сразу выставляется в 1 м.с., если сигнал попадает в интервал “Т.п.” …2мс, то машинка плавно ползет от текущего состояния с сторону 2 мс. При последующей работе машинка реагирует на пересечение “Т.п.” быстрой работой в сторону 1 мс и плавной отработкой в сторону 2 мс?

AsMan
V_Alex:

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

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

V_Alex:

Второй момент - зачем нужна задержка в 0,5 сек? Она вызовет проблемы в момент включения и при переключениях.

Для перестраховки. Время на то чтобы винт перешел в пассивный режим. Может она и не нужна.

V_Alex:

Может быть так:

Нет. При таком алгоритме самолет моментально падает с оторваной мордой.

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

Что я хочу от железки:
Включаю пульт, стик газа в нуле.
Включаю борт. Серва тормоза вывернулась в исходное положение.
Щелкаю тумблером тротлкат, тормозящефиксирующая приблуда медленно вылезла.
Щелкаю тумблером в зад, приблуда моментально залезла в зад.
Проверяю как работает мотор. Двигаю стик газа от нуля до макс, мотор честно отрабатывает, серва стоит как вкопанная.
Стик газа перевожу в ноль, щелкаю тумблером тротл кат, потом даю газа. тормозящефиксирующая приблуда уже успела немного вылезти, и обязана моментально залезть.

V_Alex

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

Если задержка 0,5 c нужна, ее организовать можно.

Теперь по алгоритму: если серва при первом включении стоит в промежуточном положении, ее нужно принудительно загнать в положение 1 мс и после этого принимать решение. Если канал находится в “рабочем секторе”(Т.п.-2 мс), то серва остается в положении 1 мс. Если канал находится в состояние тротлкат (интервал 1 мс - Т.п.), то серва, выждав 0,5 секунды, начинает ползти во второе крайнее положение (2 мс на выходе) и доползает за 2 секунды. Дальше действия сервы сводятся к перемещениям между двумя крайним положениям, в одну сторону быстро, в другую - медленно. Так?

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

AsMan
V_Alex:

Дальше действия сервы сводятся к перемещениям между двумя крайним положениям, в одну сторону быстро, в другую - медленно. Так?

Нет.

V_Alex:

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

Так и реагирует. Газ в пол заслонка открыта, газ в ноль холостые. Тротлкат, заслонка так чтоб заглох. А еще винт закреплен на валу так что компрессией его тормозит параллельно крылу. Вот мне надо сделать чтоб параллельно крылу, только электрички не глохнут.

V_Alex

Тумблер “тротлкат” дает относительное смещение сервы газа (до есть дожимает заслонку в положении “малый газ” до глушения и уменьшает газ при любом другом промежуточном положении ручки газа) или независимо от положения ручки газа принудительно выводит серву газа в фиксированное положение “глушение мотора”?

Замерьте (хотя-бы приблизительно) углы отклонения от нейтрали для положений “тротлкат”, “малый газ” и “полный газ” на любой стандартной серве с Вашими настройками пульта. Для начала нужно определиться с относительными отклонениями. Я понимаю, что там будет стоять регулятор, но с сервой экспериментировать проще.

И еще вопрос, регулятор активизируется в положении “тротлкат” или “малый газ”?

AsMan
V_Alex:

Тумблер “тротлкат” дает относительное смещение сервы газа (до есть дожимает заслонку в положении “малый газ” до глушения и уменьшает газ при любом другом промежуточном положении ручки газа)

Точно так.

V_Alex:

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

Не понял зачем, но если надо завтра сделаю. Только каких то конкретных настроек нет.

V_Alex:

И еще вопрос, регулятор активизируется в положении “тротлкат” или “малый газ”?

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

V_Alex

Если при включении аппаратуры ручка газа стоит где-то посередине (что соответствует каким-то средним оборотам), то чтобы двигатель сразу не крутился, обычно делается программная защита. Ручку нужно перевести в “малый газ”, происходит активация регулятора, после чего мотор начинает нормально управляться. ИМХО активацию желательно настроить по “малому газу”.
Поэтому есть прямой смысл сперва состыковать и настроить совместную работу регулятора и передатчика, а затем уже с полученными настройками в канал газа подключить серву и сделать замеры. Оптимально эту серву закрепить на картонке, с рычагу пристроить заостренную планку и по ее положению сделать отметки на картонке для “тротлкат”, “малый газ” и “полный газ”, а затем эту серву вместе с картонкой как-то передать мне. Тогда у меня будут фактические длины импульса в настроечных точках для приблуды. Также на эту картонку можно нанести еще две точки (желаемые минимальное и максимальное положение этой-же сервы при включении ее после приблуды).

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

AsMan
V_Alex:

Если при включении аппаратуры ручка газа стоит где-то посередине (что соответствует каким-то средним оборотам), то чтобы двигатель сразу не крутился, обычно делается программная защита. Ручку нужно перевести в “малый газ”, происходит активация регулятора, после чего мотор начинает нормально управляться. ИМХО активацию желательно настроить по “малому газу”.

Да точно так.

V_Alex:

Тогда у меня будут фактические длины импульса в настроечных точках для приблуды. Также на эту картонку можно нанести еще две точки (желаемые минимальное и максимальное положение этой-же сервы при включении ее после приблуды).

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

AsMan

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

Вопрос снимается, сам сделаю:-)

ЗЫ Спасибо огромное всем кто пытался помочь.

V_Alex
AsMan:

Вопрос снимается, сам сделаю:-)

Абсолютно правильное решение 😃
Со своей стороны считаю тему закрытой.

Makey

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

14 days later
1 month later
AsMan

На конец то приехали платки минипро. Завтра распаиваю обвес. Скрипт уже написан. Тестю и приступаю к реализации механики.

AsMan

В общем оно работает, и даж как задумано.

ЗЫ Прикольно отлаживаться, имея в качестве терминала только один светодиод:-)