Как сделать спидометр для велосипеда своими руками

Опубликовано: 08.07.2024

Сразу же надо сказать, что велоспидометры наша промышленность освоила давно. Но они предназначены для велосипедов типа «Турист» и «Спутник» и, к сожалению, не подходят для других двухколесных машин. К тому же узел зацепления кинематической пары шестерня — колесо представляет собой весьма хрупкую конструкцию, при поломке в поездке (например, при падении) ремонт его оказывается затруднительным. А как быть тем, у кого имеется мопед «Рига» или мотовелосипед собственной конструкции с мотором Д-6, Д-8? Ведь при обкатке, как того требует инструкция, нужно двигаться со скоростью не ниже 12 и не выше 30 км/ч. Но как ее определить, разве что по телеграфным столбам и секундомеру?

Эти две причины и побудили меня изготовить свой спидометр. Конструкция довольно проста и на практике доказала свою работоспособность.

В качестве прибора взят спидометр СП-101. Фрикционный ролик диаметром 25 мм использован от магнитофона. Передаточное отношение фрикционной пары — 2,2. Проскальзывание ролика по диску незначительное даже при смачивании водой.

Диск насажен на втулку переднего колеса справа по ходу движения в нагретом на конфорке газовой плиты состоянии (при снятом, естественно, колесе) и зафиксирован (для страховки) винтами М3 с шайбами к спицам. Внутренний диаметр диска меньше фактического размера посадочного диаметра втулки на 0,05—0,1 мм, при остывании он надежно обжал втулку.

Привод собран в следующей последовательности. Вначале были установлены кронштейны на руле (чертеж не приводится) и на оси переднего колеса. Пазы в кронштейнах выполнены открытыми, почему — об этом ниже. Затем по месту измерена длина тросика диаметром 1,2 мм и боуденовской оболочки. Этот размер несколько увеличен, иначе тросик и оболочка не были бы натянутыми. Чтобы тросик самопроизвольно не расплелся после обрубки, а концы получились аккуратными, они пропаяны оловянно-свинцовым составом.

Универсальный спидометр: 1 — спидометр СП-101, 2 — кронштейн, 3 — бобышка верхняя, 4 — наконечник верхний, 5 — оболочка боуденовская, 6 — тросик, 7 — стопор (винт М4х8), 8 — бобышка нижняя, 9 — втулка, 10 — наконечник нижний, 11 — ролик фрикционный, 12 — кронштейн, 13 — диск.

Универсальный спидометр: 1 — спидометр СП-101, 2 — кронштейн, 3 — бобышка верхняя, 4 — наконечник верхний, 5 — оболочка боуденовская, 6 — тросик, 7 — стопор (винт М4х8), 8 — бобышка нижняя, 9 — втулка, 10 — наконечник нижний, 11 — ролик фрикционный, 12 — кронштейн, 13 — диск.

Теперь, собственно, о сборке. Верх тросика введен в отверстие верхнего наконечника и впаян. Надеты верхняя бобышка, боуденовская оболочка и нижняя бобышка (на оболочку). Низ тросика впаян в отверстие нижнего наконечника. Ввинчена втулка в нижнюю бобышку, надеты на наконечник шайба, затем ролик, вторая шайба и затянута гайка. Узел в сборе установлен на кронштейне, как показано на чертеже. Подгибом кронштейна в сторону колеса ролик был надежно прижат к диску.

Такой спидометр универсален.

Его можно использовать и на друГих велосипедах, изменив лишь конструкцию диска. Я установил его даже на мопеде «Рига-7» (вот где пригодились открытые пазы кронштейнов!). Здесь это сделать оказалось проще: диск не понадобился, вполне достаточно контакта ролика с боковой поверхностью крышки ступицы переднего колеса (по заранее размеченной на ней штангенциркулем окружности при вращающемся колесе). Точность показания прибора вполне приличная и сопоставима с ориентированием по столбам и секундомеру.

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

За прошедший сезон было пройдено (теперь я, глядя на прибор, могу уже точно сказать) 283 км со средней скоростью 21 км/ч. Существенного истирания ролика незаметно. Но если бы оно обнаружилось, достаточно передвинуть кронштейн вдоль продолговатого отверстия вверх или вниз — и ролик войдет в контакт с диском неизношенной частью своей поверхности.

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

