Ардуино горные лыжи хронометраж

Хронометраж для горных лыж на Ардуино. Испытания на снегу

11.02.2020. Зима в Москве идет на рекорд по теплу за всю 140-летнюю историю наблюдений. Только сегодня нам удалось провести первую в этом сезоне тренировку, ставили слалом. Ожидал некоторых неприятностей от омеги, но все прошло довольно гладко. Сбои были рабочие, два раза переставал работать фотофиниш, потому что цепляли горнолыжной палкой отражатель.

Так выглядит старт. Калитка, и на стойке закреплен (на магнитиках) модуль «Старт» (сверху) и модуль «Контроль» (обычные часы и температура воздуха).

Александр Мистрюков горные лыжи Ардуино хронометраж стартВладимир Пасконов горные лыжи Ардуино хронометраж старт Ogasaka Triun SL

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

Фотофиниш Ардуино хронометраж горные лыжи

 

Omron E3JK RR-13-C

Честно говоря, хотелось бы чуть больше 🙂  (на следующих тренировках разносил на 5 метров, и это воспринималось как достаточно). К следующему сезону сделаю апгрейд фотофиниша, на «Али» появились новые устройства на 7 метров дальности (получил 25 марта 2020 два модуля одинаковой марки, один работает до 6.8 метра, второй до 7.8. Добавил еще пьезопищалку, чтобы удобнее было при установке ловить луч, отраженный от катафота).

Табло расположил около подъемника.

Ардуино хронометраж горные лыжи табло
Внизу прозрачный отсек с блокнотом и карандашами для проведения гонки-тренировки, когда желающие могут записать свои результаты для последующей обработки

Аккумуляторы сбоев не давали, время тренировки было два с половиной часа. Правда, было не холодно, минус полтора по Цельсию. Радиоканал работал надежно (расстояние между модулями примерно 250 метров).

Всего за сезон 2020 (точнее с 11 февраля по 1-е марта) удалось провести 5 тренировок, на трех из них ставили «омегу», которая отработала замечательно 🙂

Индивидуальный секундомер работал хорошо, сигналы со Старта и Финиша не перекрывались, а срабатывание было надежным.


Ардуино горные лыжи хронометраж
Добавлено позже

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

Иногда происходила ситуация, когда участник с индивидуальным секундомером стартовал, а следующий стартовал пока предыдущий еще не выехал из зоны действия передатчика (это 60-80 метров). Тогда секундомер обновлял время старта, взяв его от следующего участника. То же самое с Финишем, сигнал может быть взят от предыдущего участника, финиширующего в 60 метрах впереди едущего.  Аппаратно понизил радиус действия приемника в секундомере (отключил антенну, дальность снизилась до 43 метров на асфальте). Но все равно, на короткой московской трассе лучше чуть выждать на старте, а в идеале трасса должна быть свободной.

В целом канал связи в стандарте радиопульта на 433 МГц, применяемый в индивидуальном секундомере, вряд ли можно считать надежным. Иногда не срабатывал из-за слабой помехозащищенности. Как и в автомобиле, иногда брелок не срабатывает с первого раза. 

Ардуино горные лыжи хронометраж

Для дальнейшей проработки сделал вариант индивидуального секундомера с показом, сколько пакетов доходит от Старта и Финиша, а также с пищалкой в момент приема пакетов.




Добавлено в декабре 2020

Первые несколько тренировок сезона 2020-21 прошли успешно. Потом отказал модуль «Финиш». Точнее, вышел из строя микроконтроллер ATMega328P на «промышленной» Arduino Nano от RobotDyn.

Слева Ардуино Нано от RobotDyn, справа «классическая» Ардуино Нано

Контроллер вышел из строя капитально, сгорел, перепрошить bootloader для восстановления работоспособности не получилось. Заменил плату, поскольку на разъеме, дело пяти минут. Решил, что просто попалась некачественная. Через пару тренировок аналогичная поломка случилась на блоке «Старт». А потом снова на блоке «Финиш». Выход из строя происходил не сразу, а через час-полтора. Блок зависал, а после дергания вкл-выкл не включался.

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

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

Под подозрение попало питание радиомодуля в режиме «передача». Когда возился с радиомодулем, отметил, что он требует довольно большой ток (какой именно — не знаю как определить в домашних условиях). Решил, что видимо питание 3.3 В на плате Arduino Nano от RobotDyn не справляется и как-то приводит к выводу из строя. Поэтому поставил отдельную плату питания 5->3.3 В с выводом 3.3 В на соответствующую ножку платы радиомодуля. Плата такая:

На плате «понижайки» нужно отключить переменный резистор, перерезав дорожку, как обозначено на рисунке справа. А там, где написано 3.3V нужно повесить перемычку из капли припоя («олова»). Ножку (дырку) EN задействовать не нужно.

Таким образом, общее питание блоков с радиомодулем в режиме передача («Старт» и «Финиш») стало организовано так: от аккумулятора мощная «4-х амперная» повышайка до бортового питания 5 Вольт и от этого питания понижайка 5->3.3 В для питания радиомодуля.

Кроме этого при помощи переменного резистора мощной повышайки выставил бортовое напряжение ровно 5 вольт. До этого было 4.75 вольт, потому что если выставлять больше, то блоки «Старт» и «Финиш» переставали работать, программа на них не запускалась. Тогда списал это на непонятный эффект. Сейчас могу сделать вывод, что бортовое питание просаживалось до 2.7 В, далее срабатывала аппаратная отсечка микроконтроллера (выставляется «фьюзами» на «совсем нет», 1.8 В, 2.7 В, 4.3 В, по умолчанию в Ардуино Нано выставлена на 2.7 В). Аппаратная отсечка устроена так, что при падении напряжения ниже выставленного фьюзами, замыкается Reset микроконтроллера и программа останавливается. В конце поисков вернул бортовое (уже отдельное) напряжение на 4.75 В.

Модуль «Финиш» стал работать нормально (в смысле, не сгорать через час), а Ардуино от RobotDyn на модуле «Старт» сгорела, «как обычно» через час-полтора. Подумал, что может она «подгорела» раньше, поставил обычную Ардуино Нано, которая сгорела точно так же. Предположил, что на этот раз сгорает от перенапряжения, причем из-за этой мощной повышайки, которая после борьбы с просадкой напряжения в импульсе отрабатывает «вверх». Так как Ардуин для качественного исследования уже не оставалось, то сразу изменил все, что пришло в голову на тот момент: заменил повышайку на маломощную (двухамперную), повесил на плату Ардуино между 5V и GND связку из параллельно соединенных конденсаторов (электролит 220 мкФ и керамику 0.1 мкФ) и программно уменьшил количество пакетов «подряд» на передачу с 10-и до 5-и, а так же увеличил паузу при переключении из режима приема в передачу с 1 до 100 мс.

К сожалению, нельзя сказать, что все сразу заработало. Сочетание: просадка напряжения — увеличение напряжения так и выжигало Ардуино на модуле «Старт», в момент, когда после вычисления результата программа переключала радиомодуль в режим «передача» для отправки данных на блок «Табло».

Всего сгорело 7 микроконтроллеров, причем каждый раз вносил в схему питания изменения с уверенностью, что больше не сгорит. Контроллеры горели исключительно в полевых условиях через полтора-два часа работы.

В результате пришел к разделению питания радиомодуля и бортового питания Ардуино (и всего остального). От аккумулятора мощная 4-х амперная повышайка выдает напряжение 7 вольт, которое понижается модулем с картинки выше до 3.3 В и идет на ножку питания радиомодуля. А другая, «обычная» двухамперная повышайка параллельно берет  напряжение с аккумулятора и обеспечивает на выходе бортовое напряжение 5 вольт (точнее на всякий случай все-таки 4.75 В), на которое радиомодуль более не покушается 🙂

Как-то при температуре минус 10 С не хватило на два часа работы аккумулятора на блоке Финиш. Основной потребитель на этом блоке — мощный светодиод фотофиниша (особенно в новом 7-и метровом модуле). Через два часа пропал радиоканал (загорелась красная «лампочка» на блоке Старт, а на блоке «Финиш» загорелась красная «лампочка» на контроле заряда аккумулятора. Добавил еще один аккумулятор на блок Финиш. И переработал программное управление, теперь при «красной лампочке» (зажигается когда напряжение на аккумуляторе падает до 3.0 В) программа переходит в режим «холостого хода» (в частности, отключается радиоканал).

За сезон 2020/21 омега успешно отработала на 41-й гонке-тренировке на 4-х разных горках. Интересно отметить одну горку со сложным рельефом: сверху перегиб, а потом еще поворот вбок по оврагу. Алексей Круглый Сергей Кузнецов Вадим Никитин Елена Сизова горные лыжи Черневская горкаВ общем, прямой видимости между стартом и финишем  не было по двум причинам и, увы, надежной радиосвязи тоже не было. Для этого случая сделал ретранслятор, который устанавливал на перегибе и далеко вбок, так, чтобы с этой точки было видно и старт и финиш. И омега стала работать. Подошли местные спортсмены, спросили как это удалось, они пытались ставить какую-то «фирменную» омегу, и на ней радиосвязи так и не получилось.


Здесь собраны все заметки по теме «Хронометраж для горных лыж на Ардуино».

 





Vadim Nikitin DigInfo.ruВадим Никитин

 

 

 

на начало страницы



Share This:

Хронометраж для горных лыж на Ардуино. Испытания на снегу: 6 комментариев

  1. Добрый день! Классное устройство выходит!
    А можно взять в аренду на недельку? Едем кататься в Грузию. Кстати, приглашаю! Сванетия — удивительно интересный регион с нераскрытым потенциалом для обучения.

    1. Евгений, добрый день!
      К сожалению, в «чужие руки» дать омегу не могу.
      Про Сванетию. Это направление пока не известно как возможность для тренировок. Если удастся помимо вашей намеченной программы походить там слалом и гигант, напишите, пожалуйста, об этом в своем ФБ 🙂

      1. Добрый день.
        планируется ли публикация прошивки для вашей «омеги»?

  2. Добрый день, Вадим.
    Подскажите, приобрести у Вас прошивку для «Омеги» возможно?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *