Откуда есть пошла идея


Один мой старый приятель взялся обсуждать со мной свою новую затею — все мы в свое время увлекались приключенческими гонками, коих проводится множество в наших краях, но вот не давала человеку спокойно жить предсказуемость классической приключенческой гонки — контрольные пункты (КП) расставляются людьми, а значит их можно хоть немного предугадать.
Вот так и появился RandomRace.ru (кратко — RR).

Итак, основная идея RR — запустить гоночные КП на шарах в воздух, на некоторой случайной высоте высоте шары будут лопаться, а КП — падать на парашютах. КП будут отдавать свои GPS координаты на сервер гонки, а участники будут их потом искать. В принципе, правила соревнований составлены так, чтобы КП-зонды возвращались организаторам силами участников. Естественно, кроме тех зондов, которые отличились повышенным рандомом и улетели куда-то в за.. далеко. Такие КП приходится искать организаторам собственными силами. Так получилось, что в результате я занялся техническим решением задачи «последних 100 метров», когда организаторы приехали на место, найти КП очень хочется, а координаты неточные. С этой целью было задумано использовать радиопеленгацию — каждый зонд несет радиопередатчик, а организаторы несут приемник-пеленгатор.


Общие требования к передатчику:

— малый вес и объем
— питание от литий-полимерного элемента (батарея от сотового телефона)
— время автономной работы не менее суток
— низкая цена, т.к. вероятность потери устройства немалая

Общие требования к приемнику:

— умеренный вес и объем
— направленая антенна
— звуковая и визуальная индикация уровня сигнала
— время автономной работы не менее 2х часов
— дальность обнаружения приемника — от 100 метров по лесу.

Позже наша команда стала принимать участие в соревнованиях Global Balloon Space Challenge, а так же в других событиях, и, естественно, маяки применялись во всех случаях.

Частоты и антенны


От стандартных частот «охоты на лис» пришлось отказаться из-за габаритов антенн, и в результате тягостных раздумий было решено использовать частоту 433 МГц. Условно безлицензионная, не требует больших антенн, в продаже есть некоторое количество передатчиков и приемников для этого диапазона. Антенна передатчика должна быть всенаправленной, антенна приемника — наоборот, узконаправленной. В случае передатчика особого выбора не было — антенна-пружинка или печатная. Для приемника выбор шире — рамка, классическая «лисья» рамка+штырь, двойной или тройной квадрат, йога, волновой канал. Очередной вечер на форуме сахары и тягостные раздумья привели к выводу, что все-таки двойной квадрат. Это некоторый компромисс между внятным габаритом, простотой и качеством приема. Размер всей антенны порядка 18*18*8 см. Передний квадрат — разомкнутый вибратор, задний, чуть побольше, замкнутый рефлектор. Плата приемника была смонтирована в разрыве вибратора. Геометрию таких антенн желательно выдерживать максимально точно. Материал для изготовления антенны — тормозная трубка для «жигулей» и нескольких кусков оргстекла, добытых в кладовке.


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

Учимся их готовить


Для всей электроники в проекте были использованы микроконтроллеры из серии STM8 — не самые популярные, но они мне нравятся. Низкая цена, что в данном проекте одно из основных условий, богатая периферия, возможность запитать мк напрямую от Li-Po батареи, общая неприхотливость и хорошие демо платы — вот что меня привлекает в этих чипах. Стоит также отметить простоту плат, т.к. шьется мк по 1 проводу (иногда 2 — еще нужен reset). По этому же интерфейсу работает аппаратный отладчик.
Чтобы прошить микроконтроллер STM8, нужен совместимый программатор. Программатор можно купить отдельно, но проще и дешевле взять одну из плат серии STM8-что_нибудь-DISCOVERY. Для использования встроенного в плату программатора необходимо отпаять 2 перемычки и завести проводками пины с платы на целевое устройство. Лично я применяю программатор, штатно отломанный от STM8S-DISCOVERY, а для массовой перепрошивки — специальный адаптер с двумя крокодилами и двумя щупами от тестера. К сожалению, gcc не портирован для ядра STM8, приходится пользоваться бесплатными версиями платных компиляторов. В моем случае это raisonance, среда разработки — stvd.

Первая версия электроники


Передатчик