В этом уроке мы создадим своими руками простой спидометр для велосипеда на основе микроконтроллера Ардуино. Идея состоит в том, чтобы измерить угловую скорость колеса велосипеда. Таким образом, зная диаметр и математическую легенду Пи (3.14) можно рассчитать скорость. Также, зная количество раз, которое провернулось колесо, можно легко узнать пройденное расстояние. В качестве дополнительного бонуса мы решили добавить световой индикатор на велосипед, - задача состояла в том, когда включить стоп-сигнал.



Шаг 1. Держатель


Для этого проекта очень важно иметь сильный и стабильный держатель нашего Ардуино спидометра. Смысл в том, что велосипед может пострадать от сильного импульса, когда он попадает в дыру или когда вы решаете повеселиться и взять вел в тяжелые условия езды. Кроме того, наши входные данные фиксируется, когда магнит на колесе пересекает датчик эффекта Холла на опоре.


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

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


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

Шаг 2. Датчик и магнит

Измерение и входные данные проекта основаны на этой части. Идея состоит в том, чтобы поместить магнит на велосипедное колесо и добавить датчик эффекта Холла на раму так, чтобы каждый раз, когда магнит пересекал датчик, Arduino знал, что оборот завершен и он может рассчитать скорость и расстояние.

Используемый здесь датчик - классический датчик с эффектом Холла А3144. Этот датчик понижает свою выходную мощность, когда конкретный полюс направлен в правильной ориентации. Ориентация очень важна, так как внешний полюс не повлияет на выход.



Выше несколько фото, показывающих правильную ориентацию. Также для датчика эффекта Холла требуется нагрузочный резистор 10 кОм, но в этом проекте заменен на нагрузочные резисторы 20 кОм в Arduino.

Тщательное размещение магнита очень важно. Если поместить его немного дальше, это может привести к непоследовательному чтению или отсутствию оборотов, а если расположить его очень близко, магнит может дотронуться до датчика, что не очень желательно.

Шаг 3. Дисплей





Этот дисплей теоретически необязателен, но вам нужно что-то, чтобы отображать скорость и расстояние в реальном времени. Думать об использовании ноутбука совершенно абсурдно. Мы использовали 0,96-дюймовый OLED-дисплей с I2C в качестве протокола связи между ведомым и ведущим устройствами.

Изображения выше показывают три режима, между которыми автоматически переключается Arduino.

  1. "Start" в правом нижнем углу - это когда Arduino только начал работу и успешно загрузился.
  2. Скорость в км/ч. Этот режим отображается только тогда, когда велосипед находится в движении, и автоматически отключается после его остановки.
  3. Последний, с метрами в качестве единиц, очевидно, - расстояние, которое прошел вел. Как только вел останавливается, Arudino переключается на отображение расстояния в течение 3 секунд.

Эта система не идеальна. Он на мгновение отображает пройденное расстояние, даже когда байк находится в движении. Может это не идеально, но это достаточно мило.

Шаг 4. Источник питания

Проект, будучи немного громоздким, не всегда может иметь под рукой розетку для зарядки. Поэтому из-за лени было решено просто использовать блок питания в качестве источника питания и использовать мини-USB-кабель для подключения питания USB от блока питания к Arduino Nano.

Но вы должны тщательно выбрать powerbank. Важно иметь правильную геометрию, чтобы ее можно было легко установить. Также источник питания должен быть немного тупым. Дело в том, что для экономии энергии powerbank предназначен для отключения выхода, если потребление тока не превышает определенного порогового значения.


Скорее всего это пороговое значение составляет не менее 200-300 мА. Наша схема будет иметь максимальное потребление тока не более 20 мА. Таким образом, обычный банк питания отключит выход. Это может привести вас к мысли, что в вашей цепи есть какая-то неисправность. Этот конкретный банк питания на фото выше работает с таким небольшим током.

Шаг 5. Стоп-сигнал (опционально)

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

Если мы тормозим, велосипед замедляется. Это означает, что если мы рассчитываем ускорение и если оно оказывается отрицательным, можно включить стоп-сигналы. Это, однако, означает, что свет включится, даже если мы просто перестанем крутить педали.


Также мы не добавили транзистор в световую цепь, что абсолютно рекомендуется. Если кто-то сделает этот проект и правильно интегрирует эту часть, мы бы были более чем рады увидеть её и добавили бы картинки сюда. Ток мы получаем напрямую от цифрового контакта 2 Arduino Nano.



