Счетчик оборотов arduino: Ардуино: тахометр на прерываниях | Класс робототехники

Содержание

Ардуино: тахометр на прерываниях | Класс робототехники

Тахометр — это устройство для подсчёта скорости вращения вала двигателя или любого другого вращающегося объекта. Скорость вращения обычно измеряют в оборотах в минуту (об/мин) или по-английски revolution per minute (rpm).

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

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

Как нам узнать скорость вращения вала двигателя? Очевидно, что нужно каким-то образом фиксировать каждый полный оборот вала вокруг своей оси и при этом засекать время, за которое этот самый полный оборот совершается. Нужен таймер и счётчик оборотов.

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

Компоненты для урока «Ардуино: тахометр на прерываниях» на shop.robotclass.ru

В качестве контроллера возьмем Ардуино Уно. Именно контроллер будет принимать сигналы с датчика и выполнять роль таймера. Фотопрерыватель используем самый простой, с компаратором LM393 на борту. Будем измерять скорость вращения двигателя постоянного тока.

На этом уроке мы:

  1. соберем стенд для измерения скорости вращения мотора;
  2. напишем программу для подсчёта оборотов;
  3. напишем программу для вычисления скорости вращения.

Вконтакте

Facebook

Twitter

Arduino-подсчет импульсов без прерывания — CodeRoad



Я хотел бы знать, есть ли способ подсчета цифровых импульсов на Arduino WITHOUT, реализующем процедуру прерывания.

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

arduino embedded electronics
Поделиться Источник manatttta     27 августа 2014 в 19:35

2 ответа


  • Arduino счетчик импульсов

    Я хотел написать быстрый код подсчета импульсов для Arduino, чтобы работать на частоте 100 кГц. Я хотел посчитать быстрые квадратные импульсы от генератора. Я ничего не могу найти в интернете.

  • Прерывание работает слишком быстро на Arduino

    Я знаю, что это звучит немного смешно :). но я пытаюсь исключить возможности: На Arduino Uno я прикрепил прерывание, срабатывающее на HIGH, к подпрограмме, которая только увеличивает изменчивый определенный счетчик long . Этот счетчик отображается на экране LCD. Если я подключу генератор импульсов…



4

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

Atmel AVR, на котором базируется большинство Arduinos, имеет аппаратное обеспечение счетчика / таймера, которое будет непосредственно считать импульсы на входном выводе. Все, что вам нужно сделать, это настроить аппаратное обеспечение для работы счетчика и прочитать регистр счетчика. Существует небольшая сложность для 16-битных счетчиков на 8-битном устройстве, но ее легко преодолеть.

Arduino настраивает таймеры для операций по умолчанию PWM, но они могут быть переопределены, как описано здесь (Подробнее см. Руководство пользователя AVR) — вам нужно использовать таймер/счетчик в режиме CTC.

Arduninos на базе ARM и почти любой другой microcontroller будут иметь аналогичные аппаратные средства; некоторые из них обладают большей гибкостью, по сравнению с которой булавки могут использоваться для подсчета аппаратных средств.

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

В вашем случае вам, вероятно, нужно считывать количество импульсов с регулярным периодом, который короче времени, в течение которого счетчик будет переполняться с максимальной ожидаемой частотой пульса. Так, например, если вы используете 8-битный счетчик и максимальная частота импульсов составляет 1 кГц, вам нужно будет опрашивать каждые 256/1000 секунд или меньше, но наибольшая точность достигается за счет того, что период максимально длинный. Так, например, у вас может быть что-то вроде следующего (это не реальный код, а только фрагмент):

for(;;)
{
    delayMS( 250 ) ;
    frequency = 4 * readCounter() ;
}

Альтернативой, которая получит лучший линейный отклик, но недетерминированный отсчет, будет опрос флага переполнения и измерение времени, затраченного на подсчет фиксированного числа импульсов, и таким образом определение вашего измерения по времени для фиксированного отсчета, а не по отсчету для фиксированного времени.

for(;;)
{
    int start = getMillisec() ;

    while( !counterOVF() )
    {
        // Do nothing (or something useful but quick)
    }

    int t = getMillisec() - start ;
    frequency = 256 * t / 1000 ; 
}

Поделиться Clifford     27 августа 2014 в 22:11



1

Вы могли бы использовать аналоговый, с небольшим количеством цифрового перед ним. если ваша входная максимальная частота составляет 1 кГц, используйте этот сигнал для запуска mono-stable (edge triggered) с импульсным выходом 1 мс (1/fmax)., затем отфильтруйте его нижними частотами (R последовательно, C на землю и повторите для многополюсного) и, наконец, считайте аналоговое напряжение на этом последнем конденсаторе. Если R*C относительно мал, то аналоговый сигнал будет реагировать быстро, но будет иметь рябь. Если он большой, то время реакции пострадает, но сигнал будет более стабильным.

Поделиться Dario Dentes     05 декабря 2016 в 19:59


Похожие вопросы:


Прерывания прерывают другие прерывания на Arduino?

У меня есть Arduino Uno (потрясающее маленькое устройство!). У него есть два прерывания; назовем их 0 и 1 . Я подключаю обработчик к прерыванию 0 и другой к прерыванию 1, используя attachInterrupt()…


Arduino Последовательные Прерывания

Я работаю над проектом Arduino Mega 2560. На ПК Windows 7 я использую Arduino1.0 IDE. Мне нужно установить последовательную связь Bluetooth со скоростью передачи данных 115200. Мне нужно получить…


Как обрабатываются прерывания в Arduino?

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


Arduino счетчик импульсов

Я хотел написать быстрый код подсчета импульсов для Arduino, чтобы работать на частоте 100 кГц. Я хотел посчитать быстрые квадратные импульсы от генератора. Я ничего не могу найти в интернете.


Прерывание работает слишком быстро на Arduino

Я знаю, что это звучит немного смешно :). но я пытаюсь исключить возможности: На Arduino Uno я прикрепил прерывание, срабатывающее на HIGH, к подпрограмме, которая только увеличивает изменчивый. ..


Генерация импульсов и считывание на arduino

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


Счетчик импульсов на Arduino

