Цифровой тахометр на avr. Цифровой тахометр на AVR микроконтроллере (ATtiny2313). Печатные платы и внешний вид прибора

Этот цифровой тахометр пригоден для подсчета количества оборотов практически любого типа двигателя внутреннего сгорания. Погрешность измерения тахометра составляет всего 50 оборотов/минуту. Для показа результата используется четырехразрядное светодиодное табло.
Для настройки режима работы необходимо использовать кнопку «Select». Первое нажатие выводит на табло текущий режим работы. Режимом работы по умолчанию является третий, когда датчик выдает два импульса за оборот маховика. Соответственно, на табло появится надпись Р-2,0.

Каждое последующее нажатие кнопки переключает режим работы тахометра на следующий. Всего их девять: 0.5, 1, 2, 3, 4, 5, 6, 7, 8 имп./оборот соответственно, они устанавливают количество импульсов выдаваемых датчиком за один оборот маховика. Чем выше количество импульсов, тем точнее производится измерение.

После выбора режима работы необходимо подождать 5-10 секунд. За это время тахометр произведет запись режима работы в память микроконтроллера и перейдет в рабочий режим. В дальнейшее тахометр будет сразу при подаче питания переходить в рабочий режим. Если возникает необходимость перенастроить тахометр, то надо нажать кнопку «Select» и произвести настройку тахометра еще раз.

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

Обновленная версия прошивки включает в себя функцию проверки индикаторов. Это необходимо для проведения двухсекундного теста выявления неисправности датчиков.

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

Прошивка

Простой автоусилитель моноблок на TDA1560Q Автомобильный бездроссельный БП на IRS2153 для ноутбуков и мобильников Внешний USB-разъем в автомагнитоле

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 по заказу РадиоЛоцман

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


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

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

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

При этом подсчет количества импульсов можно выполнить различными методами: в прямом, в обратном и в обоих направлениях. Полученные результаты, обычно, трансформируются в нужные нам величины. Такой величиной можно считать часы, минуты, секунды, метры и тому подобное.

Конструкция всех тахометров позволяет обнулять полученные значения. Точность данных результатов измерений достаточно условна, около 500 об/мин, самые точные электронные тахометры измеряют с погрешностью до 100 об/мин.

Автомобильные тахометры бывают двух видов цифровые и аналоговые. Цифровой автомобильный тахометр состоит из следующих блоков:

Центральный процессор
АЦП 8 разрядов или более
Датчик температуры жидкости;
Электронный дисплей
Оптрон для диагностики клапана холостого хода
Блок сброса процессора.

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

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

Обычно аналоговый тахометр состоит из :

микросхема
магнитная катушка
провода считывания информации с коленчатого вала
градуированная шкала
стрелка

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

В автомобиле лучше всего иметь и тот и другой вид тахометра. Так цифровой отлично справляется с регулировкой холостого хода, проверки работы блока управления ЭПХХ (экономайзер принудительного холостого хода) и проверки штатного тахометра (т.к цифровой тахометр обладает гораздо более высокой точностью). Во время управления автомобилем гораздо удобнее использовать штатный аналоговый тахометром, т.к глаз и мозг человека лучше и быстрее анализирует аналоговую информацию, чем ее цифровое значение, а лучшая точность во время управления транспортным средством совсем не требуется.

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

Ниже представлена схема квазианалогового электронного тахометра. Принцип ее работы следующий. Частота вращения коленвала двигателя отображается на упрощенной линейной шкале из светодиодов. Шкала цифрового тахометра состоит из девяти светодиодов. Каждый из них примерно соответствует 600 оборотам в минуту двигателя. На холостом ходу светится только первый светодиод. Регулировка тахометра осуществляется путем подбора сопротивления R6. В зависимости от него, можно настроить индикаторы на требуемое количество цилиндров. Можно поменять и цену деления.

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

Данная схема работает как простой частотомер. Импульсы, которые постоянно идут от датчика двигателя, поступают на счетный вход десятичного счетчика К561ИЕ8, и далее на светодиоды. Запитать схему можно от прикуривателя или .

Диод VD1 КД522 защищает схему от неправильного подключения полярности питания. Датчик оборотов коленчатого вала шлет импульсы на базу транзистора VT1. Сопротивление R1 выбираем в зависимости от датчика (на схеме сопротивление подобрано для датчика Холла в бесконтактной системе зажигания карбюраторного двигателя). С выхода VT1 импульсы попадают на триггер Шмитта, выполненный на элементах D1.1-D1.2. Он преобразует импульсы в требуемую прямоугольную форму. Конденсатор С2 фильтрует помехи, в паре с резистором R4 он составляет фильтр, срезающий импульсы высокой частоты. С Выхода D1.2 импульсы поступают на счетчик.

Мультивибратор собранный на элементах микросхемы D1.3 и D1.4 генерирует тактовые импульсы частотой зависящей от R6. Эти импульсы идут на цепочку C3-R7, что формирует импульс для обнуления счетчика D2. Сверхяркие светодиоды HL1-HL9 подключены непосредственно к выходам счетчика К561ИЕ8. С помощью R9 можно регулировать яркость индикации.

