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

Тема: Датчик велокомпьютера

Опции темы

Датчик велокомпьютера

Ставлю велокомп на самокат, вот такая модель
http://www.vdocyclecomputer.com/en/p. 8/ausstattung/
Умеет мелкие колеса, реально можно ввести периметр колеса от 100мм.

Возник вопрос, что там внутри датчика?

Спиц у меня нет, магнит вмонтировал в колесо, думаю как ставить датчик.
Есть несколько вариантов, все реализуемы механический, тут вопросов нет.
Вопрос возник ориентации датчика относительно магнита и допустимых зазорах.

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

Re: Датчик велокомпьютера

Колесо-то железное? И в него магнит вставлен, то бишь, оно само приобретает свойства. Отсюда и глюки. Внутри датчика наверняка геркон. Я шефу на лисапед ставил подобную фигню, одна из главных проблем была именно выставить зазор, тем паче, там крепление не особо гибкое по настройкам было.

Re: Датчик велокомпьютера

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

Источник

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

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


Источник

Arduino! Что дальше? Делаем велокомпьютер

Мой отец увлекался электроникой. Дома был паяльник, провода, куча радиодеталей. Он с лёгкостью чинил телевизоры, холодильники — в качестве хобби. Я всегда был рядом.

В 10 лет мне подарили радио конструктор, я думаю у многих такой был.

Я собрал на нем все схемы, мне нравилось как они работали. Изучил все основные радиодетали. Потом купили радиоконструктор — «радиоприемник в корпусе». Надо было уже паять, он тоже скоро был готов и отлично работал. Я продолжал делать небольшие схемки. Платы — лак и стеклянные трубочки. Но потом увлёкся программированием. Освоил Си, потом Си++. По окончанию университета, стал работать программистом, чем и занят по сей день.

Arduino

Когда у меня подрос сын, я решил его тоже научить электронике. Взял свой старый пыльный конструктор и … сын его «выкинул». Что это за хлам, зачем мне пищать разными тонами. Какие- то не интересные схемы. Я задумался, и стал смотреть, чем можно заменить его. Знаток и другие конструкторы, были в общем-то аналогичны. И тут я случайно наткнулся на Arduino. Вот то, что нужно. Электроника и программирование в одном флаконе.

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

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

Читайте также:  Восстановление тягового аккумулятора своими руками

Мои знакомые выводные резисторы заменились на SMD компоненты. Очень сложные платы можно было делать дома с помощью лазерного принтера. Схемы можно тестировать в симуляторах. В интернет очень много информации, схемы, курсы по программированию. Я стал во всем этом разбираться.

Выбираем компоненты для велокомпьютера, схема

Все должно быть недорого. Если сгорит, то не жалко. Это ведь первый прибор. Посмотрели, что продаётся на рынке. Как правило, все велокомпьютеры крепятся на руле, имеют экран, защищены от дождя, имеют один или два датчика (на колесо и на педали). Они могут посчитать пробег, показать текущую скорость, каденс (количество оборотов педалей), время поездки, потраченные калории и другие показатели.

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

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

Решили добавить звук — пищалку, так можно сигнализировать о разных событиях. Очень понравилась идея, что каденс должен быть не меньше 80, вот об этом и будем пищать. В качестве пищалки — динамик от сотового телефона:

Батарейки порядком надоели, решили осваивать аккумуляторы. У нас был небольшой аккумулятор от детского вертолёта — его и берём, потом оказалось? что такой тяжело купить, поменяли на LIR2450.

Выбираем корпус. Понравился вот такой от компании Gainta.

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

Микроконтроллер — конечно ATMEGA, как на Arduino. Сколько же он стоит — больше 100р в москве. Странно, в китае готовая Arduino всего 200р. Решил выбрать замену — Attiny, но она не очень понравилась. Я стал копать, и случайно наткнулся на серию stm8, stm8s003f3p всего 20руб, при том, что есть вся периферия. Отлично! Будем делать на нем. Правда среда другая, но там Си, который я знал. Так же плюсом стало наличие нормального отладчика, чем в Arduino очень не хватало!

