Цифровой тахометр на микросхеме attiny2313. Тахометр автомобильный схема

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

Сделать такой прибор самостоятельно конечно же можно, предлагаю схему с микроконтроллером AVR Attiny2313. С таким микроконтроллером можно получить 100 — 9990 об /мин. , точность измерения составляет +/-3 оборотов в минуту.

Характеристики микроконтроллера ATtiny2313

EEPROM 1 Кб
Аналоговые входы (АЦП) 0
Входное напряжение (предельное) 5,5 Вольт
Входное напряжение (рекомендуемое) 4,5-5 Вольт
ОЗУ 128 байт
Тактовая частота 20 МГц
Flash-память 2кБ

На выводе 11 установлен резистор с номиналом 4.7 кОм, не изменяйте номинал, а то датчик начнет работать нестабильно при включение по однопроводной схеме.

В отличие других схем, тут использовались 4 транзистора и 4 резистора, таким образом схему упростили.

Схема имеет 8 сегмента в каждом символе, по 5 мА каждый, общая сумма будет 40 мА, следовательно на порты нет большой нагрузки. Посмотрим графики работы устройства.

Из графики можно заметить что ток может достигнуть от 60мА до 80мА на выход пин. Для точной настройки нужно подбирать ограничительные резисторы с номиналом 470 оМ.

Выбор дисплея не критичен, выбирайте любой светодиодный индикатор на четыре цифры, либо собирайте из отдельных светодиодов. Используйте красный индикатор, чтобы на солнце было все хорошо видно. Тахометр питается от 12 вольт.

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

В прошивке в 17-й строке найдите следующее.

17. #define byBladeCnt 2 //1- две катушки, 2 — одна катушка, 4 — мотоцикл…

Этот параметр нужно менять, если у вас советский автомобиль то поставьте 2, если мотоцикл то 4, а если автомобиль с системой зажигания с двумя катушками то 1.



Простой универсальный тахометр на микроконтроллере ATtiny2313

Этот простой тахометр на ATtiny2313 умеет считать количество оборотов любых двигателей, будь то многофазные, многотактные и т.п. Он может быть полезен в авто- мототехнике, для отображения оборотов двигателя. При этом совершенно не имеет значения, сколько тактов или цилиндров имеет двигатель. Его также можно использовать совместно с электронными контроллерами электродвигателей, будь то одно- или трёхфазные.

Схема тахометра очень простая - один микроконтроллер ATtiny2313 и четырёхсимвольный светодиодный индикатор. Транзисторные ключи в целях упрощения отсутствуют. Индикатор можно использовать как с общим катодом, так и с общим анодом - это выбирается в исходнике. Тахометр может подсчитывать обороты как в секунду, так и в минуту, что делает его полностью универсальным.

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


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

Для получения и стабилизации напряжения питания +5 вольт применён линейный стабилизатор 1117 с низким падением напряжения для большей экономичности.

В качестве светодиодного индикатора применён индикатор от микроволновки с общим анодом. Так как он уже содержит в себе резисторы на 220 Ом, то на печатной плате они не предусмотрены.


На верхней стороне печатной платы имеются аж 10 перемычек, но они весьма легко устанавливаются.


С обратной стороны установлены SMD-компоненты: это два конденсатора по 22 пФ для кварцевого резонатора, микросхема стабилизатора и фильтрующие конденсаторы.

Кварцевый резонатор для микроконтроллера ATtiny2313 можно устанавливать на 8 или 4МГц, это задаётся в исходнике и управляет прескалером.

Режим отображения оборотов - в секунду или в минуту - задаётся аналогично, в исходнике. Для отображения количества оборотов в минуту рассчитанное количество оборотов в секунду просто программно умножается на 60. Имеется возможность программного округления расчитаных значений. Эти нюансы прокомментированы в исходном коде.

При прошивке микроконтроллера необходимо установить фьюзы:

CKSEL1=0
BODLEVEL0=0
BODLEVER1=0
SPMEN=0

Исходник написан на языке 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 > 4)
{
wRpm++;
R += 10;
}

Так как в этой конкретной конструкции применён весьма специфический индикатор, то разводка печатной платы не прикладывается.

Ibrahim Kamal (IKALOGIC)

Рассматриваемый бесконтактный тахометр - это компактное устройство на микроконтроллере ATMega48 производства компании , позволяющее измерять высокие скорости вращения бесконтактным способом. Для измерения используется ИК сенсор (оптопара, ИК светодиод и ИК фотодиод в одном корпусе). Вывод данных осуществляется на двухстрочный символьный ЖК дисплей на базе контроллера HD44780 .

Принцип работы

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

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

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

Таким образом, используя оптопару мы можем подсчитать время полного оборота вала, а далее, зная время (обозначим это время T в секундах), мы можем вычислит количество оборотов в минуту, используя простое выражение 60/T .

Получение данных от сенсора

Для снижения стоимости устройства и сложности сборки, а также для повышения гибкости системы, мы непосредственно подключим ИК сенсор к микроконтроллеру и программно реализуем всю обработку получаемого сигнала. Сразу стоит заметить, что это не так просто, так как получаемый с ИК фотодиода сигнал содержит шумы, а внешнее освещение постоянно оказывает на него влияние. Таким образом, проблема состоит в том, чтобы разработать устройство с автоматической адаптацией к внешней освещенности и расстоянию до объекта измерения.

На рисунке ниже изображена диаграмма аналогового сигнала от ИК сенсора (фотодиода)

Так как сигнал имеет шумы, при каждом определении наличия и отсутствия импульса (наличие импульса говорит о том, что вал вращается и сенсор «видит» отражающую наклейку), большое количество колебаний «вводит в заблуждение» микроконтроллер. Кроме того, эти факторы не позволяют использовать встроенный в микроконтроллер аналоговый компаратор, и нам необходимо ввести обработку аналогового сигнала перед каждой процедурой подсчета циклов.

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

Когда сигнал нарастает от низкого состояния (отсутствует отражение от наклейки на валу) к высокому (отражение ИК импульса), алгоритм возьмет в расчет этот импульс высокого уровня лишь после того, как он пересечет «возрастающий уровень» гистерезиса, и примет в расчет низкий уровень лишь после того, как сигнал пересечет «спадающий уровень» гистерезиса. Такой алгоритм позволяет избежать ошибок вычислений, вызываемых шумным сигналом.

Принципиальная схема устройства

Схемотехническое решение очень простое и компактное (благодаря использованию миниатюрного сенсора), не содержит дорогостоящих компонентов. Питание устройства осуществляется от трех батарей типа AAA.

Как вы, наверное, заметили, отсутствует потенциометр регулировки контрастности дисплея (что также позволяет уменьшить размер устройства). Это возможно благодаря программной реализации алгоритма автоматической подстройки контрастности в зависимости от уровня напряжения питания с применением ШИМ и фильтра низких частот на элементах R3, R4 и C2. Пользователи могут ознакомиться с текстом алгоритма в исходном коде ПО микроконтроллера во второй части статьи.

Разъем JP1 предназначен для внутрисхемного программирования микроконтроллера. Разъем JP2 предназначен для подключения дополнительного пользовательского датчика.

Список примененных компонентов

Обозначение
в схеме
Наименование, номинал
IC1 Микроконтроллер ATmega48
Q1, Q2 Транзистор BCW66G
C1, C2 10 нФ
C4, C5 33 пФ
X1 Кварцевый резонатор 20 МГц
R1, R2, R7 470 Ом
R3 1 кОм
R4 1.5 кОм
R5 1 МОм
R6 110 Ом
R8 70 Ом
LED3 Светодиод
IR1 Оптопара TCND-5000
B1 Кнопка
B2 Выключатель питания
JP1 Разъем внутрисхемного программирования
JP2 Разъем расширения

Демонстрация работы бесконтактного тахометра на микроконтроллере AVR

  • где взять прошивку для тахометра
  • Прошивка - во второй части статьи (в конце описания ссылка на архив с исходником и HEX)
  • большое спасибо
  • А разводка печатной платы есть?:confused:
  • К сожалению, рисунка печатной платы нет. Я думаю, что не составит много труда ее разработать. Компонентов не много и это несколько транзисторов, диодов, конденсаторов и резисторов.
  • Вы не думали сделать в месте с тахометром ещё и спидометр, что-бы использовать авто-мото технике. Схем отдельно тахометров и отдельно спидометров много, а вот сдвоенного аппарата нет ни одного. Если бы у вас получилось, то создали бы очень востребованую конструкцию! Как думаете?
  • Возможно, но это не много не тот тахометр. Соглашусь, что такая конструкция будет востребована. Сейчас я в сети встречал разработки по типу бортовых компьютеров, считывание данных по CAN/LIN с бортового компа и предоставление ее в наглядной форме в реальном времени на ЖК дисплеи в автомобиле. Что-то типа этого...
  • Печатка здесь http://radioparty.ru/forums/viewtopic.php?f=2&t=39
  • хтонибудь пробовал собрать в протеусе
Оценка 1 Оценка 2 Оценка 3 Оценка 4 Оценка 5

Данное устройство предназначено для измерения частоты вращения электродвигателей и главным преимуществом является бесконтактный метод измерения, основанный на стробоскопическом эффекте, где яркие световые импульсы производит светодиод высокой мощности. Для измерения необходимо установить частоту вспышек в соответствии с частотой вращения (при освещении стробоскопом объект кажется неподвижным), используя энкодер. Измерение может быть сделано без остановки вращающегося механизма. Тахометр построен на микроконтроллере ATmega8, а результат измерения отображается на ЖК-дисплее. Кроме того, система также показывает ошибку, которая появляется в результате некоторых временных процессов в программе. Управление осуществляется с помощью поворотного энкодера и небольшой клавиатуры. Все устройство может питаться от батарей, так как из-за импульсного характера генерации потребление энергии является незначительным. Весь прибор успешно уместился в популярном корпусе KM35 , где также есть место для 9В батареи.

Схема устройства

Сердцем прибора и ее наиболее важной частью является микроконтроллер U1 (ATMEGA8-16AU), который работает от кварцевого резонатора частотой 16 МГц (X1). Дополнительные конденсаторы С1(22pF) и С2(22pF) необходимы для правильной работы резонатора. Предусмотрен интерфейсный разъем программирования Prog, который содержит набор контактов для последовательного программирования. Разъем требуется, поскольку микроконтроллер выполнен в SMD корпусе. С5 (100 нФ) фильтры питания микроконтроллера. Конденсаторы С6(100 nF) и С7(100 nF) смягчают крутизну сигнала, генерируемого энкодером, что облегчает его бесперебойную работу в программе. Кнопки S1 - S6 (uSwitch) являются дополнительным клавиатурным блоком. Светодиод мощностью 0,5 W излучает вспышки света, рабочий ток ограничен резистором R4(30R / 2W) и управляется с помощью транзистора Т2(BC337) и резистора R3(330R). Светодиод подключается непосредственно к источнику питания без стабилизатора, чтобы минимизировать воздействие импульсов тока на микроконтроллер и уменьшить нагрузку на стабилизатор U2(78L05). Конденсаторы С3(220uF) и С4(47uf) необходимы для правильной работы стабилизатора. Индикация результатов измерения осуществляется на ЖК-дисплее (W1, 16x2). Контраст устанавливается потенциометром P1(10k), подсветка включается программно с помощью T1(BC556), R1(47R) и R2(3,3k).

Сборка

Прибор может быть успешно построен на основе печатной платы, которая доступна в архиве внизу страницы. Также доступа плата в зеркальном отображении. Плата проста в сборке, но включает в себя компоненты для пайки SMD, которые могут вызвать проблемы для начинающих радиолюбителей. Сборка должна быть начата с пайки двух перемычек. Далее должны быть установлены SMD конденсаторы и резисторы, они используются в популярных корпусах 0805(2x1.2mm). Далее, припаивается на место микроконтроллер U1, обратите внимание на правильность установки ключа. Кнопки должны иметь длину 15 мм и слегка выступать над ЖК дисплеем, это будет важно при установке платы в корпус. Точно так же и в случае с энкодером. Потенциометр Р1 установлен таким образом, чтобы его можно было регулировать через отверстие в боковой стенке корпуса. Плата разработана таким образом, что она легко помещается в популярном корпусе KM35.

Калибровка и измерение

После того как был написан первоначальный вариант кода и произведен расчет таймера делителя, измерения показали отклонение частоты генерируемых вспышек по отношению к теоретическим расчетам. Эта погрешность появляется из-за работы делителя таймера, равного 1, времени, которое необходимо для обслуживания прерывания, а иногда из-за перезагрузки значения таймера в регистрах. В приведенной ниже таблице, включены измерения частот, генерируемых на выходе (F_p) по отношению к частоте, которая должна быть теоретически (f_i) и соответствующие значения оборотов (умножаются на 10, чтобы получить точность установки в 0,1 об/мин).

Данные из таблицы делятся на два диапазона, первый от 60 до 480 об/мин и второй диапазон 480-42000 об/мин. Это разделение результат программы, в которой работают два диапазона измерения. Графики ниже показывают зависимость измеренных и теоретических данных:



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

y = a \cdot x^2 + b \cdot x +c

где у - обороты теоретические, х - измеренные обороты, а, b, c - коэффициенты в результате регрессии. Графики были выполнены в программе Gnuplot, и поправочные коэффициенты постоянные для двух областей работы системы представлены ниже:

Для диапазона 60-480 об/мин: a= 1.88622104239405e-006 b= 0.999905059864626 c= 0.189869882714651 Для диапазона 480-42000 об/мин: a= 2.54573967680295e-007 b= 0.996905226980814 c= 1.00037985789872

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

Печатные платы и внешний вид прибора

Программирование fuse-битов микроконтроллера

0

