Тахометр своими руками

Arduino
08.12.2020

(Всего голосов: 0)

 

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

 

Нам понадобятся:

1) Arduino Uno (Uno, Nano или Mega - не важно)

2) Цифровой модуль датчика Холла

3) Любой магнит

 

Подключаем модули согласно схеме

 

Заливаем скетч в плату Arduino Uno

unsigned long lastflash;
int RPM;

void setup() {
  Serial.begin(9600);  //инициализация работы порта на скорости 9600 бод
  attachInterrupt(0,sens,RISING); //прерывание на 2 ('0' - 2 пин, '1' - 3 пин)
}
void sens() {
  RPM = 60 / ((float)(micros() - lastflash) / 1000000);  //расчет частоты (об/мин)
  lastflash = micros();  //запоминание времени последнего оборота
}

void loop() {
  //если сигнала нет больше секунды, RPM = 0
  if ((micros() - lastflash) > 1000000){
    RPM = 0;
  }
  Serial.println(RPM);   //вывод в порт
  delay(50);  //задержка для стабильности
}

Важный момент: Arduino Nano и Uno обрабатывают прерывания только со 2 и 3 цифровых пинов!

 

Далее в программе Arduino IDE заходим в раздел Инструменты -> Монитор порта и наблюдаем за выводимыми значениями, если частота не считывается, нужно установить скорость обмена снизу справа на 9600 бод.


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