Подбираем схемы зарядки li-ion. Довольно быстро я вышел на микросхему TP4056 — 10р, правда в Китае — заказываем десяток — пригодятся. Плата защиты от переразряда встроена в аккумулятор — так что не нужна. Но в принципе, у STM8 порог включения 3в, так что плат защиты особенно не нужна.

Все — схема готова, компоненты выбраны. Нужен программатор ST-link, купил готовый в Москве, как оказалось потом дорого, ну да ладно. Наша первая схема:

Делаем плату и все паяем, прибор готов

Сделали плату. ЛУТ методом не получилось. Нашли новый метод — путём холодного переноса тонера, с помощью ацетоном. Получилась отличная плата, правда конечно с небольшими косяками, метод потом довели до идеала. Пользуемся до сих пор. Плата готова. Ждём микросхемы из китая (TP4056 у нас купить не реально). Все приехало. Начинаем паять и видим, что при разводке микросхемы зарядки выбрали не тот корпус, очень похожи названия SO8, MSOP8! Но плата уже готова, переделывать лень, во второй версии учтём! Убираем функцию зарядки и делаем ее на отдельной плате. Проводками все замыкаем как надо.

Собираем все в корпус — обе дырки крепёжные не там. Ладно не беда, крепим вверх ногами, и подбиваем поролоном. Крепим кнопку — не крепится. Заливаем термоклеем — отваливается. В итоге делаем так:

На будущее — лучше было делать кнопку на плате сразу! Крепим пищалку — куча проводов, все мешается, но работает.

Переходим к программированию

Для облегчения работы сыну, пришлось провести небольшую лекцию, что вместо одной функции надо писать другую:

  • digitalWrite = GPIO_WriteHigh
  • digitalRead = GPIO_ReadInputPin
  • pinMode = GPIO_Init
  • Delay — написали сами
  • millis() — не нужен, перешли на миллисекундный таймер и прерывания, очень удобно.

Начали писать программу. Таймеры, кнопки, все через прерывания. Написали тестовую программу и перешли к тестированию. Первая строка кода — включаем bluetooth модуль. И тут получаем кризис «мозга». Сколько времени убито, чтобы решить проблему. Включаем bluetooth модуль и… МК перегружается. Что не так, все работает, конденсаторы на месте, модуль потребляет 30 мА, но не работает. Через 2 недели мучительных проверок, тестов и различных советов на форумах — причина найдена. На плате bluetooth модуля есть конденсаторы, при быстром включении модуля они заряжаются, питание МК резко проседает и он перегружается. В итоге ограничиваем линию питания модуля через резистор 10 ом (подобрали опытным путем) — все отлично работает. Правильнее было питать модуль от отдельного LDO.

Готова первая тестовая мини программа — пищим, считаем скорость и выдаём на телефон. Включаем — писк еле слышно. Оказалось питание у нас не 5в и потому тихо. Добавляем на отдельной мини платке — тразистор — отлично — слышно громко.

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

Итак поехали. Вместо одного оборота — тысячи. Что за ерунда. Разбираемся, ага, дребезг контактов, ставим задержки — отлично работает. Проверяем скорость совпадает с GPS на телефоне. Начинаем заниматься энерго сбережением. Прибор должен спать очень долго и работать экономно.

Читайте также:  Диагностика автомобиля форд фокус 2 своими руками

Энергосбережение.

Основная цель, на одном заряде прибор должен работать очень долго. Выключателя нет, будем использовать спящий режим. Прибор должен сам включаться, внешние прерывания от геркона, сам выключаться, если нет движения 2 минуты, то выключаемся. И самое главное, он должен сам собирать статистику по поездкам и хранить ее в памяти. Долго думали как определить, что такое одна поездка? И решили, что если в течение 3 часов не было движения, то поездка закончилась, и велосипед дома. Чтобы 3часа не работать в полном режиме, решено использовать режим сна, с таймером автопробуждения. Таймер можно завести максимум на 30 секунд, так что просыпаемся каждые 30 сек, уменьшаем счётчик, и так, пока не пройдет 3ч. Как прошло — поездка закончена фиксируем данные. Отладить данный алгоритм было не легко, компилятор пытался каждый раз помешать оптимизацией кода. Но, в итоге, все получилось.

