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

У запропонованій схемі безконтактного тахометра є невеликий переміщається магніт, і ми вимірюємо період напруги, що генерується їм в нерухомій котушці. При такому способі вимірювальна ланцюг з мотором не пов’язана (ні електрично, ні фізично). Блок-схема пристрою показана на рис. 5.27.

Рис. 5.27. Блок-схема тахометра

Специфікація проекту

Мета проекту-створити тахометр, який придатний для вимірювання частоти обертання вентиляторів, моторів і т. П. Без всякого механічного або електричного контакту з об’єктом. Система повинна працювати від батарейок і мати графічний дисплей для відображення необхідної інформації.

Опис пристрою

Схема складається з котушки з великою індуктивністю (100 мГн) й операційного підсилювача (аналогічно схемі обертового дзиги). Сигнал з підсилювача проходить через два фільтри з різними постійними часу, щоб створити невелику різницю фаз між відфільтрованими вихідними сигналами. Ці два сигнали з різними фазами подаються на інший операційний підсилювач для перетворення в імпульсний вихідний сигнал. Сигнал з котушки залежить від змінного магнітного поля. Якщо схему розмістити поряд із закріпленим на валу мотора магнітом, то при його обертанні магнітне поле в котушці почне змінюватися і на її висновках з’явиться синусоїдальна напруга.

На рис. 5.28 зображена принципова схема безконтактного тахометра. Наведене в котушці напруга посилюється операційним підсилювачем IC3-A (LM358), а вихідний сигнал проходить через два RC-фільтра (З’єднані паралельно) з різними постійними часу. Виходи цих фільтрів з’єднані з входами підсилювача IC3-B (LM358). Він перетворює синусоїдальний сигнал з котушки в прямокутні імпульси тієї ж самої частоти (рис. 5.29). Далі імпульси подаються на мікроконтролер AVR Tiny45, який вимірює частоту сигналу на контакті 3 (налаштований як вхідний). Решта контакти мікроконтролера управляють точково-матричним дисплеєм від мобільного телефону Nokia 3310. Тахометр живиться від батареї в 9 В, підключеної до гнізда SL3.

Рис. 5.28. Принципова схема безконтактного тахометра

Рис. 5.29. Осцилограма сигналів безконтактного тахометра

Монохромний дисплей не має підсвічування, тому по обидва боки дисплея встановлені білі світлодіоди (щоб було видно при поганому освітленні).

Схема живиться від батарейки в 9 В, підключеної до гнізда SL3; від цього ж напруги харчується і операційний підсилювач LM358. Для дисплея Nokia потрібна напруга від 3 до 3,3 В, тому харчування для нього (І для мікроконтролера) забезпечує стабілізатор LM2950-3.3V. Вихідний сигнал з підсилювача проходить через резистор і стабілітрон на 3 В, щоб обмежити амплітуду сигналу, що подається на мікроконтролер.

Конструкція

Компонування плати в програмі EAGLE (а також її принципову схему) можна завантажити за посиланням: www.avrgenius.com/tinyavrl.

Рис. 5.30. Плата безконтактного тахометра (сторона компонентів)

Рис. 5.31. Плата безконтактного тахометра (сторона друкованих провідників)

Рис. 5.32. Зовнішній вигляд готового пристрою

Обидві сторони плати показані на рис. 5.30 і 5.31. На рис. 5.32 зображено повністю готовий пристрій.

Програмування

Відкомпільований вихідний код (разом з файлом MAKEFILE) можна завантажити за посиланням: www.avrgenius.com/tinyavrl.

Максимальний час одного обороту визначено заздалегідь. Функція running_condition перевіряє час ОДНОГО обороту (при ДОПОМОГИ period_count) і порівнює з цим максимальним часом. Якщо максимальний час більше значення period_count, то двигун обертається; якщо менше – двигун зупинився. Значення period_count і period_totai оновлюються в перериванні по переповненню TIMERO (лістинг 5.8).

i wr5:®;……… · _ _ Г / V v; …………. T_________________ …, j

I SR (T IMO_OVF_vec t)

{

// Кожні 9.984 мс TCNTO = 255-78; period_total + = 9. 984; if (period_count <5500) period_count + = 9. 984; else

period_count=5500;

}

Вектор переривання PCO забезпечує основну роботу тахометра (реальний вимір кількості оборотів в хвилину і тривалості періоду). Він перевіряє присутність низького рівня на четвертому контакті PINB, і якщо цей рівень зберігається протягом 20 мкс, то система вважає, що один період пройшов, і збільшує глобальну змінну по на одиницю. Коли значення по досягає 6 (минуло шість періодів), контролер обчислює число обертів на хвилину і період обертання. Якщо значення змінної period_totai менше 360 мс, то програма не робить нічого. В іншому випадку здійснюється перехід в той блок, де за допомогою значення period_totai обчислюється число обертів і період обертання (і включає дисплей). Після виходу з цього блоку програма знову скидає значення period_totai і по в нуль. Код цього блоку приведено в лістингу 5.9.

За допомогою функції display тахометр відображає число оборотів в хвилину і період обертання. Коли ця функція викликається зі значенням змінної what, рівним чотирьом, відображаються обороти в хвилину, а коли what дорівнює п’яти – відображається період обертання. В іншій частині коду виконується присвоювання початкових значень різним змінним (для правильної роботи програми).

if ( ! (PINB& (1«4) )*)

{

_delay_us (2 0); // Чекати стабілізації

if (! (PINB & (1 «4))) // Перевірити ще раз на низький рівень

{

flag = 0; // Режим відображення після закінчення in по ++;

period_count = 0; if (no == 6) // Минуло б періодів {

/ *** ЦЕЙ БЛОК обчислюється швидкість І ЧИСЛО оборотів в хвилину за результатами замірів *** / if ((period_total / (no)) <60);

// Нічого не робити, якщо період менше 60 мс.

// Фільтрація 2000 оборотів в хвилину, else {

frequency = (12.0 / period_total) * 1000; rpm = frequency * 60; // число оборотів в хвилину period_actual = period_total / 12; displayon = l; // дисплей включений

}

period_total=0;no=0;

}

}

}

Робота пристрою

Для перевірки працездатності необхідно включити живлення і піднести пристрій до рухомого об’єкту (вентилятору або валу мотора). До цього об’єкту повинен бути заздалегідь прикріплений невеликий магніт. Дисплей покаже частоту і період обертання.

Джерело: Гадре, Д., Цікаві проекти на базі мікроконтролерів tinyAVR / Дхананья Гадре, Нігула Мелхотра: Пер. з англ. – СПб .: БХВ-Петербург, 2012. – 352 с .: іл. – (Електроніка)