Этот простой тахометр на ATtiny2313 умеет считать количество оборотов любых двигателей, будь то многофазные, многотактные и т.п. Он может быть полезен в авто- мототехнике, для отображения оборотов двигателя. При этом совершенно не имеет значения, сколько тактов или цилиндров имеет двигатель. Его также можно использовать совместно с электронными контроллерами электродвигателей, будь то одно- или трёхфазные.
Схема тахометра очень простая - один микроконтроллер ATtiny2313 и четырёхсимвольный светодиодный индикатор. Транзисторные ключи в целях упрощения отсутствуют. Индикатор можно использовать как с общим катодом, так и с общим анодом - это выбирается в исходнике. Тахометр может подсчитывать обороты как в секунду, так и в минуту, что делает его полностью универсальным.
Дополнительно устройство имеет возможность программного управления яркостью: обычная и пониженная. Если джампер открыт, то устанавливается обычная яркость. При замыкании контактов яркость уменьшается.
Нажмите для увеличения
Перейдём непосредственно к схеме. Если устройство подключается непосредственно к контроллеру двигателя с TTL-уровнями, то импульсы можно подавать просто на вывод 6 микроконтроллера. В противном случае следует выполнить простейший преобразователь уровня на транзисторе.
Для получения и стабилизации напряжения питания +5 вольт применён линейный стабилизатор 1117 с низким падением напряжения для большей экономичности.
В качестве светодиодного индикатора применён индикатор от микроволновки с общим анодом. Так как он уже содержит в себе резисторы на 220 Ом, то на печатной плате они не предусмотрены.
На верхней стороне печатной платы имеются аж 10 перемычек, но они весьма легко устанавливаются.
С обратной стороны установлены SMD-компоненты: это два конденсатора по 22 пФ для кварцевого резонатора, микросхема стабилизатора и фильтрующие конденсаторы.
Кварцевый резонатор для микроконтроллера ATtiny2313 можно устанавливать на 8 или 4МГц, это задаётся в исходнике и управляет прескалером.
Режим отображения оборотов - в секунду или в минуту - задаётся аналогично, в исходнике. Для отображения количества оборотов в минуту рассчитанное количество оборотов в секунду просто программно умножается на 60. Имеется возможность программного округления расчитаных значений. Эти нюансы прокомментированы в исходном коде.
При прошивке микроконтроллера необходимо установить фьюзы:
CKSEL1=0 BODLEVEL0=0 BODLEVER1=0 SPMEN=0
Страница автора проекта: http://hardlock.org.ua/viewtopic.php?f=9&t=16
Исходник написан на языке C в Codevision AVR. Он был позаимствован из другого проекта - тахометра для трёхлопастного вертолёта.
Коротко о настройке: необходимо заранее определить, какое количество импульсов за 1 оборот будет подаваться на вход тахометра. Например, если их источником будет контроллер трёхфазного мотора на LB11880, то он выдаёт по три импульса на каждый оборот шпинделя. Поэтому в исходном коде следует указать это значение.
Выбор индикатора - с общим анодом или с общим катодом (ненужное значение - закомментировать):
//#define Anode #define Cathode
Количество тахометрических импульсов на 1 оборот вала:
#define byBladeCnt 2
Выбор частоты кварцевого резонатора - 0x00 для 4МГц, 0x01 - для 8МГц:
#define Prescaler 0x01
Выбор отображения оборотов в минуту:
lTmp = (62500L * 60L * (long)wFlashCnt);
Для отображения количества оборотов в секунду необходимо убрать умножение на 60:
lTmp = (62500L * (long)wFlashCnt);
Для того, чтобы отключить округление значений, нужно закомментировать следующие строки:
if (byDisplay[3] > 4) { wRpm++; R += 10; }
byDisplay[3] = 0;
Так как в этой конкретной конструкции применён весьма специфический индикатор, то разводка печатной платы не прикладывается.
Сделал этот тахометр для сверлильного станка. Мою печатку можно взять тут:
Автору респект!
Пользовательские теги: тахометр на attiny2313самодельный тахометр для автомобиля[ Что это? ]
Дальше в разделе Радиотехника, электроника и схемы своими руками: Ремонт настольной лампы, Простой способ, как починить настольную лампу, когда у неё ломается нижнее крепление к основанию.