Измерение ускорения/скорости велосипеда

Тема в разделе "Посоветуйте детальки", создана пользователем Damian, 30 янв 2014.

  1. Damian

    Damian Нуб

    Всем привет!
    Хотелось бы сделать на базе Arduino систему измерения скорости велосипеда, движущегося по пересеченной местности (маунтинбайк и БМХ). Измерение скорости предполагается делать на основе интегрирования данных об ускорении. Поскольку велосипед движется не по идеально горизонтальной поверхности, а вверх-вниз и с боковыми наклонами, то скорее всего необходима корректировка данных с акселерометра с помощью данных с гироскопа. Сразу обозначу, что очевидно более простой вариант получения данных о скорости с магнитного датчика (и т.п.) на вращающемся колесе не подходит.
    Исходя из практики и стоящих задач, возможны два варианта регистрации и хранения полученных сырых данных: либо передавать в on-line на ноутбук по какому-либо каналу связи (радиус действия до 200 метров), или же запись на карту памяти на борту с последующей выгрузкой по кабелю на ноутбук.
    Подскажите, возможно уже есть аналогичные проекты? Или хотя бы какие модули Aurdino подходят для моей задачи? Хотелось бы конечно получить достаточно портативное устройство. Вопрос экономии на железе не стоит, нужно качество и надежность.
     
  2. XCB

    XCB Гик

    обычно велокомпъютеры имеют датчик оборотов колеса (геркон + магнит), и зная диаметр колеса и считая обороты за единицу времени получает скорость и пройденный путь.
    вам стоит начать с повторения этого функционала а потом прикрутите экран, кнопки, часы, акселерометр, cd карту, модуль wifi и тд.
     
  3. swell{d}

    swell{d} Нерд

    а я хочу тоже самое, только для яхты =) как это собрать я представляю. как проанализировать полученные значения - нет. игрался с акселерометром - тупо откалибровать аналоговый сигнал - уже нефиговая такая задача =)
     
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    А почему не подходит датчик на колесе? Если поставить много магнитов + датчик, то можно получить достаточно высокое разрешение, останется только обработать данные. Проблема будет только в случаях проскальзывания колеса и движения юзом.
     
  5. swell{d}

    swell{d} Нерд

    рассматриваю =) я всё рассматриваю:
    - gps
    - лаг + эхолот
    - трёхосный магнитный компас
    - трёхосный акселерометр
    - трёхосный гироскоп
    последние три пункта вместе на одной плате вроде можно купить... (тут могла бы быть ссылка)
    не знаю, можно тут выкладывать ссылки на вражеские сайты? =)

    я бы ещё добавил вертушку для определения скорости и направления вымпельного ветра, но конкретно для моей лодки это запрещено правилами класса.
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Пока от этого никто не пострадал :)
     
  7. XCB

    XCB Гик

    для яхты основным датчиком мне кажется стоит считать все же gps : )
     
  8. Megakoteyka

    Megakoteyka Оракул Модератор

    Для яхты наверное и GPS вполне подойдет, а вот для велосипеда слишком маленькая точность получится, да и частота опроса 1Гц маловата ИМХО.
    Разве что дифференциальный режим замутить для повышения точности.
    Еще в случае велосипеда проблема будет при езде по лесу - сигнал пропадет.
     
  9. swell{d}

    swell{d} Нерд

    gps показывает полную фигню при скоростях меньше 1 м/с.
    интереснее всего посмотреть курс, а с учётом точности gps курс показывает полную ерунду.
    так что от магнитного компаса никак не уйти.
     
  10. swell{d}

    swell{d} Нерд

  11. Damian

    Damian Нуб

    Ого! Даже не ожидал такого внимания к моему вопросу!
    Относительно измерения скорости при помощи магнитов, светоотражающих катафот и т.п. устройств, размещенных на колесе - еще раз повторяю, что этот вариант не подходит, т.к. нужен более высокий и точный уровень измерений (разве что на каждую спицу надеть по магниту - это шутка), не менее 180 измерений/сек. Зачем это нужно позвольте подробно не объяснять - это специфика биомеханического контроля в спортивной тренировке. У меня есть самодельное устройство с акселерометром и Bluеtooth, с помощью которого я провожу измерения скорости. Но это устройство было изготовлено уже года 3 назад в лучших традициях "на коленке"(я тогда про Ардуино не знал), оно достаточно громоздкое и было предназначено для измерений на не очень длинных прямолинейных горизонтальных участках при старте с места, т.е. практически идеальные условия для таких измерений.
    Поэтому прошу совета по существу: из каких модулей можно собрать устройство, необходимой мне конфигурации?
    Что касается интереса swell{d} к аналогичному устройству на водоплавающей технике, то как показывает опыт работы с гребцами, хороший и достоверный результат дает синхронное использование инерциального модуля с GPS (3 или 5 отсчетов в сек, точно не помню). Это необходимо для периодической коррекции ошибки, которая накапливается при интегрировании ускорения в скорость. Практика показывает, что без таких периодических обнулений (примерно раз в 5 сек), основываясь только на данных акселерометра, можно получить весьма затейливые данные по скорости и еще более искаженные данные по пройденному пути, так приходится вычислять интеграл два раза. Также для лодки нужно учитывать, что подвижна в трёх осях, соответственно микросхема акселерометра "болтается" вместе с ней, небольшой уход от идеальной горизонтальной плоскости (вверх/вниз или то же но с боковым креном или рысканием носа) и получаем искаженные данные и так дальше.
     
  12. swell{d}

    swell{d} Нерд

    Я ничего в этом не понимаю, но хотелось бы разобраться =)
     
  13. Damian

    Damian Нуб

    Основной вопрос - это абсолютные величины самой скорости, а также требуемая точность её измерения. Например, в спортивной гребле существует две основных задачи: измерение т.н. "крейсерской" дистанционной скорости - это довольно обобщенная характеристика (в упрощенной форме, это усреднение скорости на участке 15-35 метров или на 5-7 гребках веслами), а более сложная задача - измерение внутрицикловой скорости при каждом гребке веслами (т.е. нужно зафиксировать микрорывок и последующее замедление лодки в разных фазах гребка веслом) - это существенно более сложно, частота регистрации данных достаточно высока.
    Применяются различные измерительные системы: - просто GPS (наверное самые усредненно-неточные); - комбинированные GPS+инерциальный блок; - на основе давления потока воды в трубке Пито; - на основе т.н. "потокомеров" основанных на допплеровском эффекте отражения ультразвкукового луча либо от поверхности воды, либо закрепленные под днищем; - ну и наконец, импеллеры (как ветряк, только под водой) с магнитными датчиками количества оборотов.
     
  14. Megakoteyka

    Megakoteyka Оракул Модератор

    Интересный вопрос закономерно порождает внимание :)

    Разве в велосипеде при использовании инерциальной системы не будет ошибка копиться точно так же, как в случае лодки? А с учетом более неравномерного движения еще и побольше...
     
  15. Megakoteyka

    Megakoteyka Оракул Модератор

    Наверное, для "боевого" использования стоит делать устройство не на модулях, а в виде отдельной платы - меньше проводов и разъемов -> выше надежность. На модулях можно сделать разве что прототип для отладки.
    Чтобы определиться с модулями, надо начать с определения требуемых характеристик и уже исходя из них смотреть, что есть в продаже. Видимо, основными характеристиками акселерометра/гироскопа будут разрешение и частота опроса.
     
  16. Damian

    Damian Нуб

    Хороший вопрос!
    При использовании инерциальных датчиков в разных условиях, каждый раз решается задача коррекции ошибки. Например на санно-бобслейной трассе вмораживали в лед магнитные метки, на спортивных горно-лыжных трассах и в сноуборде под снег укладывали металлизированную сетку с магнитными метками, как уже упоминал выше, в гребле, опорные точки для обнуления и коррекции - это сигналы спутниковой системы позиционирования. Кстати, обратите внимание, на предстоящей Олимпиаде в Сочи впервые в истории будет применяться в бобслее система измерения скорости (мы ее результаты увидим на экране) - для нее точками привязки будут оптические датчики, вмонтированные в стенки ледяного желоба. Разработал какой то студент и фирма швейцарская Свисстайминг быстренько выкупила проект еще в сыром виде. Что получится пока не знаю.
    Для моей задачи, полагаю буду обнулять дрейф как раз с помощью мангнито-датчика с колеса (длина окружности колеса шоссейного велосипеда около 213 см, при радиусе 34 см, но нужно учитывать величину передачи и соответственно укладку, т.е. сколько метров проедет велосипед за один полный оборот шатуна (т.е. педалей)), а в некоторых случаях, на коротких отрезках, то как и раньше - жестко устанавливая ноль по радиоканалу при обязательно неподвижном велосипеде.
    В любом случае, пока есть желание понять возможности Ардуино.
     
  17. XCB

    XCB Гик

    только хотел написать не отбрасывайте вы геркон с магнитом, сделало колесо оборот, значит проехал велосипед очередные ~ 2 pi r это может помочь корректировать накапливающуюся погрешность акселерометра, занимая всего одну ногу контроллера.
     
  18. Megakoteyka

    Megakoteyka Оракул Модератор

    Метки во льду и сетка под снегом - сильно! Никогда о таком не слышал.
    Насчет датчика и колеса: в случае маунтинбайка вроде как имеет место быть торможение юзом, которое по идее должно сбить все показания?

    Мне кажется, возможностей Ардуино должно хватить, раз их хватает на работу с ультразвуковым дальномером. А скорость звука явно больше скорости любого велосипеда...
     
  19. Damian

    Damian Нуб

    Вариантов измерения скорости и мощности в велоспорте довольно много. Один из основных инструментов это немецкая система SRM, еще есть тензодатчики в педалях Гармин и еще куча других. Их основной недостаток - значительное усреднение данных (около 0,5 сек), т.е. невозможно оценить один конкретный оборот шатуна. Юзы и т.д. это не критично, для этого в т.ч. и нужно обнуляться периодически.
    Насчет ультразвукового дальномера на велосипеде я как то не думал, для лодки подойдет, если не очень высокая волна, иначе тоже будет врать. Направить его луч перед лодкой и ловить отражение. Этот вариант я выше обозначил как допплеровский потокомер (в английском варианте - флуо...метр, как то так). У меня есть американский мегагерцовый спортивный радар Stalker ATS II, может делать около 50 изменений/сек, но честно говоря не очень он меня впечатляет, много возни с фильтрацией и программа к нему сырая, я несколько раз с разработчиками общался.
     
  20. Damian

    Damian Нуб

    Проблема ультразвуковых измерителей и т.д. - их скорострельность, т.е. сколько отсчетов в секунду он может выполнить? Думаю, что не очень много. Тот радар, о котором я сказал выше, считается очень скорострельным, он появился всего то года два назад, остальные делают разовое измерение из 3-5 посылок/приемов и все. Может конечно я отстал в этом вопросе.