Мне нужна функция, которая возвращает количество импульсов в течение заданного времени, на arduino. Это частичный код, который я использую, но функция ничего не перенастраивает ( не возвращает даже…


прерывания при создании библиотеки arduino

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


arduino прерывания с серводвигателем

в настоящее время я работаю над проектом открытия двери с кодом доступа с помощью arduino UNO и серводвигателя. Нормальная работа требует ввода кода доступа с помощью клавиатуры, которая работает…


arduino переменная прерывания не работает

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

Счётчик витков для намоточного станка на ATtiny13

Случилось так, что припекло мне трансформатор мотать, всё бы хорошо, да станка только не хватает — от тут и началось! Поиск по интернетам дал некоторые возможные варианты построения, но смущало меня то, что подсчёт витков производится опять же механическим счётчиком, добытым из спидометра или старого магнитофона, либо геркон + калькулятор. Хм…

На механику, в плане счётчика, у меня не стояло абсолютно, спидометров на разборку у меня нет, лишних калькуляторов тоже. Да и как сказал тов. Serega с другого ресурса: «Хорошие электронщики, зачастую — плохие механики!». Может я и не лучший электронщик – но механик уж точно паршивый.
Посему решил я сварганить электронный счётчик, а всю механическую часть устройства поручить на разработку семейству (благо отец и брат у меня как раз таки асы по части механики). Прикинув одно место к другому, решил, что 4 разрядов индикаторов мне хватит с головой – это ж не много – не мало, а 10 000 витков. Управлять всем безобразием будет контроллер, вот только любимые ATtiny2313 и ATmega8 мне показалось совершенно не комильфо пихать в такое плевое устройство, задача простая и решать её нужно просто. Поэтому будем пользовать ATtiny13 – наверное, самый «дохлый» МК из тех, что есть в продаже на сегодняшний момент (я не беру PIC-и или MCS-51 – эти я только запрограммировать смогу, а вот программы для них писать не умею). Ног у этой тиньки маловато, ну дык никто не мешает нам сдвиговые регистры к ней прикрутить! В качестве датчика оборотов решил использовать датчик холла.

Набросал схему:

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

и собрал на макетке:

О кнопках сразу не сказал – а куда ж без них! Целых 4 штуки помимо ресета (S1).
S2 – включает режим намотки (режим установлен по умолчанию) – с каждым оборотом оси с катушкой будет увеличивать значение количества витков на 1
S3 – режим смотки, соответственно, с каждым оборотом, будет уменьшать значение на 1. Максимально смотать можно до «0» — в минус сматываться не будет 🙂
S4 – чтение сохраненной в EEPROM информации.
S5 – запись в EEPROM текущего значения + режим.
Естественно нужно не забывать нажать на кнопку смотки если собираемся сматывать витки, иначе они будут приплюсовываться. Можно было повесить вместо 1 датчика холла – 3 штуки или валкодер и изменить программу контроллера таким образом чтоб он сам выбирал направление вращения, но думаю в данном случае это лишнее.

Теперь не много по схеме:

Как видим, ничего сверхъестественного в ней нет. Питается всё это безобразие от 5В., ток потребляет что-то в районе 85мА.

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

Кнопки S2-S4 – а-ля матричная клавиатура. «Выходы» кнопок висят на тех же проводниках что и входы регистров, дело в том что после пересылки данных из контроллера в регистры на входах SHcp и Ds может быть сигнал любого уровня, и на содержимое регистров это никак не повлияет. «Входы» кнопок висят на выходах регистров, передача информации происходит примерно следующим образом: сначала контроллер отправляет информацию на регистры для последующей пересылки на индикаторы, затем отправляет информацию для сканирования кнопок. Резисторы R14-R15 необходимы для предотвращения «драки» между ногами регистров/контроллера. Пересылка инфы на индикацию и на сканирование клавы происходит на большой частоте (внутренний генератор в тини13 настроен на 9,6МГц), соответственно как быстро мы не пытались бы нажать и отпустить кнопку, за время нажатия произойдет много срабатываний и соответственно нолик с кнопки побежит на встречу единичке с контроллера. Ну и такая неприятная вещь как дребезг контактов кнопок опять же.
Резисторами R16-R17 подтягиваем нашу клавиатуру к + питания, чтоб во время простоя с выходов клавиатуры на входы контроллера приходила единичка а не Z состояние влекущее ложные срабатывания. Можно было обойтись и без этих резисторов, внутренних pull-up резисторов в МК вполне достаточно, ну да рука у меня не поднялась их убрать – береженного бог бережет.

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

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

После проверки работы счётчика на макете, настала пора собрать железку в «законченное устройство». Развел плату, вытравил, запаял детальки и получил следующее:

В законченом варианте кнопка сброса отсутствует — ну некуда мне ее было на плате втыкать, итак места мало, а если зависнет МК, значит обесточу и заново включу. Так же появился диод в цепи питания — защита от переполюсовки. Что касается остальных деталек – то использовал только те, что были под рукой, поэтому тут и SMD и обычные корпуса.

Вот вроде и все, в конце статьи архив со схемой/печаткой прошивкой.
Кстати насчёт прошивки, на плате не предусмотрен разъём для программирования в целях экономии места. Прошивал по SPI протоколу примерно так:

пробовал программаторы, HVProg, AVR910 и USBAsp – все прошили контроллер без проблем. После прошивки имеет смысл нажать кнопку записи, чтоб записать в EEPROM начальные значения. Если этого не сделать, а нажать клавишу чтения то на индикаторах можем увидеть все что угодно — кто знает что там в памяти было раньше?

Конечный результат:

На неподвижной части станка крепим датчик, на ось вращения устаналиваем магнит таким образом, чтоб он при вращении проходил в 3-5 мм от датчика. Ну и пользуемся 🙂
Теперь точно всё, всем спасибо за внимание, а товарищам GP1 и avreal за помощь в разработке, ждем критику 🙂

Файлы

Схема, печатка, прошивка:
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Исходники прошивки:
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Камрад, рассмотри датагорские рекомендации

🌻 Купон до 1000₽ для новичка на Aliexpress

Никогда не затаривался у китайцев? Пришло время начать!
Камрад, регистрируйся на Али по нашей ссылке. Ты получишь скидочный купон на первый заказ. Не тяни, условия акции меняются.

🌼 Полезные и проверенные железяки, можно брать

Куплено и опробовано читателями или в лаборатории редакции.

 

Счетчик оборотов своими руками

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

Над так называемым «станком» прошу не смеяться: я катушки наматываю редко, даже не знаю, когда это будет в следующий раз. Поэтому собрал всё на скорую руку и не стал городить что-то грандиозное.
Пара уголков, стержень с резьбой, гайки, шайбы разных размеров — всё это в изобилии в ближайшем магазине крепежа по очень демократичным ценам.
Стержень с каркасом катушки свободно вращается в отверстиях уголков.

Очевидное усовершенствование для регулярного применения — напрашивается геркон вместо механической кнопки и магнит на кулачке. Получим бесконтактный датчик оборотов.


Изготовленный пластиковый кулачок и обнаруженная тактовая кнопка.


Провода подпаиваем к выводам кнопки [=] (их нужно найти и зачистить на калькуляторе),
а другие концы на кнопку.

При надобности можно и реверсивно посчитать, на отматывание, просто вмест «+1» набираем «-1» и кооличество витков на счетчике будет уменьшаться.

Начнем с определений. Что такое тахометр в автомобиле? Это прибор, фиксирующий частоту вращения коленчатого вала в автомобиле.

Разумеется, его применение не ограничено только автотранспортом. Определение количества оборотов в минуту необходимо при работе с различными механизмами:

  • турбина самолета
  • вал корабельной силовой установки
  • генераторы электростанций
  • фрезерные и токарные станки высокой точности
  • буровые установки
  • приборы учета электроэнергии и воды.

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

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

Принцип работы тахометра достаточно простой

Есть несколько разновидностей конструкции:

Электрическая схема импульсная


На вал, частота которого измеряется, устанавливается метка, излучающая любое поле. Чаще всего это маленький магнит.

Рядом с валом размещается считывающее устройство – датчик. На нем формируются импульсы, соответствующие скорости вращения вала.

Электронная схема принимает сигналы, и выводит их на устройство отображения. Вместо пары магнит-датчик иногда применяется фото и светодиод.

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

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

Недостаток – требуется электропитание. Это исключает применение прибора в чисто механических агрегатах.

Электрическая схема генераторного типа

Вал механизма соединен с компактным генератором. В зависимости от скорости вращения, меняется величина вырабатываемого напряжения.

Показания снимаются прибором, работающим по принципу вольтметра. Иное название – тахометр постоянного тока. Главное преимущество – нет необходимости в источнике питания.

Индукционный тахометр

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

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

Механический тахометр

Система автономная, для работы не требуется ни питания, ни управляющих схем.

На валу (5) жестко закреплен постоянный магнит (4). При вращении магнита возникает вихревое поле, которое увлекает за собой чашу (3) из магнитного материала.

Вращению чаши препятствует спиральная пружина (2). Чем выше скорость вращения, тем сильнее отклоняется вал со стрелкой.

Главное достоинство прибора – простота конструкции и отсутствие необходимости в электропитании. Недостатков два: высокая погрешность и сдвинутый нижний предел измерений. При малых оборотах стрелка не отклоняется.

Мы рассмотрим самое востребованное применение тахометров – автомобиль.

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

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

Поэтому установка прибора контроля обязательна для любого современного ДВС. Исключение составляют лишь маломощные моторы для мотоциклов и мопедов.

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

Изготовление тахометра своими руками на базе Arduino, подробное видео.

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

Если ваш прибор перестал подавать признаки жизни, необходима диагностика. Как проверить тахометр в домашних условиях?

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

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

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

Проводка, контакты датчика, сам датчик, оторванный магнитик на коленвале. Как правило, причина поломки именно в этих деталях.

С механикой еще проще. Надо просто заменить изношенный узел на новый, либо приобретенный на авторынке.

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

Как сделать тахометр своими руками?

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

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

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

Если есть отверстие – устанавливаем фото-пару и подключаем ее к электронному тахометру.

Схему можно купить в виде готового KIT набора (на китайских сайтах электроники), либо собрать на доступной элементной базе.

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

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

Сигнал для счетчика оборотов берем от разъема «W» генератора. Подключение штатное, так работают многие модели заводских тахометров.

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

Итог
Изготовить самодельный тахометр достаточно просто, если есть элементарные навыки в электротехнике. При наличии паяльника и готовой схемы – это вопрос пары выходных.

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

Пример самодельного тахометра из компьютерной мышки. Все подробности в видео материале.

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

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

Для этого потребуется:

  1. Калькулятор
  2. Геркон
  3. Магнитик
  4. Провода

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

Все до боли просто: припаиваем вместо кнопки равно (=) геркон .

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

На колесо клеим один магнит. Закрепляем геркон напротив магнита, на калькуляторе пишем 1+1 и крутим колесо. То есть при каждом замыкании равно будет прибавляться 1.

Всю эту затею я использовал как самодельный измеритель пробега для хомяков 🙂 Формула для подсчета длины: D*П (диаметр*число Пи).

Мои замечания: Лучше брать современный калькулятор (мой советский не успевает за оборотами колеса), так же у калькулятора должна быть кнопка выключения, чтобы он не выключался при бездействии. Не забываем быть аккуратными, чтобы не отклеить шлейф у китайского калькулятора.

Видео проверки работоспособности самодельного счетчика оборотов:

Счетчик воды импульсный датчик — MySensors

/*

* The MySensors Arduino library handles the wireless radio link and protocol

* between your home built sensors/actuators and HA controller of choice.

* The sensors forms a self healing radio network with optional repeaters. Each

* repeater and gateway builds a routing tables in EEPROM which keeps track of the

* network topology allowing messages to be routed to nodes.

*

* Created by Henrik Ekblad <[email protected]>

* Copyright (C) 2013-2019 Sensnology AB

* Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors

*

* Documentation: http://www.mysensors.org

* Support Forum: http://forum.mysensors.org

*

* This program is free software; you can redistribute it and/or

* modify it under the terms of the GNU General Public License

* version 2 as published by the Free Software Foundation.

*

*******************************

*

* REVISION HISTORY

* Version 1.0 — Henrik Ekblad

* Version 1.1 — GizMoCuz

*

* DESCRIPTION

* Use this sensor to measure volume and flow of your house water meter.

* You need to set the correct pulsefactor of your meter (pulses per m3).

* The sensor starts by fetching current volume reading from gateway (VAR 1).

* Reports both volume and flow back to gateway.

*

* Unfortunately millis() won’t increment when the Arduino is in

* sleepmode. So we cannot make this sensor sleep if we also want

* to calculate/report flow.

* http://www.mysensors.org/build/pulse_water

*/

 

// Enable debug prints to serial monitor

#define MY_DEBUG

 

// Enable and select radio type attached

#define MY_RADIO_RF24

//#define MY_RADIO_NRF5_ESB

//#define MY_RADIO_RFM69

//#define MY_RADIO_RFM95

 

#include <MySensors.h>

 

#define DIGITAL_INPUT_SENSOR 3                  // The digital input you attached your sensor.  (Only 2 and 3 generates interrupt!)

 

#define PULSE_FACTOR 1000                       // Number of blinks per m3 of your meter (One rotation/liter)

 

#define SLEEP_MODE false                        // flowvalue can only be reported when sleep mode is false.

 

#define MAX_FLOW 40                             // Max flow (l/min) value to report. This filters outliers.

 

#define CHILD_ID 1                              // Id of the sensor child

 

uint32_t SEND_FREQUENCY =

    30000;           // Minimum time between send (in milliseconds). We don’t want to spam the gateway.

 

MyMessage flowMsg(CHILD_ID,V_FLOW);

MyMessage volumeMsg(CHILD_ID,V_VOLUME);

MyMessage lastCounterMsg(CHILD_ID,V_VAR1);

 

double ppl = ((double)PULSE_FACTOR)/1000;        // Pulses per liter

 

volatile uint32_t pulseCount = 0;

volatile uint32_t lastBlink = 0;

volatile double flow = 0;

bool pcReceived = false;

uint32_t oldPulseCount = 0;

double oldflow = 0;

double oldvolume =0;

uint32_t lastSend =0;

uint32_t lastPulse =0;

 

#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)

#define IRQ_HANDLER_ATTR ICACHE_RAM_ATTR

#else

#define IRQ_HANDLER_ATTR

#endif

 

void IRQ_HANDLER_ATTR onPulse()

{

if (!SLEEP_MODE) {

uint32_t newBlink = micros();

uint32_t interval = newBlink-lastBlink;

 

if (interval!=0) {

lastPulse = millis();

if (interval<500000L) {

// Sometimes we get interrupt on RISING,  500000 = 0. 5 second debounce ( max 120 l/min)

return;

}

flow = (60000000.0 /interval) / ppl;

}

lastBlink = newBlink;

}

pulseCount++;

}

 

void setup()

{

// initialize our digital pins internal pullup resistor so one pulse switches from high to low (less distortion)

pinMode(DIGITAL_INPUT_SENSOR, INPUT_PULLUP);

 

pulseCount = oldPulseCount = 0;

 

// Fetch last known pulse count value from gw

request(CHILD_ID, V_VAR1);

 

lastSend = lastPulse = millis();

 

attachInterrupt(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), onPulse, FALLING);

}

 

