Виміряйте напругу d; акумулятор або d; акумулятор з Arduino або ESP8266; Домашня автоматизація та

акумулятор

Розробляючи власні підключені об'єкти, вам часто доводиться запускати їх на акумуляторах або батареях LiPo. Єдина проблема полягає в тому, що ми не знаємо енергії, що залишилася, або напруги живлення. На щастя, Arduino, модулі ESP8266 і навіть Raspberry мають принаймні один аналогово-цифровий перетворювач, за допомогою якого ми зможемо оцінити ці дві величини.

Після інтеграції в сервер домашньої автоматизації ми можемо створити сценарій або повідомлення, щоб вказати, що настав час замінити батареї або зарядити акумулятор.

Як виміряти напругу, що подається акумулятором ?

Пишучи цю статтю, я не винаходив колесо. Мене надихнула ця чудова стаття, опублікована skyduino (якій я побіжно дякую). Нам знадобляться два резистори і карта принаймні з одним аналоговим входом. Я використовував дошку ESP8266 Wemos D1 Mini, показану раніше.

Для вимірювання напруги, що подається акумулятором, ми збираємося зробити роздільний міст із такою формулою:

Vs = Vin * (R2/(R1 + R2))

Тоді ви повинні взяти до уваги характеристики Arduino або плати ESP8266. Дійсно, АЦП Arduino здатний витримувати напругу 20 Вольт, тоді як допустима напруга ESP8266 відрізняється від одного виробника до іншого (коли це вказано виробником !). Ось кілька прикладів:

Отже, залежно від використовуваної плати, необхідно буде відрегулювати міст дільника напруги і, відповідно, вибрати резистори відповідно. Ідея полягає в тому, щоб зменшити напругу, що подається акумулятором (або акумуляторами), щоб не перевищувати допустиму напругу перетворювача, не надто знижуючи його для точного вимірювання ... відключення

Я зробив кілька невеликих розрахунків, щоб знайти комбінації резисторів в залежності від напруги, дозволеної цифровим перетворювачем карт. Я шукав комбінації з резисторами, які доступні в стартовому наборі Arduino. Я підрахував деякі загальні напруги живлення: 2xAA, 3xAA, 4xAA, регулятор напруги LD1117V33, акумулятор LiPO, зарядний пристрій 5 В.

Колірний код використовуваних резисторів:

  • 220 Ом: червоний, червоний, коричневий
  • 1000 Ом: коричневий, чорний, червоний
  • 4700 Ом: жовтий, фіолетовий, червоний

Ось зв’язок, який потрібно встановити. Підключіть резистор R1 до джерела живлення + 5 В (тут ми перевіряємо джерело живлення 5 В карти Wemos D1). Підключіть резистор R2 до виводу GND та вимірювального щупа, як показано на схемі.

Ви також можете виміряти напругу, подану іншою батареєю. У цьому випадку з'єднайте маси разом (акумулятор + карта).

Виміряйте напругу акумулятора за допомогою ESP Easy

Для тих, хто вважає за краще використовувати ESP Easy для швидкого програмування, ось як виміряти напругу, що подається акумулятором, та опублікувати його на сервері домашньої автоматизації за допомогою MQTT. Якщо ви новачок у ESP Easy, я запрошую вас прочитати цю вступну статтю. Так само, якщо ви новачок у MQTT, ви можете почати тут.

Підключіться до картки ESP і перейдіть на вкладку Пристрої, а потім натисніть Редагувати на одному з 4 рядків.

  • У списку пристроїв виберіть Аналоговий вхід
  • Вкажіть назву (однакове для всіх завдань для спрощення тем MQTT)
  • Дайте номер. Наприклад, марно в Jeedom, але якщо ви не введете число (або 0), нічого не вийде
  • Поставте прапорець надсилати дані

Спочатку просто введіть% value%, а потім надішліть. Потім оновіть сторінку, натиснувши Пристрій. Отримуємо значення, яке повертає АЦП, значення від 0 (для 0В) до 1023 (для 3.3В).

Значення, що повертається цифровим перетворювачем

Тепер почнемо з розрахунку теоретичного значення, виміряного зондом на виході з мосту. Ми отримуємо це наступним чином:

У випадку з Wemos, максимальна напруга на терміналі перетворювача становить 3,3 В, тому ми матимемо для рівня 788

Вимірювання напруги на виході моста дільника

Оскільки ми знаємо, що коефіцієнт моста має коефіцієнт 0,5 для Wemos D1 Mini, ми маємо

а якщо бути точнішим

Залишилося лише інтегрувати його в ESP Easy. Відредагуйте завдання, ввівши наступну формулу, замінивши R1 і R2 на значення ваших опорів або дільника, якщо це правильно.

Це зроблено, тепер у вас є (правильне) вимірювання напруги, поданої картою.

Теоретична напруга, розрахована за допомогою ESP Easy

Давайте перевіримо, чи вимірюємо те саме мультиметром, безпосередньо підключеним до терміналів картки .

Вимірювання реальної напруги, поданої на штифт + 5 В Wemos D1 Mini

Це не так вже й погано !

Код Arduino (сумісний з ESP8266) для вимірювання напруги

Адаптуйте наступний код і завантажте його в Arduino.

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