Цифровой тахометр на микросхеме attiny2313. Простой универсальный тахометр на микроконтроллере 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.
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
- хтонибудь пробовал собрать в протеусе
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATmega8A-AU | 1 | В блокнот | ||
U2 | Линейный регулятор | L7805AB | 1 | L7805AB2T | В блокнот | |
D1 | Стабилитрон | BZV55C4V7 | 1 | BZV55C5V1 | В блокнот | |
D2 | Выпрямительный диод | 1N4001 | 1 | В блокнот | ||
LCD1 | LCD-дисплей | WH1602 | 1 | С подсветкой | В блокнот | |
X1 | Кварцевый резонатор | 8МГц | 1 | В блокнот | ||
RV1 | Подстроечный резистор | 10 кОм | 1 | В блокнот | ||
R1 | Резистор | 20 кОм | 1 | SMD 1206 | В блокнот | |
R2 | Резистор | 100 кОм | 1 | SMD 1206 | В блокнот | |
R3 | Резистор | 10 кОм | 1 | SMD 1206 | В блокнот | |
R4 | Резистор | 47 Ом | 1 | SMD 1206 (47-100 Ом) | В блокнот | |
C1-C2 | Конденсатор | 22 пФ | 2 | SMD 0805 | В блокнот | |
C3-C5 | Конденсатор | 0.1 мкФ | 3 | SMD 0805 | В блокнот | |
C6 | 470мкФ x 16В | 1 | В блокнот | |||
C7 | Электролитический конденсатор | 100мкФ x 10B | 1 |
Что такое вообще тахометр ? Тахометр - это устройство, используемое для измерения об/мин (обороты в минуту) любого вращающегося тела. Тахометры делают на основе контактных или безконтактных. Бесконтактные оптические тахометры обычно используют лазерный или инфракрасный луч для контроля вращения любого тела. Это делается путем вычисления времени, затраченного на одно вращение. В этом материале, взятом на одном английском сайте, мы покажем вам, как сделать портативный цифровой оптический тахометр с помощью Arduino Uno . Рассмотрим расширенную версию прибора с ЖК-дисплеем и модифицированным кодом.
Схема тахометра на микроконтроллере
Список деталей для схемы
- Микросхема - Arduino
- Резисторы - 33k, 270 Ом, 10k потенциометр
- LED элемент - синий
- ИК-светодиод и фотодиод
- 16 x 2 LCD экран
- 74HC595 регистр сдвига
Тут вместо щелевого датчика задействован оптический - отражение луча. Так им образом не придется беспокоиться о толщине ротора, количество лопастей не изменит показания, и он может считывать обороты барабана - а щелевой датчик не может.
Итак, прежде всего для датчика вам потребуется излучающий ИК-светодиод и фотодиод. Как его собрать - показано в пошаговой инструкции. Нажимаем на фото для увеличения размера.
- 1. Для начала нужно зашкурить светодиод и фотодиод, чтобы сделать их плоскими.
- 2. Затем сложите полоску бумаги лист, как показано на рисунке. Сделайте две такие структуры так, чтобы светодиод и фотодиод плотно сесть в него. Соедините их вместе клеем и покрасьте в черный цвет.
- 3. Вставить светодиод и фотодиод.
- 4. Склеить их с помощью суперклея и припаять провода.
Номиналы резисторов могут различаться в зависимости от того, какой фотодиод вы используете. Потенциометр помогает уменьшить или увеличить чувствительность датчика. Припаяйте провода датчика как показано на рисунке.
Схема тахометра использует 8-разрядный регистр сдвига 74HC595 с LCD дисплеем 16х2. Сделайте в корпусе небольшое отверстие, чтобы зафиксировать LED индикатор.
Припаяйте 270-омный резистор на светодиод и вставьте в контакт 12 Arduino. Датчик введён в кубическую трубку, чтобы дать дополнительную механическую прочность.
Всё, устройство готово для калибровки и программирования. Скачать программу вы можете по этой ссылке .
Видео работы самодельного тахометра