Arduino-kit - датчик швидкості обертання


Сприймає елемент модуля - оптична пара ITR9608. В одному виступі корпусу розташований інфрачервоний світлодіод, спрямований на фототранзистор знаходиться в іншому виступі. Якщо в щілину між виступами внести непрозору пластину, то ІК випромінювання від світлодіода перекривається і фототранзистор закривається. Такий компонент іноді називають фотопреривателем, але він тільки фіксує переривання світлового потоку. Як показано на схемі з емітера транзистора сигнал надходить в схему приладу.

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

Датчик швидкості обертання FC-03 використовується для вимірювання частоти обертання. Визначити з його допомогою напрямок обертання не можна. На валу двигуна або шестерні редуктора встановлюється диск з отворами. Оптопара модуля має проріз шириною 5 мм. При обертанні диска, як зображено на анімації, постійно в прорізи чергуються отвори і ділянки пластини. Датчик перетворює чергування елементів диска в електричні імпульси. Електроніка модуля робить сигнал датчика придатним для сприйняття цифровими логічними мікросхемами або мікро контролером.

Arduino-kit - датчик швидкості обертання

Сигнал від ITR9608 надходить на вхід компаратора LM393. з його виходу на контакт D0 і індикаторний світлодіод надходить цифровий сигнал складається з високих і низьких логічних рівнів. На вихід A0 сигнал йде безпосередньо від ITR9608 без перетворення в логічні рівні. Застосування компаратора LM393 дозволяє отримати рівні фронти імпульсів і трохи збільшити струмовий навантаження виходу датчика, встановити в схемі світлодіод показує стан виходу.

На платі распложено 2 світлодіоди. Один показує включення датчика швидкості обертання FC-03, інший відсутність перепони в датчику. При першому ознайомчому включенні обидва світлодіода повинні світитися. При внесенні металевої пластини у вільний простір переривника один світлодіод повинен згаснути.

За допомогою датчика можна вимірювати не тільки швидкість обертання, прискорення, але і відстань пройдене колісним роботом, фіксувати відпрацьований ресурс двигуна. Особливо важливо контролювати швидкість обертання коліс коли кожне колесо приводиться в рух своїм двигуном. Для прямолінійного руху швидкості обертання всіх коліс повинні бути рівні, при поворотах підкорятися алгоритму системи управління.

Arduino-kit - датчик швидкості обертання

При обертанні диска відоме кількість отворів перетинає щілину датчика за один оборот. Підраховуючи кількість отворів можна визначити 1 оборот колеса або, наприклад 15,5 оборотів. Вимірюючи кількість оборотів в одиницю часу, ми отримуємо частоту обертання колеса, а звідси швидкість руху об'єкта. Спираючись на сигнали від датчика і маючи точне значення тимчасових інтервалів, прилад обчислює параметри руху. Тут актуально використання мікроконтролера.
Наступна програма для Arduino дозволяє визначити кількість оборотів в хвилину і видає результати у вікно послідовного терміналу.

#define PIN_DO 2 // Установка контакту використовуваного в Arduino
volatile unsigned int pulses;
float rpm;
unsigned long timeOld;
#define HOLES_DISC 15

void setup ()
Serial.begin (9600);
pinMode (PIN_DO, INPUT);
pulses = 0;
timeOld = 0;
attachInterrupt (digitalPinToInterrupt (PIN_DO), counter, FALLING);
>

void loop ()
if (millis () - timeOld> = 1000)
detachInterrupt (digitalPinToInterrupt (PIN_DO));
rpm = (pulses * 60) / (HOLES_DISC);
Serial.println (rpm);

timeOld = millis ();
pulses = 0;
attachInterrupt (digitalPinToInterrupt (PIN_DO), counter, FALLING);
>
>

Результати роботи програми.

Arduino-kit - датчик швидкості обертання

Схожі статті