Главная » Микроконтроллеры
Призовой фонд
на январь 2017 г.
1. 5000 руб.
Академия Благородных Металлов
2. 1000 руб.
Radio-Sale
3. Регулируемый паяльник 60 Вт
Паяльник
4. 600 руб.
От пользователей
5. Тестер компонентов LCR-T4
Паяльник

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

После покупки нового велосипеда решил я его оснастить велокомпьютером, но китайские поделки покупать не стал по трём причинам:
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 порт, подключённый прямо к аккумулятору. Возможно, вы скажете, это же не правильно! И будете правы, для этого дела есть специальные микросхемы но я таковой микрухи не нашёл и пришлось довольствоваться тем что было. Но как-никак зарядка идёт, и за два часа заряда мой аккумулятор заряжается полностью. В рабочем режиме с включенной подсветкой дисплея велокомпьютер потребляет ~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МГц

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

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

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

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

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

Заключение

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

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

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

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
МК AVR 8-бит
ATtiny2313
1 Поиск в FivelВ блокнот
VT1 Биполярный транзистор
BC546B
1 Поиск в FivelВ блокнот
С1 Конденсатор0.1 мкФ1 Поиск в FivelВ блокнот
С2, С3 Конденсатор18 пФ2 Поиск в FivelВ блокнот
С4 Электролитический конденсатор100 мкФ1 Поиск в FivelВ блокнот
R1-R5 Резистор
10 кОм
5 Поиск в FivelВ блокнот
R6 Переменный резистор10 кОм1 Поиск в FivelВ блокнот
R7, R8 Резистор
1 кОм
2 Поиск в FivelВ блокнот
R9 Резистор
100 Ом
1 Поиск в FivelВ блокнот
HL1 Светодиод1 Поиск в FivelВ блокнот
LCD-дисплей1 Поиск в FivelВ блокнот
Cr1 Кварц4 МГц1 Поиск в FivelВ блокнот
Ls1 Пьезоизлучатель1 Поиск в FivelВ блокнот
S1-S3 Кнопка3 Поиск в FivelВ блокнот
Добавить все

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

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

Теги:

Опубликована: 0 0
Я собрал 0 1
x

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

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.7 Проголосовало: 1 чел.

Комментарии (28) | Я собрал (0) | Подписаться

-1
Олег #
Всё бы хорошо, но вот проблема... Там геркон не растрясёт?! Они же к тряске, которая для велосипеда - обычное дело, не приспособлены.
Ответить
+1
Автор #
Незнаю... У меня все отлично работает уже 200км, чего и вам желаю!
Ответить
+1
вова #
Я предполагаю все на герконах катаются, у кого есть сей или иной аппарат. Просто по другому было бы намного сложнее
Ответить
0
Вася #
Даже в фирменных велокомпьютерах применяется геркон.
Ответить
0
Евгений #
Подскажите можно ли стереть с памяти EEPROM общее расстояние?
Ответить
0
Alex #
Нет, там растрясать нечего. Лишь бы не разбился. Отечественные герконы вечные, абсолютно - если нету, не жалейте денег, покупайте наши. А вот китайские дрянные могут выйти из строя, но не от тряски, а просто из-за их низкого качества (хотя, казалось бы, там ломаться нечему).
Можно конечно, датчик холла приспособить, например из компьютерного вентилятора вытащить. Но герконы (из разряда хороших) такие надежные, что нет смысла усложнять!
Ответить
+2
Serbers #
В принципе идея неплохая...
подкупает своей простотой, повторяемостью ну и конечно относительной дешевизной.
Но если честно, проект сыроват. После недельки другой, просто начнешь забывать включать или выключать велокомп. Вообще я назвал бы это игрушкой. Без обид конечно, но так оно и есть: захотел включил, а забыл так ну его.

Итак идеи для доработки, которые превратят эту игрушку в настоящий велокомпьютер:
1. Засыпание компьютера через, к примеру, 5 минут простоя (нет сигнала с датчика);
2. Автопросыпание велокомпьютера по сигналу датчика;
3. Автосохранение общего пробега при выключении;
4. Добавить некоторую универсальность - значение колесо также записывать в энергонезависимую память и иметь возможность ее программного изменения;
Также можно добавить датчик температуры DS18B20.

Если реализовать идею №2, то желательно убрать всякие там экраны приветствия...
Если я не ошибаюсь, выбранный ЖК экранчик имеет кириллицу. Почему бы не русифицировать его?

PS: Автор конечно молодец, хотя бы потому что, вместо убивания времени скажем за компьютером у него есть свои хобби - электроника, велик...
Ответить
0
Автор #
Спасибо за идеи! Есть над чем поработать. Мой дисплей не поддерживает кириллицу иначе бы русифицировал. Если применить датчик DS18B20 то надо перелазить на другой МК, так как на этом очень мало памяти осталось.
Ответить
+1
Алекс #
Да нормально в симуляторе все работает, не медленно.
Ответить
0
Attiny2313 #
У кого какой комп...
Ответить
+1
Владимир #
Полностью присоединюсь к Serbers!
Необходимо:
1 автоматическое включение/выключение
2 часы
Желательно: максимальная и средняя скорость
На мой взгляд лучше всего в качестве дисплея использовать светодиодные индикаторы (бывают такие совсем мелкие примерно 4*6 мм толщиной 2мм), но видно их хорошо.
P.S. Сам в начале велосезона искал схему велокомпа. Но ничего приемлемого не нашлось..
Автор молодец. Надеюсь ты доведёшь до ума данное изделие и мы с удовольствием его повторим
Ответить
0
Вламимир #
Олег в заводских велокомпах стоят именно герконы! Ничего не растрясывает! Геркон можно взять в магазине охранной сигнализации пр 30руб.
Да и счётчик педалирования не помешает!
Ответить
+3
Алексей #
Респект автору. В таком возрасте делать подобные устройства на МК - это очень неплохо! Изучайте, совершенствуйтесь и не останавливайтесь на достигнутом!
Ответить
0
Владимир #
Я тоже собрал себе велокомпьютер, но немного покруче. Короче купил OLED дисплей под него купил алюминиевый корпус, (почему не простой монохром, а потому что я езжу и зимой, а монохром тупо не выдержал низкой температуры, к слову температура была где то -25, и вышел из строя, а монохром OLED держит -40). Собрал все это чудо на пике, на индикацию отдаю скорость, время, заряд батареи (батарея 12В) и процент ШИМ от 0 до 100%.
Расскажу почему 12В, фара просто чудо (то же самодельная, три мощных светодиода последовательно отсюда и 12 В), на багажник установил красные светодиоды 1W с оптикой два габарит и трим стоп сигнал, на руле кнопка FLASH сигнал (пока нажата кнопка фара светит полным накалом, сильно вредных водителей с дальним светом иногда приходится воспитывать) если стал в темное время суток рядом с проезжей частью да и так можно если просто ночью остановился включить стояночный сигнал (моргает габарит и слегка засвеченная фара на 10%), короче напихал туда и еще есть идеи что можно дополнить.
Ответить
0
Сергей #
Ну так выложите свой вариант схемы вело-спидометра, а мы посмотрим
Ответить
0
Юрий #
А если вместо геркона, построить сей девайс на фотодатчике??
Ответить
0
Rhime #
Вместо геркона нужно было бы датчик Холла.
Ответить
+1
vlad #
Собрал этот девайс. Скажите, у всех показывает скорости:7,14,21,28? А где скорости 8,9,10?
Ответить
0
Hermod #
Прошивка сырая и девайс не работает как заявляет автор. Аналогичная ситуация скорости 7,14,21,28...
и в Proteus и в железе. Странный алгоритм считывания скорости... Короче, прошивка сырая и ее еще надо допиливать. По поводу датчика... геркон это в дешевых китайских вело спидометрах и у кулибиных не читающих даташиты. Геркон не переносит вибрации, имеет достаточно сильный дребезг контакта, У геркона есть такое понятие как частота коммутации и время срабатывания /отпуска. Датчик Холла, это то что нужно в данном случае, если надо получать точную скорость и пробег.
Ответить
0
Сергей Луценко #
Очень порадовала статья! Я очень рад, что ещё есть такие рукастые и заинтересованные идеей, которая ещё к тому же и успешно воплощена.. Такой самоделки бы ещё адаптированный заводской дисплей и водонепроницаемый корпус, дала бы фору китайскому ширпотребу. Браво! В заключении я бы хотел уточнить тип применяемого геркона. Его, к сожалению, нет в описании.
Ответить
0
Сергей #
Очень заинтересовала Ваша статья! Давно хотел сделать похожий вело-компьютер сыну. С нетерпением буду ждать обновленную версию прошивки с учетом выше изложенных пожеланий!
Ответить
0
марат #
А можно использовать дисплей на контроллере HD44780 2*16, а не дисплей на контроллере HD44780 1*16?
Ответить
0
Вадим #
Идея хорошая, автору респект, можно конечно купить китайский, но своими руками сделать по любому круче есть что еще можно допилить каденс например, счетчик калорий, подсветку по времени суток, термометр на улице и в салоне. Но нужен другой контроллер, где-то встречал самоделку с кучей наворотов даже журнал покатух на год был, и вставлен в корпус и с дисплеем от какой то нокии
Ответить
0

[Автор]
alex98y #
Автор забил на велосипед и пересел на мотоцикл. Так что ждите новых статей про электронные устройства на мото
Ответить
0
тоха #
Велокомп спаял - работает. Но не ахти. Прошивал в пони и фюзы не знал как выставить (ведь я не художник, я только учусь). Может подскажет кто-нибудь как правильно прошить с фюзами в пони-прог?
Ответить
0
Attiny2313 #
По какому алгоритму определяется скорость? Хочу создать нечто помощнее
Ответить
0
Виталий #
Датчик холла лучше вместо геркона
Ответить
0
Дмитрий #
За что люблю писателей в баском - они никогда не жмут исходник! Удачных покатушек автору и побольше интересных конструкций!
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Сатфайндер ELM327 OBD II — адаптер с поддержкой CAN
вверх