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

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

возвращаюсь к варианту на базе микроконтроллера 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, он почти тоже самое, что на фото выше,

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

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

С записью/чтением FLASH памяти 25Q64 разобрался, еще раз считаем конечные точки,
которые надо сохранять в энергонезависимой памяти после калибровки.

  • Left Gear Door - створки левой стойки шасси - Open + Close - 2.
  • Right Gear Door - створки правой стойки шасси - Open + Close - 2.
  • Front Gear Dor - створки носовой стойки шасси - Open + Close - 2.
  • Left Flap - левый закрылок - Убран + Взлетный + Посадочный - 3.
  • Right Flap - правый закрылок - Убран + Взлетный + Посадочный - 3.
  • Left headlight - левая фара - Open + Close - 2.
  • Right headlight - правая фара - Open + Close - 2.
  • Front headlight - носовая фара - Open + Close - 2, но ЕМНИП она должна быть на стойке.
  • Front Gear - поворот носового колеса - но он совмещен с РН, а значит своих точек не имеет.

Итого я насчитал 16 двух байтовых переменных (32 байта) для хранения в энергонезависимой памяти.
Дмитрий, поправьте меня, если у Вас ретракты на сервах, то для них тоже надо калибровать конечные точки.
Сейчас думаю, как обозначить регулируемый параметр, методика будет прежней,
стик РВ+РН - вправо/влево - перебор параметров,
вверх/вниз - изменение значения,
при этом сразу будет видно куда и что двигается.

DmitryK
Гена_Большой:
  • Front Gear - поворот носового колеса - но он совмещен с РН, а значит своих точек не имеет.

а жаль. Они бы очень пригодились для настройки колеса.

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

при этом сразу будет видно куда и что двигается.

```quote https://rcopen.com/forum/f131/topic558206/855
 - Front headlight - носовая фара - Open + Close - 2, но ЕМНИП она должна быть на стойке.

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

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