Распознавание канальных импульсов микроконтроллером

DjAndy

По какому принципу лучше всего отслеживать наличие/верность канальных импульсов с помощью микроконтроллера ? Есть пара интересных идей.

  1. установка микроконтроллера между выходами FM приёмника и машинками, для получения плюсов PCM приёмника.
  2. при использовании гироскопа(ов), в случае потери сигнала автоматический разворот модели в противоположное движение.
Glider
  1. С какой целью?
  2. А если модель в этот момент летит “на тебя”?
DjAndy

Никакой разницы нет куда летит модель, в любом случае будет сбрасываться газ до холостых, если нормальный сигнал не появится в течение какого-то времени, скажем 2сек., двигатель вообще лучше заглушить. И потом, чаще всего потеря управления происходит именно при удалении модели из зоны действия передатчика. Забыл человек питание передатчика подзарядить к примеру, мощность сигнала падает существенно, отсюда и казусы. Цель то одна, спасти модель, в частности вернуть её в зону уверенного сигнала.

И ещё один вариант, к спасению модели. Если уж ставить микроконтроллер, почему не поставить датчики положения корпуса модели. Отталкиваясь от их показаний модель можно стабилизировать в запрограммированном предварительно состоянии. Конечно, датчики во время исполнения бочки могут невероятное выдавать, но не постоянно же бочку исполняют. Остальные фигуры датчики так уж сильно не будут вертеть. По крайним положениям датчиков при раскачивании можно определить центральные их положения, и отсюда выбирать нужное.

Glider

Нет, уважаемый…
Маскирование полезного сигнала помехой, равновероятно на любом удалении, при том, что мощность передатчика и чувствительность приемника заведомо избыточны в любой RC-аппаратуре.
А вот изобретать “защиту от дурака” на случай взлета с пустым аккумулятором равносильно тому, чтобы ставить дополнительный топливный бак, который будет страховать мотор модели от пьяного заправщика! 😁
Опыты со всевозможными “ориентировщиками” модели в пространстве ставились неоднократно (и не нашли широкой поддержки масс), в т.ч. и с гироскопами и авиагоризонтами - эти две “примочки” еще находят некоторое применение в специальном моделизме, но не в хоббийном, и уж тем более - в СПОРТИВНОМ, где они запрещены всеми правилами.
Не надо путать цели и задачи спортивно-хоббийного моделизма и устройств специального применения. В моделизме весь “цимес” в том, чтобы САМОМУ управлять моделью, а “терц” в том, чтобы уметь “вытащить” ее из любой ситуёвины и вернуть живой и здоровой “к ноге”! 😃 😃 😃
Ну а ежели хочется поупражняться с автопилотом - для этого нужно не модель строить, а просто посидеть за компом и написать красивую прогу-симулятор, которая и будет гонять виртуальный F-16 по экрану монитора без какого-либо участия мастер-пилота… 😮

DjAndy

Glider (19-05-2002 07:49)
> Нет, уважаемый…

Игорь, Вы не в настроении или выпили лишнего ?!

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

Что Вы говорите ? Я не раз видел как модель теряет управление при помехах. Кроме того, из-за них же дальность уверенного управления уменьшается.

> А вот изобретать “защиту от дурака” на случай взлета с пустым
> аккумулятором равносильно тому, чтобы ставить дополнительный
> топливный бак, который будет страховать мотор модели от пьяного
> заправщика! 😁

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

> Опыты со всевозможными “ориентировщиками” модели в пространстве
> ставились неоднократно (и не нашли широкой поддержки масс),
> в т.ч. и с гироскопами и авиагоризонтами - эти две “примочки” еще
> находят некоторое применение в специальном моделизме, но не в
> хоббийном, и уж тем более - в СПОРТИВНОМ, где они запрещены всеми
> правилами.

Во первых, значит так ставились эти опыты. Как говорит мой друг - невыполнимых задач не бывает. И второе - в нормальном полёте “ориентировщик” совершенно не будет влиять на поведение модели, только при потере управления, и считаю вполне разумным ставить такие вещи на любую летающую модель.

