Очередное изобретение колеса (или как превратить вечер 8-го марта в файлсейв)

Доброго вечера!

Прошлые выходные (в отличие от этих!!!) у меня в модельном плане были чрезвычайно неудачными… 😦 остался без колес (стоковые на ассошке были плохо проклеены, я их разобрал, но клей купить так и не успел… три дня выходных было, а покататься нельзя 😃)…

В общем, решил немного доработать систему РУ своей ассошки. Думаю, файлсев тема настолько избитая, что изобрести что-либо новое тут просто невозможно… но, с другой стороны, решение настолько очевидно, что и искать его я не стал 😁.
Вообще, апа ассошки не особо порадовала надежностью связи, потому, очень рекомендую не пренебрегать использованием с ней файлсева. У меня модель улетала два раза… правда оба раза без трагических последствий 😒.

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

Почему это а не то? Отвечаю: Была у меня дома только такая мега… точнее такая и еще другая, в дип 28 корпусе… решил, что эта - меньшее зло 😃… проц, явно, избыточен… но за ним не надо было ехать в магаз!!!
Диодик на питании несет больше не защитную а напряжениеограничивающую функцию. Проц можно питать от 6 вольт по паспорту… акумы свежезаряженные (5 банок) дают до 6.5 вольт… на диоде как раз 0.5-0.7 вольта свалится…
Входы справа (подходят к INT-овым ножкам, так их легко и быстро можно передать на выход), выходы слева (идут от ножек, аппаратно коммутируемых таймером, так удобней генерить “замещающий” сигнал).

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

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

Самому не верится, но это было спаяно в тот же вечер… правда закончил уже часам к 2-м ночи… получилось э… ну, это действующий инженерный образец получился 😅… да и праздник же 😵


Блин, самому страшно… благо, тут нельзя кидаться помидорами 😆 … но, лучше кривая, косая, работающая макетка, чем хорошая и красивая, нереализованная идея 😝

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

  1. В режиме настройки (переход в этот режим происходит при замыкании двух контактов разъема программирования) можно выставить “заданные” положения двух серв (файлсейв двухканальный у меня). Дальше снимаем джампер. Новые положения будут запомнены. + одновременно считываются периоды следования импульсов (вообще они одинаковые, эти периоды, для обоих каналов, но считываю для каждого… так универсальней).
  2. В режиме работы устройство постоянно оценивает “правильность” сигналов по каждому из каналов. Сигнал считается правильным если период следования импульсов отличается от периода импульсов, считанного во время настройки не более, чем на четверть и если длительности импульсов находятся в пределах 500 - 2500 мкс. При нарушении любого из указанных условий по любому из каналов устройство “замещает” сигнал с приемника сигналом, генерируемым с периодом 16 мс (такой сигнал берет любая серва) и длительностью, заданной для каждого канала в режиме настройки.
  3. Допускается сбой “правильности” сигнала на 200 мс. Если за это время сигнал не восстанавливается - устройство переходит в режим “замещения”.
  4. Для обратного перехода из режима замещения в рабочий режим устройство ожидает устойчивого сигнала в течении 2-х секунд. Такая большая задержка сейчас введена специально… мне просто интересно, как часто он будет срабатывать 😁

Рабочий сигнал устройство практически не искажает. Обработка сигнала сделана по прерываниям. Другие прерывания, кроме прерываний по фронтам входного сигнала в программе не используются, а, поскольку с приемника управляющие импульсы идут не одновременно а последовательно по двум каналам, то и наложения прерываний быть не может. Проверял, задержка фронтов порядка 2 мкс. Эта задержка всегда одинаковая и она одинакова для нарастающего и спадающего фронтов. ПО сделано для максимально достоверной передачи рабочего сигнала… правда жертвуем точностью определения “качества” сигнала, но в данном приложении это допустимо.

Да! Сегодня откатан примерно литр топлива. В пределах “комфортного” для меня радиуса управления моделью сегодня непреднамеренных сбоев аппаратуры не было. Для проверки устройства несколько раз отключал передатчик (как во время движения, так и при остановке модели). Все работает как задумано… Дополнительно проверял на невыдвинутой антенне передатчика. Тут файлсеф срабатывал уже где-то в радиусе 30 метров… опять же - корректно.

В общем, теперь хоть без опаски катаю модельку… за 0.2 секунды далеко не убежит )))

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

Если, вдруг, кому взбредет в голову повторить… вот схема “минимум”:

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

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

  • 1360
Comments
skydiver

Мда…ЛУТом сделать такого размера платка с нуля - 30мин времени. нелюблю сопли в электронике;)

DGI

Был уверен, что кто-нибудь обязательно вспомнит лут… просто так, что б пофлудить… ну можно и пофлудить, конечно…

Не стоит преувеличивать! Хоть схемка и простецкая, но лутом:

  • надо потратить значительно больше времени на компановку и разводку (особенно, если речь идет об “одностороннем” лут-е). За 10 минут нормальной разводки не получится;
  • габариты будут больше если речь идет об "одностороннем лут-е - значительно больше!), а на компактную разводку придется потратить довольно много времени;
  • Сопли… они не особо симпатично смотрятся, согласен… но будучи залитыми эпоксидкой работают не хуже лут-а.

Да и паяльник у меня всегда на столе, макетка в столе… а для лута надо утюг, железо разводить, травить, промывать, присядать… особенно это некстати, когда сынишка (4 месяца от роду) спит…

Итого: Лут-ом, конечно, красивее, но, скорее всего, менее компактно. Время изготовления одного образца (при такой сложности схемы) будет отличаться не сильно… да и неизвестно, в чью пользу… лут с подготовкой разводкой сборкой замйет часа 3-4 (если забивать патерны компонентов, копаясь в мануалах и тд…), но, конечно, если речь идет о нескольких образцах - конечно, лут!

skydiver

Ну флудить так флудить!)))

подготовкой разводкой сборкой замйет часа 3-4 (если забивать патерны компонентов, копаясь в мануалах и тд…)

ну я 30мин написал то из хотя из опыта. Платки такого формата частенько приходится частенько делать, в спринт-лайоте с готовыми библиотеками рисовать 10мин, из даташитов обычно только на мегу посмотреть надо, ещё 10мин на печать и приваривание утюгом, ещё 5мин в горячем хлорном железе травить. А зато какое удовольствие от пайки на нормальной плате!)

имхо конечно. просто макетки вообще не переношу. пробовал не раз-как то не пошло.