Ibrahim Kamal (IKALOGIC) Рассматриваемый бесконтактный тахометр - это компактное устройство на микроконтроллере ATMega48 производства компании Atmel, позволяющее измерять высокие скорости вращения бесконтактным способом. Для измерения используется ИК сенсор (оптопара, ИК светодиод и ИК фотодиод в одном корпусе). Вывод данных осуществляется на двухстрочный символьный ЖК дисплей на базе контроллера HD44780.

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

Благодаря этой наклейке, каждый оборот вала вызывает появление отраженного импульса ИК излучения. Используемый сенсор производства компании Vishay Semiconductor имеет маркировку TCND-5000.

Данный сенсор был выбран после тестирования эквивалентных продуктов, так как его корпус обеспечивал оптическую изоляцию передающей и приемной части, а ИК светодиод выдерживает большие токи, что позволяет проводить измерения на больших расстояниях. Таким образом, используя оптопару мы можем подсчитать время полного оборота вала, а далее, зная время (обозначим это время T в секундах), мы можем вычислит количество оборотов в минуту, используя простое выражение 60/T. Получение данных от сенсора Для снижения стоимости устройства и сложности сборки, а также для повышения гибкости системы, мы непосредственно подключим ИК сенсор к микроконтроллеру и программно реализуем всю обработку получаемого сигнала. Сразу стоит заметить, что это не так просто, так как получаемый с ИК фотодиода сигнал содержит шумы, а внешнее освещение постоянно оказывает на него влияние. Таким образом, проблема состоит в том, чтобы разработать устройство с автоматической адаптацией к внешней освещенности и расстоянию до объекта измерения. На рисунке ниже изображена диаграмма аналогового сигнала от ИК сенсора (фотодиода)

Так как сигнал имеет шумы, при каждом определении наличия и отсутствия импульса (наличие импульса говорит о том, что вал вращается и сенсор «видит» отражающую наклейку), большое количество колебаний «вводит в заблуждение» микроконтроллер. Кроме того, эти факторы не позволяют использовать встроенный в микроконтроллер аналоговый компаратор, и нам необходимо ввести обработку аналогового сигнала перед каждой процедурой подсчета циклов. Решение было найдено в оценке средней интенсивности, основанную на максимальном и минимальном значении интенсивности сигнала от сенсора, и включением гистерезиса в районе средней интенсивности. Гистерезис используется для предотвращения многократного счета циклов зашумленных импульсов. Рисунок ниже поясняет работу такого алгоритма.

Когда сигнал нарастает от низкого состояния (отсутствует отражение от наклейки на валу) к высокому (отражение ИК импульса), алгоритм возьмет в расчет этот импульс высокого уровня лишь после того, как он пересечет «возрастающий уровень» гистерезиса, и примет в расчет низкий уровень лишь после того, как сигнал пересечет «спадающий уровень» гистерезиса. Такой алгоритм позволяет избежать ошибок вычислений, вызываемых шумным сигналом. Принципиальная схема устройства

Кликните для увеличения Схемотехническое решение очень простое и компактное (благодаря использованию миниатюрного сенсора), не содержит дорогостоящих компонентов. Питание устройства осуществляется от трех батарей типа AAA. Как вы, наверное, заметили, отсутствует потенциометр регулировки контрастности дисплея (что также позволяет уменьшить размер устройства). Это возможно благодаря программной реализации алгоритма автоматической подстройки контрастности в зависимости от уровня напряжения питания с применением ШИМ и фильтра низких частот на элементах R3, R4 и C2. Пользователи могут ознакомиться с текстом алгоритма в исходном коде ПО микроконтроллера во второй части статьи. Разъем JP1 предназначен для внутрисхемного программирования микроконтроллера. Разъем JP2 предназначен для подключения дополнительного пользовательского датчика. Список примененных компонентов Обозначение в схеме Наименование, номинал IC1 Микроконтроллер ATmega48 Q1, Q2 Транзистор BCW66G C1, C2 10 нФ C4, C5 33 пФ X1 Кварцевый резонатор 20 МГц R1, R2, R7 470 Ом R3 1 кОм R4 1.5 кОм R5 1 МОм R6 110 Ом R8 70 Ом LED3 Светодиод IR1 Оптопара TCND-5000 B1 Кнопка B2 Выключатель питания JP1 Разъем внутрисхемного программирования JP2 Разъем расширения Демонстрация работы бесконтактного тахометра на микроконтроллере AVR Во второй части статьи рассмотрим конструкцию прибора и основные моменты в программном обеспечении микроконтроллера, включая аналого-цифровое преобразование и организацию обмена данными с ЖК дисплеем.На английском языке: Contactless Tachometer on AVR. Part 1. SchematicПеревод: Vadim по заказу РадиоЛоцман

По материалам сайта