Как использовать кнопку и транзистор в качестве kickstarter для питания?

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

Чип, в моем случае ATtiny45, имеет программу, которая просто издает определенный звук (надеюсь, более приятный, чем у сердитой обезьяны) с помощью ШИМ, но также будет питать выходной вывод, соединяющийся с транзистором, действующим как реле между батареей и выводом питания.

Это идеальный протокол:

(No closed circuit, no power)
Press Button
Battery power goes through to transistor
Transistor allows current from Battery to PWR pin
Software: Chip starts PWM to Speaker and Outputs constantly the Hold Pin
Hold pin powers the transistor and thus the chip for when the button won't be pressed
Software: When Button still pressed, makes Chip Scream louder
Software: Button not pressed anymore makes chip scream softer until it's done screaming
Software: Scream is finished, stops powering the Hold Pin
Transistor isn't powering the chip anymore.

Я думаю, что идея правдоподобна, хотя я не могу проверить ее в данный момент из-за отсутствия NPN-транзисторов (?)

Мои вопросы заключаются в следующем:

  • Правда: Можно ли транзистору в качестве реле питать микросхему по требованию?
  • Риски: Будет ли мощность сильнее из-за усиливающей природы транзистора? Что касается чипа, я читал, что чип может поддерживать свой код более 20 лет без источника питания. Это правда?
  • Цели: Есть ли лучший способ сэкономить электроэнергию? Было бы лучше, если бы чип просто включил режим сна?
  • Имя: Если это сработает, есть ли лучшее имя, чем Испуганная обезьяна?

Еще раз спасибо за вашу помощь, это сообщество уже многому меня научило!

schematic

, 👍0

Обсуждение

почему вы ожидаете, что ATtiny45 проснется, когда его отключат от питания? ... исследование глубокого сна, @jsotola

У меня такое чувство, что в этом случае вам понадобится PNP-транзистор, потому что вам нужна определенная минимальная разность напряжений между базой и эмиттером, чтобы NPN-транзистор стал проводящим, что не будет работать с MCU, подключенным к эмиттеру. NPN-транзисторы обычно являются переключателями с низкой стороны, а не с высокой. В настоящее время не уверен в этом, но я определенно видел хороший ответ где-то у Майенко, который описал аналогичную схему, только на основе NMOS-транзисторов., @chrisl


2 ответа


Лучший ответ:

1

Я думаю, что все эти усилия излишни. ATTINY45 тянет максимум 2uA во время сна...

... и на практике я обнаружил, что типичный ток намного меньше.

Если, скажем, вы используете для своего проекта батарейки типа ААА, то вы можете спать более 100 лет. На практике ваши батареи будут саморазряжаться задолго до этого, поэтому любая потенциальная экономия энергии при полном отключении чипа будет потрачена впустую (и помните, что есть некоторая потеря утечки транзисторов, которая может быть даже больше, чем мощность сна, используемая ATTINY).

Вместо этого подключите батареи непосредственно к контактам питания ATTINY и подключите кнопку между любым контактом ввода-вывода и землей. Активируйте внутреннее подтягивание на выводе ввода-вывода, а затем установите прерывание pinchange на этом выводе, чтобы разбудить чип при нажатии кнопки. Теперь ложитесь спать и ждите, пока вас разбудит нажатие кнопки.

,

Намного проще и практичнее, чем мое стремление, особенно из-за того, что мне нужно делать это для нескольких единиц. Спасибо!, @B7th


2

Ваша идея здрава, но ваша реализация ошибочна.

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

Для этого вам нужен только один вывод ввода-вывода - сигнал "Hold it on". Сигнал "поймать" в вашей схеме - это просто чип, получающий питание.

А еще есть ваша схема. Вы действительно должны использовать P-канальный МОП-транзистор для переключения питания, а не NPN-транзистор. NPN не будет работать, а PNP (который был бы тем, что вы использовали бы для этого, если бы вы использовали BJT) наложит падение напряжения, чего вы не хотите.

Ваша схема на самом деле должна выглядеть так:

schematic

При холостом ходе M1 (P-канал с пороговым напряжением значительно ниже напряжения батареи) отключается путем вытягивания затвора R1 вверх до напряжения источника. Нажатие кнопки опускает затвор ниже порогового напряжения, позволяя включиться M1. Затем чип получает питание.