> Не надо путать цели и задачи спортивно-хоббийного моделизма и
> устройств специального применения. В моделизме весь “цимес” в том,
> чтобы САМОМУ управлять моделью, а “терц” в том, чтобы уметь “вытащить”
> ее из любой ситуёвины и вернуть живой и здоровой “к ноге”! 😃 😃 😃

Никто ничего не путает, и не собирался даже задаваться целью приблизиться к одним из двух - к хоббистам или спортсменам. Совершенно ни одного слова об этом не было сказано. Речь шла о спасении модели. Не далее как вчера, на соревнованиях два были разбиты две модели, вертолёт и пилотажка. А всё из-за того, что в одной стороне поля откуда-то шли помехи. Отсюда и моя идея, отслеживать верность прохождения канальных импульсов, и следующая мысль была - модель нужно вернуть в нормальное положение и в зону уверенного управления. Со мной что-то не так или надуманного с Вашей стороны многовато ?

> Ну а ежели хочется поупражняться с автопилотом - для этого нужно не
> модель строить, а просто посидеть за компом и написать красивую
> прогу-симулятор, которая и будет гонять виртуальный F-16 по экрану
> монитора без какого-либо участия мастер-пилота… 😮

Спасибо за предложение, мне это не нужно, и речи об этом не было. Ок ?
Даром что ли в PCM аппаратуре были сделаны попытки сделать подобное ?

Надеюсь следующие письма будут по существу, а не с критикой.

Критиковать любой может, те же Ваши статьи не без пробелов, и не без “мыла”. Просто лучше промолчать и не отбивать охоту у человека написать ещё статью или дополнить старую. Уверен что многие новички только благодарить за Ваши статьи могут. Опять таки, для новичков можно и написать, откуда взята та или иная информация, а не говорить что из общеизвестных источников.

Glider

Похоже, мы говорим на разных языках, и не можем (или не хотим?) понять друг-друга… 😦
Поэтому со своей стороны считаю дискуссию исчерпанной и закрытой.

aklion

Прости дядька я тут встряну 😉)

По поводу выпил, ты пацан лишнего помойму, почему пацан, да потому что только пацаны могут себе позволить такое отношение!!!
А по поводу всего другого, ну вот дураки тут все 😉)
А безоварийно летать можно и нужно, меня ребята сёдня вот отругали не коси траву винтом в обратном полёте 😉) но так это же не от дури а от доверия технике, просто делай технику нормальную, надёжную;)) и не пей перед полётами 😉)

Прсти дядька я тут встрял 😉)

evgenyst

Привет

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

Best Regards
Evgeny

DjAndy

Вот и славненько что дискуссия закончилась, она и не нужна была.
Вся соль заключалась в самом первом вопросе, а не в последующих идеях, о них даже вспоминать пока не станем. Мне нужен был совет опытного embedded программиста. Пока пришёл к выводу, что одним простым MCU, даже вроде PIC16F877 или AT90S8535, тут можно и не обойтись. Смысл затеи был в том, что бы устройство контролирующее импульсы, в минимальном случае исполняющее FailSafe режим, подключалось к имеющимся FM приёмникам без внутреннего вмешательства. Т.е. целиком самостоятельное устройство, имеющее к примеру 8 входов и 8 выходов. Трудность в одновременном измерении длительности входных импульсов и формировании исходящих. Со входом оказалось проще простого. Казалось бы, подключил на прямую входы к 8-ми ногам MCU и работай. 😉 Не тут то было. Таймерных входов имеем обычно один или два, в случае 16F877 один вход 16-bit и два 8-bit. 16-bit вполне подойдёт, но он один. Уже по этому поводу можно призадуматься крепко. Решение оказалось простейшим. Импульсы то идут последовательно, и объединив все сигнальные провода через диоды, получаем один последовательный сигнал. Теперь значения каждого следующего импульса можно измерить и работать с этими данными далее. Ок. С этим разобрались. Вопрос определения ошибочных входных импульсов тоже решается. Осталось определиться с формированием исходящих 8-ми сигналов, одновременно при обработке входящих. На этом месте и стопорюсь. Контроллер такого уровня, при работе таймера, не может заниматься другими задачами. Тут уж или выбор другого MCU (какого ?), или использование двух независимых. Выслушаю любые конструктивные предложения по выбору контроллера и решению задачи в целом.

dmk

Glider
Не надо путать цели и задачи спортивно-хоббийного моделизма и устройств специального применения. В моделизме весь “цимес” в том, чтобы САМОМУ управлять моделью, а “терц” в том, чтобы уметь “вытащить” ее из любой ситуёвины и вернуть живой и здоровой “к ноге”!

Поскольку не спортсмен, ничего не скажу о спортивном моделизме, но рамки хоббийного моделизма так ограничивать не стал бы. Потому как для кого “цимес” в том, чтобы летающую табуретку “уметь “вытащить” из любой ситуёвины и вернуть живой и здоровой “к ноге””, для кого то - наслаждаться полетом по прямой супер копии “Геркулеса”, а кто то получает удовольствие от того что его модель (причем неважно - табуретка или “Геркулес”) сама взлетела и сама села с помощью им же разработанного ХОББИЙНОГО устройства. (надеюсь не задел ничьих хоббийных или более того спортивных чувств).
Кстати например почему бы не сказать что укороченная антенна в моделизме неприемлема, т.к. “терц” в том, чтобы управляя моделью одновременно не выколоть глаз соседу. Я преувеличил для наглядности, опять же не хотел никого обидеть и антенной пользуюсь с большим удовольствием.

По вопросу:

DjAndy (20-05-2002 02:51)

Осталось определиться с формированием исходящих 8-ми сигналов, одновременно при обработке входящих. На этом месте и стопорюсь. Контроллер такого уровня, при работе таймера, не может заниматься другими задачами. Тут уж или выбор другого MCU (какого ?), или использование двух независимых.

Вывести несколько разных сигналов можно при помощи 1го таймера(из процедуры обработки прерывания таймера) просто управляя портами как I/O, для каждого организовав внутри программный таймер с требуемой резолюцией. Итак 1 таймер на захват сигнала, один на формирование причем оба с разрядностью даже и в 8 бит. Главное, чтобы прерывания были например сажем микросекундные(для милисекунды минимального пульса PPM будет хорошая резолюция). А вот хватит ли оставшегося времени на обработку зависит от сложности ее алгоритма.
У меня где то были описания подобных устройств, правда на 1 канал и более примитивных но всетаки на процессоре (все нашел в И-нете). Будут вопросы - пиши на e-mail. Не будем мозолить глаза дядьке Глайдеру 😉

dim

с pic контроллерами я не пробовал, а пробовал с 1878ве1 ( примерно так он назывался точно не помню ). Поскольку входные импульсы идут последовательно ( по времени) я использовал входные порты и внутренний таймер. По входам делал прерывания по фронту и срезу сигнала. По фронту сбрасывался и запускался таймер и по чтению из порта определялось какой из каналов выдал импульс, по срезу останавливался таймер и читалось его значение и по нему определялась длительность соответствующего импульса.
Что касается выдачи импульсов - здесь вроде как не должно быть проблем. Дело в том что общая длительность входных импульсов ( зависит от количества каналов) меньше чем период молчания между сериями импульсов. Поэтому сформировать их можно и без использования таймера с помощью программных задержек.
Т.е. общий алгоритм следующий: читаются входные импульсы ( вышеописанным способом ) потом когда они закончатся формируются выходные. Далее процесс повторяется.

vovic

To Dmitry: абсолютно верно!

To DjAndy: мне кажется, Вы не с того конца взялись за проблему. Я этим вопросом интересуюсь много лет, но что такое датчик положения самолета - не понял. Если это не по принципу оптического автопилота, то что это? Поделитесь мыслями!

Serg

Мне кажется создание авто пилотов и подобных
приборов бессмысленое дело(правда очень интересное).
Гораздо важнее сделать очень надежную радио связь
с моделью, а уж если не смог модель спасти так полностью твоя вина.
Надежность можно повысить если поставить на модель
приемопередатчик и чтоб приемник работал не на 35 или 40,72 , а гдени буть повыше , да не на одной частоте а на каналах 40 чтоб если помеха мог переключаться.

Суважением Сергей!

Димыч

Мужики, вы толко не кипятитесь! Проблема серьезная, и дядька Глайдер, прав во многом. Проще научиться хорошо летать, как он сказал “к ноге…”. Подобный девайс, который бы сам “рулил” на простеньком PICе не соберешь… Уж слишком много если в данной проблеме. Но коль уж не терпится погрызть гранит данной проблемы, что ж, честь и хвала смельчаку! Может он и не соорудит ничего хоть отдаленно напоминающего подобный девайс, но наберется знаний это уже точно. А опыт есть сын ошибок в том числе, как классик правилно заметил, трудных. И данное замечание естественно распространяется и на обучение полетному “ремеслу” или хобби. Другое дело всякие там экстремальные девайсы летящие со скоростями эдак за 400 км/час. От таких полетов и чердак задыметь может и подобная техника сослужила неплохую службу. А на счет помех можно сказать одно: если они таковы что модель “кувыркается”, то нечего летать в этом месте и на этой частоте. Такую потерю сигнала уже не скомпенсировать подобными “умными” штуковинами. Так как при таком интеллекте отпадает сам вопрос в использовании передатчика как такового…

Вобщем, всем удачи! И не забывайте рассказывать народу о своих достижениях!

balex

Вообщето микроконтролеры применяют для данных целей, но немного не так как обсуждается, имхо. Я больше склоняюсь к Глайдеру, но не полностью. Посмотрите на реализацию RX19 от Supertef, красиво и здраво. По моему ничего лишнего, и все в точку. Первое, управление синтезатором, второе подпись своего передатчика, и уже потом в случае пропадания сигнала некоторые действия по спасению модели, как то выключить двигатель, поставить по кругу и прочее. Идея сочетает как PCM так и PPM. Лично я сечас так и проектирую свой приемник, правда МК будет AVR.
К Евгению, если можеш, пришли мне свои исходники,
всякие идеи и реализации приветствуются. Я так-же собираюсь писать на С, в том числе и передатчик.

С ув. Александр

evgenyst

Привет

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

я всем ракомендую повторять FC18

нам стоит моторола hc08 которую сейчас можно купить и 2*16 индикатор

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

Схему можно срисовать с передатчика

(надеюсь что у Уважаемого Glidera она уже срисована - я потерял бумажку)

В итоге получается реальный девайс (особенно если переделывать что нибудб типа старого Hitec что бы не заморачиваться с ручками и ВЧ)

Best Regards
Evgeny

/// To Glider у меня есть вкладыш с описанием дополнений
V3.1 и V3.2

Glider
Евгений (22-05-2002 01:49)

…я всем ракомендую повторять FC18… прошивка от v3.2 у меня есть могу послать… Схему можно срисовать с передатчика (надеюсь что у Уважаемого Glidera она уже срисована - я потерял бумажку)…
To Glider у меня есть вкладыш с описанием дополнений
V3.1 и V3.2

Думаю, задача не очень простая для новичка, но вполне выполнимая.
У меня, к сожалению, схемы нет - не было необходимости срисовывать. 😦
Описание релизов V3.1 и V3.2, и тем более - прошивки очень интересуют, буду признателен, если поделитесь.

balex

…я всем ракомендую повторять FC18… прошивка от v3.2 у меня есть могу послать…
--------
Буду весьма признателен за прошивку и описание релизов.

Вот только проблема со схемой, я не имею доступа к FC18 😦 Может кто имеет?

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

С ув. Александр