Главная » Электроника для авто
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

Простой тахометр с большими цифрами на ATmega8 и LCD 16x2

Предлагаю вариант тахометра на AVR микроконтроллере с большими цифрами на символьном дисплее. Цифры выстраиваются из отдельных сегментов на всю высоту дисплея, что делает показания прибора более читабельными. Рассчитывался на диапазон измерения от 300 до 9999 оборотов в минуту. Но получилось так, что при более высоких (от 10000) об/мин, младший разряд сдвигается за пределы экрана и прибор показывает количество оборотов в минуту, делённое на 10, что тоже неплохо.

Схема построена на микроконтроллере ATmega8. Для вывода показаний тахометра используется распространённый дисплей WH1602 на базе контроллера HD44780 (KS0066).

Схема тахометра на МК

Для более точного подсчета частоты вращения коленчатого вала, микроконтроллер тактируется от внешнего кварцевого резонатора на 8 MHz. Фьюзы выставляются соответствующие:

Если высокая точность измерения не сильно важна, то можно обойтись без внешнего кварца, при этом фьюзы нужно будет выставить на тактирование от внутреннего RC генератора на 8 МГц. Так как печатная плата разведена для МК в корпусе TQFP-32, на ней, для удобства, предусмотрен ISP разъём для внутрисхемного программирования. В прикрепленном архиве находятся несколько прошивок с различными временными интервалами обновления показаний тахометра на дисплее: 50, 100, 150, 200, 250, 333 и 500 мс (период указан в имени файла прошивки), а также для сигналов входа 1 импульс на оборот и 2 импульса на оборот. Также в архиве находятся файл печатной платы и проект Proteus. После сборки схемы и прошивки микроконтроллера получается такое вот устройство:

На видео показана работа тахометра с прошивкой 1 импульс на оборот и периодом обновления показаний дисплея 50 мс

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МК AVR 8-бит
ATmega8A-AU
1 Поиск в FivelВ блокнот
U2 Линейный регулятор
L7805AB
1 L7805AB2TПоиск в FivelВ блокнот
D1 Стабилитрон
BZV55C4V7
1 BZV55C5V1Поиск в FivelВ блокнот
D2 Выпрямительный диод
1N4001
1 Поиск в FivelВ блокнот
LCD1 LCD-дисплейWH16021 С подсветкойПоиск в FivelВ блокнот
X1 Кварцевый резонатор8МГц1 Поиск в FivelВ блокнот
RV1 Подстроечный резистор
10 кОм
1 Поиск в FivelВ блокнот
R1 Резистор
20 кОм
1 SMD 1206Поиск в FivelВ блокнот
R2 Резистор
100 кОм
1 SMD 1206Поиск в FivelВ блокнот
R3 Резистор
10 кОм
1 SMD 1206Поиск в FivelВ блокнот
R4 Резистор
47 Ом
1 SMD 1206 (47-100 Ом)Поиск в FivelВ блокнот
C1-C2 Конденсатор22 пФ2 SMD 0805Поиск в FivelВ блокнот
C3-C5 Конденсатор0.1 мкФ3 SMD 0805Поиск в FivelВ блокнот
C6 Электролитический конденсатор470мкФ x 16В1 Поиск в FivelВ блокнот
C7 Электролитический конденсатор100мкФ x 10B1 Поиск в FivelВ блокнот
Резистор
0 Ом
2 SMD 1206Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 17.03.2014 0 3
Я собрал 0 4
x

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

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.5 Проголосовало: 4 чел.

Комментарии (73) | Я собрал (0) | Подписаться

+2
BOCEM #
Вещь не плохая, но для тех тазиков в которых нет тахометра, и для тех тачил в которых мотор не слышно в салоне. А вот не плохо было бы цифровой спидометр для контроля предельной скорости по знаку ограничения. Или с переключателем того и другого или одного, но большого.
Ответить
0

[Автор]
u33 #
Спидометр можно сделать на основе этой же схемы. Так как с датчика спидометра идет определенное количество импульсов на километр, можно еще дополнительно вывести на дисплей пробег за поездку (скорость может занять максимум 3 разряда или по 12 символов в каждой строке, поэтому место для индикации пробега есть). Будет свободное время - напишу прошивку для измерения скорости и добавлю в статью. А по возможности сделаю тахометр-спидометр с переключением.
Ответить
0
леха #
Спидометр с счетчиком пройденного расстояния добавить, было бы супер...
Ответить
0
foxghost #
Откуда показания снимать, с датчика холла или катушки зажигания?
Ответить
0

[Автор]
u33 #
С катушки зажигания.
Ответить
0
igoryan #
После нее или до? На свечи же вроде большое напряжение идёт
Ответить
0

[Автор]
u33 #
Разумеется, до нее. С контакта "K".
Ответить
0
diogen_b #
Меня поражает жгучее желание многих везде использовать 1602. Просто для хорошей заметности надо использовать 7-сегментные LED индикаторы соответствующего размера (они есть и с драйвером с двумя проводами управления) и не нужно ничего изобретать. Мое мнение, конечно.
Ответить
0

[Автор]
u33 #
На 7-сегментниках в интернете уже и так есть много схем тахометров, поэтому был предложен вариант на LCD. Кроме того, на 7-сег. LED плохо видны показания в солнечную погоду, если устройство установлено на мотоцикле, или в авто, когда свет попадает прямо на индикатор. Есть и минус у LCD - при использовании на мотоцикле при низких температурах воздуха цифры будут медленно прорисовываться, но мотоцикл - это, в основном, летний вид транспорта, в холодное время года используется редко.
Ответить
+1
ujin #
Ну уж если так говорить что и кого там поражает и чем, то в данный момент проще использовать экранчик от нокии типа 3310 1100 и им подобных. А не то что бы 7 сегмент леды.
У разработчика вполне неплохо получилось на хд 44780 стильно и красиво и это как вариант, хотите используйте, не нравится делайте по другому.
Ответить
0

[Автор]
u33 #
Использовать экран от сотового телефона было бы неплохо, но они менее распространены, чем тот же 1602.
Отредактирован 09.03.2014 19:00
Ответить
0
ujin #
Ну уж с этим я с вами не соглашусь... сейчас всё как раз то и наоборот...
В данный момент времени именно LCD от вышеприведенных моделей телефонов народ всё больше предпочитает использовать в своих поделках...и этому есть причины...
1 его дешевизна (стоимость некоторых начинается от 35 руб)... самый убийственный аргумент..
2 есть на них инфа..(особенно на нокии)
3 относительная легкость сопряжения с мк на программном уровне как и аппаратном (требует мало ног от мк и несложный алгоритм общения с ним)
4 куча готовых библиотек (народ постарался и облегчил жизнь следующим, написав под них код на разные мк и иде)
5 это графическая панелька...на ней можно не тока слова писать но и рисовать что вздумается...1602 и ему подобные в этом сильно ограничены...
6 очень низкое энергопотребление, что бывает немаловажно...
Ответить
0

[Автор]
u33 #
Что ж, с этими аргументами трудно не согласиться. Но и вместе с этим 1602 не перестает выходить из употребления.
Ответить
0
никита #
А вариант его сделать со вспышкой? Т.е. на определенных оборотах загоралась лампочка и чтобы можно было выставлять обороты на которых она загоралась бы.
Ответить
0

[Автор]
u33 #
По сути дела программу для данной функции изменить не долго. Если интересует, добавлю в статью прошивки.
Ответить
0
никита #
Да, было бы здорово. Только как будут происходить изменение "отсечки"?
Ответить
0

[Автор]
u33 #
"Отсечка" будет устанавливаться единственной кнопкой, при нажатии на которую сначала заходим в меню установки и этой же кнопкой будет производиться установка. После установки спустя несколько секунд порог оборотов запишется в EEPROM и устройство вернется в рабочий режим. Через пару дней выложу прошивку.
Ответить
0
dpd69 #
Сделал вариант со вспышкой. Но мне надо, чтобы порог оборотов начинался с 1500 об/мин. И если можно сделайте прошивок на 1 и 2 импульса до 500мс. Спасибо большое
Ответить
0

[Автор]
u33 #
Добавил архив с прошивками для данной функции. В железе не проверял, но в Протеусе работает. Так что, я думаю, проблем не возникнет. Описание и проект внутри архива.
Ответить
0
ujin #
Посмотрел видео с работой данного устройства. Думаю более глубокое усреднение числа оборотов дадут более плавное изменение его. Мельтешить на экране будут меньше и он станет более инерционный в показаниях. Лучше это сделать как изменяемый коэффициент настройки тахометра с запоминанием в еепром. Каждый по своему усмотрению настроит как ему нравится...
Ответить
0

[Автор]
u33 #
На видео показана работа прошивки с самым быстрым обновлением показаний на экране (каждые 50 мс). Кроме этой, в архиве находятся другие прошивки, с более длительными периодами обновлений - как раз для того, чтобы каждый мог выбрать вариант, который ему нравится. При этом в программе используется просто временная задержка, усреднение оборотов я не применял.
Ответить
0
Einstein #
В статье написано что можно не использовать внешний кварц. Какие фьюзы нужно выставлять в этом случае?
Ответить
0

[Автор]
u33 #
Поставить галочки на CKSEL3, CKSEL1 и CKSEL0. Всё остальное без изменений.
Ответить
0
никита #
Собрал я ваш тахометр. Всё хорошо, но есть непонятное явление. На столе, от генератора работает здорово, без дерганий. Когда поставил в машину (карбюраторная) показания сильно скачут, причем с 1000 до 3000 и всегда по разному, бывает моментами нормально работает. На более высоких оборотах бывают провал на 1000-1500 потом резко обратно. С чем может быть это связано?
Ответить
0

[Автор]
u33 #
Это связано скорее всего с электромагнитными помехами. Провод от катушки зажигания до устройства должен быть экранированным, экран нужно соединить с GND на плате. Также для стабильности показаний можно добавить конденсатор 2.2 - 10 нФ, включив его параллельно стабилитрону.
Ответить
0
никита #
Спасибо за совет. И еще вопрос: стабилитрон обязательно ваш использовать, или любой на напряжение стабилизации 4.7В?
Ответить
0

[Автор]
u33 #
Любой на напряжение стабилизации 4.7 - 5.1В.
Ответить
0
никита #
Припаял экранированный провод, конденсатор припаял, все равно скачут показания. На холостых 4000-6000 показывают, редко нормальные обороты проскакивают. чуть на газ, более и менее показывает, выше 3500 немного врать начинают, залипают показания( на одном месте стоят, прошивка 100 мс) Может что-то с машиной, может форма сигнала с катушки кривая, хотя штатный тахометр работает очень четко.
Ответить
0

[Автор]
u33 #
Не помешало бы посмотреть форму и амплитуду сигнала непосредственно на ноге ICP1 микроконтроллера при работающем двигателе.
Ответить
0
Никита #
Вот сигнал, который приходит на ногу ICP1: осциллограмма
Ответить
0
ujin #
Такое поведение тахометра говорит об одном: питание МК приходит с кучей помех.
Ответить
0
Никита #
Да вроде ровное питание, тоже осциллографом посмотрел
Ответить
0
Паша #
Решили проблему? Я тоже собрал такой и те же проблемы.
Ответить
0
Iszak #
А как этот тахометр подружить с CDI, чтобы не выгорел порт у МК?
Ответить
0
miki #
Интересная схема. А нельзя ли сделать измерение тахометра с 0 оборотов, а не с 300? Тогда бы он был более универсален.
Ответить
0
Саныч #
Собрал. Все работает отлично. Спасибо автору. Еще-бы спидометр к нему прикрутить.
Ответить
0
Павел #
Собирали в точности по схеме? На какой автомобиль ставили?
Ответить
0
Влад #
Этот тахометр и у меня глючил, как описано выше пока по входу не поставил диод в обратном включении. Теперь все отлично. Авто-м2141 с зажиганием "Пульсар М"
Ответить
0
STALKER7538 #
Добрый день могли бы вы выложить прошивку для схемы с выходом на UART-USB?
Ответить
0
bor12 #
А нельзя ли применить lcd 20x4? Цифры будут еще красивее
Ответить
0

[Автор]
u33 #
Можно, но пока не планирую.
Ответить
0
Максим #
Собрал устройство, но от генератора какую частоту только не задавал постоянно 1500 показывает. На авто не пробовал. Это нормально?
Ответить
0

[Автор]
u33 #
Прошивка 2 импульса на оборот? Если да, то сигнал с генератора скорее не доходит до МК (и он ловит наводку 50Гц*60сек/2имп = 1500) - смотрите обрыв, непропай в районе резисторов R1, R2.
Ответить
0
Андрей #
Интересно автор ставил данное устройство на автомобиль? От генератора всё прекрасно работает, ставишь в авто показывает температуру космоса иногда проскакивают нормальные значения! Сигнальный провод максимально короткий и экранированный, поставил конденсатор 0,01 параллельно стабилитрону, толку ноль. Помогите жалко потраченных времени и средств, хотелось бы довести устройство до конца.
Ответить
0

[Автор]
u33 #
Всё зависит от формы входного сигнала. МК не сможет нормально высчитать частоту вращения, если на вход поступает неправильный сигнал (например, с постоянной составляющей или в виде пачек из 2-3 импульсов вместо одного...). Чтобы решить проблему, нужно посмотреть осциллографом, какой сигнал идет на делитель и тогда уже решать, каким способом его исправить (собрать небольшую дополнительную схему преобразователя).
Ответить
+1
Андрей #
В общем добавил транзисторный ключ и делитель напряжения и пару конденсаторов на 0,01 и всё хорошо заработало!
Ответить
0
миша #
А можно сделать прошивку для скутера 4-х тактного?
Ответить
0

[Автор]
u33 #
Прошивки в статье и так подойдут.
Ответить
0
Сергей #
А на 6 цилиндров 4 такта можно заставить его работать, 3 импульса на оборот? Можно прошивку?
Ответить
0

[Автор]
u33 #
Я думаю, можно. Прошивки для 3х импульсов на оборот прикрепляю.
Прикрепленный файл: 3imp.rar
Ответить
0
Дмитрий #
А работает он на скутере? 2-ух тактный мотор, 1 цилиндр? И какая прошивка для него?
Ответить
0

[Автор]
u33 #
На скутере тоже должен работать. Прошивка 1 имп/об.
Ответить
0
zakhar8318 #
Вы еще прошивку на спидометр не делали? Если можно прошивку под фиатовский датчик скорости 15,76 имп на 1 оборот (1576имп на 100 метров). Заранее благодарен.
Ответить
0
igoryan #
Изменится ли код, если подключить WH0802A-YYH-CT?
Ответить
0

[Автор]
u33 #
Код не изменится, даже если подключить дисплей от iPhone. Вопрос непонятен.
Ответить
0
Денис #
Доброго времени суток, я только недавно начал изучать контроллеры, в связи с этим не очень понимаю в битах конфигурации. Скажите пожалуйста под какую прогу эта таблица и как их выставить в программе Khazama AVR Programmer? Если можно то пожалуйста скринтош, а то я уже один кристалл залочел тыркая куда не надо, второй прошил как есть один флеш из hex файла работает, но как то не понятно цифры скачут. Заранее огромное спасибо
Ответить
0

[Автор]
u33 #
В статье фьюзы указаны для PonyProg. В Khazama нужно выставлять инверсно. Вот скриншот:
Прикрепленный файл: fuse.png
Ответить
0
Анатолий #
u33, приветствую! Долго искал подобную конструкцию тахометра с дисплеем 1602.
Подскажите, как можно адаптировать данную конструкцию для измерения оборотов эл. двигателя?
Ответить
0

