Амперметр використовується для вимірювання поточного струму через будь-яке навантаження або пристрій. Тут, в цьому амперметрі Arduino, ми пояснимо, як вимірювати струм, використовуючи закон Ома. Це буде досить цікаво, а також гарне застосування фундаментальної науки, яку ми вивчали в шкільні часи.
Всім нам добре відомий закон Ома, він стверджує, що " різниця потенціалів між двома полюсами або клемами провідника прямо пропорційна величині струму, що проходить через один і той же провідник " для константи пропорційності ми використовуємо опір, тому тут приходить рівняння закону Ома.
V = ІЧ
- V = напруга на провіднику в Вольт (v).
- I = струм, що проходить через провідник в Амперах (А).
- R = константа опору пропорційності в Омах (Ом).
Для того, щоб знайти поточний прохід через пристрій, ми просто переставляємо рівняння, як показано нижче, або можемо обчислити за допомогою калькулятора закону Ома.
I = V / R
Тож для того, щоб дізнатись поточний, нам потрібні деякі дані:
- Напруга
- Опір
Ми збираємось створити серійний опір разом із пристроєм. Оскільки нам потрібно знайти падіння напруги на пристрої, для цього нам потрібні показники напруги до і після падіння напруги, що можливо в опорі через відсутність полярності.
Як і на наведеній вище схемі, ми повинні знайти дві напруги, які протікають через резистор. Різниця між напругами (V1-V2) на двох кінцях резисторів дає нам падіння напруги на резисторі (R), і ми ділимо падіння напруги на значення резистора, отримуємо струм струму (I) через пристрій. Ось як ми можемо розрахувати поточну величину, що проходить через неї, давайте перейдемо до її практичної реалізації.
Необхідні компоненти:
- Arduino Uno.
- Резистор 22Ω.
- РК-дисплей 16x2.
- СВІТЛОДІОДНИЙ.
- Горщик 10 тис.
- Макет.
- Мультиметр.
- Кабелі перемички.
Схема та з'єднання:
Принципова схема проекту Arduino Ammeter наведена нижче
Принципова схема показує з’єднання Arduino Uno з РК-дисплеєм, резистором та світлодіодом. Arduino Uno є джерелом живлення всіх інших компонентів.
Arduino має аналогові та цифрові висновки. Схема датчика підключена до аналогових входів, з яких ми отримуємо значення напруги. РК-дисплей підключається до цифрових штифтів (7,8,9,10,11,12).
РК-дисплей має 16 висновків, перші два висновки (VSS, VDD) і останні два висновки (анод, катод) підключені до gnd і 5v. Висновки скидання (RS) і активації (E) підключені до цифрових виводів Arduino 7 і 8. Висновки даних D4-D7 підключені до цифрових виводів Arduino (9,10,11,12). Штифт V0 з'єднаний із середнім штифтом горщика. Червоний і чорний дроти мають напругу 5 В і GND.
Схема датчика струму:
Ця схема амперметра складається з резистора та світлодіода як навантаження. Резистор послідовно підключений до світлодіода, що струм протікає через навантаження, а падіння напруги визначається від резистора. Термінали V1, V2 збираються підключитися до аналогового входу Arduino.
В АЦП Arduino, який охоплює напругу в 10-бітові числа з роздільною здатністю від 0-1023. Тому нам потрібно приховати це значення напруги за допомогою програмування. До цього нам потрібно знати мінімальну напругу, яку може виявити АЦП Arduino, це значення становить 4,88 мВ. Ми множимо значення з АЦП на 4,88 мВ і отримуємо фактичну напругу в АЦП. Дізнайтеся більше про АЦП Arduino тут.
Розрахунки:
Значення напруги з АЦП Arduino коливається в межах 0-1023, а опорна напруга коливається в межах 0-5v.
Наприклад:
Значення V1 = 710, V2 = 474 і R = 22Ω, різниця між напругами дорівнює 236. Перетворюємо його у напругу, помноживши на 0,00488, тоді отримуємо 1,15v. Отже, різниця напруг дорівнює 1,15 в, поділивши її на 22, ми отримаємо поточне значення 0,005 А. Тут ми використали резистор із низьким значенням 22 Ом як датчик струму. Ось як ми можемо виміряти струм за допомогою Arduino.
Код Arduino:
Повний код амперметра для вимірювання струму на основі arduino наведено в кінці цієї статті.
Програмування Arduino майже те саме, що і програмування на c, спочатку ми оголошуємо файли заголовків. Файли заголовків викликають файл у сховищі, наприклад, для розрахунку я отримую значення напруги за допомогою функції analogread .
int voltage_value0 = analogRead (A0); int voltage_value1 = analogRead (A1);
Тимчасова змінна float оголошується для утримання значення напруги, як float temp_val. Значення множиться на 0,00488, щоб отримати фактичну різницю напруги, тоді воно ділиться на значення резистора, щоб знайти поточний потік. 0,00488v - це мінімальна напруга, яку може виявити АЦП Arduino.
int subraction_value = (напруга_значення0 - значення_напруги1); float temp_val = (subraction_value * 0.00488); float current_value = (temp_val / 22);
Перевірте повне демонстраційне відео нижче, а також перевірте цифровий вольтметр Arduino.