Для первой версии устройства были куплены модули фирмы Telecontrolli. Для передатчиков — RT4-433 (позже RT14-433). Поначалу это казалось хорошим вариантом. Для управления модулями в передатчике использовался один из самых дешевых MCU — STM8S003F3, в удобном для пайки корпусе SO-16. Схема банальная — собственно MCU, обязательный конденсатор, фильтрующий конденсатор в цепи питания, радиомодуль, светодиод и резистор к нему. Примерно раз в секунду передатчик издает примерно полусекундный ам-модулированный импульс с частотой 200Гц и моргает светодиодом. Эта вариация маяка пережила несколько испытаний и инкарнаций.
Применялись самопальные лутованные платы,


Китайские ПП с seeedstudio;


Антеннки — пружинки и печатные.

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

Приемник


Для приемника-пеленгатора применялись модули RRQ14-433 от той же Telecontrolli. У модуля два выхода — принятые данные и аналоговый уровень АРУ, он же RSSI. На микроконтроллер STM8S903C заведены оба, но выход данных был на всякий случай, сигнал на нем игнорировался прошивкой. RSSI же опрашивался непрерывно при помощи встроенного АЦП контроллера. Индикация уровня сигнала должна быть двоякой — с одной стороны визуально, причем умеренно крупными цифрами, видимыми и днем, и ночью. С другой стороны, надо прицепить звук — чтобы не надо было непрерывно глядеть на индикатор. Ну и голливудские традиции такие — должно пищать. Контроллер снова был из семейства STM8S, но другой — STM8S903, снабженный встроенным источником опорного напряжения, который нужен для измерения RSSI. На роль индикатора был назначен двухразрядный 7мисегмениный светодиодный индикатор. Классические ардуиноподобные схемы с горой резисторов, динамической индикацией и прочим мне городить совсем не хотелось, поэтому в дело пошел интегральный драйвер светодиодов STP16CP05. Это 16тиканальный сдвиговый регистр со стабилизацией тока на каждом выходе, причем величина тока задается одним резистором сразу для всех выходов. 16 каналов — как раз на 2 цифры по 7 сегментов + десятичные точки. Сам индикатор — просто индикатор внятного размера с общим анодом. Звук я делал в последний момент из попавшихся под руку плейерных наушников. Наушники были подключены через резистор (чтобы не мучить МК большими токами), к прямому и инверсному выходам таймера МК. Поскольку радиомодуль требует 5В, пришлось поднять напряжение питания (2х ячеечный модельный LiPo на 800mAh) и поставить LDO на 5В (на схеме его нету).

Прошивка контроллера непрерывно меряет уровень RSSI, пытается найти там пики в момент приема радиосигнала, пересчитать их в неких «попугаев» и вывести на индикатор. Эти же попугаи конвертируются в длительность периодических «бипов». При 0 попугаев пеленгатор молчит, при 99 — непрерывно пищит. Прошивка передатчика переделывалась 100500 раз, в основном по поводу внятного пересчета RSSI. Код оттуда я никому не покажу, нельзя так людей пугать.

Первый блин.ком



Первые испытания и соревнования с применением полученной системы «найди меня» прошли в целом успешно, пеленгатор пару раз позволил найти упавший зонд в лесу. Антенна показала приемлимую направленность, зонды, как и предполагалось, можно услышать по рации. Дистанция обнаружения в лесу тоже в рамках разумного. Из неприятных открытий было то, что параметры модулей передатчика довольно сильно «гуляют» от экземпляра к экземпляру — как частота, так и мощность. Разные модули пищали на каналах 32-42, при ожидаемом 34. Уровень RSSI на приемнике тоже вел себя несколько странно, но некоторое шаманство в алгоритме приемника позволило видеть на индикаторе некоторую величину, похожую на уровень сигнала передатчика в неких попугаях. В преддверии изготовления очередной партии внезапно выяснилось, что ключевые для всего проекта модули передатчиков сильно подорожали и вообще практически исчезли из продажи. В тоске я уныло рылся в сокровищах алиэкспресса, без особой надежды найти замену.

И тут.



И тут следует продолжение.

Ссылки:
Продолжение: geektimes.ru/post/270170
Примерно тоже самое на английском: www.randomrace.ru/2015/gsbc/preparation/transmitter/eng
RandomRace: randomrace.ru (ближайшие соревнования: www.randomrace.ru/2016/spring)
Исходники всех прошивок: sourceforge.net/projects/randomracebeacon
GBSC: www.balloonchallenge.org/teams/15

