Перейти к содержимому

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

  • автор:

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

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

Зарядка через 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 бел/руб, который я видел. Да и вообще своё – это сделанное для себя, качественно и с любовью, а не китайское г…но, которое на следующий день после покупки сломается. Сборка своего велокомпьютера мне доставила удовольствие, а его эксплуатация доставляет мне ещё большее удовольствие.

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

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

ВелоМетр — Велосипедный спидометр/одометр

Автор: Полтарецкий Алексей
Опубликовано 15.09.2011
Создано при помощи КотоРед.
2011

Устройство предназначено для измерения скорости и пробега велосипеда, а также для управления фарой — регулирования яркости, автоматического включения и отключения.

Напряжение питания, V 1,8-5
Минимальная регистрируемая скорость, км/ч Велосипеды Тиса, Десна, и.т.д; покрышка 40—406 (внешний диаметр 492 мм) 1.1
Горные велосипеды; покрышка 26″x1.95″ (внешний диаметр 665 мм) 1.5
Советские дорожные велосипеды; покрышка 40—622 (внешний диаметр 708 мм) 1.6
Ток потребления, mA (при U пит. 2,4 V) Рабочий режим, подсветка дисплея отключена 5
Рабочий режим, подсветка включена 80
Спящий режим не более 0.002
Максимальная регистрируемая скорость, км/ч 99.9
Максимальный текущий пробег, км 655.35
Максимальный общий пробег, км 65535
Максимальный ток фары, mA 250*

* Теоретически, используемая схема преобразователя может работать с током нагрузки 1 A и более, однако для этого потребуется модификация схемы — увеличение емкостей конденсаторов на входе преобразователя, а также уменьшение сопротивления и увеличение мощности резистора R25.

Кнопка 1 — вызов настроек
Кнопка 2 — включение/отключение устройства
Кнопка 3 — включение/отключение фары
Кнопка 2 в режиме настроек -уменьшение или отключение параметра
Кнопка 3 в режиме настроек — увеличение или включение параметра

Удерживание кнопки 1 при включении — разблокировка дополнительных настроек
Удерживание кнопок 1 и 3 при подаче питания — сброс настроек и данных о пробеге (только для варианта прошивки, хранящего данные в оперативной памяти)

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

Измерение скорости и учет пробега осуществляются при помощи датчика вращения, закрепленного на передней вилке велосипеда. Для определения скорости движения, устройство измеряет время между срабатываниями датчика. Поскольку для измерения скорости необходимы как минимум 2 срабатывания, при первом срабатывании расчет скорости не производится, а при последующих скорость вычисляется по формуле S = C*(F*0.036)/T где S — скорость движения велосипеда; C — длина окружности колеса, взятая из настроек устройства; F — тактовая частота счетчика; T — значение счетчика. При отсутствии срабатывания датчика на протяжении пяти секунд, показания скорости сбрасываются, и начинается отсчет времени отключения. По достижении времени отключения, указанного в настройках, либо при нажатии на кнопку 2 устройство переходит в спящий режим с током потребления не более 2 uA.

Схема построена на микроконтроллере ATTiny2313A. Для отображения информации используется дисплей RC0802A. Поскольку МК питается напрямую от батареек, а дисплей — от повышающего преобразователя 5V (т.е напряжения питания МК и контроллера дисплея могут отличаться более чем в 2 раза), соединять шину данных дисплея с МК без согласования уровней нельзя. Для согласования уровней используются резисторы R13-R24. Транзистор VT2 используется для ШИМ-регулирования контрастности дисплея. Пределы регулировки контрастности устанавливаются подбором резисторов R10-R12. Транзистор VT4 управляет подсветкой дисплея.
Транзистор VT3 отвечает за сброс дисплея. Данный «некрасивый» способ сброса является единственно возможным, поскольку у дисплея вывод сброса отсутствует.
Транзистор VT1 управляет питанием преобразователя напряжения. Преобразователь напряжения, питающий дисплей и фару, построен на микросхеме NCP1450ASN50T1 и половине транзисторной сборки VT5. Вторая половина VT5 используется для ШИМ-регулирования яркости фары.Если к устройству не планируется подключать фару, либо ток фары составляет не более 50mA, то можно использовать альтернативную схему преобразователя:

В качестве датчика вращения используется геркон в паре с постоянным магнитом, установленным на колесе. Геркон полключен к выводу 6 МК через конденсатор C2. Это необходимо для снижения потребляемой мощности устройства в том случае, когда магнит остановился напротив геркона. Конденсатор C1 необходим для устранения дребезга контактов геркона.

Основная плата устройства собрана по технологии поверхностного монтажа (SMD). Резисторы и конденсаторы могут иметь типоразмер 1206, либо 0805. При использовании деталей меньшего размера, потребуется модификация печатной платы.
Конденсаторы C3 и С6 могут быть заменены на электролитические. В этом случае рекомендуется установить параллельно C3 керамический конденсатор емкостью 0.1 uF.
В качестве L1 использован дроссель ДПМ 0.6-10. При отсутствии данного дросселя, его можно заменить на любой дроссель аналогичного или большего типоразмера с индуктивностью 10 uH. Настоятельно не рекомендуется использовать дроссели меньшей индуктивности, поскольку это приведет к кратковременному возрастанию напряжения на выходе преобразователя при резком уменьшении тока нагрузки. По этой же причине при самостоятельном изготовлении дросселя из подручных материалов и отсутствии под рукой измерителя индуктивности, рекомендуется проверить работу преобразователя до того, как к схеме будет подключен дисплей. Не следует наматывать дроссель на кольцевом магнитопроводе. Если у Вас нет никакого магнитопровода кроме кольцевого, то нужно переломать его на две части, либо прорезать в нем зазор.
Вместо ATTiny2313A можно использовать ATTiny2313V, либо, при питании схемы от трех батареек — ATTiny2313. Однако, при такой замене станет невозможным включение фары при отключенном устройстве. Вместо транзистора TPC8103 можно использовать любой другой P-канальный полевой транзистор подходящей мощности с пороговым напряжением открытия (Gate Threshold Voltage) не более 1.5V (например IRF7404). Вместо транзисторной сборки IRF7530 можно использовать любю другую сборку, содержащую пару N-канальных полевых транзисторов подходящей мощности с пороговым напряжением открытия не более 1.5V (например IRF7501 — без изменения печатной платы, либо IRF7301, IRF7311, IRF7331 — с изменением печатной платы). Вместо транзисторной сборки также можно использовать два отдельных транзистора. При этом пороговое напряжение открытия транзистора в цепи ШИМ-регулирования яркости фары может быть больше чем 1.5V.
В качестве кнопок SB1-SB3 рекомендуется использовать угловые микрокнопки, поскольку в этом случае отверстия для толкателей будут находиться на боковой стенке устройства, а не сверху, что снизит вероятность попадания влаги внутрь корпуса. Либо использовать силиконовые кнопки, извлеченные из какого-нибудь устройства (калькулятора, пульта, джойстика, и.т.д). В этом случае плату для кнопок рекомендуется вырезать из платы того же устройства — при изготовлении платы в домашних условиях Вы навряд-ли сможете нанести на нее покрытие из металла, стойкого к коррозии.
Для стабилизации тактовой частоты МК можно использовать кварцевый резонатор 4 MHz, либо керамический с частотой 500 kHz. Если у Вас под рукой нет ни того, ни другого, Вы можете использовать для тактирования МК внутренний RC-генератор, однако в этом случае погрешность измерения скорости будет составлять ±10% — такова точность заводской калибровки генератора. При помощи калибровки можно добиться повышения точности генератора до ±2%. Для этого Вам потребуется частотомер и калибровочная прошивка (см. архив с прошивками). Калибровка производится следующим образом: прошейте МК калибровочной прошивкой — при включении на дисплее отобразится текущее значение, хранящееся в калибровочном регистре:

После этого подключите частотомер к выводу 9 МК, затем при помощи кнопок 2 и 3 добейтесь частоты, наиболее близкой к 50 kHz. После этого Вам потребуется пересобрать основную прошивку устройства, раскомментировав в файле velometer.c макрос USER_OSCCAL, и вписав в него значение полученное при калибровке.

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

Часто задаваемые вопросы

