Датчик скорости для велосипеда своими руками

Спидометр для велосипеда на основе Ардуино

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг 6. Код проекта

Скачать или скопировать код для спидометра Ардуино вы можете ниже:

Источник

Стрелочный спидометр для велосипеда на Arduino

Материалы и инструменты для самоделки:
— микроконтроллер Arduino Nano;
— серводвигатель;
— геркон;
— пластиковые хомуты;
— постоянный магнит (автор использовал от компьютерного жесткого диска);
— светодиод красного цвета;
— один резистор на 1 кОм;
— один резистор на 22 Ом;
— пластиковая коробка для создания корпуса;
— провода;
— паяльник;
— материалы для создания механической части спидометра, винтики, ножницы, горячий клей и прочее.






Процесс изготовления велосипедного спидометра:

Шаг первый. Электронная схема самоделки
Электронная схема устройства очень простая и понятна даже интуитивно. Все, что нужно сделать, это подключить все элементы так, как указано на картинке. На схеме есть резистор на 220 Ом, он используется для подключения светодиода. Что касается резистора на 10 кОм, то через него подключается переключатель.

Сервопривод здесь будет вращаться стрелку спидометра, а когда будет достигаться определенная (по словам автора максимальная) скорость, то на спидометре будет загораться красная лампочка.


















Шаг пятый. Прошивка и настройка устройства

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

Первая отметка у автора означает скорость движения в 8 км/ч, вторая 19 км/ч, а третья 24 км/ч. Что же касается максимальной скорости движения, то она составляет 36 км/ч. При достижении этой величины на спидометре загорается светодиод красного цвета. Но каждый может сам для себя настроить устройство под любую скорость.

Источник

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

После покупки нового велосипеда решил я его оснастить велокомпьютером, но китайские поделки покупать не стал по трём причинам:
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шт.

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

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

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

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

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

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

Зарядка через 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 МГц:

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

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

Заключение

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

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

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


Источник

Оцените статью