PPM SUM - это просто (очередное простое решение проблемы)

dollop

Вот и я тоже, предложил помощь, а теперь сморю, что универсального решения нет. Беру два приемника НК (один v1, другой v2) - на выходе канальных импульсов при откл передатчике у v1 - нет сигналов, а у v2 на третьем, четвертом и пятом (кажется) присутствует канальный импульс. Таким образом, та прошивка этой приблуды с детектом ФС будет работать у одного и не будет работать у другого.
Короче, проблема в детектировании состояния ФС. Брать смотреть два-три первых канала? Если хотя б на одном из них нет импульсов - то ФС?

SergDoc

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

dollop

Вчера выдался свободный вечер.
Результаты
Добавлял ФС в обсуждаемый выше вариант на аттини2313. Памяти там свободной (SRAM) осталось всего 18%. Поэтому особо не развернешься.
Что имеем.

  1. Добавил кнопку и светодиод
  2. Определние ФС по пропаданию первого канала (можно править в прошивке на любой удобной канал)
  3. Кнопка может быть нажата до подачи питания - выкл. режима ФС. (светодиод мигает два раза в секунду - сброс произошел)
  4. Кнопка может быть нажата во время нормальной работы - запись ФС в ЕЕПРОМ. (светодиод мигает беспорядочно - запись ОК)
  5. Сразу после первого включения желательно нажать кнопку, для установки значений ФС.
  6. В режиме без ФС утройство работает так. При отсутствии всех канальных импульсов - как и полагается на выходе 0.
    При отсутствии канальных импульсов на отдельных каналах, вместо них в CPPM (PPM SUM) имеем минимум (850мкс).

Косяк. При отключенном режиме ФС, и отсутствии канальных импульсов на канале, по которому определяется статус ФС, но при наличии канальных импульсов где-то еще, имеем на выходе не полный штиль, а импульс длинной 0,2мкс с периодом 20мс. Отчего - знаю, обойти - пока времени нет, но на работу с подключаемыми устройствами влиять не должно.

Файл проекта, схема, прошивка

Параллельно выяснил, что ФС есть в варианте на меге168, 328, речь о котором шла на первой странице топика. Правда значения ФС задаются жестко в прошивке.

SergDoc

при появлении связи - управление с приёмника вернётся?

gorbln

Супер, уже и ФС сделали. Спасибо, Константин! Скажите, пожалуйста, чем вы порекомендуете компилить проект?

dollop

Можно компилить WinAVR или AVRStudio 4 (но WinAVR все равно должен быть установленным). Да, после Codevision ощущения о-о-очень неприятные. Но типа бесплатно 😃

З.Ы. Фьюзы такие же как и были - на 8МГц (по-умолчанию, только CKDIV8 убрать). И при компиляции не забудте раскоментить

wdt_enable(WDTO_250MS); // enable watchdog //строка 125
и
wdt_reset(); //строка 271

mataor
dollop:

Да, после Codevision ощущения о-о-очень неприятные.

студию 6 попробуйте - о-о-очень обрадует

dollop

Да не в лесу живу вроде 😃 Есть и шестая студия. Исходники в gcc-avr, который мне непривычен 😃
Поправил косяк. Обновил (брать по той же ссылке), и раскоментировал в исходниках то что писал выше. Так что можно смело пробовать. Ну и отзывы о работе/найденных_глюках приветствуются.

24 days later
gorbln

Хочу поинтересоваться у Сергея SergDoc - какие номиналы конденсаторов на плате? Я поставил 100nF, достаточно?

7 days later
serenya

dollop, помогите пожалуйста, скомпилируйте прошивочку под arduino pro mini 16МГц, а то я чет и имеющуюся не смог осилить, прошил готовый hex в 2313 dip, теперь хочу это дело затолкать в приемыш а плату травить не охото.

serenya

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

dollop
serenya:

dollop, помогите пожалуйста, скомпилируйте прошивочку под arduino pro mini 16МГц,

Ок, попробовать можно. Только уточните pro mini 16МГц с какой мегой? 328 или 168?

З.Ы. Та прошивка, что указл SergDoc проверена тысячами юзеров и успешно летает.
З.З.Ы. У прошивки на attiny2313 думаю, что менее 20 юзеров 😃. Однако, вроде бы по глюкам никто не отписывался. И это плюс.
З.З.З.Ы. Засовываю attiny2313 в приемники типа НК6 каналов (8 каналов и подавно) без всяких плат и доп разъемов (PPM-SUM на контакт бинда чарез 510Ом). Просто нужно 9 (11) проводков в тефлоновой изоляции и 1,5-2см термоусадки.

serenya

мега 168

dollop:

З.Ы. Та прошивка, что указл SergDoc проверена тысячами юзеров и успешно летает.

может и попробую

dollop:

З.З.З.Ы. Засовываю attiny2313 в приемники типа НК6 каналов

эт надо тиньку покупать, да и работа кропотливая, а ардуина есть готовая

SergDoc:

под это дело есть своя штукенция с открытыми исходниками

Пробежался по мануалу малость, при Failsafe получим кирпич в воздухе или можно перенастроить?

SergDoc
serenya:

мега 168

что для 168, в 328-ю можно смело заливать, 44 совместима с 88, а 168 с 328… по старшинству естественно - обратно не полезет… а вот с 88-й в 168 с глюком получается…

gorbln

Спасибо, Константин и Сергей!!! Собрал наконец-то сумматор. Сумматор работает, вот только фейлсейф записался, наверное, раза с 4 или 5.
Заметил такую багу - при записи ФС происходит хаотичное изменение значений всех каналов. Но после отпускания кнопки - всё в порядке. Ещё - после старта приёмника, если сигнала от передатчика нет - на выходе сумматора какие-то ацкие цифры вроде 2100 (не по всем каналам).
Получилось так:

dollop

Егор,
когда вы забирали файлик прошивки? Возьмие от туда еще раз. Я уже правил его несколько раз. Сейчас там ничего не скачет при сохранении. По поводу ФС при первом включении… в ЕЕПРОМ записано по-умолчанию с завода FF, вот поэтому, необходимо при первом включении или зажать кнопку на устройтве и подать питание, или после включения нажать кнопку устройства (линк приемника и передатчике должен быть установлен) для записи значений ФС. ФС устанавливается в текущей сессии только раз. Если нужно ФС изменить, нужно переподать питание.

gorbln
dollop:

когда вы забирали файлик прошивки? Возьмие от туда еще раз

Вчера брал… цыфры скачут. При первом включении кнопку зажимал. Насчёт раз в сессии - может быть, я этого не учёл

Но я, кстати, прошивку перекомпилировал WinAVR-ом. Поменял канал на 2 (газ).