M2 (N-канал с пороговым напряжением значительно ниже напряжения чипа) затем активируется чипом, управляя GPIO HIGH, чтобы обойти переключатель и подключить затвор M1 к GND. R2 держит M2 выключенным во время холостого хода.

M2 необходим для того, чтобы при выключении питания между батареей и GPIO не протекал ток. Без него ток может протекать через R1 в GPIO, через защитные диоды ESD внутри чипа и потенциально разбить чип.

Теперь, чтобы помочь прояснить некоторые из ваших вопросов:

Правда: Можно ли транзистору в качестве реле питать микросхему по требованию?

Да, это так.

Риски: Будет ли мощность сильнее из-за усиливающей природы транзистора?

Нет. Усиление с помощью BJT - это действительно неправильное название. Он не "усиливает" сигнал, он берет один маленький сигнал и использует его для пропорционального управления большим сигналом. Но это только в "линейной" части кривой. При таком использовании в "насыщении" он больше похож на выключатель - мощность, подаваемая на базу, включает поток тока от коллектора к эмиттеру.

Что касается чипа, я читал, что чип может поддерживать свой код более 20 лет без источника питания. Это правда?

Да. Флэш-память обычно имеет срок хранения от 10 до 100 лет. 20 лет - вполне разумная приблизительная цифра.

Цели: Есть ли лучший способ сэкономить электроэнергию? Было бы лучше, если бы чип просто включил режим сна?

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

Имя: Если это сработает, есть ли лучшее имя, чем Испуганная обезьяна?

Мне нравится название "Испуганная обезьяна". Думаю, я сам воспользуюсь этим в будущем.

,

Вау @Majenko это исчерпывающий ответ, который заставляет меня понять намного больше! Для PNP тот факт, что он вызывает падение напряжения, на самом деле решил бы еще одну мою проблему. Согласно другому вопросу, который я опубликовал, батареи 2x3V имеют слишком большое напряжение и могут разрушить чип, а падение напряжения, вызванное PNP, может работать, в зависимости от того, сколько напряжения упало?, @B7th

Однако почему необходим второй транзистор и резистор вместо простого диода? Что касается резистора, то, если я правильно понимаю, он должен направлять ток определенным образом или защищать микросхему от полной силы тока на входном выводе?, @B7th

@B7th Диод не защитит микросхему от входящего тока при выключении. Вам нужно поглотить ток от затвора P-канала, а это значит, что диод должен быть ориентирован так, чтобы ток протекал * в * микросхему, тем самым сводя на нет любую возможную защиту. Резисторы - это чисто подтягивающие / понижающие резисторы, чтобы держать вентили на нужном уровне, когда чип не работает., @Majenko

@B7th И для напряжения батареи вы должны рассмотреть вопрос о правильном понижающем регуляторе с очень низким (или нулевым) напряжением отсева или, в худшем случае, стабилитроне для зажима напряжения на уровне 5 В (что является пустой тратой энергии)., @Majenko

Таким образом, понижающий преобразователь поможет скорректировать напряжение, два МОП-транзистора должны иметь противоположный "заряд", а два резистора - тянуть затворы. Я понимаю важность каждого из них, однако мне придется повторить их для каждого чипа, который будет выполнять одну и ту же задачу, и их будет от 12 до 32, и все они будут кричать асинхронно. Если есть какой-то из этих элементов, который можно удалить, распараллелить, упростить или закодировать тем или иным способом, то что это может быть? Понижающий преобразователь может использоваться более чем для одного, так что это помогает., @B7th

@B7th Вы можете получить один чип с P / N-канальными МОП-транзисторами в паре, например [этот] (https://assets.nexperia.com/documents/data-sheet/PMDT290UCE.pdf ) (хотя, конечно, проверьте свои текущие требования, но похоже, что вам много не нужно)., @Majenko

Если вам нужно так много из них, возможно, было бы лучше не делать этого аппаратно, а вместо этого перевести чипы в спящий режим. Таким образом, все, что нужно, - это чип, кнопка и зуммер. Возможно, это немного больше работы, чтобы получить правильное программное обеспечение, но вам нужно сделать это только один раз, а не 12-32 раза. Ток в спящем режиме должен быть ничтожно мал, как сказал Маенко., @Gerben