Оглавление:

Таймер 555 для выдачи сигнала для прерывания Atmega328: 7 шагов
Таймер 555 для выдачи сигнала для прерывания Atmega328: 7 шагов

Видео: Таймер 555 для выдачи сигнала для прерывания Atmega328: 7 шагов

Видео: Таймер 555 для выдачи сигнала для прерывания Atmega328: 7 шагов
Видео: Уроки Ардуино. Прерывания по таймеру 2024, Июль
Anonim
555 Таймер для выдачи сигнала для прерывания Atmega328
555 Таймер для выдачи сигнала для прерывания Atmega328

Основная цель этой схемы - экономия энергии. Итак, я не собираюсь говорить об Arduino, потому что сама плата имеет ненужные накладные расходы на электроэнергию для конечного продукта. Это отлично подходит для развития. Но не очень хорошо для финальных проектов, работающих от батарей. Я буду использовать один для своего POC, но для экономии энергии использование автономного Atmega328 даст вам лучшие результаты.

Я сделал метеостанцию (TOBE), которая будет заряжать пару батарей 3,7 В параллельно с помощью солнечной панели. Моя первая версия прошла очень хорошо, спасибо. Но у меня была проблема. Использование батареи было больше, чем скорость зарядки солнечной панели. Я не буду здесь вдаваться в цифры. Но через некоторое время я заметил, что уровень заряда батареи медленно снижается. Не считая того факта, что я из Канады, и солнце здесь не товар. Затем я использовал библиотеку, чтобы перевести Atmega328 в спящий режим на 8 секунд (есть другие временные рамки, но 8 секунд больше), а затем вернулся к работе. Использование очень простое и работает так, как предполагалось. Но 8 секунд мне было мало.

Это потому, что моя метеостанция состоит из 3 компонентов.

  • Часы реального времени
  • DHT11
  • OLED дисплей

Часы показывают на дисплее с точностью до минуты. Температуру и влажность нам не нужно обновлять так часто. Итак, мне нужно было придумать что-то, что позволило бы мне настроить интервал, и я тоже хотел немного повеселиться, делая это.

Я создал доказательство своей концепции, имея таймер 555 в нестабильном режиме, чтобы разбудить Atmega328 с помощью внешних прерываний. Это то, что я собираюсь показать здесь

Запасы

Для этого Учебного пособия нам потребуются следующие материалы:

  • Плата Arduino
  • Микросхема таймера 555
  • 2 резистора (1 МОм, 220 Ом)
  • 1 поляризованный конденсатор (100 мкФ)
  • Провода перемычки
  • Датчик DHT11
  • Макетная плата

Шаг 1. Сначала макет

Сначала макет
Сначала макет

Начнем с макета на макете. Я использую датчик DHT, чтобы указать на еще один способ экономии энергии в ваших проектах. Как видите, устройство питается от вывода Arduino. Которая будет НИЗКОЙ, пока Arduino спит, что сэкономит еще больше энергии. Вы можете сделать это с любым устройством, для работы которого требуется менее 40 мА.

Шаг 2: Объяснение схемы

Я не буду вдаваться в подробности того, как работает таймер 555, так как существует множество руководств, объясняющих его работу и несколько режимов. Мы используем таймер 555 в нестабильном режиме. Это означает, что на высоком уровне он будет заряжать конденсатор до 2/3 В на столько времени, сколько определяет резистор 1, а затем разряжать его на столько, сколько определяют резисторы 2. На самом деле нам не нужно много времени в сигнале разряда, поэтому вы можете использовать резистор 220 Ом. Используя комбинацию резисторов 1 МОм и 220 Ом, вы получите задержку около 1 минуты. Игра с первым резистором и конденсатором даст вам разное время.

Шаг 3: набросок

Шаг 4: объяснение эскиза

Цель этого наброска - прочитать влажность и температуру и заснуть, пока он не получит толчок, чтобы проснуться и прочитать его снова.

Для этого я устанавливаю вывод прерывания как INPUT_PULLUP (подробнее о подтягиваниях в другом эпизоде). И этот штифт будет иметь прерывание каждый раз, когда работа будет завершена.

Как только сигнал прерывания поступает, код снова запускается и снова переходит в спящий режим. И так далее.

Шаг 5: некоторые цифры

Некоторые числа
Некоторые числа
Некоторые числа
Некоторые числа

Для этого POC я смог выполнить измерения примерно за 3 секунды. Затем устройство перейдет в спящий режим около 1 минуты.

Используя прецизионный измеритель амперметра 0,001 для измерения тока, я увидел 0,023–0,029 ампер за время его работы (~ 3 секунды) и 0,000 во время сна (~ 1 мин). Конечно, это не нулевое показание, поскольку у нас работает 555-й. Но в Microamp я не входил. В любом случае экономия существенная.

Шаг 6: Схема и печатная плата

Схема и печатная плата
Схема и печатная плата
Схема и печатная плата
Схема и печатная плата
Схема и печатная плата
Схема и печатная плата

Для тех из вас, кто хочет построить для этого печатную плату, вот ссылка на нее:

Там вы найдете дизайн и схему, которые можно отправить любому производителю печатных плат.

Существует также папка print_version для тех из вас, кто любит травить печатные платы дома, как это делаю я.

Шаг 7: приложения

Применение этого огромно. Каждый раз, когда вам нужен внешний сигнал с определенной скоростью, вы можете использовать эту схему. Я использую, чтобы перевести свою метеостанцию в спящий режим, и один из модулей перейдет в спящий режим вместе с Atmega328.

Для эффективных результатов в экономии энергии вам следует подумать о наличии автономного Atmega328. Я разрабатываю плату с этой возможностью, и скоро я смогу подключить любой проект Atmega328 к этой концепции.

Если у вас есть хорошие идеи о том, как реализовать решения для экономии энергии, пожалуйста, дайте мне знать, поскольку я действительно увлекаюсь проектами, связанными с батареями и солнечными панелями.

Спасибо за чтение, и увидимся в следующий раз с другими проектами.

Рекомендуемые: