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

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

А зачем? Может сделать ручной выпуск/уборку шасси с кнопки на плате? Реально ли это?

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

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

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

В общем, при использовании Ардуино максимальная длительность импульса PWM может быть 1850.
Хрень полная.

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

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

DmitryK

А 1850 это совсем плохо? В градусах?

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

Дело не в градусах, а в том, что колебания могут появится в любом положении качалки сервы,
уже наткнулся при серво импульсе в районе 1500 мс и в районе 950 мс.
самое главное, я не понимаю чем они вызываются, а значит не могу гарантировать их отсутствие в любом диапазоне.
а выглядит это сильно неприятно, серва начинает дергать качалку, плюс минус 5 градусов примерно,
сначала думал, что серва виновата, но посмотрел сервоимпульс осциллографом, стало понятно, что не серва.
импульс с контроллера меняет длительность., поменял контроллер, та же байда.
а значит косяк глубже, в логике библиотеки Servo.

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

вот так это выглядит

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

на видео работа режима калибровки, если стик отклонить на 1,3 хода, серва движется медленно,
если больше 1/3 то быстро

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

любопытно,
первый канал, две зоны колебаний, в начале и конце диапазона,
второй канал зон стало три, в начале середине и конце.
а на 12 канале их стало пять.

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

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

так что не вижу смысла, все перенесется на STM32, задел в плане платы уже есть )

прототип уже сделан и проверен, но на этом прототипе восемь каналов.
к выходным протравлю новый с 16 каналами и начну перенос уже сделаного софта с калибровкой.

DmitryK

А это точно не по питанию обратная связь? Без сервы тоже импульс плавает? Тогда на биения какие-то похоже. Может в логике что-то подмешивается?

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

на видео работа режима калибровки, если стик отклонить на 1,3 хода, серва движется медленно,
если больше 1/3 то быстро

Т.е. Ручкой задаём скорость перемещения? Может лучше стиком позиционировать в нужном месте?

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

А это точно не по питанию обратная связь?

абсолютно точно.

DmitryK:

Т.е. Ручкой задаём скорость перемещения? Может лучше стиком позиционировать в нужном месте?

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

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

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

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

Сегодня к вечеру постараюсь протравить и можно начинать портировать то, что уже написано.

Примерно так будет выглядеть изделие
8 каналов сверху, 8 каналов снизу, слева вверху питание, справа вход SBus.
На виде снизу, справа стабилизатор 5В для питания контроллера, слева инвертор SBus,
что бы на соплях не вешать.

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

вот, подошла плата

она рассчитана на установку модуля разработки на базе процессора STM32F401/411
Плата для разработки STM32F401, V3.0, STM32F401CCU6, STM32F411CEU6, STM32F4, обучающая плата, 84 МГц, 96 КБ, ОЗУ 100 КБ/МГц, КБ, ОЗУ КБ
Будет иметь на борту полный пакет каналов от приемника через SBus ).
К вечеру думаю соберу.

DmitryK

Вот это скорость! Да у Вас там цельный завод ЛУТтехнолоджи

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

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

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


Примерно так, но пока не проверял, каждый раз перед подключением нового девайса чувствую некоторый мандраж ))
хотя точно знаю, что коротких нет, все проверенно пять раз )

DmitryK

я просто охреневаю от скорости продвижения! Велий респект!

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

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

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

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

докладаю.
запись в память контроллера весчь конечно хорошая но не самая удобная.
знал, что “где то было”(с), в общем покопался в закромах и нашел “мою прелесть”(с).
модуль разработчика от компании WeAct на базе STM32F411, он почти тоже самое, что на фото выше,

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