У собранного своими руками электронного спидометра будет три режима:

  • Спидометр (определение скорости) и одометр (пройденная дистанция)
  • Задача 1 – проехать 32 км (20 миль)
  • Задача 2 – достичь скорости 30 км\ч

Спидометр собран на Ардуино, так что нет предела вашему воображению.

Шаг 1: Как всё работает

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

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

Шаг 2: Необходимые материалы

Проект недорогой и может обойтись вам в 300-700 рублей. Сборка потребует от вас некоторые умения в пайке.
Материалы для сборки:

Список необходимого инструмента:

  1. Паяльник
  2. Припой
  3. Корпус
  4. Что-то наподобие дремеля, чтобы прорезать в корпусе отверстия для установки электроники и дисплея
  5. Горячий клей или что-то подобное для закрепления компонентов на местах.

Шаг 3: Код

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

Шаг 4: Электроника







Схема соединения компонентов приложена выше, но я также напишу её отдельно.

  • Резистор на 220 Ом соединяем между пином 2 Ардуино и землёй
  • Мгновенный переключатель соединяется с пином 2 и vcc
  • Конденсатор на 0.1 uf помещаем между двумя клемами выключателя, чтобы уменьшить дибаунс
  • Геркон на vcc и A0
  • Резистор между A0 и gnd

После соединения всех компонентов можно запитать девайс и проверить, что всё работает.

Шаг 5: Корпус


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

Шаг 6: Тестирование и устранение неполадок

Запитайте устройство от батарейки 9V и проверьте все три режима. Поднесите магнит близко к Геркону и скорость с дистанцией должны начать увеличиваться.

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

После покупки нового велосипеда решил я его оснастить велокомпьютером, но китайские поделки покупать не стал по трём причинам:
1. Высокая цена
2. Отвратительное качество сборки
3. Ну, я же радиолюбитель!

И поэтому я поступил как настоящий радиолюбитель – собрал желаемый прибор самостоятельно.

Велокомпьютер на велосипеде

В данной статье я расскажу вам, как самому собрать велокомпьютер на микроконтроллере. Данный велокомпьютер выполнен на микроконтроллере Attiny2313, в качестве дисплея использован однострочный ЖК индикатор на контроллере HD44780. Прибор умеет отображать текущую скорость, общее и промежуточное расстояния (отображаются в метрах). Общее расстояние, в отличии от промежуточного сохраняется в энергонезависимой памяти EEPROM. Схема велокомпьютера очень проста и не содержит дорогостоящих компонентов:

Схема велокомпьютера

Дисплей подключён к микроконтроллеру по распространенному 4-х битному интерфейсу. Кнопки S1,S2,S3 (подтянуты десяти килоомными резисторами к плюсу питания) управляют прибором. Подстроечный резистор R6 регулирует контрастность дисплея. Светодиод HL1 индицирует подачу питания. В качестве динамика Ls1 можно использовать пьезоизлучатель. Транзистор VT1 – можно ставить любой биполярный n-p-n структуры, например КТ315 (я применил BC546B). Микроконтроллер Attiny2313 можно использовать с любыми буквенными индексами.

Зачем нужен внешний кварц микроконтроллеру, у которого есть свой тактовый генератор?
Наверное, у каждого из вас появился такой вопрос, и я на него постараюсь ответить. Без кварца работа устройства будет крайне не стабильна (неточность измерения, крякозяблики на дисплее и т.п.) потому, что встроенный тактовый генератор в микроконтроллере имеет большую “плавающую точку” и его частота постоянно колеблется. Если у вас нет такого кварца, не расстраивайтесь! Просто измените программу под тот кварц, который у вас есть. Впишите, в строчку $crystal= частоту своего кварца и всё будет ОК. Но на “худой конец”, если у вас нет никакого кварца, используйте встроенный тактовый генератор (пример установки фьюз-битов внизу), конечно работать будет не совсем точно и стабильно.

