Автомобильный тахометр с ЖК дисплеем на PIC16F628. Цифровой тахометр на AVR микроконтроллере (ATtiny2313) Описание работы тахометра на микроконтроллере PIC16F628

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

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

Тахометр отображает показания в двух видах - цифровом с разрешающей способностью 30 мин (точнее 29,8 мин) и в виде линейки вертикальных штрихов, причем ее длина изменяется пропорционально измеряемому значению. Число элементов в линейке - 32, что вполне достаточно для оценки значения параметра.

Схема устройства представлена на рис. 1. Основой прибора служит микроконтроллер DD1. В качестве дисплея использован русифицированный жидкокристаллический модуль HG1 с подсветкой. Если не удалось приобрести русифицированный индикатор, придется на английские эквиваленты слов.

Рисунок 1.

Напряжение питания стабилизировано микросхемным стабилизатором DA1. Узел VT1R5R6 - стабилизатор тока светодиодов подсветки дисплея, предотвращающий изменение яркости при изменении напряжения в бортсети автомобиля. Делитель напряжения R3R4 служит для установки желаемой контрастности изображения дисплея.

Импульсы зажигания от датчика Холла через диод VD3 поступают на вход RB0 микроконтроллера DD1, вызывая прерывание, по которому происходит считывание значения таймера TMR1, затем он обнуляется и начинает новый отсчет времени между импульсами. Чтобы преобразовать длительность t интервала между импульсами зажигания в частоту вращения, необходимо выполнить операцию деления по формуле:

N=K/t , где N - частота вращения коленчатого вала двигателя в мин-1; К - константа, зависящая от частоты счетных импульсов таймера TMR1 и числа цилиндров двигателя.

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

После окончательного расчета частоты вращения вала показания выводятся на дисплей в первой строке. Чтобы исключить переполнение таймера TMR1. при частоте вращения менее 450 мин-1 расчет и отображение запрещаются. Затем происходит расчет длины линейки, изображающей измеренное значение в квазианалоговом виде. "Нуль" шкалы линейки установлен на частоте вращения вала 750 мин-1, а конец шкалы соответствует частоте 5720 мин-1.

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

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

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

Пока контакты микропереключателя замкнуты, в первой строке дисплея с секундным интервалом попеременно меняются надписи "ТАХОМЕТР" и "ЗАСЛОНКА", показания же тахометра присутствуют постоянно. И только когда воздушная заслонка открыта полностью, надпись "ЗАСЛОНКА" не появляется.

Устройство собрано на печатной плате из фольгированного стеклотекстолита толщиной 1,5 мм. ЖК модуль размещен на плате со стороны печати (по ширине и длине плата и модуль одинаковы), все остальные детали - на обратной. Плата в корпусе установлена на четырех резьбовых (М2,5) стойках. Модуль прикреплен к тем же стойкам через четыре втулки-проставки высотой 5 мм и подключен к плате тонкими гибкими проводниками. Разъем Х1 для соединения тахометра с внешними цепями - любой малогабаритный четырехконтактный, он подключен к плате отрезками монтажного провода. Все резисторы в тахометре - МЛТ. Конденсаторы С1, С7 - К50-16; остальные - любого типа, например КМ-6. Диоды и транзистор - указанных типов с любым буквенным индексом.

Корпус склеен из прозрачного листового полистирола толщиной около 1 мм (в качестве заготовки использован футляр от компакт-диска) и окрашен нитрокраской в аэрозольной упаковке. Окно под дисплей перед окраской заклеивают отрезком липкой ленты.

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

Тем же, кто захочет установить тахометр непосредственно на панели приборов, на месте одной из заглушек, во-первых, изготовлять корпус не потребуется, а во-вторых, дисплей придется приобрести другой - AC162AYILY-H, той же фирмы Atmel. В паспорте этого дисплея угол обзора обозначен как "12 часов" (для АС162AYJLY-H - "6 часов"), что указывает на максимум контрастности при взгляде сверху.

class="eliadunit">

Кроме указанных, подойдут и подобные модули, выпускаемые другими фирмами, интерфейс этих индикаторов аналогичен. Если подсветка дисплея не нужна или приобретенный прибор ее не имеет, транзистор VT1 и резисторы R5 и R6 можно исключить.

При монтаже тахометра в автомобиле контакт "Вход" разъема Х1 необходимо соединить непосредственно со средним выводом разъема прерывателя экранированным проводом, оплетку которого подключают только с одной стороны к контакту "Общий" разъема Х1 прибора. Если индикация положения воздушной заслонки не нужна, контакт "Заслонка" разъема оставляют свободным. Питание на устройство подают от той цепи автомобиля, где напряжение появляется при включении зажигания.

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

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