Комментарии (17)


  1. DrZlodberg
    13.05.2016 12:18

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


    1. Elmot
      13.05.2016 12:25

      Обдумали и отставили. Цена и вес.


      1. DrZlodberg
        13.05.2016 12:32

        Цена там конская, это да. А вот вес и габариты как раз копеечные. По сути там весят только батарейка.
        Если не ошибаюсь там просто 2 направленных антенны под некоторым углом и на индикатор выдаётся разность сигнала между ними. Есть одноантенные, но ими искать чуть дольше.


        1. Elmot
          13.05.2016 12:44
          +1

          Сейчас погуглил, вес около 200 гр. При общей подъемной силе шара 350-400 грс — это очень много. Но главная проблема — конская цена, конечно. На два десятка зондов это неприемлимые затраты.


          1. DrZlodberg
            13.05.2016 14:03
            +1

            Так на шары не надо. На шары маленький передатчик. Основной вес там — аккумулятор или батареи, которого хватает на пол-года работы, а тут можно маленькую батарейку чтобы протянула с запасом всё мероприятие. Биперы только в качестве поисковых. Частота там, вроде, фиксирована. Да и, что-то мне подсказывает, воспроизвести их схему будет не сложно. Там, вероятно, изрядная часть цены — это сертификат какой-нибудь.


          1. Bulawka
            13.05.2016 17:39
            +1

            200 г — это наверно с корпусом (таскал сабж на брюхе в теч. нескольких недель в лыжном походе по горам, не особо напрягал). Плата с акком вряд ли больше 100 получилась (бы).
            Ещё как вариант был лавинный датчик для собак (который, поскольку собаки считаются «второстепенными» существами, работает на 456 кГц против 457 кГц «человеческих» датчиков), но тоже готовое — дорого и, скажем так, избыточно. ))


  1. kgbplus
    13.05.2016 13:53
    +1

    Теперь некоторые участники гонки будут девайсом пользоваться — неравные условия!


    1. Elmot
      13.05.2016 14:34

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


  1. SGordon123
    13.05.2016 14:34

    Вот отличнейший маячок на шарик — forum.rcdesign.ru/f8/thread350832.html… И по цене приемлимо, спасибо огромное Владимиру Никитину!

    А про антенну — с другими типами не сравнивали?


    1. Elmot
      13.05.2016 14:34

      Нет


    1. Elmot
      16.05.2016 14:16

      Только что я опубликовал продолжение — посмотрите там, и, я думаю, вам понравится вторая инкарнация наших маяков


      1. SGordon123
        16.05.2016 14:26

        Да, тоже неплохое развитие проекта…


  1. mrsimba
    14.05.2016 08:44
    +2

    а разве запущенные шары, не будут лететь по ветру? Получается не совсем random, то есть, шары все полетели в одну сторону, и лопнули каждый примерно в одинаковое время+ ветер отнес кп на парашюте снова по ветру. Это конечно не точно все в одно время/сторону, но общий тренд можно проследить.


    1. Bulawka
      15.05.2016 10:46

      Даже если шары запустить одновременно, совсем рядом они не упадут, и вот почему: траектория полёта напрямую зависит от того КАК ДОЛГО на него действовал ветер, а это, в свою очередь, зависит от вертикальной скорости (а шары надуваются от балды, на глаз, соотв. скорости весьма разные) и от высоты лопания (это тоже зависит от того как надул, чем сильнее, тем раньше лопнет, + шары технически неодинаковые изготовляются, например цветные менее крепкие чем белые). Так что получить разницу в 10 км между одновременно запущенными из одного места шарами — вполне реально. Но тем не менее, из соображений антикучности, мы несколько шаров запускаем на старте (для зрелищности), потом ещё парочку оттуда же с интервалами, а потом едем по дороге и раз в несколько минут запускаем, то есть получается отличие и по времени, и по точке запуска.

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


    1. Rumlin
      16.05.2016 08:55

      Полуофф по поводу «общий тренд». Это из области идеальных условий и абстракций.
      Есть наглядный пример по теме. Существует сервис по предсказанию траектории и высоты полета шаров. Иногда смотрю небольшой блог человека, запускающего шары через Тихий океан, у него можно увидеть насколько ожидания отличаются от реальности. http://picospace.net/?p=1135


  1. SerMelipharo
    16.05.2016 13:41

    Первая мысль после прочтения заголовка — нафига пеленговать чайники?


    1. Elmot
      16.05.2016 14:14
      +1

      Читайте внимательнее — если ваш чайник находится в зоне неуверенного GSM покрытия или вне зоны действия GPS, вы можете легко запеленговать его, используя наши маяки и пеленгаторы.