Светодиоды 1-4 на печатной плате подключаются монтажным проводом.

Наладку конструкции начинается с расчета значения резистора R1 в соответствии от размаха входящих импульсов. Затем заменяем R6 последовательно включенными переменными резисторами на 1 Ом и постоянным на 10 кОм. Далее подкручиваем переменный резистор на максимальное сопротивление. Затем крутим его так, чтобы на холостом ходу двигателя загорелись только два светодиода. Отмечаем это положение подстроечного резистора. Затем уменьшаем сопротивление, чтобы горел только один светодиод. Затем регулируем резистор в среднем положение. Далее измеряем мультиметром полученное сопротивление R8.

Данное устройство представляет из себя неплохой тахометр. Предел измерений 100 — 9990 об/мин. Точность измерения — ± 3 об/мин. Но для лучшего восприятия данные округляются. Данный прибор стоит у меня на авто — Таврия. Также устанавливалась на Chevrolet Cavalier, ВАЗ-2109, мотоцикл ЯВА-350 12-ти вольтовый, скутер Honda Lead 90.

Присутствуют две входных цепи:

  • вывод 6 (PD2) — вход прерывания INT0. Этот вход используется для измерения количества оборотов двигателя.
  • вывод 11 (PD6). Этот вход используется для уменьшения яркости индикаторов при включении габаритов на авто.

В схеме применён кварцевый резонатор на частоту 8MHz для большей точности и стабильности измерений.

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

Уменьшение яркости индикатора при включении габаритов необходимо для того, чтобы довольно яркий свет от индикатора не отвлекал водителя в тёмное время суток.

Печатная плата:

В собранном виде это выглядит вот так:

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

FUSES выставлены в проекте, но если кто-то шьёт не из CodeVisionAVR, то повторю их тут:

В проекте в 17-й строке есть следующее определение:

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

Для советских автомобилей и авто с распределительной системой зажигания этот параметр будет 2. Для систем зажигания с двумя катушками (как в ВАЗ-2110) — 1. На мотоцикле и мопеде (2-х тактная система зажигания) этот параметр равен 4.

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

Посидев и поразмышляв, придумал следующее:

Принцип работы простой: включаем ИК-светодиод, а на фотодиод принимаем отражение. Считаем время между приемами сигнала, переводим в обороты в минуту и выводим на экран. Питание, значит, батарейное.

В общем, не буду тянуть кота за..... :)

Был у меня микроконтроллер на тот момент такой - PIC16F88. Вот что получилось.

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

Я не стал заморачиваться с датчиком ИК сигнала. Хотя при желании можно было (и это для любознательных может послужить стимулом для усовершенствования J) воткнуть вместо фотодиода датчик TSOP1736 (который, собственно, был у меня в наличии на тот момент). Подавать на него 36 кГц можно, в принципе, с генератора, собранного на 555 таймере. Запускать генератор можно как раз сигналом, включающим ИК светодиод. Вот так как то… Причем, эксперименты такие я проводил. При подаче света с частотой 36 кГц на TSOP, его выход давал 5 вольт. При закрытии луча света, выход TSOP сбрасывался в ноль. Но, так как стояла задача собрать автономное устройство с минимальным потреблением, то тратить энергию на датчик и генератор я счел расточительным. К тому же, расстояние до измеряемого объекта было не особо критично. Устраивало расстояние даже в сантиметр. В общем, получилось так.

Питание ЖКИ - прямо с порта PIC, так же, как и питание LM358, для уменьшения энергопотребления в режиме sleep.

Живой платы первого опытного образца, к сожалению не осталось:(. Это была плата без усиления сигнала с фотоприемника. Сигнал поступал сразу в МК.

Выглядела плата так:

Так как уровня сигнала с фотоприемника не всегда хватало микроконтроллеру, то пришлось дополнять схему. Я собрал усилитель на LM358. Теперь схема выглядит именно так, как выглядит.

Подобрав корпус, и адаптировав под него плату, было собрано такое симпатичное устройство:


Принцип работы такой:

На исследуемый объект наносится метка обычным канцелярским корректором. Около 5-7 мм в диаметре. Либо приклеивается метка из белой бумаги.

При включении питания в первый раз, PIC начинает считать длительность периода между импульсами, которые, отражаясь от метки, приходят на фотоприемник. Если импульсов нет в течение примерно 4 секунд, показания сбрасываются на ноль. Если импульсы отсутствуют примерно 20 секунд, прибор переходит в режим пониженного потребления. Выключается индикатор. Для следующего измерения нужно нажать кнопку, подключенную к порту RB0. и прибор "просыпается". Цикл начинается сначала.

Точность показаний - отличная, но не на всем диапазоне. На высоких оборотах показания "плавают”, но незначительно, не критично.

Единственный минус этого прибора - не очень большая дальность. Около сантиметра. Но это решаемо, как я писал выше, с помощью фотоприемника типа TSOP1736 или TSOP1738 и генератора на 555 таймере. Надобность в LM358 в этом случае отпадает.

Еще одно уточнение - материал исследуемого объекта должен быть темным.

Архив с файлом протеуса и исходник лежит .

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



В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные