Хронометраж для любительских автогонок, гибкий и беспроводной

Здравствуйте.
С некоторого времени я увлекся любительским автоспортом, — нет, не ночной стрит-рейсинг, а вполне легальные соревнования, проводимые в дневное время и согласованные с соответствующими структурами. Как многие догадываются, цель таких соревнований — проехать дистанцию быстрее соперника. Для чего надо измерить время прохождения дистанции.

Самый простой способ — раздать судьям секундомеры и научить их вовремя нажимать кнопку Старт/стоп. Очевидны недостатки такого способа — невыносимая низкая точность и подозрения участников на ангажированность судей. Другой момент — при проведении любительского ралли 3й категории старт и финиш часто разнесены между собой, и замер времени осуществляется по «синхронизированным» судейским часам. На практике — это китайские будильники по 30 р, которые убегают друг от друга на несколько секунд за 10 минут.

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

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

Пример 2. Кольцевые гонки на время, так называемый Time Attack. Заезды по кольцу, одновременно на дистанции 2 участника. Результат заезда – это время прохождения круга участником, равное интервалу между последовательными прохождениями створа.
Тоже все очевидно. Минусы, виденной мной реализации:
— необходимость каждого участника проходить только «свой» створ, который указан ему при старте, иначе система неправильно считает время прохождения круга;
— в связи с предыдущим пунктом – нахождение части конструкции посередине полосы, что чревато последствиями – нередко наблюдались наезды на центральную стойку с выводом из строя системы;
— неустойчивость системы к ложным срабатываниям, если через створ прошел посторонний предмет, как то – сбитый конус, часть отвалившегося бампера и т.п. Такое срабатывание приводило к прекращению заезда, и повторному старту. А участник, ехал уже на «последние деньги», со стучащим мотором и стремился победить. Обидно, да.

Пример 3. Ралли-спринт, старт и финиш разнесены на приличное расстояние – порядка сотни-двух сотен метров, участники стартуют с интервалом 2-3 минуты, на дистанции может находиться до 7-10 машин одновременно, в зависимости от протяженности. Время прохождения дистанции замеряется по действиям двух судей – судья на старте дает стартовую отмашку в определенное время по часам, судья на финише – записывает время финиша по своим часам, по разнице показаний время идет в зачет.
Минусы такого способа хронометража – несинхронность часов на старте и на финише (как я у же писал – часто используются китайские будильники из ларька в переходе), и влияние человеческого фактора (судья на старте может выпустить машину раньше или позже, как и судья на финише может зафиксировать момент прохождения недостаточно точно).

На очередном мероприятии, наслушавшись жалоб участников и организаторов, мной было предложено собрать систему под «свои» требования, для использования на любительских автоспортивных соревнованиях.
Были сформированы требования к этой системе:
— Дешево. По словам организаторов, цена аренды полупрофессиональной системы доходит до 15 тыс. р. за день соревнований – явно не для энтузиастов такой вариант;
— Возможность адаптации к различным видам мероприятий – дрэг, кольцо, ралли-спринт и т.п.;
— Легкость в развертывании и транспортировке – минимум частей, проводов и прочих принадлежностей;
— Максимальная автоматизация процесса соревнований – подсчет времени, расстановка результатов и прочее.

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

Модульность системы заключается в создании независимых ИК-створов, которые можно размещать на дистанции в практически произвольной конфигурации, на старт, на финиш, на промежуточный финиш и т.п.
Каждый створ способен фиксировать время пересечения луча и передавать момент фиксации на центральный пульт (пульт реализован на ноутбуке). Момент фиксации представляет собой полную метку времени, включая год, месяц, число, время с точностью до 1 мс. Таким образом, имея в распоряжении информацию о моментах пересечения створа, мы можем алгоритмически реализовать практически любую схему заезда.
Единственное требование в таком варианте исполнения – это точная синхронизация створов между собой. Такая синхронизация осуществляется с помощью GPS приемника – они достаточно дешевы на текущий момент и просты в обращении. Точность синхронизации без применения специальных мер – до 1мкс.
На фото – опытная плата для створа, способного обрабатывать до 6 ИК-лучей одновременно, плюс управление стартовым светофором. Зачем 6 лучей? Объясню чуть позже.

image
image

В качестве детекторов ИК-излучения использованы приемники TSOP4038, которые позволяют принимать «непрерывный» модулированный луч, в отличие от приемников других серий, которые при подаче непрерывного луча просто «затыкаются» в результате срабатывания встроенной АРУ и перестают реагировать на какие либо действия с лучом. Для данного приемника необходима частота модуляции ИК-луча в 38 кГц, но опыт показал, что значение это достаточно условно, и частота модуляции от 32 до 45 кГц вполне подходит под задачи.

Излучающее устройство представляет собой светодиод TSAL6100, запитанный от генератора модулирующей частоты. И помещенный примерно в фокусе собирающей линзы.
Про излучатель остановлюсь подробнее. Как я писал ранее, плата на фото способна обрабатывать до 6 лучей одновременно. Это используется для выставления автомобиля на линию старта в заездах со светофором. Так называемые Pre-Stage, Stage и Start. Чтобы точно выставить автомобиль на линию старта, за 10-15 см от стартового луча расположен луч Stage. И при пересечении этого луча загорается индикатор Stage на светофоре, информирующий участника о нахождении на линии старта и готовности к заезду.

На первый взгляд ничего сложного в этом нет. Но как показала практика – нельзя расположить два светодиода просто на расстоянии 10-15 см и не засветить при этом «соседний» датчик. То есть задача – независимое распознавание двух лучей, идущих параллельно на расстоянии 10-15 см. Пути решения: «механический» — сфокусировать луч так, чтобы он засвечивал только свой датчик, «алгоритмический» — придумать что то еще.

Фокусировка луча с помощью линзы дает отличный результат, размер пятна не превышает 3-4 см на расстоянии 8 м, но есть одно «но» — попасть таким лучом в приемник – та еще задача, особенно когда луч не виден, а на улице примерно -25°С. И к тому же, такое прицеливание требует применения механизмов, реализующих вращение излучателя в двух плоскостях, что усложняет собственно конструкцию.

Второй варинат – сфокусировать луч в одной плоскости, для чего понадобилась бы цилиндрическая линза, но таковой линзы я не нашел и пришлось этот вариант отбросить.

Третий вариант – разделить лучи иным способом. А именно – по времени. Так как у нас имеется на плате уже источник сигналов точного времени (GPS), то включая каждый луч только в «свой» момент времени, мы можем независимо оценивать наличие или отсутствие сигнала от каждого излучателя. Для этого в схему управления излучателями так же был установлен модуль GPS приемника, который обеспечивал синхронизацию сигналов между собой.

Такое решение позволило «расширить» луч, и наведение излучателя на приемник упростилось на порядок.
В качестве фокусирующей системы была использована половинка самого дешевого оптического прицела (цена прицела в районе 150-200р), при этом вторая половинка используется соотвественно для второго излучателя.

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

Вот как это примерно выглядит. Посередине — блок с приемниками и беспроводным модулем, по краям – излучатели.
image

Передача данных

В качестве беспроводной сети передачи данных решено было использовать нечто похожее на Zig-Bee, а именно – модули Xbee-Pro (собственно это ZigBee и есть, только с некоторыми вариациями). Такие модули позволяют развернуть сеть с минимальными затратами на программирование и конфигурацию – фактически они делают прозрачным канал связи от последовательного интерфейса передатчика до приемника, и обратно соответственно. Плюсом вариант исполнения Pro имеет увеличенную мощность передатчика, и, соответственно, дальность действия. На испытаниях удалось добиться устойчивой работы на 500м, с использованием стандартных антенн типа «штырь» производства D-Link для Wi-Fi роутеров.
Для передачи данных в компьютер был собран адаптер Xbee-Usb на модуле Xbee-Pro и микросхеме FTDI232.

Как это работает

В приемном блоке реализован непрерывный таймер, синхронизированный с помощью GPS – по сигналу приемника 1PPS перезапускается аппаратный таймер микроконтроллера, который обеспечивает отсчет долей секунды.
Сигналы от ИК-приемников заведены на внешние прерывания микроконтроллера. При прерывании луча происходит захват текущего значения времени и помещение этой «метки» в очередь на передачу на пульт.

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

На этом работа аппаратной части выполнена. Ее задача – засечь момент пересечения луча и передать эту метку на пульт.

Далее в зависимости от вида соревнований и конфигурации заезда в дело вступает программное обеспечение.
image

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

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

Для обеспечения автоматизации расчетов результатов, каждой метке времени назначается номер участника, прошедшего через створ. Такой вариант позволяет осуществлять хронометраж независимо от количества машин на треке одновременно и их взаимного расположения.
Единственный вариант когда система не сработает – это частичное перекрытие корпусов при прохождении через один створ.
После присвоения метке номера происходит пересчет результатов и обновление итоговой таблицы, которая может быть выведена на отдельный большой монитор для зрителей.
Например так. Эта таблица обновляется сразу после прохождения участником финишного створа, реализуя, таким образом, «онлайн-трансляцию» результатов для зрителей :)

image

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

Разные модификации (в процессе эволюции) данной системы использовались в течение года на нескольких мероприятиях, как то — ледовые гонки с параллельным стартом, грунтовый спринт с интервальным стартом, кольцевые гонки «ТаймАттак». Система показала себя с хорошей стороны — компактность конструкции (комплект на один створ помещается в пакет из супермаркета) и простота в эксплуатации.

На прошедшем 27.07.2013 2м этапе «ТаймАттак» в Омске, был опробован вариант с выводом результатов на большой монитор (вернее телевизор :) ) в режиме реального времени. Зрители и участники соревнований остались довольны ).

Компоненты, из которых была собрана система:
— микрононтроллеры: ATMega8 (излучатели), ATMega128 (приемный блок)
— GPS модули: Quectel L10
— беспроводные модули: Xbee Pro 2
— приемники ИК: TSOP4038
— корпуса из ABS пластика
— подставки из металлолома

Итоги:
— точность измерения времени прохождения дистанции – не хуже 1мс (в программе округляется до 0,01с для удобства восприятия)
— время развертывания – 5-10 минут
— время работы от комплекта аккумуляторов – пока не определено, на сутки хватает точно, аккумуляторы – б/у 7А/ч от офисного ИБП.
— бюджет — примерно 5-6 тыс. р. если покупать детали самостоятельно, я использовал залежи хлама на рабочем месте 

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

