Вы здесь:
Главная » Все записи » Велосипедный электронный счетчик своими руками

Велосипедный электронный счетчик своими руками

История создания

Велосипедный электронный счетчик своими рукамиВ пожилом возрасте многие начинают задумываться о собственном здоровье. Например, мой отец в 50 лет начал усиленно не только думать о выше сказанном, но делать зарядку по утрам по 40-50 минут, да ещё с гантелями, да ещё с закаливанием и купанием в проруби. К 60-ти годам заработал инфаркт.

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

Зато решил заняться велосипедом. Велосипеды в то время стоили относительно  недорого и были доступны. Приобретя велосипед украинского производства СЛАВУТИЧ, я очень скоро пожалел об этом. Он постоянно ломался. То педальный рычаг скрипит, и никакие клинья не устраняли противный скрип, пока я не заварил их намертво. То цепь спадает, пока я не обнаружил что большая звёздочка кривая, взял молоток и на глазок исправил. Педали разваливались, покупал новые, пока резьба не сносилась, педаль выпала, пришлось намертво заварить. Затем лопнула гайка в руле, пришлось вытащить руль, рихтовать его молотком и тем же молотком забить его обратно.

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

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

Возник вопрос, сколько я проезжаю километров, сколько могу проехать, как измерить путь. Так я пришёл к мысли,  нужен счётчик.

Начал прикидывать, как это можно сделать. Во первых, необходимо автономное питание не ниже 4-х вольт, иначе индикатор будет плохо светиться. Во вторых прибор не должен бояться дождя и тряски и быть достаточно экономичным. Остановил выбор на микроконтроллере (МК) ATTiny2313. Когда написал программу, замерил ток потребления без индикатора. Он оказался равным 3мА, с индикатором 25мА. При эпизодическом присоединении индикатора (при снятии замера) 3-х батареек хватит на несколько лет.

Принципиальная схема

На Рис.1 представлена принципиальная схема.

Велосипедный электронный счетчик своими руками

        Рисунок 1

При движении колесо поворачивается и магнит закреплённый на спицах переднего колеса проходит в нескольких миллиметрах от герконового реле, закреплённого на передней вилке велосипеда. Контакты реле замыкаются и на входе D(PD2) появляется на короткое время логический ноль. Программа обрабатывает этот сигнал добавляя в счётчик один импульс. Так как длина окружности моего колеса 2м 20см, то отработав 5 оборотов, в пройденный путь добавляется 11 метров с последующим выводом накопленной суммы на светодиодный индикатор IND. На индикатор выводится информация при условии логического нуля на входе МК ЗИ(PB7). Это сделано с целью экономии батареи.

Датчик

На переднее колесо велосипеда крепится любой магнит от которого может сработать герконовое реле, закреплённое на вилке велосипеда. Я использовал пару магнит-реле от охранной сигнализации. При наезде магнита на реле, последнее замыкается и выдаёт логический 0 на ножку МК PD2. Далее магнит съезжает с геркона, контакты размыкаются и выдаётся логическая 1 на ножку МК PD2.

Индикатор

Индикатор динамического типа 5 разрядов на 7-и сегментах, без разделительной точки. Попытка определить тип не увенчалась успехом. Вооружившись светодиодным пробником вызвонил весь индикатор. В результате нарисовал картинку, см.Рис.2.

Велосипедный электронный счетчик своими руками

Для удобства кодирования после разводки печатной платы каждый сегмент привязал к ножкам индикатора. Например, цифра 12 означает анод «a» всех 5-и разрядов, цифра 1 означает анод «g» всех 5-и разрядов и т.д. А цифра 13 означает катоды старшего разряда индикатора. Кодировка сегмента «a+12;-13;» означает что анод данного сегмента припаян к 12 ножке индикатора, а катод припаян к 13 ножке индикатора, обозначенной на схеме как 0Р – нулевой младший разряд (См.Рис.1.)

Для управления сегментом индикатора необходимо подать через сопротивление 620 Ом лог.1 на анод и лог.0 на катод. Например, необходимо высветить цифру 1 в младшем, 0-ом разряде индикатора. Выставляется логическая единица на PB1и PA0, и логический 0 на PB6. При этом ток протекает по цепи PB1, сопротивление R5 = 620 Ом, 8-я ножка индикатора, анод b и по катоду  b стекает в землю.  Аналогично + PA0, R4 = 620 Ом, 3-я ножка индикатора, анод с и по катоду   с стекает в землю.

Программирование

Для удобства кодирования  в программу вводятся следующие макросы:

Кодирование сегментов Кодирование цифр
#define a   DDRB.5=PORTB.5=1; #define _1 cl b c
#define b   DDRB.1=PORTB.1=1; #define _2 cl a b g e d
#define c   DDRA.0=PORTA.0=1; #define _3 cl a b g c d
#define d   DDRD.5=PORTD.5=1; #define _4 cl f g b c
#define e   DDRD.3=PORTD.3=1; #define _5 cl a f g c d
#define f   DDRB.2=PORTB.2=1; #define _6 cl a f g c d e
#define g   DDRD.1=PORTD.1=1; #define _7 cl a b c
#define _8 cl a b c d e f g
#define _9 cl a b c d f g
#define _0 cl a b c d e f

                                                            Таблица 1

Например, для индикации числа 12345 пишем в программе код _1 _2 _3 _4 _5. Элемент  «cl» (См.Кодирование цифр), означает очистку портов МК перед выдачей очередного кода. Макрос «cl» описывается Процедурой 1.

#define cl DDRA=DDRB=DDRD=PORTA=PORTB=PORTD=0; Процедура  1

Кодировка разрядов (катодов) описывается макросами См.Процедуру 2:

#define _0r DDRB.6=1;PORTB.6=0;

#define _1r DDRA.1=1;PORTA.1=0;

#define _2r DDRB.3=1;PORTB.3=0;

#define _3r DDRD.4=1;PORTD.4=0;

#define _4r DDRB.0=1;PORTB.0=0; 

Процедура 2

Например, следующий фрагмент программы выдаёт числа на индикатор 11111, 22222, 33333, 44444,  z – задержка в 50 млС. См.Процедуру 3.

_1 _0r z  _1 _1r z _1 _2r z  _1 _3r  z _1 _4r z   

_2 _0r z  _2 _1r z _2 _2r z  _2 _3r  z _2 _4r z   

 _3 _0r z  _3 _1r z  _3 _2r z  _3 _3r  z  _3 _4r z   

 _4 _0r z  _4 _1r z  _4 _2r z   _4 _3r  z  _4 _4r z    

Процедура 3

Визуально наблюдаемая картинка 11111 заполняет индикатор слева направо, затем 22222, потом 33333 и наконец 44444.

Формирование  числа накопленных  метров идёт по Процедуре 4:

 

void main(void)

 {

   unsigned char cikl=0;

   while (1)

    {

       while(PIND.2){if (!PINB.7)v2(metr);if(PINB.7)cl}

       z1

       cikl++;

      if(cikl==5){ cikl=0; metr+=11;}

      while(!PIND.2){if (!PINB.7)v2(metr);if(PINB.7)cl}

      z1

   }

}

Процедура 4

Последняя исследует следующие состояния прибора:

  1. Когда геркон и магнит не совмещены, PIND.2=1.
  2. Когда геркон и магнит  совмещены, PIND.2=0.
  3. Когда магнит наезжает на геркон, переход  PIND.2 из 1 в 0.
  4. Когда магнит съезжает с геркона, переход  PIND.2 из 0 в 1.

Когда геркон и магнит не совмещены идёт анализ PINB.7, данный канал завязан на велосипедиста. Если он хочет экономить энергию батареек, он отключает данный канал от 0 и индикации не происходит, экономится 22 мА и порты формирующие индикацию находятся в нулевом состоянии (См.Процедура  1).  Если велосипедист хочет посмотреть результат, он приводит PINB.7 в 0 и индикатор поджигается функцией V2(metr) с выводом результата.

Когда магнит наезжает на геркон, происходит переход  PIND.2 из 1 в 0, идёт небольшая задержка в 200 мкС для ухода от  дребезга контактов реле и увеличивается на 1 числа оборотов колеса – переменная cikl. Длина окружности колеса моего велосипеда 2м 20см. Поэтому Процедура 4 накапливает 5 оборотов что равно 11 метров. Далее переменная metr увеличается 11 и указанная сумма высвечивается на индикаторе.

Так как замкнутое состояние геркона продолжается некоторое время то здесь также идёт вывод на индикацию, обнуление портов и т.д.

Так как процесс работы прибора имеет циклический характер, то применяется оператор бесконечного цикла while(1).

Печатная плата

Велосипедный электронный счетчик своими руками

Рисунок 3

Печатная плата состоит из 2-х частей (этажей) скрепляемых по периметру между собой медными проводниками диаметром 0.7мм (См.Рис.4) В начале 2 половинки вырезались на одной плате с помощью ЧПУ СНС3, затем по белым контурным линиям вырезались сами половинки.  Все резисторы SMD-типа. На плате указаны кнопка S1 для кратковременного вывода информации на индикатор и выключатель  W1 для подключения батареи к прибору. Эти элементы располагались внутри корпуса и для доступа к ним, в скотче предохраняющем от попадания влаги были проплавлены отверстия. Но оказалось, что пользоваться данной технологией не совсем удобно да и влага всё равно попадала, пришлось их удалить и заменить «папой с мамой» (разъём Ш1), предварительно защитив его капелькой эпоксидной смолы (См.Рис.5).

Вид изнутри

 

Велосипедный электронный счетчик своими руками

Рисунок 4

Внешний вид велосчётчика

Велосипедный электронный счетчик своими руками

Рисунок 5

Велосипедный электронный счетчик своими руками

Рисунок 6

Велосипедный электронный счетчик своими руками

Рисунок 7

При соединении «папы с мамой» разъёма Ш1 подаётся питание на МК, идёт разрешение на индикацию.

Автор: Владимир Шишмаков



ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ



П О П У Л Я Р Н О Е:

  • Визуальное устройство контроля предохранителя на NE555 (КР1006ВИ1)
  • Визуальное устройство контроля предохранителя на NE555 (КР1006ВИ1)Как проконтролировать сгоревший предохранитель?

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

    Подробнее…

  • Индикаторы напряжения в бортовой сети автомобиля
  • Индикаторы напряжения в бортовой сети автомобиля

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

  • Устройство для определения воздухопроницаемости трикотажных полотен
  • УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ВОЗДУХОПРОНИЦАЕМОСТИ ТРИКОТАЖНЫХ ПОЛОТЕНПолезная модель относится к материаловедению изделий текстильной  и легкой промышленности, а именно к методам изучения структуры и свойств трикотажных полотен во время их лабораторных и производственных испытаний.

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

    Подробнее…


Популярность: 133 просм.
Вы можете следить за комментариями к этой записи через RSS 2.0. Вы можете оставить комментарий:.

Ваш комментарий


- НАВИГАТОР -




Прислать свою поделку!

А ТАКЖЕ ЕЩЁ ИНТЕРЕСНОЕ:



MasterVintik