После того как я нарисовал схему и подумал каким будет велокомпьютер, сел на свой любимый велик и поехал по городу – покупать радио детали по следующему списку:

  1. Микроконтроллер Attiny2313 1шт.
  2. Кнопки тактовые (без фиксации) 3шт.
  3. Резисторы номиналом 10 кОм 5шт.
  4. Резисторы номиналом 1 кОм 2шт.
  5. Резистор номиналом 100 Ом 1шт.
  6. Панелька под микроконтроллер DIP-20 1шт.
  7. Транзистор биполярный BC546B 1шт.
  8. Пьезоизлучатель 1шт.
  9. Кварц 4 МГц 1шт.
  10. Светодиод (синего свечения) 1щт.
  11. Построечный резистор номиналом 10 кОм 1шт.
  12. ЖК индикатор (дисплей) на контроллере HD44780 1*16 1шт.
  13. Керамические конденсаторы 18 пФ 2шт.
  14. Керамический конденсатор 0.1 мкФ 1шт.
  15. Электролитический конденсатор 100 мкФ 1шт.
  16. Штекер 2.5 1шт.
  17. Гнездо для штекера 2.5 1шт.
  18. Гнездо MiniUSB 1шт.
  19. Пластмассовый корпус 85x60x35мм 1шт.
  20. Крепёж на руль велосипеда 1шт.
  21. Кнопка с фиксацией 1шт.
  22. Геркон 1шт.

Корпус, который я купил для велокомпьютера:

Корпус для велокомпьютера

Макетная плата, термоусадка, АКБ и метр провода у меня были.
Приехавши домой сразу взялся за сборку велокомпьютера. Первым делом взялся за корпус. В корпусе надо сделать прямоугольную дыру размером 15x60мм.

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

Корпус для велокомпьютера

Кстати, все остальные отверстия я делал по ходу сборки. Изнутри корпуса на дыру приклеил кусочек органического стекла, чтобы пыль и влага не попадали на дисплей.

Далее спаял плату поставил кнопки, дисплей и всё остальное. Монтаж делал на макетной плате.

Вид сзади (без крышки):

Корпус для велокомпьютера

Корпус для велокомпьютера

Корпус для велокомпьютера

Зарядка через MiniUSB:

Зарядка через MiniUSB:

У меня прибор питается от аккумулятора телефона Nokia на 3.7v. Зарядка осуществляется через MiniUSB порт, подключённый прямо к аккумулятору. Возможно, вы скажете, это же не правильно! И будете правы, для этого дела есть специальные микросхемы но я таковой микрухи не нашёл и пришлось довольствоваться тем что было. Но как-никак зарядка идёт, и за два часа заряда мой аккумулятор заряжается полностью. В рабочем режиме с включенной подсветкой дисплея велокомпьютер потребляет

Установка велокомпьютера на велосипед

Чтобы считать, расстояние и скорость велоспидометру нужен, так сказать “орган восприятия”. Геркон - это и есть этот “орган”, устанавливается он на раме велосипеда рядом с колесом, на спицах колеса устанавливается магнит. Чтобы когда колесо делало полный оборот, магнит “проходил” напротив геркона и “замыкал” его, тем самым формируя импульс который нужен велокомпьютеру для расчёта расстояния и скорости. На схеме указано, где подключать геркон к прибору. Я геркон припаял на небольшой кусочек макетной платы, припаял к нему провода и усадил на него термоусадку. И закрепил это всё на раме велосипеда с помощью пластмассовых стяжек.

Крепление геркона

Пример установки магнита на спицы колеса:

Крепление геркона

Велокомпьютер я закрепил посредине руля велосипеда:

Велокомпьютер на велосипеде

Описание устройства

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

Загрузка велокомпьютера (приветствие):

Загрузка велокомпьютера

Информация о версии:

Информация о версии

Информация об авторе:

Информация об авторе

Главный экран

Кнопка S1 – при нажатии сохраняется общее расстояние в энергонезависимой памяти EEPROM, в течение секунды на дисплее отображается надпись “All:” а после её общее расстояние и надпись “Save”, звучит звуковой сигнал, после чего велокомпьютер возвращается к подсчёту расстояния и скорости (главный экран).

Одометр

Да, да! Вы не ошиблись (смотря на фотографию выше), за несколько дней я проехал 191км! Потому что сегодня (21.08.2012), до школы осталось 11 и дабы проводить лето решил сделать “небольшую” покатушку за город.

Кнопка S2 - при нажатии обнуляется промежуточное расстояние, на дисплее отображается сообщение “Total clear!”, звучит звуковой сигнал, после чего велокомпьютер возвращается к подсчёту расстояния и скорости (главный экран).

Очистка

Кнопка S3 - при нажатии в течение секунды на дисплее отображается надпись “All:” а после её общее расстояние и звучит звуковой сигнал, после чего велокомпьютер возвращается к подсчёту расстояния и скорости (главный экран).