Подробнее
Реклама
Комментарии 35
  • 0
    Нужно как то автоматизировать идентификацию участника, прошедшего через створ.

    Вы наверно уже думали про rfid метки?
    • 0
      Тоже хотел о них написать, но Вы меня опередили. Кстати rfid метки могут помочь решить гораздо больше проблем.
      • +1
        Это будут RFID средней дальности (20 см — 5 м), а значит скорее всего активные, с ними немного сложней обстоит чем с пассивными RFID/ Не слишком ли это усложнит ПО и удорожит конструкцию?
        • +1
          Да, об RFID — это была первая мысль. Но дело в том, что «не напасешься», тем более активных меток. Да и как то закреплять ее надо на авто.

          Есть мысль — наклеивать стартовый номер участника с чем то наподобие штрих кода и считывать его видео камерой :)
          Но не знаю насколько реально сделать такое.
          • 0
            Если только клеить на крышу, да и то, на нормальном ралли треке, через 2 мин и на крыше то из за грязи ничего не различить. Если только на лобовом стекле рисовать краской которая в У.Ф. светится и потом, как то пытаться считать камерой без У.Ф. фильтра.
            • 0
              А вы пробовали накопать информацию, как работает AMB, который для машин? С закреплением их меток нет никаких проблем — двумя стяжками пластиковый корпус надёжно крепится к решётке радиатора или бамперу. Заряжаются через контакты на корпусе в чемоданчике, в котором же и хранятся. Быстро крепить, надёжно работает, но стоит дорого. Из минусов, ну кроме цены — надо петлю в асфальт укладывать.
              • 0
                Там транспондерная система, дорого и немобильно — не для любительских мероприятий.
                • 0
                  Да, я знаю, что транспондерная. Возможно, они намного менее удобны для драга, но для кольца, если есть возможность положить петлю в асфальт — это отличный вариант. Сам катался с такими транспондерами несколько раз — никаких проблем с навешиванием-снятием.
                  • 0
                    С точки зрения удобства — соглашусь, но только когда есть «стационарный» трек. У нас же приходится проводить мероприятия там, где разрешат, например — на территории недостроенного аэропорта, там бетон, не особо закопаешь петлю. А следующее мероприятие, например — в полях на грунте, вот и приходится возить с собой что есть :)
                    Я пробовал вариант с «транспондерами» — излучающая петля и приемный контур в коробочке с передатчиком. Как то оно работало, но обилие дополнительных «коробочек» и батареек к ним — отталкивает от такого варианта.
                    В текущем варианте пока сделал полуавтоматическое распознавание — задается последовательность стартовых номеров в программе, и затем уже метки времени назначаются по номерам из такого списка, если порядок следования нарушается, например сход кого либо из участников — тогда последовательность корректируется :)
          • 0
            Здорово! Не хватает фото/видео теста с картинга например, или можно на велосипедах классно погонять, потестировать))
            • 0
              О тестах речь уже не идет, конструкция вполне эксплуатируется.
              Для велосипедистов я делал подобную систему, они используют ее для тренировок )
              • 0
                Как фиксировать проход великом створа? На какой высоте ставить датчик и по какой точке он сработает?
                • +1
                  Мы ставили луч на высоте примерно 7-10 см.
                  Вот так выглядели излучатели, срабатывали по переднему краю колеса. Велосипеды — BMX.

            • 0
              Круто, молодцом! А рассматривались другие варианты, кроме ИК-лучей? Например, катушка индуктивности, реагирующая на металлический автомобиль (используются на некоторых «продвинутых» автодорогах) или что-то наподобие RFID-меток (используется в велоспорте). И еще вопрос: зачем в плате управления излучателями GPS для синхронизации лучей, в чем проблема просто отсчитывать такты процессора, без синхронизации? Или оно по GPS-времени синхронизируется с приемником? Не плохо бы привести схему, где показать что к чему подключается проводом, а что проводами.
              PS: когда-то делал аналогичную систему для скалолазов))
              • +1
                C катушкой — это ее закапывать надо куда то, мобильность системы страдает сразу.
                RFID метка будет считываться на некотором расстоянии, которое будет варьироваться — точность замера снижается.
                В этом плане ИК лучи — это дешево и сердито.

                Тепреь про GPS.

                Излучатели и приемник не соединены между собой ничем, если синхронизировать прием просто по тактам процессора — то такая синхронизация будет плавать, поскольку параметры тактовых генераторов отличаются и приемник начинает сбиваться. В случае применения GPS, выходной сигнал приемника 1PPS используется для точной синхронизации, фронт этого импульса на разнесенных приемниках практически совпадает, разница в пределах 1мкс. И что немаловажно — остается стабильным на протяжении всего времени.

                Но разделение лучей — это частный случай, когда требуется использование близкорасположенных излучателей. Если используются створы с один лучом — то излучатель просто «светит» непрерывным потоком.
              • 0
                А можно пару слов о том, что это за соревнования такие? Я давно подумывал об участии в чем-то подобном, хотябы в качестве зрителя для начала )
                • 0
                  Соревнования разного формата. Если короток — проезд трассы определенной конфигурации за минимальное время. Это может быть грунт (ралли-спринт), длина участка — до 10 км, много разных поворотов, либо асфальт-бетон («ТаймАтак») — заезд по кольцу сложной конфигурации. Участие в основном на гражданских машинах, обязательно — ремни и шлем.
                  Зимой проводятся ледовые гонки — вычищается трасса на замерзшем озере, для зрителей интереснее, чем на асфальте — больше зрелищных и довольно безопасных вылетов ;)
                  • 0
                    Спасибо. Только я имел ввиду где конкретно за анонсами таких соревнований можно следить? Чтобы иной раз можно было бы их посетить хотя бы в качестве зрителя.
                    • 0
                      Чаще всего — на локальных форумах любителей. В разных городах по разному все проводится
                  • 0
                    Вы бы город написали :) Потому что, например, в окрестностях Москвы просто куча подобных мероприятий, начиная от совсем любительских ралли-спринтов на площадках и картинговых трассах (в Лидере регулярно проводят, например), и заканчивая time-attack от MaxPowerCars на специально подготовленных трассах типа Moscow Raceway.
                  • 0
                    У нас хронометраж реализован на оборудовании и ПО TAG Heuer. Датчики HL2-31, принтер хронометража и ПО MSport Pro. Хотелось бы тоже организовать идентификацию участников и организовать on-line трансляцию результатов заездов. Как появится идея по идентификации осветите ее пожалуйста так же.
                    • 0
                      Одна из бредовых идей — просить пилотов установить ПО в свой Андроид смартфон (такие уже почти у всех есть) — типа RaceChrono и при приближении к створу пусть скидывает по Wi-Fi или GPRS свой номер )))
                      • 0
                        Думаю это немного негативно скажется на безопасности ))) учитывая что створ проезжают на скорости за 100 )))
                        • 0
                          Почему? Программа по встроенному GPS определяет точку приближения и передает данные. RaceChrono же так и работает — нужно встать на линию старт/финиш, нажать кнопку, чтобы программа поняла точку от которой отсчитывать и уже при прохождении этой точки формирует результат.
                          • 0
                            Ааа, ну тогда имеет право на жизнь )))
                        • 0
                          У нас сейчас на каждую машину клеится номер участника, и судья, каждый раз когда участник проход створ, вбивает этот номер в прогу.
                          • 0
                            У нас так же. И так же надо вводить номер. Но я модифицировал программу, как писал уже выше — вводится последовательность стартовых номеров и все. Формат соревнований, под который делалась эта модификация ПО, не подразумевает обгонов в «штатном» режиме.
                            • 0
                              Бывает всякое, не выход участника на старт, сход на трассе и т.д. Хотелось бы все-таки идентифицировать участников в створе в любом порядке )
                        • 0
                          Кстати, можете озвучить примерную стоимость комплекта такого оборудования?
                          Хотя, судя по наименованию — ничего позитивного в ее стоимости ожижать не следует )
                          • +1
                            Наш комплект порядка 1200$. Это только железо без ПО. Мы пользуемся бесплатной версией программы.
                        • +1
                          Я с другом делал телеметрию, но у нас были другие приоритеты: ориентированность на драг-рейсинг или на единичные заезды.
                          Что в итоге получилось:
                          — система абсолютно автономна, не нужны никакие ноутбуки (вы в своей статье про это в итогах тактично «забыли» упомянуть)
                          — система компактна: всего два блока(старт и финиш), нет никаких датчиков через дорогу(используются датчики диффузионного типа)
                          — вывод результатов происходит в реальном времени на экран средних размеров
                          Ну и все остальное как у вас: работает долго, без проводов на расстоянии до 800м, точность до 0.001с
                          Бюджет тоже небольшой, но продавали мы ее гораздо дороже(надо же как-то окупить временные затраты на программирование и сборку).
                          Видео с первым прототипом вот(корпус был выполнен весьма грубо :))
                          http://www.youtube.com/watch?v=SJhjnycR8RE
                          • 0
                            Про ноутбук — не забыл, я сразу делал с расчетом, что передача будет в ПК вестись. Все равно нужно оформлять таблицы, распечатывать и т.п. :)

                            А что за датчики диффузного типа?
                            Как вы синхронизируете стартовый и финишный створы?
                            • 0
                              Синхронизация похожа на ntp протокол, только выполняется поверх serial соединения. Внутренний таймер работает по тактовой частоте, который убегает не больше чем на 0.001с за пару часов, так что время от времени проводится синхронизация. Вообще чтобы так точно работала тактовая частота — пришлось подбирать кварцевые резонаторы и конденсаторы. Про диффузионные оптические датчики много информации в интернете, в двух словах: датчик посылает сигнал и смотрит на отражение сигнала.
                              • 0
                                Была мысль тоже сделать датчики на отражение, но смутила разнородость «отражающих объектов», не стал так делать.

                                Вы какие то конкретные датчики использовали? Или свои делали? Как они себя на ярком солнце ведут, особенно если вокруг свежевыпавший снег?

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

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