цифровая электроника
вычислительная техника
встраиваемые системы

 

Бесконтактный цифровой тахометр на Arduino своими руками

Автор: Mike(admin) от 27-11-2019, 05:05

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


Бесконтактный цифровой тахометр на Arduino своими руками

Принципиальная электрическая схема тахометра на основе Arduino показана на следующем рисунке. Она базируется на плате Arduino Uno (Board1), индуктивном нормально разомкнутом (NO) датчике pnp-типа, ЖК-дисплее 16 × 2 (LCD1), оптопаре PC817 (IC1) и нескольких других компонентах.


Бесконтактный цифровой тахометр на Arduino своими руками

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


Датчик приближения обнаруживает находящиеся поблизости объекты без какого-либо физического контакта. Максимальное расстояние, которое может обнаружить датчик – это его номинальный диапазон. Датчик приближения может иметь высокую надежность и длительный срок службы из-за отсутствия механических частей и физического контакта между датчиком и целью / объектом. Датчик приближения NO типа pnp, используемый в этом проекте, показан на следующем изображении.


Датчик приближения

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


Бесконтактный цифровой тахометр на Arduino своими руками

Вы не можете прочитать обороты напрямую из-за разрешения. Разрешение основано на количестве металлических целей. Обороты могут быть измерены с использованием следующего соотношения: обороты = (количество прерываний в секунду x 60 (секунд в минуту)) / количество металлических целей.


Код программы для реализации бесконтактного тахометра на основе Arduino приведен далее.



#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 7, 6, 5, 4, 3);
unsigned int rev=0;

void setup()
{
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.setCursor(5, 0);
  lcd.print("ARDUINO");
  lcd.setCursor(3, 1);
  lcd.print("TACHOMETER");
  delay(1000);
  attachInterrupt(0,isr,FALLING);
  lcd.clear();   
}

void loop()
{
  unsigned int rpm = rotation();
  rev=0;
  delayMicroseconds(1000000); 
  lcd.setCursor(3, 0);
  lcd.print("TACHOMETER");
  lcd.setCursor(0, 1);
  lcd.print("RPM: ");
  lcd.setCursor(5, 1);
  lcd.print(rpm);
  lcd.print("           ");
  Serial.println(rpm);
}

void isr()
 {
  rev++;
 }

unsigned int rotation()
  {
  unsigned int r;
  interrupts();
  delay(1024);
  noInterrupts();
  r=(rev)*60;
  return r;
  }

Схема печатной платы тахометра на базе Arduino и компоновка ее компонентов представлены на следующих рисунках.


Бесконтактный цифровой тахометр на Arduino своими руками

Бесконтактный цифровой тахометр на Arduino своими руками



© digitrode.ru


Теги: Arduino, тахометр



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


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

Комментарии:

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