Одометр

Настройка велокомпьютера

Чтобы велокомпьютер отображал правильное расстояние, и скорость он должен знать, какое расстояние проезжает велосипед за один оборот колеса (иначе прибор будет просто неправильно считать расстояние и скорость), это расстояние хранится в константе Coleso (у меня по умолчанию 2.08 метра). Для настройки велокомпьютера, измерьте длину колеса своего велосипеда в сантиметрах полученное значение переведите в метры и впишите его в константу Coleso, перекомпилируйте программу с новыми значениями и прошейте ею велокомпьютер.

Константа радиуса колеса

Если кто это сделать не в состоянии, присылайте мне на e-mail длину своего колеса, сделаю прошивку под ваш велосипед.

Прошивка МК велокомпьютера

Прошивка для велокомпьютера находится в файлах к статье и называется t2313veloC.HEX, прошивку писал в среде BASCOM-AVR (исходник прилагается).
Пример установки фьюз-битов на внешний кварц 4МГц:

Пример установки фьюз-битов на внешний кварц 4МГц

Пример установки фьюз-битов на внутренний тактовый генератор 4 МГц:

Пример установки фьюз-битов на внутренний тактовый генератор 4 МГц

В файлах к статье есть проект данного девайса в симуляторе Proteus. Но предупреждаю, что в симуляторе прибор работает очень медленно! В протеусе разве что светодиодами мигать можно (без глюков).

Проект велокомпьютера в Proteus

Видео работы велоспидометра:

Заключение

В заключении хотелось бы сказать, что велокомпьютер вышел отличный и не дорогой, затраты составили 113400 бел/руб. Для примера: самый дешёвый китайский велокомпьютер стоит не менее 200000 бел/руб, который я видел. Да и вообще своё – это сделанное для себя, качественно и с любовью, а не китайское г…но, которое на следующий день после покупки сломается. Сборка своего велокомпьютера мне доставила удовольствие, а его эксплуатация доставляет мне ещё большее удовольствие.

И смотрите больше на дорогу чем на велокомпьютер, всяко бывает… И удачи вам на дороге и в электронике!

Ниже вы можете скачать исходники, прошивку, проект в Proteus



Здравствуй, Хабр! Мне хотелось бы поделиться историей о создании велокопомпьютера своими руками. После покупки велосипеда я решил как-то фиксировать свой прогресс, но мобильные трекеры оказались не самым удобным решением, а из Китая ко мне уже летел заранее заказанный там BOGEER 823, что делало покупку на месте бессмысленной. Поэтому я решил попытаться сделать велокомп своими руками, заодно заложив в него основу для расширения: управление обвесом велосипеда (передний и задний свет, звонок).

Немного подготовки

В основе любого велокомпьютера — геркон, который фиксирует оборот колеса, а всё остальное это элементарная математика… Конечно, я поискал в интернете готовые реализации и формулы, которые мне понадобятся.
Как я уже писал, всё завязано на геркон: магнит зафиксирован на спице, а сам геркон на «вилке». Когда магнит на вилке замыкает геркон — это значит, что колесо сделало полный оборот и велосипед проехал расстояние равное:
2*Pi*Rшины

Первая версия

  • Текущая скорость
  • Дистанция текущей поездки
  • Дистанция всех поездок
  • Время в поездке
  • Текущее время
  • Подсветка
  • Возможность обмена данным с компьютером через карту памяти

К счастью, все нужные модули были под рукой:

  • Arduino nano
  • Nokia 5110 LCD (синяя подсветка, через GND)
  • Распаянные часы DS1302
  • Модуль SD карт

Я быстро собрал бутерброд: сверху экран, вторым слоем SD модуль и сама ардуинка, а часы под всем этим. Получилось довольно компактно. Конечно, если бы я использовал не готовые модули, а «рассыпуху» и травил платы, можно было бы выиграть много места.













Угадайте, почему не велосипед не едет назад?

Тестирование принесло свои плоды. Я обнаружил ошибку в логике: сигнал от геркона всегда приравнивался к обороту колеса (если прошло минимальное время на оборот). Вроде, всё правильно, но если остановиться, зафиксировав магнит напротив геркона, то программа считала, что вы едете очень быстро.

Вторая версия

Немного доработав программу, я собрал «блок питания»: набор из пяти АА батареек. До этого я попытался использовать крону, но её для Ардуинки с обвесом оказалось мало.

Так как мой 5110-й был на красной подложке, а значит, подсветка в нём управлялась логическим нулём, а не единицей, от программного управления через аналоговый порт пришлось отказаться и добавить простую кнопку.
Кроме того, аналоговый порт без данных выдавал случайные значения, но это решилось простым резистором. А вот другой сюрприз от аналогового порта заставил меня поломать голову: значение замыкания геркона при питании от батареек были не такими, как при использовании USB порта.











Второй тест показал уже полную работоспособность системы. Единственной проблемой стала ошибка в расчётах: радиус «26 дюймового колеса» оказался «13.5» дюймов. В результате одометр немного врал (спасибо Яндекс.Картам за удобный инструмент для расчёта расстояний).

Третья версия

Устройство работало, но конечно хотелось придать законченность внешнему виду. Так уж получилось, что всё что мне удалось найти — только один корпус, и он оказался «узким».



Пришлось изменить расположение компонентов: в корпус всё влезло, но итоговый размер стал больше. В процессе перепайки пришлось заменить Arduino Nano и SD модуль: паяльником я владею так себе и часть выводов просто привёл в негодность.

Размеры: 72x50x28mm











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







Моя торопливость сыграла злую шутку: я недостаточно хорошо зафиксировал провода под экраном и один из них стал пускать помехи (на самом деле это влияние на параметр «контрастность»).





Ещё пара исправлений в коде, и интерфейс был приведён к финальному (на текущий момент) виду.

  1. Скорость (Км/Ч)
  2. Одометр (Дистанция в метрах)
  3. Время поездки (В минутах)
  4. Текущее время (По Москве)

Неприятность преподнесли часы: один из контактов отошёл, и время стало скакать (как если бы я перепутал RST и CLK). Но что самое интересное — после поездки часы пришли в норму.

Пожалуй, претензию можно предъявить к углу крепления: во время поездки смотреть неудобно.



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













Стоимость

  • Корпус BOX-G020 — 115р
  • Эпоксилин — 95р
  • Батарейки — 60р
  • Arduino Nano — 120р
  • Nokia LCD 5110 — 102р
  • Чёрная изолента — 40р
  • SD module — 187р
  • DS1302 — 70р
  • Кейсы для батареек — 120р
  • Провода и резисторы — 80р
  • Геркон + магнит — 82р

Ссылки по теме

Итоги



Читают сейчас

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

  • Скопировать ссылку
  • Facebook
  • Twitter
  • ВКонтакте
  • Telegram
  • Pocket

Похожие публикации

  • 26 октября 2019 в 21:08

Проекты Arduino DIY: роботизированный тир «Демоническая карусель»

Arduino DIY «Демоническая карусель»

Arduino DIY Watch — самодельные часы на Arduino

Курсы

Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Факультет Python-разработки Графический дизайнер

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Минуточку внимания

Комментарии 89

Не поможет, в 70% случаев водители не обращают внимания на велосипедистов… Тем более что у них там мигает…
Я по этому езжу только по тротуарам(( Ибо крайний правый ряд почти всегда утыкан дебилами, которым лень проехать 10 метров до парковочного кармана(

Лучше купить шлем)

Не помню, чтобы в ПДД было написано про обозначение поворотов именно велосипедистами. Там вроде как общие правила действуют (есть поворотники — используешь их, нет или сломались — показываешь рукой).

А так да, надёжнее руками показывать.

Как учебный проект\проект для души — ОК!

Синяя изолента — Спасенье навеки моё
И инженера-студента
Представить нельзя без неё
Если случайно поранясь
Пластыря нет под рукой
Синюю изоленту
Срочно наклей и не ной.
Трещины в стенах повсюду?
По швам разошелся мой дом?
Её же наклеивать буду
Нет мысли о чем-то другом.
И только когда с проводкой
Хреново. Случилась беда
Воспользуйся просто смоткой
Экономь изоленту всегда!

© Copyright: Евгений Шевнин

У меня нет принтера. Я бы из ассортимента Gainta подобрал.

А вообще выкинуть все эти потроха, спаять нормальную плату и все на ней развести. Будет в 3 раза компактней и надежней.

Не ссать! Не будет никаких проблем. Берешь и делаешь. Потом сам будешь удивляться чего так долго тупил.

Там возни то на один день. За день пройдешь все стадии освоения технологии.

Чем геркон. Шутка.

Сложнее он тем, что у него 4 выхода, с которым надо разобраться, сигнал с холла в лучшем случае надо на АЦП подать, а в худшем еще через усилитель пропустить. А если хочется счетчик на железном прерывании сделать, что довольно логично и просто, может еще компаратор потребоваться. А геркон, он как бы проще некуда — нужен он и резистор подтяжки. Ну по мне — абсолютно нет смысла туда ставить холл, потому что никаких выгод это не принесет в текущем виде. Теоретически, им можно обратных ход колеса детектить, но для велосипеда это настолько редкая ситуация, что практически ее смысла поддерживать нет. Лучше поставить еще один датчик на педали.

Не совсем понятно. Что мешало сделать analogWrite(contrastPin, 255 — contrastValue)?

Круто, и с синей изолентой!
Но… вы не задумывались над тем, что ардуина тут немного излишня?
Для прототипа или эксперимента — да, легко.
Но вот в реальной жизни таскать кучу плат и ведро батареек только ради возможности «слить» данные поездки в комп — имхо, излишне.
Посмотрите на практически любой велокомп. Стоит в минимуме баксов 5-6. Работает несколько лет от алкалиновой «таблетки».
Единственное — данные поездки придётся переписывать с него вручную.
(а много ли важных данных? Дистанция, время в пути, время стоянок, максимальная скорость. И всё?)

Да, и про длину колеса: погуглите, таблички длины окружности в зависимости от параметров покрышки существуют.
У 26-дюймового колеса 26 дюймов — это обод. А популярные покрышки на таком ободе, начиная от узких (дюйм) до широких (2,35 дюйма) дадут существенно разные цифры!

Спасибо про инфу про колёса )

А про остальное я в этой ветке писал.

Если хотите поточнее выяснить длину окружности колеса — то нужно:
1. накачать колеса штатным давлением
2. сделать мелом вертикальную метку на покрышке
3. раскрутить по прямой рулетку, прижав чем-нибудь, чтобы не сворачивалась
4. сесть на вел (самому, вес важен!), сориентировав его вдоль рулетки меткой вниз, запомнить начальную цифру
5. прокатить строго вдоль рулетки точно на один оборот колеса (это делать лучше с помощником)
6. собственно, вычислить длину окружности по разнице двух меток :)

Реально, в теории автомобиля есть такой термин — динамический радиус колеса. Он, в частности, зависит нагрузки на колесо (а она, например, зависит от скорости из-за действия аэродинамических сил и центробежной силы вращающегося колеса, стремящегося увеличить его диаметр). Передаточные числа редуктора привода спидометра проектируют именно с учетом динамического радиуса.

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

Если есть возможность, можно все то же сделать с прибором Garmin серии Edge и датчиком вращения. В нем просто ставим длину колеса = auto и ездим некоторое время, пока он не запищит и не скажет, что колесо выставлено (делает ровно то же — сопоставляет импульсы вращения с геоданными gps и выставляет длину).

Это сейчас все просто — берется практически любой МК, минимум обвязки, блок индикации тоже готовый с уже встроенным контроллером — только код пиши. И то народ на ассемблере уже не хочет, и паяет с ленцой — все больше смотрят на готовые eval-борды да скетчи

А когда я в 88м году делал велоспидометр для своего Старт-Шоссе — иначе, как на россыпи было не сделать. У меня был спроектирован аппарат с тремя функциями — текущая скорость, максимальная скорость, пройденный путь, автоотключение ЖК при долгой остановке, сброс пути и максималки. Все вместе потянуло на пару десятков (!) корпусов 176 и 561 серии. Индикатор — 4-разрядный ЖК со статической индикацией (дефицит, между прочим был). Все размещалось на двух платах-слепышах одна над другой и индикатором сверху. Для компактности по высоте ИМС в дипах были распаяны псевдо-планарно — с отгибанием выводов в плоскость платы, монтаж — ПЭВТЛ (с залуживанием прямо во время пайки), питание — от четырех Д-0.1. Все вместе помещалось в нижнюю половину мыльницы :) размером примерно 100 * 70 * 25, с лицевой панелью из полированного оргстекла заподлицо. В стендбае конструкция потребляла всего порядка 3 микроампер, на ходу — порядка десятков, и могла жить целый сезон от одной зарядки.

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

Читайте также: