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

 



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

Автор: Mike(admin) от 14-04-2017, 18:15

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


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

Тахометр является довольно простым по своей сути устройством, поэтому его можно без особого труда сделать самостоятельно на основе Arduino.


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


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


Тахометр на Arduino своими руками Схема подключения

Как только двигатель начнет вращаться, положительное напряжение будет передаваться на аналоговый вход Arduino. Arduino переведет это напряжение в цифровой код. Поскольку мы используем семисегментный дисплей, мы можем иметь 10 значений, то есть от значения 0 до 9. Мы можем запрограммировать Arduino так, чтобы разделить аналоговое значение, которое он получает на 9 делений, что даст нужный выход от 0 до 9. Ниже представлен код для работы самодельного тахометра на Arduino.



intval=0;

intbinVal;

void setup()

{

Serial.begin(9600);          //  настройка последовательного порта

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(A2,INPUT);

}


void loop()

{

val = analogRead(A2);    // считываем аналоговый вход (напряжение с двигателя)

Serial.println(val);

    // debug value

binVal=val/1024*9;

switch(binVal){

case 0:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 1:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 2:

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 3:

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 4:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 5:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 6:

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 7:

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 8:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

break;

case 9:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

break;

default:

break;

  }

}



© digitrode.ru


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




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

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

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