[Автор]
u33 #
Доброго времени!
Адаптировать довольно просто: на вал двигателя прикрепить диск с двумя прорезями и использовать оптопару. Прошивка 2 имп. об.
Прикрепленный файл: opt.gif
Ответить
0
gruanatolij #
Автору,спасибо за ответ. А если без диска, наклеивать полоску фольги на вал эл.двигателя? Просто много движков с затёртыми бирками, каждый раз крепить диск неудобно-валы разного диаметра. А приклеить полоску алюминиевого скотча -минутное дело. Собственно для этого и хочу собрать тахометр, начинаю закупать запчасти
Ответить
0

[Автор]
u33 #
Да можно и так, наверное. Точно сказать не могу - с оптопарами дел на практике не имел.
Отредактирован 19.08.2015 22:08
Ответить
0
gruanatolij #
Собрал устройство, заработало сразу. На авто не проверял, как уже писал выше тахометр будет измерять обороты электродвигателей. В качестве датчика использовал ИК-датчик для Arduino. прошивку выбрал с обновлением 100 мс.
Проверил на шуруповёрте -наклеил полоску алюминиевого скотча на патрон. После 300 оборотов показания стабильные, до 300 оборотов показания прибора прыгают, и отличаются в разы.
Автору, ещё раз,спасибо!
Можно ли добавить прошивку с нижним порогом ни 300, а 10 оборотов?
Отредактирован 29.08.2015 14:26
Прикрепленный файл: ик-инфракрасный-датчик.jpg
Ответить
0

[Автор]
u33 #
10 оборотов в минуту? Это 1 оборот за 6 секунд. Так медленно могут крутиться разве что шаговые двигатели. По поводу прошивки - напишите в ЛС.
Ответить
0
Виталий #
Может кто-то подсказать какая прошивка нужна на москвич?
Ответить
0
Сергей #
Скорей всего на два импульса, а как подключить не знаю, мож как и у меня в четвероче (провода идущие к трамблеру), только цвет проводов другой, ищите опытным путем
Ответить
0
Сергей #
Про гуглил для МОСКВИЧА
Прикрепленный файл: 6046425[1].jpg
Ответить
0
Сергей #
ВАЗ 2104 работает на ура! Подключал от коммутатора. Если быть более точным, то от коммутатора провода на трамблер и среди трех поводков к зеленому
Ответить
0
dpd69 #
Сделал вариант со вспышкой. Но мне надо, чтобы порог оборотов начинался с 1500 об/мин. И если можно сделайте прошивок на 1 и 2 импульса до 500мс. Спасибо
Ответить
0

[Автор]
u33 #
Напишите, какая прошивка нужна (имп. на оборот и период обновления дисплея). Компилить все прошивки нет времени.
Ответить
0
dpd69 #
Файл:Тахометр с установкой порога оборотов.rar. Прошивки для 1имп-500мс и 2имп-500мс.
Ответить
0

[Автор]
u33 #
Держите.
Прикрепленный файл: tachometer.rar
Ответить
0
sergdvin #
Добрый день, а не хотите выложить исходники или добавить в прошивку возможность управления опережением зажигания? Будет устройство 2 в 1. Сейчас собираю себе гибрид ПЛМ Ветерок + Champion G200 на этих моторах фиксированный угол опережения зажигания, хочется собрать устройство которое будет изменять угол опережения в зависимости от оборотов двигателя. Тахометр также необходим для подбора винта. Готовых решений не нашел. С программирование не очень но с паяльником на ты. Нет желания помочь?
Ответить
0

[Автор]
u33 #
Могу реализовать за небольшое вознаграждение. Если интересно, пишите в ЛС.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Набор 4WD Kit Bluetooth
Набор 4WD Kit Bluetooth
Автомобильный GPS-трекер с GSM/GPRS и дистанционным управлением Набор начинающего радиолюбителя
вверх