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

DmitryK

Геннадий, огромное спасибо за проделанный титанический труд 😃

Гена_Большой:
  • по какой то причине, перестанет видеть данные на SBus ? Ну например отвалился проводок.

Мне кажется нужно ввести задержку на выпуск. Если в течении н ного количества тактов времени сигнал не появился, тада выпускаем.
А как обычно ведет себя приемник при неустойчивом сигнале? Сбас держит последние значения до включения ФС?

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

та неее, труд не титанический, просто времени не хватает.

DmitryK:

Мне кажется нужно ввести задержку на выпуск.

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

DmitryK:

Сбас держит последние значения до включения ФС?

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

в общем, есть над чем подумать.

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

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

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

DmitryK

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

При фс даже не знаю, что лучше? Выпускать и обломать шасси или сесть на брюхо в случае возврата управления в последний момент. В предпоследний спокойно улетаем…
Я склоняюсь ко второму варианту

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

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

DmitryK

Фс можно же в любое положение в приемнике настроить. Т.ч. плата может об этом не думать 😃.

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

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

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

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

с третьей попытки я ее все таки сделал )).

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

и останется дождаться ЖК дисплея, который уже отметился в ММПО,
так что, Дмитрий, есть у меня подозрение, что к концу следующей недели поедет он к Вам ).
но до конца месяца это точно слуится.

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

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

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

Вспомнил, что еще надо добавить в софт девайса, напишу тут, что бы было под рукой.

  • Watchdog - (сторожевая собака) - механизм перезапуска программы, если по какой то причине контроллер зависнет (всякое бывает).
  • как ранее было написано, добавить выпуск шасси в случае если контроллер долгое время (думаю секунд 10 хватит), не будет получать данные с приемника, причина может быть банальная, отвалился проводок SBus.
  • снять видео-инструкцию прошивки девайса в отсутствии “свистка” ST-Link, он шьется через USB стандартной прогой.
    инструкция будет полезна в дальнейшем, дабы устранять выявленные недочеты или модернизировать софт в свете “новых реалий”, мало ли какие функции захочется прикрутить к трем свободным каналам )).

Если есть еще какие пожелания, пишите сюда, учтем.

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

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

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

дописал кусок реакции на потерю данных от UART, все оказалось совсем просто, оно работает так

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

секунды тайминга весьма условные, можно поменять.

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

Забрал с почты посылку с ЖК 1608, осталось припаять к нему разъем для подключения к плате и можно отправлять,
лучше СДЭК, для этого нужен город, адрес ПВЗ, ФИО и номер телефона.
И к концу недели буду на СДЭК и смогу отправить для тестирования.

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

лучше СДЭК

У СДЭКА цены не детские.

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

Добрый день, пока не добрался до скетча, надо “подчистить” секвенсер, припаять разъем на экран,
что бы не было сомнений, как подключить, все проверить в комплексе еще раз. И завтра его постараюсь отправить.
У моей жены договор со СДЭК, маленький пакет 25х20х10 почти по всей России обходится в 210 рублей, дешевле ПР. ))

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

Добрый день, пока не добрался до скетча, надо “подчистить” секвенсер, припаять разъем на экран,
что бы не было сомнений, как подключить, все проверить в комплексе еще раз. И завтра его постараюсь отправить.
У моей жены договор со СДЭК, маленький пакет 25х20х10 почти по всей России обходится в 210 рублей, дешевле ПР. ))

Ничего страшного. Хорошая цена 210р

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

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

Девайс имеет

  • шесть программируемых цифровых входа/выхода,
  • из них три могут быть описаны как PWM выходы,
  • интерфейс UART, к которому будет прикручен инвертор для возможности подключения SBus/Sbus2
  • теоретически хочется реализовать передачу телеметрии по SBus2

Для чего оно надо ? Да если честно сказать ХЗ, да для чего угодно ))

Размеры девайса 25х40 мм
Вот такие дела )

1 month later
Гена_Большой

Приехал “очередной” экран, сегодня-завтра его проверю и если все заработает то в понедельник отправлю.

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

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

  • уменьшить длину строки до 9 символов.
  • оправить решение в урезанном виде.
  • а потом заняться поисками рабочего драйвера.
  • в последствии исправить программу и обновить прошивку дистанционно.
Гена_Большой

Укоротил строку, артефакты в правой половине экрана пропали,


Думаю, что так пока можно оставить, в общем в понедельник отправлю

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

Нашел другую библиотеку, завтра попробую тестировать, если заработает, буду интегрировать в проект