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

У меня очень мало знаний в области электроники, я занимаюсь программным обеспечением.

Мне интересно разработать систему, в которой есть 8-битный микроконтроллер, который должен получать питание от двух разных источников:

  • От аккумулятора (в полевом режиме) и
  • Через порт USB (в заводском режиме)

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

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

Может ли кто-нибудь помочь мне понять, как этого достичь?

Спасибо.

Ответы (1)

Один из очень простых способов - использовать диоды (используйте диоды Шоттки для меньшего падения напряжения) для каждого источника питания и иметь подтягивающий резистор на стороне источника. Затем вы можете использовать контакт ввода-вывода для каждого источника питания на вашем MCU, чтобы определить, какой из них подключен.

Например, скажем, у вас есть батарея на 3 В и микроконтроллер на 3,3 В. Эта схема уменьшит 5 В от USB до приемлемого уровня для контактов ввода-вывода.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Предлагается заменить D2 P-канальным полевым транзистором, управляемым крайним левым сигналом «К MCU», чтобы получить ту же функциональность без потери мощности в диоде при работе от батареи.