Главная » Статьи » Полезная информация

Еще один способ эффективного энергосбережения для проектов



 Размышляя на тему как максимально экономить батарейку в проектах где основная задача выполняется по нажатию кнопок (как в пультах ДУ) в голову пришла очень простая и эффективная схема. Ее достоинство состоит в том, чтобы на кнопку возложить не только задачу вызывать ту или иную функцию, но и подавать питание на микроконтроллер. Таким образом потребление схемы в режиме ожидание падает до нуля (!), так как батарейка оказывается полностью отключенной от схемы.

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





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

для проверки схемы собрал ее на макетке:




код обработки нажатия самый элементарный:

$regfile = "m16def.dat"
$crystal = 8000000

Config Portb = Output
Config Portc = Input

Do

If Pinc.= 1 Then
 Portb.= 1
End If

If Pinc.= 1 Then
 Portb.= 1
End If

If Pinc.= 1 Then
 Portb.= 1
End If

Loop

End






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


 

Категория: Полезная информация | Добавлено: 29.09.2013
Просмотров: 15856 | Комментарии: 15 | Теги: энергосбережение | Рейтинг: 5.0/12
Всего комментариев: 15
+1   Спам
15 Kolini   (23.02.2014 18:40)
Код программы требует доработок. Светодиоды выключаются только когда отжаты все кнопки. ТО есть если нажать две или три кнопки а потом отпустить все кроме одной (любой), то светодиоды буду продолжать гореть :-)

+2   Спам
14 gorlofu   (04.10.2013 09:58)
Всё гениальное - просто

+1   Спам
13 kip96   (01.10.2013 11:20)
Ну и слава Богу, что разобрались. Сам сегодня, ради интереса, отключил питание от Меги 8 и подключил питание на пустую ногу. Мега8 справилась имея на борту DS1307, NRF24L01 и индикатор 1602.Всё отработало нормально. Конечно, через внутренние диоды запитывать опасно, но можно в программе включать ногу потрта, который откроет мосфет, который подаст питание уже на Vcc, как уже предлогал exersizze

12 Valera18   (30.09.2013 23:14)
Прикольно, даже не знал, что с любого порта напряжение попадает на VCC. :))))

11 Oboltus   (30.09.2013 23:04)
Да, взглянул даташиты, понял о чем речь.

kip96 я ни к кому не настроен враждебно.Я просто уточняю Вашу мысль.Я сразу ее не понял. Кстати, спасибо! Момент с диодной защитой я как-то упустил из виду...

+1   Спам
10 exersizze   (30.09.2013 22:04)
Немного не допоняли вы друг друга, просто исключить из этой схемы диоды конечно нельзя, это очевидно smile
Но камрад kip96 оказался таки прав. Если просто подавать напряжение с батареи на входы, то напряжение попадет на VCC через внутренние диоды. И схема работает точно также
а для проверки просто отключил провод питания  http://avrproject.ru/112/42dzhltva439.png
падение на внутренних диодах оказалось 1 Вольт (при питании 5 вольт на VCC появляется 3,98 вольт)
ps max, для пользователей смайлы отключил, из-за непонятной ошибки при вставке бывает что у сайта сносит крышу и страницы криво отображаются

9 kip96   (30.09.2013 20:34)
Oboltus, тут всё в письменной форме, читайте коментарий 3.Зачем мне повторяться. Так что вопрос только с теории пройти на практику.

8 Valera18   (30.09.2013 17:42)
Я согласен с Oboltus
Прочитайте статью.

Сам раньше думал про такой способ питания (включения) для передатчика на NRF24L01, но не хотелось возиться с диодами, так так после диода напряжение было меньше (особенно, заметно в цепях с низким напряжением питания).

+1   Спам
7 Oboltus   (30.09.2013 17:29)
Т.е. Вы хотите сказать, что,диоды стоят например между PC2 и VCC ? И стоит просто сразу подавать питание только на PC2, а VCC вообще не трогать?

Или Вы все-таки не просекли момент: (фраза из статьи выше) Диоды в схеме нужны чтобы отсечь попадание высокого уровня на остальные входы. Вы о чем?

6 kip96   (30.09.2013 16:55)
Точно так-же, как и в схеме статьи. Эти диоды уже стоят в МК. т.е. получается масло масленное. Диоды уже давно ставят в микросхемах, это своеобразная защита от статики.

5 Oboltus   (30.09.2013 15:34)
Видимо транзистор и подразумевается, иначе ничего серьезнее выше приведеной схемы и не соберешь))
3 kip96!А как за пределами корпуса МК тогда разделить сигналы на прерывании без диодов? Иначе просто все кнопки окажутся запараллелеными. Или я не понял Вашу мысль?

4 max   (30.09.2013 15:21)
Дешево и сердито.

P.S. В комментах не хватает смайлов.

+1   Спам
3 kip96   (30.09.2013 14:40)
На самом деле в мк диоды уже стоят. На каждой ноге к Vcc и Vss. exersizze , попробуй без диодов, просто подать питание на порт, должно работать.

2 exersizze   (30.09.2013 12:43)
Да. Но еще можно добавить транзистор, который будет держать напряжение пока это необходимо, а после выполнения программы закрывать его.

1 Scorpushka   (30.09.2013 12:35)
спасибо, вообщем, пока держишь кнопку, работает

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://jlcpcb.com/

авторизация
Логин:
Пароль:
Комментарии
Направлятор
14.01.2018 - milcin68:
Приветствую, а может кто время подправить?
что бы не по Гринвичу а +3 час...
Регулятор температуры и влажности
12.01.2018 - bobkus:
заборол. баском кривой был. Спасибо автору отличный аппарат.
Регулятор температуры и влажности
12.01.2018 - bobkus:
Доброго всем. Собрал аппарат с прошивкой: Спец версия для датчика DHT22 (для раб...
Диммер с сенсорной кнопкой
09.01.2018 - exersizze:
artcore, отпиши автору этого диммера, может он ответит. Адрес написал в л...
Диммер с сенсорной кнопкой
01.01.2018 - artcore:
Доброго новогоднего настроения всем читающим =) из приведённого кода мне не поня...
Работа с внешней EEPROM в Bascom-AVR на примере 24lc08
26.12.2017 - xorkrus:
А можно пример для 24C512 или аналогичной?
Что-то я как ни ткнусь - уменя...
Включаем свет по хлопку
23.12.2017 - Mels:
Сделал, вроде работает, но работает так что... Калибровка оч сложная как по мне,...
Контроллер лабораторного блока питания
22.12.2017 - гончар:
не работает прошивка.кто поможет с рабочей прошивкой?
Подключение матричной клавиатуры 4х4 к микроконтроллеру
01.12.2017 - Kasym:
Нашел интересный косяк: если к переменной string*5 добавлять string*1 много раз,...