Вопрос: Зачем было использовать такие мощные полевики в схеме питания? К примеру, одного TPC8103 хватит для управления питанием десятка наких устройств. С жиру бесимся, да?
Ответ: Девайс собирался из того, что было под рукой. И под ней не оказалось транзисторов слабее чем те, что установлены в схеме. Вам никто не запрещает ставить полевики послабее при повторении схемы.

Вопрос: Зачем было устанавливать в устройство, собранное по SMD-технологии микроконтроллер в корпусе DIP?
Ответ: См ответ на предыдущий вопрос.

Вопрос: Какой смысл в цепочке R6 VT3 R7? Зачем делать короткое замыкание в цепи дисплея?
Ответ: Во-первых, замыкание там не короткое, а через резистор 10 ом. Во-вторых, оно происходит всего на 50 милисекунд перед включением дисплея. А нужно оно вот зачем: при инициализации дисплея в режиме четырехпроводной шины данных, перваяя инструкция имеет длину 4 бита (или, проще говоря, полбайта). Все остальные инструкции дисплея имеют длину 1 байт, и отправка полубайтовой инструкции в дисплей, уже прошедший инициализацию, будет иметь весьма нехорошие последствия — дисплей будет считать эту инструкцию первыми четырьмя битами нормальной, восьмибитной инструкции, первые 4 бита следующей инструкции — последними четырьмя битами предыдущей инструкции, и.т.д. В результате этого на дисплее вместо циферок с буковками будет отображаться билиберда. Казалось бы, зачем отправлять в инициализированный дисплей еще одну инструкцию инициализации, и тем самым сводить его с ума? А все дело в том, что при переходе устройства в спящий режим, питание дисплея отключается, но, несмотря на это, он некоторое время остается инициализированным благодаря заряду конденсатора C7. Соответственно, включение устройства до того, как конденсатор C7 разрядится, и приведет к отправке второй полубайтовой инструкции в инициализированный дисплей. Так вот, цепочка R6 VT3 R7 нужна именно для того, чтобы разрядить конденсатор C7, и тем самым выполнить сброс дисплея. Если после всего вышесказанного Вы все еще сомневаетесь в необходимости данной цепи, то можете не собирать ее при повторении устройства, и понаблюдать как красиво оно будет работать.

Вопрос: Могу ли я использовать в данном устройстве дисплей на базе контроллера HD44780?
Ответ: Теоретически да, однако Вам придется модифицировать библиотеку, отвечающую за работу с дисплеем, поскольку у данного контроллера несколько отличается процедура инициализации.

Вопрос: У меня нет ни кварца на 4 MHz, ни керамического резонатора на 500 kHz, ни частотомера. А хочется собрать нормальный, точный спидометр. Можно ли использовать резонатор с другой частотой?
Ответ: В схему можно поставить практически любой кварц (кроме слишком высокочастотных — встроенный в МК генератор просто не сможет с ними работать). Например 4.43 MHz или 3.58 MHz (такие стоят во всех телевизорах и видеомагнитофонах). Однако, при изменении тактовой частоты МК необходим пересчет множителя, используемого для расчета скорости (макрос SPEED_MULTIPLIER) и максимального значения таймера, отсчитывающего 5-секундные интервалы (макрос MAIN_TIMER) в файле velometer.c. После чего потребуется пересобрать прошивку. И не забудьте установить новую тактовую частоту в настройках проекта CodeVisionAVR — в противном случае компилятор неправильно рассчитает задержки, необходимые для работы дисплея.

Вопрос: Я собрал данную схему без резисторов R13-R24 — соединил МК с дисплеем напрямую. И она прекрасно работает от двух пальчиковых батареек. Зачем тогда нужны эти резисторы?
Ответ: Подождите пока батарейки подсядут, и тогда Вам станет ясно, зачем нужны эти резисторы :).

Вопрос: Собрал данное устройство, использовав версию прошивки, хранящую все данные в оперативной памяти. При отключении питания общий пробег и настройки должны сбрасываться, а они не сбрасываются. Мало того, не сбрасывается даже текущий пробег, а он вроде как хранится в оперативной памяти во всех версиях прошивки. Почему так? Вы что-то напутали в коде?
Ответ: Ничего я не напутал. Тут используется свойство МК от Atmel сохранять содержимое регистров и оперативной памяти в течение некоторого времени (около 15 минут) после отключения питания.

Вопрос: Почему в файлах нету эмуляции схемы в Proteus»е? Вы забыли ее приложить?
Ответ: Нет, я просто не эмулировал ее в протеусе, ибо эмуляция микроконтроллеров в нем работает как говно.

Вопрос: Почему на плате нет разъема SPI? Это, типа, нужно выпаивать МК при каждой перепрошивке?
Ответ: Я посчитал нецелесообразным увеличивать размеры платы ради разъема, который не будет использоваться при эксплуатации. А выпаивать МК вовсе не обязательно — достаточно установить его в панель, или припаять 5 проводков к задней стороне платы (дисплей, подключенный к тому же порту, совершенно не мешает программатору).

Вопрос: Почему все отверстия на плате (даже крепежные) имеют диаметр 0.5 мм? Не маловато ли?
Ответ: Отверстия, отпечатанные в процессе лазерно-утюжного изготовления платы, использутся в качестве кернов при сверловке. А керн диаметром 2.5 мм и глубиной 35 мкм выполняет свои функции довольно таки хреново.

Вопрос: Почему прошивка писалась в CodeVisionAVR? Это же говно. Компилятор для ламеров.
Ответ: А кто Вам сказал что я не ламер? И кстати, оно в большинстве случаев прекрасно справляестя со своими обязанностями. Не хуже чем IAR или WinAVR.

Интересные факты, выяснившиеся при создании устройства

• Оценить скорость движения «на глазок» довольно таки трудно. К примеру, скорость в режиме «просто кручу педали» — это аж 20 км/ч, а не «от силы 15» как мне казалось раньше. А в режиме «разогнался шописец» — всего лишь 40, а не «за 50», как я считал до установки спидометра.

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

На фото отчетливо видна некрасивая конструкция из двух конденсаторов 220uF

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

Корпус устройства изготовлен из листового полистирола (корпус от телевизора «Электрон»). В качестве клея использовался растворитель 646:

Первая версия корпуса была жестоко угроблена во время горячей сушки краски (оказывается, рука, засунутая в духовку, весьма хреново выполняет функции термодатчика). После подобного epic fail»а обычно хочется бросить всё к чёртовой матери, но я нашел в себе силы начать все сначала, в результате чего и появился корпус v2:

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

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

Устройство в сборе:

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

Корпус для геркона:

Корпус вырезан из листового текстолита толщиной 8 мм.

Датчик вращения в сборе:

Выводы геркона тщательно изолированы при помощи термоклея. В катафоте профрезеровано углубление, после чего в него вклеен редкоземельный магнит, извлеченный из привода БМГ жесткого диска. На самом деле, можно было обойтись и без фрезеровки, но мне показалось, что так будет надежнее. Кстати, мои кривые руки умудрились напортачить и здесь — если хорошо присмотреться, то можно заметить, что магнит переломан ближе к концу. Это результат того, что я пытался подогнуть магнит по форме углубления (оно получилось слегка выпуклым). Ну не знал я что неодимовые магниты изготовляются методом порошковой металлургии.

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

СПИДОМЕТР ВЕЛОСИПЕДА

Сразу же надо сказать, что велоспидометры наша промышленность освоила давно. Но они предназначены для велосипедов типа «Турист» и «Спутник» и, к сожалению, не подходят для других двухколесных машин. К тому же узел зацепления кинематической пары шестерня — колесо представляет собой весьма хрупкую конструкцию, при поломке в поездке (например, при падении) ремонт его оказывается затруднительным. А как быть тем, у кого имеется мопед «Рига» или мотовелосипед собственной конструкции с мотором Д-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 км/ч. Существенного истирания ролика незаметно. Но если бы оно обнаружилось, достаточно передвинуть кронштейн вдоль продолговатого отверстия вверх или вниз — и ролик войдет в контакт с диском неизношенной частью своей поверхности.

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

Самодельный велокомпьютер, или как Arduino на улицу попал


Здравствуй, Хабр! Мне хотелось бы поделиться историей о создании велокопомпьютера своими руками. После покупки велосипеда я решил как-то фиксировать свой прогресс, но мобильные трекеры оказались не самым удобным решением, а из Китая ко мне уже летел заранее заказанный там 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). Но что самое интересное — после поездки часы пришли в норму.

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

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

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

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