По теоретическому расчёту, прибор должен спать больше года, МК в спящем режиме 4мка, если все отключить, отлично. Программируем спящий режим — проверяем. Спит 3 недели и батарея садится. Вместо 4мка — откуда то имеем больше 200мка. Опять все проверяем, и видим, что LDO потребляет в пассивном режиме 200мка. Нашли. Надо менять схему! Пока тестируем дальше.

Дополнительные функции

В отличие от велокомпьютеров, которые есть на рынке, решили добавить функционал. Наш прибор должен уметь:

  • вести статистику за последние 4 поездки, и хранить это все в энергонезависимой памяти
  • считать калории, только когда крутятся педали
  • считать активное время поездки, когда скорость была больше 4 км\ч
  • иметь возможность контролировать скорость и каденс, и при нарушении выбранного режима оповещать звуком
  • программироваться по bluetooth: очистка памяти, вывод информации о прошлых поездках, установка параметров — вес, диаметр колеса, параметры контроля скорости
  • учитывать не среднюю скорость, а скорость, с которой ехали большую часть времени. Это необходимо, например, для случая, когда вы едете час, потом отдыхаете 30 минут, потом опять едете, опять постояли 5 минут. Всегда была разная скорость. 5 минут ехали в гору, 10 секунд с горы. В итоге средняя скорость будет совсем не показательна. А вот скорость, с которой ехали наибольшее время — то, что надо

Дописываем все эти функции. Задача не простая, но интересная — работа с массивами, условиями. На очередной новой функции получаем сообщение — программная память закончилась. У МК всего 8 кбайт. Жалко, что можно сделать? Начинаем анализировать лог, куда все ушло, и видим, что в стандартной библиотеке есть режим отладки и он включён, выключаем — получаем дополнительно 2кб памяти. Теперь хватает. В итоге, все функции влезли, и ещё чуть-чуть осталось.

Отдельно стоит рассказать про сам микроконтроллер STM8. Все это время он показывал себя просто отлично. Чего только с ним не делали, по ошибке. И питание подавали плюс на минус — жив, и на ножки подавали HIGH, при коротком замыкании на землю, тоже жив. В общем довольно надёжный микроконтроллер. Очень понравилось работать в отладчике. Почти как на компьютере. Симулятор помог отладить сложные функции, тоже удобно. В общем при такой цене, микроконтроллер просто отличный. А ещё есть версия с 32к флеша на борту, за 60 рублей, вообще супер.

Финальная версия

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

Для остальных членов семьи делаем новую схему и переделываем плату. Учитываем ошибки:

  • заменяем пищалку на более громкую HC0903A
  • убираем LDO с МК, оставляем его для bluetooth, для сопряжения простой делитель на резисторах
  • Добавляем usb разъем — так заряжать удобнее
  • Добавляем угловую кнопку сразу на плату — проводов лишних нет
  • Один геркон убрали в корпус, а второй, для педалей оставили на проводе, разъем убрали — почти полное отсутствие проводов.

Катались все лето, за 3 месяца аккумулятор ни разу не пришлось заряжать.

Проектом очень довольны. Оказалось от макета на Arduino, до конечного изделия — как океан переплыть, даже на таком просто приборе. Столько много мелких недоработок никто не ожидал встретить. Зато на практике проверили, что не так сложно перейти на другой класс микроконтроллеров, они оказались очень похожи между собой. Жалко, что smt8 не так распространён. Но, если писать простую программу, то хватает стандартной библиотеки от ST, все драйвера там есть — UART, I2C, SPI, ADC, EEPROM.

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

Если же вам интересно сделать такой же велокомпьютер, то вся информация по проекту есть на github. Единственное, очень рекомендую, написать прошивку самостоятельно, чтобы заработать опыт! Делая этот прибор, вы научитесь:

  • Разводить платы в Kicad
  • Делать платы дома
  • Паять smd компоненты
  • Программировать микроконтроллеры

Источник

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