Увімкніть Arduino таймером кожні 24 години


9

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

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

Я шукаю якусь "схему swich-on-timer". Він повинен відлічувати 24 години, а потім увімкнути реле або MOSFET, який підключає регулятор напруги до живлення і разом з цим вмикає Arduino і ESP8266. Коли Arduino закінчив передачу, він скидає таймер, який відключає регулятор напруги від живлення тощо. Звичайно, схема таймера повинна використовувати лише дуже мало енергії.

Хтось знає таку схему? Я шукав AliExpress з усіма варіаціями слів, які мені прийшли в голову, без успіху. Чи, можливо, ІС, який можна (легко) використати для створення такої схеми?


1
Не всі регулятори напруги однакові. Деякі використовуватимуть лише кілька мікроампер.
Гербен

Думаючи з коробки ... Не вистачить стандартного перемикача таймера ?
користувач31208

Відповіді:


5

Одним із підходів було б використання модуля DS3231 (Precision Real Time Clock). Такі модулі продаються на Ebay за менше 1 долара. Шукати ds3231 arduino.

Зазвичай ці модулі мають шестиконтактний роз'єм із штифтами з позначкою 32K, SQW, SCL, SDA, VCC та GND. Як зазначається у специфікаціях DS3231, контактний штифт INT / SQW використовується або для виходу квадратної хвилі, або для виходу з переривання. На сторінці 13 специфікацій, в розділі Реєстр управління, написано:

Біт 2: Контроль переривання (INTCN). Цей біт керує сигналом INT / SQW. Коли біт INTCN встановлено на логіку 0, на штирі INT / SQW виводиться квадратна хвиля. Коли біт INTCN встановлений на логіку 1, то відповідність між регістрами зберігання часу та будь-яким з регістрів тривожних сигналів активує вихід INT / SQW (якщо сигнал також увімкнено).

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

Штифт DS3231 INT / SQW був би підключений до воріт PF-каналу MOSFET, який перемикає потужність 12 В на Arduino. P-fet увімкнеться, коли увімкнеться вихідний штифт сигналу відкритого зливу INT / SQW. Операційна програма займається своєю справою, а потім очищає прапор переривання DS3231, щоб вимкнути живлення до наступної тривоги. (Для налагодження встановлюйте більш короткі інтервали, ніж день; наприклад, раз на хвилину, як описано в таблиці 2, Біти маски тривоги, на сторінці 12 специфікацій.)

Зазвичай DS3231 витягує 0,84 мкА при роботі від акумулятора 3,3 В або 1 мкА від 5 В. Див. Електричні характеристики, стор. 3 специфікації.


1
Напевно, ворота P-fet повинні бути підтягнуті до +12 через щось на зразок резистора 1 мегаом; інакше це було б ефективно відкрито, коли штифт INT / SQW вимкнений, і міг
випливати

3

Сам таймер або ланцюг таймера повинен був провести деякий струм. Будь-який з мікросхем AVR pico-power приводить дуже мало струму в режимі сну - у 10-ти мікроампер для 328, якщо я правильно пам'ятаю. Увімкнути AVR для найменшого поточного розіграшу потрібно майже все вимкнено, окрім сторожового таймера, а максимальний період WDT становить 8 сек. Бібліотека, як Нарколептик, керуватиме довшими періодами для вас. Що вам потрібно зробити, - це забезпечити набагато ефективніше регульоване джерело живлення, ніж вбудований на плату Arduino (якщо для цього ви будете використовувати). Після цього навантаження Arduino на ваш акумулятор автомобіля повинно бути мікроскопічним.

Однією з можливих конструкцій для ефективного живлення є масив лужних батарей, скажімо, 3 послідовно, для виходу 4,5 (у той час як свіжий) паралельно 2 або більше таких струн паралельно, підключених безпосередньо до шини 5 В.

Я не зробив бюджету енергії, щоб дізнатися, яка ємність вам потрібна, і чи потрібні вам D-комірки, чи можна зробити практичний масив з менших, скажімо, АА, але це спосіб досягти нульового навантаження на автомобільний акумулятор (дисконтування вимоги датчика напруги автомобільного акумулятора). Можливо, ви хочете включити в щоденний звіт здоров’я масиву акумуляторів Arduino або, за ціну кількох лугів, ви можете настільки переробити батарею Arduino, що моніторинг її стане непотрібним.

Кілька даних даних припускають, що окремий акумулятор - це підхід:

  • Одномісний луг 9 В працює сповіщувачем диму більше року, включаючи перезимування на неопалюваному горищі (на мій власний досвід), а 9В лугів не відомі своєю ємністю.
  • Мій цифровий терморегулятор працює протягом двох років на двох осередках АА, перш ніж: а) вони померли; і б) я подумав і почав їх змінювати щорічно. :)

У мене є ATmega48 (дуже схожа на 328P), яка працює з пари клітин АА з червня 2012 року. Вона прокидається трохи більше 4 хвилин на день, а решту часу спить. Поки що не замінено батареї.
Едгар Бонет

Це вражаючий час роботи - дякую за додаткову точку даних, @EdgarBonet! Я очікував, що сплячий Arduino і лужний акумулятор можуть бути системою "встановити і забути", але не обчислюючи споживання енергії, я не здогадувався, що це буде добре. Отже, @DirkPitt, є деякі дані реальної підтримки.
JRobert

Це не повний Ардуїно: мені не вдалося потрапити нижче ~ 40 мА зі своїм Uno, тоді як голий ATmega в SLEEP_MODE_PWR_SAVE, з активованим лише таймером асинхронізації, взяв щось на кшталт 2 мкА.
Едгар Бонет


-1

Ви можете використовувати таймер. ви можете придбати його з ebay приблизно за 5 євро. я використовую цей

https://www.ebay.com/itm/CN101-DC-12V-16A-Digital-LCD-Power-Programmable-Timer-Time-Relay-Switch-New/401190616827?hash=item5d68d2fefb:g:K3sAAOSwNRdX3ggT

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.