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

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

в канале <1500 то все три ретракта в положение убрано и наоборот.

Именно так.

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

По створкам - два режима при выпущенных шасси, открыты/закрыты

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

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

маленькие остаются открытыми,

Упс … а вот это уже …
про них то я и не знал, точнее на видео я их видел, но как то не подумал, а спросить забыл.
а теперь для них нет отдельных каналов.
устройство выводит 12 каналов, по два на стойки - шесть, два на закрылки, три на фары и один на руление.
теоретически может 16, но тогда без экрана, надо посмотреть, можно ли сделать 14,
16 точно не получится, экран надо как то цеплять.

Ладно буду смотреть, может проще новую плату “сотворить”, это в наших силах )

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

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

С другой стороны, я сейчас знаю недостатки крайней версии, платы, заодно и их устраню.

DmitryK

Может не нужно специально новую плату городить? Маленькие створки тупо упираются в стойку и при закрытии основных остаются открытыми. Потом при открытии створок они растопыривают мелких и закрываются все вместе. Только пружинка на закрытие нужна и все.

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

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

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

надо будет переделывать плату

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

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

допилил управление фарами.
завтра попробую собрать 5 штук серв и сделать “коллективное видео” вместе с элеронами

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

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

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

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

в общем, все не так фатально, перенес софт на другую платформу STM32F401,
вроде разобрался как писать во ФЛЭШ память, впереди длинные выходные, теперь будет время заняться.
Но плату все равно переделывать, UART (SBUS) на другие ноги приходит.
Но это мелочь )

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

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

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

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

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

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

DIM76

Круто. Типа сервис по гарантии… 😀

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

нее, типа техподдержка.
далеко не у всех есть StLink, а как выяснилось загрузка прошивки через USB вполне себе работает ))
да и в следующей версии платы, которая в итоге уедет к Дмитрию, будет выведено на гребенку 14 каналов
и сделаны 4 кнопки, пока не понятно зачем, но что то мне подсказывает, что они пригодятся.
но пока расширять софт я не собираюсь )

а теперь маленькая презентация

DIM76

А скорость и реверс серв потом можно будет менять?

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

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

      	  if (_LFPos3 > _LFPos1) LFstep_ = (_LFPos3-_LFPos1) * cycle_ / timeF_  ;
      	  else LFstep_ = (_LFPos1-_LFPos3) / timeF_ * cycle_ ;
      	  if (_RFPos3 > _RFPos1) RFstep_ = (_RFPos3-_RFPos1) * cycle_ / timeF_ ;
      	  else RFstep_ = (_RFPos1-_RFPos3) / timeF_ * cycle_ ;

вот так считается шаг смещения на каждый такт выполнения операции.
есть конечные точки, есть время выполнения операции и есть длительность одного такта.
для каждой сервы они считаются отдельно.
cycle_ и timeF_ это константы в программе, длительность такта и время на полный цикл,
сейчас для закрылков они составляют 40 мс и 100 мс соответственно

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

вот сейчас заканчиваю “писать” кусок открытия/закрытия створок.

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

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

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

Итого, что на данный момент работает.

  • чтение настроек конечных точек из FLASH.
  • начальная установка сервоприводов.
  1. закрылки - первое положение - убраны
  2. фары - первое положение - убраны
  3. створки шасси - второе положение - открыты
  4. шасси - выпущены.
  • управление фарами с отдельного канала с замедлением
  • управление закрылками с отдельного канала три положения с замедлением
  • управление створками шасси с отдельного канала с замедлением

Что еще не сделано

  • программирование конечных точек надо дописать в части записи настроек во FLASH,
    сейчас во FLASH хранятся базовые настройки, +100 -100 по всем каналам
  • руление носовым колесом
  • не забыть добавить перевод рулевого колеса в среднее положение перед началом уборки шасси.
  • добавить в программирование номера каналов управления закрылками, шасси, фарами.

Пока вроде все что вспомнил.

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

расписал все это и возникла идея для продолжения проекта.
а состоит она в следующем,
у меня есть готовый девайс, который (чисто теоретически) в состоянии получать данные с любого приемника,
имеющего выход типа SBus/iBus и прочие асинхронные последовательные.
так же, есть куча свободных выводов микроконтроллера, на которые можно “повесить” кнопки и светодиоды.
и 12-14 (ограничено необходимостью иметь UART и i2c) PWM выходов.
по сути что то типа интерпретатора LUA (но его я не смотрел и не читал)

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

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

Что еще не сделано

  • программирование конечных точек надо дописать в части записи настроек во FLASH,
    сейчас во FLASH хранятся базовые настройки, +100 -100 по всем каналам

  • руление носовым колесом

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

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

  • ну и самое главное, циклограмма выпуска/уборки шасси

Пока вроде все что вспомнил.

запись и чтение во FLASH допилил, теперь все работает корректно.
добавил программирование номеров каналов

особенность программирования
номер канала считается методом деления значения в поле на 100.
т.е. 100-199 - будет считаться первым каналом, 1100-1199 - 11 каналом, все что больше 1200 - останется 12 каналом ))

в общем, пока хватит, думаю до конца выходных в первом приближении будет готово