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

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

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

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

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

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

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

  • Микроконтроллер Attiny2313 1шт.
  • Кнопки тактовые (без фиксации) 3шт.
  • Резисторы номиналом 10 кОм 5шт.
  • Резисторы номиналом 1 кОм 2шт.
  • Резистор номиналом 100 Ом 1шт.
  • Панелька под микроконтроллер DIP-20 1шт.
  • Транзистор биполярный BC546B 1шт.
  • Пьезоизлучатель 1шт.
  • Кварц 4 МГц 1шт.
  • Светодиод (синего свечения) 1щт.
  • Построечный резистор номиналом 10 кОм 1шт.
  • ЖК индикатор (дисплей) на контроллере HD44780 1*16 1шт.
  • Керамические конденсаторы 18 пФ 2шт.
  • Керамический конденсатор 0.1 мкФ 1шт.
  • Электролитический конденсатор 100 мкФ 1шт.
  • Штекер 2.5 1шт.
  • Гнездо для штекера 2.5 1шт.
  • Гнездо MiniUSB 1шт.
  • Пластмассовый корпус 85x60x35мм 1шт.
  • Крепёж на руль велосипеда 1шт.
  • Кнопка с фиксацией 1шт.
  • Геркон 1шт.
  • Корпус, который я купил для велокомпьютера:

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

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

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

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

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

    Плата:

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

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

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

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

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

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

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

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

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

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

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

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

    Кнопка 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


    Список радиоэлементовОбозначение
    Тип
    Номинал
    Количество
    ПримечаниеМагазинМой блокнот

    МК AVR 8-битATtiny23131
    VT1
    Биполярный транзисторBC546B1
    С1
    Конденсатор0.1 мкФ1
    С2, С3
    Конденсатор18 пФ2
    С4
    Электролитический конденсатор100 мкФ1
    R1-R5
    Резистор10 кОм5
    R6
    Переменный резистор10 кОм1
    R7, R8
    Резистор1 кОм2
    R9
    Резистор100 Ом1
    HL1
    Светодиод1

    LCD-дисплей1
    Cr1
    Кварц4 МГц1
    Ls1
    Пьезоизлучатель1
    S1-S3
    Кнопка3
    Добавить все

    Скачать список элементов (PDF)

    Прикрепленные файлы:

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

    Ваш адрес email не будет опубликован.