void presentation()

{

// Send the sketch version information to the gateway and Controller

sendSketchInfo(«Water Meter», «1.1»);

 

// Register this device as Water flow sensor

present(CHILD_ID, S_WATER);

}

 

void loop()

{

uint32_t currentTime = millis();

 

// Only send values at a maximum frequency or woken up from sleep

if (SLEEP_MODE || (currentTime — lastSend > SEND_FREQUENCY)) {

lastSend=currentTime;

 

if (!pcReceived) {

//Last Pulsecount not yet received from controller, request it again

request(CHILD_ID, V_VAR1);

return;

}

 

if (!SLEEP_MODE && flow != oldflow) {

oldflow = flow;

 

Serial.print(«l/min:»);

Serial.println(flow);

 

// Check that we don’t get unreasonable large flow value.

// could happen when long wraps or false interrupt triggered

if (flow<((uint32_t)MAX_FLOW)) {

send(flowMsg.set(flow, 2));                   // Send flow value to gw

}

}

 

// No Pulse count received in 2min

if(currentTime — lastPulse > 120000) {

flow = 0;

}

 

// Pulse count has changed

if ((pulseCount != oldPulseCount)||(!SLEEP_MODE)) {

oldPulseCount = pulseCount;

 

Serial. print(«pulsecount:»);

Serial.println(pulseCount);

 

send(lastCounterMsg.set(pulseCount));                  // Send  pulsecount value to gw in VAR1

 

double volume = ((double)pulseCount/((double)PULSE_FACTOR));

if ((volume != oldvolume)||(!SLEEP_MODE)) {

oldvolume = volume;

 

Serial.print(«volume:»);

Serial.println(volume, 3);

 

send(volumeMsg.set(volume, 3));               // Send volume value to gw

}

}

}

if (SLEEP_MODE) {

sleep(SEND_FREQUENCY, false);

}

}

 

void receive(const MyMessage &message)

{

if (message.getType()==V_VAR1) {

uint32_t gwPulseCount=message.getULong();

pulseCount += gwPulseCount;

flow=oldflow=0;

Serial.print(«Received last pulse count from gw:»);

Serial.println(pulseCount);

pcReceived = true;

}

}

Стробоскопический и лазерный тахометр

Подключиться к YouTube?

OK

youtu.be/iq6Xiums05o

Подключиться к YouTube?

OK

youtu.be/sHfTNef5M2k

Подключиться к YouTube?

OK

youtu.be/v7TziWSzttc

Подключиться к YouTube?

OK

youtu.be/fgX_11BkIZA

Подключиться к YouTube?

OK

youtu.be/CKFTMQrG704

Подключиться к YouTube?

OK

youtu.be/jgwp244xDPo

Подключиться к YouTube?

OK

youtu.be/y21KECPmLg8

Подключиться к YouTube?

OK

youtu.be/DZJjka0GdSo

Подключиться к YouTube?

OK

youtu.be/cVud2aawjQU

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


(en.wikipedia.org/wiki/Strobo…)

Кнопками управления частотой мерцания света можно легко и быстро установить любую частоту мерцания с точностью 0. 01Hz (1 об/мин):

• до 1000Hz (60000 об/мин) для подключенного фонарика (см. видео на YouTube).
• до 100Hz (6000 об/мин) для вспышки iPhone с iOS • до 40Hz (2500 об/мин) для вспышки iPhone с iOS 9+.

ЕСЛИ СКОРОСТЬ ВРАЩЕНИЯ БОЛЬШЕ ПРЕДЕЛА ИЗМЕРЕНИЯ, ТО ЕЁ ВСЕ РАВНО МОЖНО ОПРЕДЕЛИТЬ СДЕЛАВ ИЗМЕРЕНИЯ ПРИ ДОСТУПНОЙ ЧАСТОТЕ МЕРЦАНИЯ, И ЗАТЕМ СДЕЛАВ ПРОСТОЙ РАСЧЕТ.

Для изменения частоты мерцания света можно просто нажать и держать кнопку. Частота мерцания может отображаться либо в Hz либо в RPM (об/мин).

Наблюдаемая картина будет отчетливее при слабом внешнем освещении.

При долгой работе, в случае перегрева, вспышка iPhone автоматически отключается.

Подключение фонарика

Следуйте следующим рекомендациям:
• Выберите светодиодный фонарик с маленьким напряжением источника питания (4.5-6В).
• Если Вы паяете плохо, посмотрите следующее видео.
• Не используйте алюминиевую фольгу т.к. к ней трудно припаять провод.
• Если что-то непонятно, обязательно пишите на email.



Чтобы подключить мощный фонарик нужно использовать более сложную схему. Однако схема все равно достаточно простая для новичка. Главное выбрать фонарик с фокусирующей линзой (зумом).

На видео первый фонарик имеет 2000 люмен (по словам продавца), а второй 1000 люмен. Оба фонарика имеют несколько режимов свечения (полная мощность, не полная мощность, мигания с разной частотой). Переключение между режимами происходит при быстром выключении и включении. Поэтому, чтобы в процессе работы стробоскопа не было переключения режимов, используется сопротивление замыкающее цепь фонарика. Перед использованием стробоскопа нужно выбрать режим полной мощности, размыкая цепь фонарика, как это делается на видео. Для выбора режима важно запомнить последовательность включения режимов.








Технические характеристики:
• Диапазон измерения от 0.3 Hz (18 RPM) до 1000 Hz (60 000 RPM).
• Шаг 0.01-0.0001 Hz (1-0.01 RPM) .
• Интервал обновления 1 сек.
• Требуемая мощность лазера 5 мВт.

Следуйте следующим рекомендациям:
• ОБЯЗАТЕЛЬНО НУЖНО СОЕДИНИТЬ ДЕТАЛИ ПАЙКОЙ, иначе будет много шума.
• Если Вы паяете плохо, посмотрите следующее видео.
• Если что-то непонятно, обязательно пишите на email.

Не покупайте лазерную указку с маленькими батарейками (таблетками), т.к. «разоритесь» на покупке батареек.









Этот тахометр основан на измерении магнитного поля от вращающегося магнита. Магнитное поле измеряется магнетометром iPhone. Магнитный тахометр больше всего подходит для измерения маленькой скорости вращения (от 6 об/мин). Им можно измерять и среднюю скорость вращения (до 2700 об/мин), однако при этом возможно отрывание магнита и сильная вибрация от смещения центра тяжести.

Технические характеристики:
• Диапазон измерения от 0.1 Hz (6 RPM) до 45 Hz (2700 RPM).
• Шаг 0.2-2 %.
• Интервал обновления 2-5 сек.

Правила использования:
1. Магнит должен быть закреплен так чтобы один из полюсов был направлен на iPhone когда магнит находится ближе всего к iPhone.
2. iPhone должен лежать неподвижно.
3. Если скорость вращения большая, то нужно обязательно использовать защитные очки и защитить iPhone от оторвавшегося магнита.
4. Сильное магнитное поле от прикрепленного магнита может влиять на скорость вращения электрических двигателей.
5. Электродвигатели создают изменяющееся магнитное поле, поэтому прикрепленный магнит должен быть достаточно сильным чтобы создать магнитное поле большее чем от электродвигателя.
6. Результат будет лучше если iPhone положить перпендикулярно вращающемуся магниту.
7. Лучше использовать неодимовые магниты, потому что они создают большое магнитное поле имея маленькие размеры. Но нужно помнить, что сильное магнитное поле влияет на электродвигатели и при вращении может генерировать электрический ток в проводниках. Максимально допустимый размер неодимового магнита около 1х0.5х0.5 см.
8. Чувствительность магнитометра у разных моделей iPhone сильно различается. Поэтому некоторые модели могут пытаться измерять фоновое магнитное поле.
9. Если что-то непонятно, обязательно пишите на email.

Для определения скорости вращения (например, для определения скорости вращения вентилятора), должна быть видна плоскость перпендикулярная оси вращения, и на этой плоскости должна быть только одна метка. Например такая:



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

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



Четыре или три метки можно увидеть и при других частотах мерцания вспышки, например три неподвижные метки можно увидеть при частоте мерцания 1650 всп./мин (реальные обороты умноженные на 1,5), четыре метки при частоте 1466 всп./мин (реальные обороты умноженные на 1,333), пять меток при частоте 1375 всп./мин (реальные обороты умноженные на 1,25).

Неправильный вывод можно сделать и при попытке определить обороты увеличивая частоту мерцания вспышки. Например при частоте мерцания 367 всп./мин (реальные обороты деленные на 3) видна одна метка:

Эта частота может ввести в заблуждение, т. к. после её умножения или деления на 2, будет получаться такая же картина как и при правильной частоте (в данном случае при частоте мерцания соответствующей 1100 об/мин). Поэтому нельзя начинать с маленькой частоты мерцания затем увеличивая её.

Определив скорость вращения, можно сохранить результат, сделав фото с написанным на нем результатом измерения.

Расчет скорости вращения если она больше предела измерения

Когда скорость вращения больше предела измерения, её можно рассчитать используя простую формулу. Например, реальная скорость вращения 11000 об/мин. При уменьшении частоты мерцания света с 6000 об/мин, нужно определить первую частоту при которой будет наблюдаться одна неподвижная метка:

Это будет при частоте 5500 RPM (F1). При дальнейшем уменьшении частоты, следующая частота при которой будет наблюдаться одна неподвижная метка будет при 3667 RPM (F2). И следующая при 2750 RPM (F3). Расчет выполняется по двум соседним точкам:

Реальные обороты = (F1 • F2)/(F1 – F2)
5500•3667/(5500–3667)=11003 об/мин

или

Реальные обороты = (F2 • F3)/(F2 – F3)
3667•2750/(3667–2750)=10997 об/мин

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





1:


AliExpress: «2000 Lumen Flashlight XML T6 LED zoomable»

ИЛИ


AliExpress: «Mini Flashlight XM-L T6 LED 18650»

2:

Магазин строительных товаров:
Витая пара

3:


AliExpress: «breadboard 170″

4:


AliExpress: «breadboard jumper wires 65 pcs»

5:


AliExpress: «TIP31″

6:


AliExpress: «TIP32″

7:


AliExpress: «IRLB3034″

8:


eBay: «resistor 2K 1W»

ИЛИ


eBay: «resistor 1W kit»

9:


eBay: «resistor 10K 1W»

10:


eBay: «resistor 51 1W»

11:


eBay: «cable 3. 5mm 4 pole male to male»

12:


AliExpress: «laser pen red»

13:


AliExpress: «battery box switch aaa 4″

14:


AliExpress: «laser module red»

15:


AliExpress: «phototransistor 3DU5C»

16:


AliExpress: «resistor 5.1K 1/4W 100pcs»

17:


AliExpress: «100pcs 2.54mm jumper male pin»

18:


AliExpress: «100pcs 1p 2.54mm plastic head»

19:


eBay: «neodymium magnet»

Счетчик оборотов — Готовые проекты — — Сообщество

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

Работа схемы

Схема счетчика вращения показана на рисунке 1. Схема построена на 5V стабилизаторе 7805 (IC1), оптроне MCT2E (IC2), 4-декадном счетчике с 7-сегментным драйвером дисплея 74C926 (IC3), четырех 7-сегментных индикаторов с общим катодом LTS543 (DIS-1DIS4), герконовом ключе (подключен к RS1) и небольшого магнита. Оптрон IC2 используется для изоляции счетчика и подачи тактового импульса на вывод CLK IC3. IC3 используется для подсчета тактовых импульсов, полученных оптроном IC2, и отображения их на четырех 7-сегментных индикаторах (DIS1-DIS4).
Если зафиксировать магнит на вращающемся основании,а остальную часть схемы на неподвижной части таким образом, чтобы магнит проходил вблизи геркона при каждом повороте,то при каждом обороте будут замыкаться и размыкаться контакты геркона. Это приведет к периодическому включениях светодиода и открытии фототранзистора оптрона IC2. Таким образом, при каждом обороте будет вырабатываться импульс. Импульсы,равные числу оборотов воспринимаются входом CLK IC3. Счетчик IC3 подсчитывает число импульсов и отображает их количество на 4-разрядном табло.
При нажатии кнопки S2 счетчик IC3 сбрасывается и на индикаторах отображается число 0000. Максимальное число оборотов равно 9999.

Конструкция и налаживание

Расположение элементов показано на рис.2,а печатная плата в формате Sprint-Layout6 находится в архиве. Разместите и спаяйте компоненты согласно рис.2 и сверяясь со спецификацией .

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

Собранная без ошибок схема начинает работать сразу. Нажмите на кнопку S2 — на табло должно отобразиться число 0000. Включите агрегат с вращающейся частью и схему. После установившегося режима табло отобразит число оборотов.

Материал взят из журнала Electronics For You за 2014.1

Счетчик оборотов на базе Arduino с новым и более быстрым алгоритмом

Этот проект разработан на основе с нуля как попытка измерить точное число оборотов в минуту (обороты за минут) стоимость различных двигателей с использованием одного датчика IR , платы Arduino и ключевого ингредиента essential — лазерной указки (обязательно красного цвета).

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

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

НОВЫЙ КОД, ОСНОВАННЫЙ НА АЛГОРИТМЕ ОДНОЙ КАДРЫ, ДЛЯ БЫСТРЫХ И НАМНОГО БОЛЬШЕ ИЗМЕРЕНИЙ АДАПТИВНЫХ ИЗМЕРЕНИЙ: —

Код для этого проекта, который я разработал, использует недавно разработанный алгоритм для этого проекта. Алгоритм действительно уникален и создан для выполнения измерений менее чем за 40 миллисекунд и получения точных результатов. Одна очень важная особенность этой программы заключается в том, что она использует метод, который я называю Single Shot Detection для Arduino. Он вычисляет число оборотов двигателя каждый раз, когда лопасть вентилятора создает препятствие на пути лазерного луча. Это связано с тем, что препятствие на пути лазерного луча отмечает 1 / n полный оборот для n лопастей в вентиляторе. Итак, программа очень чувствительна от до даже минутные изменения оборотов в минуту ( до 2 знаков после запятой) в 1 каждые / n th оборот из вентилятор лопасть снова номер лопасти вентилятор. Следовательно, этот уникальный алгоритм обнаружения одиночного выстрела обеспечивает чрезвычайно точное значение из об / мин и более высокую чувствительность к изменениям в измерениях.

In выше отображено image от серийный монитор в а тест пробег, 0003 пробег из выход скрининг может ясно быть видно 9 0003 2 раза a секунд. об / мин значений рассчитано до 2 каждые раз.

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

Подпишитесь на мой профиль, нажав на эту ссылку (https://create.arduino.cc/projecthub/YASh46) @ YASh46 для получения обновлений некоторых новых проектов.

А пока оставайтесь в безопасности и наслаждайтесь Arduino !!

Тахометр для токарного станка Arduino IR — Hackster.io

Этот тахометр предназначен для настольного токарного станка WEN 3455 с регулируемой скоростью 7 на 12 дюймов в двух направлениях.Вы, вероятно, сможете модифицировать его для своего токарного станка.

Поскольку на моем токарном станке не было тахометра, я решил его сделать. Я программист и решил использовать датчик Холла или инфракрасный (ИК) датчик с Arduino и двухстрочным ЖК-дисплеем. Сначала я попробовал устройство на эффекте Холла, потому что оно было очень маленьким, но не очень хорошо работало на высоких скоростях. ИК-устройство вроде работало лучше, примерно до 1000 об / мин. Может быть, более быстрый датчик будет лучше для скорости более 1000 об / мин, но я редко выполняю какие-либо работы с металлом быстрее этого.

Первое, что мне нужно было сделать, это запустить Arduino, ЖК-дисплей и датчик. Я положил небольшую полоску этикеточной бумаги на ручную дрель с батарейным питанием, чтобы провести тестирование на стенде. Я использовал небольшой шлифовальный инструмент с приводом от двигателя, чтобы проверить более высокие скорости.

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

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

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

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

Нарисованная линия — это место, где на токарном станке подходит крышка. Я использовал его, чтобы помочь расположить датчик.

Датчик имеет небольшое монтажное отверстие и просто прикручивается к стойке. Винт имеет небольшую пластиковую шайбу между ним и платой. Он находится между двумя маленькими светодиодами на плате.

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

Здесь, выше, вы видите два основных этапа сборки: макетирование и монтаж всех частей на прототипные платы.

Некоторые вещи, на которые стоит обратить внимание на следующем рисунке:

1. Много вещей будет помещено в коробку. Я думаю, это была коробка для Raspberry Pi.

2. Вырезали макетную плату, чтобы припаять ее к светодиодному дисплею. Это позволяет подключиться к Arduino.

3. Arduino Nano была припаяна к небольшой прототипной плате.В следующий раз воспользуюсь розеткой. Если Nano выйдет из строя, поменять будет проще.

4. Потенциометр 10K был установлен на макетной плате, и следы цепи обрезались так, чтобы плюс, минус и стеклоочиститель при подключении не вызывали короткого замыкания.

5. Также в систему впаян небольшой выключатель и держатель батарейки на 9 вольт.

6. Nano должен быть установлен так, чтобы к разъему USB можно было получить доступ в случае изменения программы. Для этого в коробке был сделан вырез.

ИК-датчик полностью закрыт. Горшок обнажается и вырезается монтажное отверстие. Если датчик выходит из строя, достаньте самое острое лезвие X-Acto и будьте очень осторожны, чтобы не порезать провода. Это техническая хирургия.

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

Список деталей

Многие из этих вещей можно купить на Amazon, Adafruit или SparkFun.

  • OSOYOO 10PCS Инфракрасный инфракрасный модуль датчика предотвращения препятствий (Amazon)
  • KNACRO IIC / I2C / TWI 1602 последовательный ЖК-модуль с синей подсветкой (Amazon)
  • Mini Nano V3.0 Плата микроконтроллера ATmega328P (Amazon)
  • Gikfun с возможностью пайки макетная плата с позолоченной отделкой (Amazon)
  • Макетная плата Adafruit Perma-Proto размером в четверть — одиночная
  • Держатель батареи 9 В
  • Батарея 9 В
  • Маленький тумблер
  • Потенциометр 10K для яркости символов ЖК-дисплея
  • Корпус (что может держать все).Тот, который я использовал, был куплен у SparkFun очень давно. Думаю, это было для Raspberry Pi.
  • Нейлоновые винты, гайки, шайбы и распорки
  • Провод
  • Термоусадочная трубка

тахометр arduino — купить тахометр arduino с бесплатной доставкой на AliExpress

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

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

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

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

А если вы новичок на AliExpress, мы откроем вам секрет.Непосредственно перед тем, как вы нажмете «купить сейчас» в процессе транзакции, найдите время, чтобы проверить купоны — и вы сэкономите еще больше. Вы можете найти купоны магазина, купоны AliExpress или собирать купоны каждый день, играя в игры в приложении AliExpress. Вместе с бесплатной доставкой, которую предлагают большинство продавцов на нашем сайте, вы сможете приобрести tachometer arduino по самой выгодной цене.

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

Измерение об / мин с помощью щелевого оптического переключателя · Один транзистор

Как собрать тахометр с оптическим переключателем с прорезью и платой Arduino. Простой скетч на основе прерываний.

Счетчик оборотов очень легко построить с помощью оптического переключателя и способа подсчета импульсов, генерируемых переключателем.Для этого можно использовать микроконтроллер, частотомер и даже логический анализатор. Здесь я буду использовать самый дешевый и популярный метод: Arduino. Оптические переключатели — это устройства, состоящие из светодиода-излучателя, обычно инфракрасного типа, и диода-приемника. Между светодиодом, излучающим ИК-излучение, и приемником имеется щель. Непрозрачная деталь может проходить через эту щель и блокировать ИК-луч. Это будет обнаружено диодом приемника, и его выход изменит состояние.

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

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

В этом проекте я использовал оптический переключатель OPB930, который я нашел в своей корзине с запчастями. Вы не найдете этот точный номер детали, но оптические концевые выключатели, разработанные для использования на 3D-принтерах, широко доступны по цене менее 1 доллара США за штуку. Если вы хотите, вы даже можете построить его самостоятельно с помощью ИК-светодиода и ИК-фотодиода.

Щелевое колесо и оптический переключатель, установленные на двигателе
Еще у меня было готовое фланцевое колесо.Но это легко построить. Вам не нужно слишком много точности, просто способ закрепить металлический лист круглой формы на оси двигателя. Лучше всего достать фланцевую муфту и закрепить на ней металлический диск с помощью винтов. Доступны фланцевые муфты для осей разного диаметра. Затем вы можете отрезать диск любого диаметра, если он может быть установлен на фланец.
Фланцевое соединение и типы дисков, которые можно использовать для подсчета числа оборотов в минуту
Подключить оптопереключатель к Arduino очень просто. Вам понадобится только токоограничивающий резистор для ИК-светодиода. Оптический переключатель, который я использовал, имеет цифровой выход. А это нужно для Arduino, потому что подсчет ведется по прерываниям. Однако, если вы сделаете свой собственный переключатель с диодом, вам понадобится операционный усилитель для преобразования его выхода в цифровой формат.
Подключите оптический переключатель к контакту 2 Arduino
Для подсчета оборотов прерывание будет увеличивать переменную каждый раз, когда сигнал на выводе D2 возрастает.Также можно использовать падение сигнала. Затем время от времени считывается время, прошедшее с предыдущего расчета. Используя количество оборотов, которые произошли за это время, вычисляется число оборотов в минуту. Это число снова устанавливается на 0 и начинает отсчет, ожидая следующего вычисления.
Измеренное число оборотов двигателя 775
Обороты печатаются на ЖК-дисплее.
 noInterrupts ();
 uint32_t rpm = rot * 60000 / (миллис () - MeasureTime);
 гниль = 0;
 measureTime = миллис ();
 прерывания ();
 
Во время вычисления числа оборотов прерывания отключены.60000 делится на время в миллисекундах, прошедшее с момента предыдущего вычисления [ millis () — measureTime ]. Это преобразует мс в минуты. Затем значение умножается на количество оборотов ( вращений, ). Этот счетчик очищается и обновляется measureTime .

Программа невероятно проста.

 #include < LiquidCrystal  .h>

  LiquidCrystal  дисплей (8, 9, 4, 5, 6, 7);

volatile uint32_t rot; // количество оборотов
беззнаковое длинное измерениеTime = 0;

void setup () {
 pinMode (10, ВХОД); // для ЖК-экрана
 pinMode (2, ВХОД);

 ЖКbegin (16, 2);
 lcd.print («Тахометр»);
 задержка (500);

 attachInterrupt (0, addRotation, RISING);
}

void addRotation () {
 гниль ++;
}

void loop () {
 задержка (1000);

 noInterrupts ();
 uint32_t rpm = rot * 60000 / (миллис () - MeasureTime);
 гниль = 0;
 measureTime = миллис ();
 прерывания ();

 lcd. setCursor (0, 1);
 lcd.print (об / мин);
 lcd.print ("RPM");
}
 
Выводы ЖКИ настроены на экран ЖКИ-клавиатуры.

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

Взлом

Quick Arduino позволяет использовать точки переключения автомобильного дисплея без тахометра — Motor World

Раньше тахометр был аксессуаром, добавляемым к приборной панели только самых спортивных автомобилей, но теперь они в значительной степени стандартное оборудование для всего, от элегантных купе до семейный дальнобойщик.Если ваш повседневный водитель родился без тахометра, не бойтесь — простой тахометр Arduino находится в пределах вашей досягаемости.

Речь идет о автомобиле без тахометра Opel Astra [deepsyx], который из видео ниже, кажется, имеет бодрость и механическую коробку передач, которые делают тахометр особенно полезным. Отказавшись от традиционного аналогового дисплея счетчика или даже цифрового считывания, [deepsyx] решил указывать точки переключения с помощью четырех светодиодов, установленных на обломках старой кредитной карты. Первый светодиод загорается при 4000 об / мин, а последующие светодиоды загораются при каждом увеличении на 500 об / мин.При 5800 об / мин все светодиоды мигают, как предупреждение. [Deepsyx] даже обеспечивает последовательный вывод сглаженного значения числа оборотов в минуту, поэтому регистрация данных числа оборотов является возможным усовершенствованием в будущем.

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

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

[через R / Arduino]

Дизель?

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

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

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

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

То, что вы называете тахометром, в другом месте называют спидометром, или для краткости спидометром. В этом контексте слова тахометр и тахометр используются взаимозаменяемо.

speedo == тахометр с другой шкалой. Отдельный счетчик оборотов просто лишний, если вы знаете, на какой передаче вы работаете.

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

Это может быть правдой для старых автомобилей, хотя я сомневаюсь в этом, потому что 2500 об / мин на 1-й передаче — это не та же скорость, что и 2500 об / мин на 4-й. Большинство легковых автомобилей с 90-х годов получают информацию о скорости от датчика скорости автомобиля, который измеряет скорость вращения колес, а не частоту вращения двигателя.

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

Вы уверены? Маленькие цифры на спидометрах, которые я видел, — это километры в час, эквивалент скорости (или эквивалент миль в час для всех, кроме американцев)

см. Https: // goo.gl / images / n8xZoM для маркировки точки переключения.

Конечно, если вы спросите австралийца, Speedo также известен как «контрабандист волнистых попугаев». Хотя спидометр другого типа 🙂

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

Могли бы, но были бы умным алеком.

Обычно его называют спидометром. Тахометр (или тахометр) — это правильное название прибора, указывающее количество оборотов за период времени.Строго говоря, тахометр просто подсчитывает количество сделанных оборотов

«означает ли слово« тахометр »что-то совершенно иное в других местах мира, чем то, в котором я живу?»

Ага. Ура английскому!

Ура Древние греки: takhús = fast

Все тахометры измеряют скорость чего-либо. Счетчик оборотов измеряет скорость двигателя, а спидометр измеряет скорость вращения колес. Оба тахометра.

И тут я подумал, что это просто опечатка, пропустив «y» перед «o».Я подумал — круто, наконец-то кто-то придумал средство для измерения сверхсветовой скорости… а затем… MEH… это был просто очередной трюк «Schätzeisen».

Вау, я не знал, что мы, немцы, используем неправильное слово 😀

, а также: интересно, когда люди перестанут использовать ослепительно яркие огни для приборных панелей. Нечестивая «шумиха вокруг синих светодиодов» уже должна закончиться, не так ли?

Я там не понимаю * неправильных * слов.

Вы видите число оборотов в минуту на тахометре, подключенном к двигателю, а вашу скорость — на тахометре, подключенном к вашим колесам (выходному валу коробки передач).

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

На самом деле это не так: тахометр происходит от греческого tachýs «быстрый» и métron «шкала», поэтому тахометр на немецком языке — правильное слово для того, что англоязычный мир называет «спидометр».

Вы можете легко использовать синие светодиоды на приборной панели. Только не придерживайтесь старого правила «20 мА для светодиода» 🙂 Вероятно, 100 мкА может быть достаточно, по крайней мере, ночью. Как-то раз я тестировал светодиод и удивлялся, почему он слабо светится — соединение прошло через мой палец. Дальнейшие тесты показали, что даже при 100 нА было видно слабое свечение (нормальный дневной свет, без солнца, тени вручную).

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

Я сделал это с 30 светодиодами и 3 LM3914 на моем мотоцикле около 30 лет назад. Поскольку он выполнял преобразование частоты в напряжение (конденсатор диодного резистора), его пришлось откалибровать с помощью потенциометра. Вибрация велосипеда разрушила горшок. Так что это был FAIL lol, но интересно, пока он работал, потому что он был довольно уникальным в то время.

Отличная работа! Но … для Astra (и любого другого автомобиля последних 20 лет) простой plug & play — дисплей OBD тоже подойдет.Хорошо, это дороже, но в нем есть гораздо больше возможностей для отображения (температура, истинная скорость, зажигание, напряжение и т. Д.).

Боже, что ты делаешь с этим плохим двигателем? : — /

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

4 цилиндра? это не педаль акселератора.Это регулятор громкости. 🙂

Я проделал то же самое со своей astra несколько лет назад, используя демонстрационную плату, которую я получил от DX

Лучше сделать это так же, как дешевые китайские счетчики оборотов, или этот http: / /www.kmt-telemetry.com/sensorless-speed-rpm-measurement/rpm-8000-pro/

т.е. считывать импульсы при изменении напряжения на прикуривателе — никаких инвазивных проводов не требуется.

Или возьмите регулятор уровня и расшифруйте K-Line KWP, используемую в автомобиле.Это можно сделать с помощью всего лишь одного дополнительного оборудования.

Готов поспорить, что у ECU есть тахометр, даже если у приборной панели нет тахометра.

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

«Выходной сигнал тахометра» — это просто сторона низкого напряжения катушки зажигания. Или в современной машине — спусковой крючок для одной из катушек.

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

Несколько лет назад у меня был похожий проект с моей Honda CRX 1990 года выпуска. Мой тач сломался, поэтому я написал последовательный драйвер Arduino для чтения регистров рабочей памяти из ЭБУ. ЖК-дисплей написан с использованием шины I2C PCF8574, так что я мог бы продолжить программу в некоторых фарах переключения передач в стиле ралли, используя другой PCF8574, и просто связать его с ЖК-дисплеем. Я также наполовину написал управление наддува PID, но я как бы потерял интерес после того, как решил основную проблему отсутствия тахометра и датчика наддува.

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

Cool…

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

Diy Цифровой счетчик революции тахометра на базе Arduino Youtube — Corona Todays

Цифровой счетчик оборотов тахометра на базе Arduino на базе Arduino

Jlcpcb (10 плат за 2 доллара) и бесплатная доставка: jlcpcb Привет, ребята, я сделал цифровой тахометр, используя изготовленную на заказ печатную плату electricdiylab ho. Привет, ребята, добро пожаловать на мой канал proknow. В этом видео я покажу вам, как сделать цифровой тахометр Arduino | счетчик оборотов | pr.Это видео посвящено созданию цифрового тахометра (счетчика оборотов) с помощью простых компонентов дома. Не стесняйтесь задавать вопросы в разделе комментариев. В этом видео я показал, как создать на макете простой цифровой тахометр или счетчик оборотов на базе Arduino. Весь процесс объяснен в шагах, приведенных ниже. Машина для намотки тороидальной катушки на основе Arduiuno Привет, производители, в этом посте мы увидим, как просто вы можете построить цифровой тахометр или счетчик оборотов на базе Arduino, вы можете быстро собрать это устройство дома самостоятельно, вам нужно только несколько компонентов, перечисленных ниже.

Дайджест схемы Diy Тахометр оборотов с использованием Arduino

Поможет сделать счетчик оборотов в домашних условиях. Я построил его, используя Arduino, старый дисплей, оптический датчик, макетную плату и несколько перемычек. Если вы тоже хотите сделать тахометр самостоятельно, посмотрите прикрепленное видео или посетите страницу проекта. Страница проекта: тахометр оборотов своими руками. Обороты тахометра до 10 долларов. Мы собираемся сделать простой и удобный, но точный тахометр.возьмите акриловую опорную пластину с несколькими отверстиями, чтобы закрепить компоненты. я зафиксировал evive (Arduino на основе встраиваемых платформ) на опорную плиту с помощью некоторых болтов и гаек. мы собираемся использовать ИК-датчик для изготовления тахометра. Как сделать цифровой тахометр на основе Arduino простым самостоятельным учебником: давайте посмотрим, как сделать цифровой тахометр на основе Arduino. Принцип работы: ИК-датчик проникает через движение вала двигателя, сигнал передается от ИК-модуля на Arduino. Этот сигнал обрабатывается в Arduino согласно загруженному на него коду.затем…. Оптический тахометр для измерения скорости вращения: это руководство покажет вам, как сделать портативный цифровой оптический тахометр с помощью Arduino Uno. вместо щелевого датчика он имеет датчик на основе отражения. Таким образом, 1. Вам не нужно беспокоиться о толщине ротора2. число b…. Сделанный своими руками тахометр (счетчик оборотов) в этом проекте, я покажу вам, как мы можем использовать датчик расстояния 3 € ir для создания правильного самодельного тахометра, который работает правильно. ардуино.

Цифровой тахометр на базе Arduino своими руками Counter Счетчик оборотов

Полное руководство: electricdiylab, как сделать цифровой тахометр или счетчик оборотов на базе Arduino. Это видео о том, как сделать простой arduino bas.Благодаря этому ваш цифровой тахометр, сделанный своими руками, готов измерить каждый оборот, совершенный парком двигателей! Благодаря огромному успеху, любви и поддержке таких энтузиастов, как вы, мы решили расширить нашу кампанию indiegogo! да, вы правильно прочитали !. Тахометр (счетчик оборотов, тахометр, тахометр, проверка оборотов) — это прибор, оценивающий скорость вращения диска или пластины, как в двигателе или другом механизме. гаджет обычно показывает число оборотов в минуту (об / мин) на отрегулированном аналоговом циферблате, а цифровые тахометры все в норме.Добавьте оптический тахометр на базе Arduino к маршрутизатору с ЧПУ: создайте оптический индикатор оборотов для вашего маршрутизатора с ЧПУ с помощью Arduino nano, ИК-светодиодного ИК-фотодиодного датчика и OLED-дисплея менее чем за 30 долларов. Я был вдохновлен оптическим тахометром eletro18 для измерения оборотов в минуту и ​​хотел добавить тахометр…. Привет, это мой первый пост здесь. Некоторое время назад я прошел курс для начинающих по Arduino и сделал несколько полезных (а некоторые не очень полезных) проектов с тех пор, как закончил курс. в моей машине (1960-х) нет тахометра (тахометра).так что один из моих последних проектов — создать цифровой тахометр.

DIY Тахометр для вашей мельницы или токарного станка

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

Основы

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

Пример оптического датчика вращения / тахометра

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

TouchDRO работает так же, как и любой другой тахометр. Контроллер отслеживает состояние контакта, к которому подключен вход «А». Когда состояние вывода изменяется с низкого на высокий, микроконтроллер проверяет состояние входа «B». Если последний низкий, счет увеличивается; если оба контакта высокие, счет уменьшается. Дважды в секунду контроллер отправляет счет на планшет и снова начинает счет с 0. На планшете приложение просто преобразует количество оборотов за полсекунды в число оборотов в минуту, используя простую арифметику.

Самостоятельная реализация тахометра

Для проекта DRO есть три жизнеспособных варианта:

  • Используйте датчик эффекта HAL и диск с одним или несколькими встроенными магнитами
  • Используйте инфракрасный излучатель и приемник с отражающим диском или цилиндром
  • Используйте инфракрасный излучатель и принимайте с перфорированного / прозрачного диска

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

Разница между вторым и третьим вариантами заключается в способе монтажа пары ИК-излучатель / приемник.

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

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

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

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

Детали схемы

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

  • Два инфракрасных светодиода
  • Два фототранзистора
  • Четыре резистора
  • Два подстроечных потенциометра
  • Один компаратор
  • Одна прототипная плата

* Если вас не волнует направление вращения, вам понадобится только один комплект эмиттер / приемник, резистор и подстроечный потенциометр.

Базовая схема тахометра с использованием пары ИК-светодиод / приемник

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

Слева вы видите светодиод с токоограничивающим резистором. Резистор необходим, так как большинство светодиодов могут выдерживать только около 20 мА, но будут пытаться потреблять столько тока, сколько может обеспечить источник питания, и сгорят за секунды. Использование резистора в диапазоне 150–220 Ом ограничит ток до более управляемого уровня.

В следующем «столбце» находится фототранзистор (приемник), подключенный к Vcc (положительный источник питания) и заземлению через резистор R2 10 кОм. Как я упоминал ранее, ток на эмиттере (где транзистор подключен к резистору и компаратору U1) будет пропорционален количеству света, достигающего приемника. Теоретически, когда путь к светодиоду ограничен, напряжение должно быть 0В, так как R2 тянет его к группе, а когда светодиод светит прямо на транзистор, напряжение должно быть близко к Vcc.На практике все немного запутаннее, поэтому мы будем использовать компаратор LM339 для «квадрата» сигнала. Добавив потенциометр к положительному выводу, мы сможем установить любое произвольное напряжение от 0 В до Vcc в качестве эталона. Таким образом, поскольку, когда входной отрицательный ниже, чем опорное напряжение, выход компаратора будет низким, и пойдет на высокий уровень, когда входной сигнал выше, чем в качестве ссылки.

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

В зависимости от характера вашего шума, времени нарастания и т. Д. Это может не быть проблемой, поскольку компаратор не работает мгновенно. Другими словами, если период шума короче, чем время отклика компаратора, он эффективно сгладит его.На всякий случай мы можем добавить в схему еще одну простую особенность — гистерезис. Для этого требуются два дополнительных резистора, как показано ниже. 1 В или гистерезис — хорошая отправная точка. Этого можно достичь, выбрав R4 и R5 таким образом, чтобы их соотношение было примерно 1: 5, 10 кОм и 47 кОм.

Оставить комментарий

Ваш адрес email не будет опубликован.