Предлагаемый вниманию тахометр предназначен для измерения частоты вращения в пределах от 50 до 9999 оборотов в минуту. Показания высвечиваются на 4-значном 7-сегментном светодиодном индикаторе. Для связи с вращающимся объектом используется инфракрасный луч, излучаемый соответствующим светодиодом. Регистрация отраженного луча производится инфракрасным фототранзистором.

Для измерений необходимо прерывать луч синхронно с вращением объекта. Для этого на вращающийся объект следует наклеить бумажный датчик, поделенный на черную и белую области. Например, вращающийся вал можно обернуть полоской самоклеющейся белой бумаги, используемой для печати адреса на конвертах или посылках. Половину длины полоски следует закрасить в черный цвет. Если сам вал недоступен, на торец вала можно наклеить картонный кружок, половина которого закрашена в черный цвет. Чередование черных и белых областей при вращении приведет к прерыванию отраженного луча с частотой вращения. Чувствительность прибора достаточна для проведения измерений при удалении фотодатчика от вращающегося объекта до 5 см.

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

Тахометр состоит из трех функциональных блоков: инфракрасного излучателя и приемника; усилителя-формирователя принимаемых импульсов и цифрового обработчика сигналов, выполненного на микроконтроллере и имеющего выход на 7-сегментный индикатор. В качестве излучателя/приемника могут быть использованы практически любые инфракрасные светодиоды и фототранзисторы. Нами применены детали в круглых корпусах типа Т1 (диаметр 5 мм) Для исключения влияния излучателя на приемник, оба они заключены в отрезки черной полихлорвиниловой трубки длиной около 2 см. Так как инфракрасный фототранзистор также чувствителен и к видимому свету, трубка на нем в значительной мере препятствует попаданию в него прямых лучей от посторонних источников. В любом случае следует избегать измерений при ярком солнечном или ламповом свете на пути следования луча, так как это может помешать нормальной работе прибора.

Для повышения чувствительности фотодатчика сопротивление в коллекторной цепи транзистора VT1 выбрано достаточно большим, что потребовало применение усилителя с высоким входным сопротивлением. Усилитель выполнен на левом (на схеме) операционном усилителе (ОУ) DA1A, коэффициент усиления которого определяется отношением сопротивлений резисторов R4/R3. Конденсатор С2 в цепи обратной связи DA1A предотвращает самовозбуждение усилителя.

Оба входа DA1A подключены к резистивному делителю R6R7, обеспечивающему половину напряжения питания в общей точке. Выход усилителя DA1A подключен к компаратору DA1B, существенно улучшающему форму выходных сигналов и приближающему их к практически прямоугольной.

Резистор R8 увеличивает гистерезис компаратора, что способствует уменьшению влияния помех на выходе датчика. Работоспособность усилителя-формирователя во многом зависит от параметров ОУ. Он должен обеспечивать полный размах сигнала на выходе при питании напряжением ±2,5 В. Примененный нами ОУ типа TLV2372 , выпускаемый фирмой Техаs Instruments, идеально соответствует поставленной цели.

Сигнал с выхода усилителя-формирователя поступает на аналоговый вход микроконтроллера DD1. Следует отметить, что
микроконтроллер также имеет встроенный компаратор, но нам не удалось добиться его устойчивой работы без самовозбуждения вблизи точки переключения. Вход DD1 сконфигурирован для использования совместно со встроенным в него модулем ССР1. Этот модуль используется для измерения периода входного импульса в единицах эталонной частоты. В качестве последней использована тактовая частота микроконтроллера 2,5 МГц.

Очевидно, частота вращения F связана с периодом вращения Т посредством формулы:

Fоб/мин=(10^6/Тмкс)х60

Если за время измерения периода вращения будет зарегистрировано N периодов эталонной частоты 2,5 МГц, то Tмкс=N/2,5. Таким образом, мы приходим к окончательной формуле:

Fоб/мин=(2,5x10^6/N)x60=15x10^7/N

Это значение вычисляется микроконтроллером и высвечивается на индикаторе, состоящем из четырех 7-сегментных модулей для индикации одной цифры. Нами применены широко распространенные индикаторы SC36-11 фирмы Kingbright, имеющие общие катоды. Соответствующие аноды индикаторов соединены параллельно и подключены к микроконтроллеру через токоограничительные резисторы R10-R16, которые определяют яркость свечения сегментов. Следует отметить, что максимальный по паспорту ток через сегмент, который может обеспечить микроконтроллер, составляет 25 мА, что при падении напряжения на сегменте порядка 2,5 В, определяет минимальную величину резисторов в 100 Ом.

Мультиплексное управление индикаторами обеспечивается микроконтроллером через ключевые полевые транзисторы VT2-VT5. Использование полевых ключевых транзисторов имеет несомненное преимущество перед биполярными - отпадает надобность в базовых резисторах и обеспечивается пренебрежимо малое падение напряжения на ключах. К тому же маломощные полевые транзисторы сейчас не дороже соответствующих биполярных.

Каждый сегмент индикатора высвечивается в течение 4 мс при мультиплексировании, что соответствует частоте обновления всего дисплея порядка 65 Гц, чем полностью исключается его мерцание.

При указанных на схеме сопротивлениях резисторов R10-R16, тахометр потребляет ток порядка 80 мА. Это позволяет питать всю схему через стандартный маломощный регулятор напряжения типа 78L05 с фиксированным выходным напряжением 5 В. На вход устройства можно подавать напряжение порядка 7,5...9 В, например, от любого имеющегося в распоряжении практически каждого пользователя стандартного малогабаритного блока питания, выполненного в сетевом штепселе.

Программное обеспечение

Программа микроконтроллера написана на языке Ассемблер и предназначена для компиляции в среде MPLAB, бесплатно предоставляемой фирмой Microchip на ее веб-сайте. Программа достаточно полно прокомментирована для возможной ее модификации, поэтому здесь мы ограничимся лишь ее общим и кратким описанием.

После необходимой конфигурации регистров микроконтроллера программа переходит в основной цикл. Цикл начинается с высвечивания текущего значения частоты вращения, цифра за цифрой, начиная с левого разряда. Незначащие нули слева от первого действительного разряда (при частоте вращения менее 1000 об/ мин) не высвечиваются. Частота обновления показаний дисплея определяется переменной SPEED и при указанном в программе значении составляет около 160 мс. Этим предотвращается быстрое мелькание цифр на дисплее, затрудняющее чтение показаний. В течение этого времени тахометр высвечивает прежнее значение частоты вращения независимо от наличия новых данных измерений.

По истечении контрольного времени индикации старых показаний программа переходит в одно из трех состояний. В первом состоянии производится запрос на новое измерение периода вращения. При этом активизируется ССР1 модуль микроконтроллера и разрешаются прерывания от таймера TMR1, считающего периоды эталонной частоты FOSC/4 Поступление первого импульса от датчика скорости вращения ожидается в течение 0,8 с. В случае не поступления импульса производится повторный запрос, и показания дисплея обнуляются.

После поступления первого импульса от датчика вращения, программа переходит во второе состояние, которое длится до получения второго импульса от датчика В этом состоянии обрабатывается соответствующее прерывание от модуля ССР1 и начинается подсчет числа импульсов эталонной частоты таймером TMR1. Каждое переполнение таймера вызывает аппаратное прерывание, производящее подсчет числа переполнений. Как только это число превзойдет 255 (что соответствует остановке вала или слишком медленному его вращению), на дисплее высвечиваются символы «_ _ _ _», сигнализирующие об ошибке. В этом случае программа переходит в состояние 1, и показания дисплея обнуляются.

Class="eliadunit">

Получение второго импульса от датчика переводит устройство в третье состояние. В этом состоянии происходит вычисление частоты вращения по формуле, проведенной выше. Если полученное значение оказывается меньше 50, высвечивается код ошибки «_ _ _ _». Если же полученное значение больше 10000, кратковременно высвечивается «- - - -». В любом случае, программа переходит в режим 1 с последующим обнулением дисплея

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

Архив для статьи "Бесконтактный тахометр на PIC16F685" Электронная почта

Тахометр измеряет частоту вращения деталей, механизмов и других агрегатах автомобиля. Тахометр состоит из 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.



Что такое вообще тахометр ? Тахометр - это устройство, используемое для измерения об/мин (обороты в минуту) любого вращающегося тела. Тахометры делают на основе контактных или безконтактных. Бесконтактные оптические тахометры обычно используют лазерный или инфракрасный луч для контроля вращения любого тела. Это делается путем вычисления времени, затраченного на одно вращение. В этом материале, взятом на одном английском сайте, мы покажем вам, как сделать портативный цифровой оптический тахометр с помощью 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. Датчик введён в кубическую трубку, чтобы дать дополнительную механическую прочность.

Всё, устройство готово для калибровки и программирования. Скачать программу вы можете по этой ссылке .

Видео работы самодельного тахометра


Охранное устройство с высоким напряжением - электрический ежик. Сегодня мы продолжим беседы про конструкции которые нужны для оxраны нашего жилища. Устройство, которое мы сейчас будем рассматривать предназначено для оxраны квартиры, офиса, дачи и автомобиля. Называется устройство - высоковольтный электрический ежик!

Простой универсальный тахометр на микроконтроллере 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;
}

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