- Необхідні компоненти:
- Пояснення схеми:
- Генератор квадратних хвиль на основі IC 555 таймера:
- Ворота спускового механізму Шмітта:
- Arduino вимірює ємність:
- Короткий зміст та тестування:
Коли ми стикаємось із друкованими платами, які були розроблені раніше, або ми дістаємо одну зі старого телевізора чи комп’ютера, намагаючись її відремонтувати. І іноді нам потрібно знати ємність конкретного конденсатора в платі, щоб усунути несправність. Тоді ми стикаємося з проблемою отримання точного значення конденсатора з плати, особливо якщо це пристрій для поверхневого кріплення. Ми можемо придбати обладнання для вимірювання ємності, але всі ці прилади коштують дорого і не для всіх. З огляду на це, ми збираємося розробити простий вимірювач ємності Arduino для вимірювання ємності невідомих конденсаторів.
Цей лічильник можна легко зробити, а також економічно вигідним. Ми збираємося зробити лічильник ємності за допомогою Arduino Uno, тригерного затвора Шмітта та таймера 555 IC.
Необхідні компоненти:
- 555 таймер IC
- IC 74HC14 спусковий механізм Шмітта або НЕ затвор.
- Резистор 1K Ω (2 штуки), резистор 10KΩ
- Конденсатор 100 нФ, конденсатор 1000 мкФ
- 16 * 2 РК-дисплей,
- Макет та деякі роз'єми.
Пояснення схеми:
Принципова схема вимірювача ємності з використанням Arduino показана на малюнку нижче. Схема проста, РК-екран поєднаний з Arduino для відображення виміряної ємності конденсатора. Схема генератора квадратних хвиль (555 в режимі Astable) підключена до Arduino, де ми підключили конденсатор, ємність якого потрібно виміряти. Тригерний затвор Шмітта (IC 74LS14) використовується для забезпечення подачі на Arduino лише прямокутної хвилі. Для фільтрації шуму ми додали кілька конденсаторів по всій потужності.
Ця схема може точно вимірювати ємності в діапазоні від 10 нФ до 10 мкФ.
Генератор квадратних хвиль на основі IC 555 таймера:
Перш за все ми поговоримо про генератор квадратних хвиль на основі таймера 555, або я повинен сказати 555 Astable Multivibrator. Ми знаємо, що ємність конденсатора не може бути виміряна безпосередньо в цифровій схемі, іншими словами, UNO має справу з цифровими сигналами, і вона не може виміряти ємність безпосередньо. Отже, ми використовуємо схему генератора квадратних хвиль 555 для підключення конденсатора до цифрового світу.
Простіше кажучи, таймер забезпечує вихід прямокутної хвилі, частота якої безпосередньо впливає на підключену до нього ємність. Отже, спочатку ми отримуємо сигнал квадратної хвилі, частота якого є репрезентативною ємності невідомого конденсатора, і передаємо цей сигнал в UNO для отримання відповідного значення.
Загальна конфігурація 555 в режимі Astable, як показано на малюнку нижче:
Частота вихідного сигналу залежить від резисторів RA, RB та конденсатора C. Рівняння подано як, Частота (F) = 1 / (Період часу) = 1,44 / ((RA + RB * 2) * C).
Тут RA і RB - значення опору, а C - значення ємності. Поставивши значення опору та ємності у вищевказане рівняння, ми отримуємо частоту вихідної квадратної хвилі.
Ми підключаємо 1KΩ як RA і 10KΩ як RB. Тож формула стає, Частота (F) = 1 / (Період часу) = 1,44 / (21000 * C).
Переставляючи умови, які ми маємо, Ємність C = 1,44 / (21000 * F)
У нашому програмному коді (див. Нижче) для точного отримання значення ємності ми розрахували результат у nF, помноживши отримані результати (у фарадах) на “1000000000”. Також ми використовували '20800' замість 21000, оскільки точні опори RA та RB складають 0,98K та 9,88K.
Отже, якщо ми знаємо частоту квадратної хвилі, ми можемо отримати значення ємності.
Ворота спускового механізму Шмітта:
Сигнали, генеровані ланцюгом таймера, не є абсолютно безпечними для прямого надсилання в Arduino Uno. Зважаючи на чутливість UNO, ми використовуємо тригерний затвор Шмітта. Тригерний затвор Шмітта - цифровий логічний затвор.
Цей затвор забезпечує ВИХІД на основі рівня вхідної напруги. Тригер Шмітта має рівень напруги THERSHOLD, коли сигнал INPUT, поданий на затвор, має рівень напруги, що перевищує ПОРІГ логічного затвора, ВИХІД стає ВИСОКИМ. Якщо рівень сигналу напруги INPUT нижчий ніж THRESHOLD, ВИХІД затвора буде НИЗКИМ. З огляду на те, що ми зазвичай не отримуємо тригер Шмітта окремо, ми завжди маємо ворота НЕ, що слідують за тригером Шмітта. Тут працює пояснення роботи триггера Шмітта: Ворота спускового механізму Шмітта
Ми збираємось використовувати мікросхему 74HC14, у цій мікросхемі 6 воріт Schmitt Trigger. Ці шість воріт з'єднані між собою, як показано на малюнку нижче.
Істина Таблиця Перевернутий тригера Шмітта воріт це шоу в малюнку нижче, з цим ми повинні запрограмувати UNO для інвертування позитивні і негативні періоди часу на своїх терміналах.
Ми підключаємо сигнал, генерований ланцюгом таймера, до затвора ST, у нас буде на виході прямокутна хвиля інвертованих періодів часу, яку безпечно передавати UNO.
Arduino вимірює ємність:
Uno має спеціальну функцію pulseIn , яка дозволяє нам визначити тривалість позитивного або негативного стану певної прямокутної хвилі:
Htime = pulseIn (8, HIGH); Ltime = pulseIn (8, LOW);
Функція pulseIn вимірює час, протягом якого високий або низький рівень присутній на PIN8 від Uno. Функція pulseIn вимірює цей час (Htime) та низький час (Ltime) в мікросекундах. Коли ми складемо Htime і Ltime разом, ми отримаємо тривалість циклу, і, перевернувши його, ми отримаємо частоту.
Отримавши частоту, ми можемо отримати ємність, використовуючи формулу, яку ми обговорювали раніше.
Короткий зміст та тестування:
Отже, підсумовуючи, ми підключаємо невідомий конденсатор до схеми таймера 555, яка генерує вихід квадратної хвилі, частота якої безпосередньо пов’язана з ємністю конденсатора. Цей сигнал подається UNO через шлюз ST. ООН вимірює частоту. З відомою частотою ми запрограмуємо UNO для розрахунку ємності, використовуючи формулу, обговорену раніше.
Давайте подивимось деякі результати, які я отримав, Коли я підключив електролітичний конденсатор 1 мкФ, результат дорівнює 1091,84 нФ ~ 1 мкФ. А результат з поліефірним конденсатором 0,1 мкФ становить 107,70 нФ ~ 0,1 мкФ
Потім я підключив керамічний конденсатор 0,1 мкФ, і результат - 100,25 нФ ~ 0,1 мкФ. Також результат з електролітичним конденсатором 4,7 мкФ становить 4842,83 нФ ~ 4,8 мкФ
Ось як ми можемо просто виміряти ємність будь-якого конденсатора.