Управление направлением тока через контакт в зависимости от типа подключенного устройства

У меня есть небольшое портативное устройство — назовем его ГЛАВНЫМ — которое можно вставить в два разных аксессуара — ЗАРЯДНОЕ и ПОДЧИНЕННОЕ. Вы можете проверить очень грубые блок-схемы на прикрепленном изображении.

диаграмма

В MASTER установлена ​​батарея LiPo емкостью 40 мАч с номинальным напряжением около 3,7 В (но, конечно, во время использования это что-то между 3 и 4,2 В). Это напряжение дополнительно регулируется до 1,8 В. Это напряжение, которое используется MCU.

MASTER имеет 3 контакта/площадки, которые выходят за пределы корпуса MASTER. Они не сильно расширяются, но пользователь определенно может коснуться их или закоротить иным образом.

CHARGER и SLAVE имеют пружинные пальцы (примерно такие http://www.te.com/catalog/products/en?q=2199001 ), которые образуют контакт, когда MASTER помещается внутрь.

Вывод DATA используется для идентификации одиночного провода SLAVE/CHARGER. Память с идентификатором имеет паразитное питание, поэтому ее можно прочитать, даже если батарея не подключена к SLAVE. ГЛАВНЫЙ может легко определить, является ли подключенное устройство ВЕДОМЫМ или ЗАРЯДНЫМ.

Все остальное на SLAVE (кроме памяти) должно питаться от контактов BAT и GND MASTER, потому что SLAVE не имеет батареи.

Но также аккумулятор MASTER должен заряжаться через контакты BAT и GND.

Что, наконец, подводит нас к проблеме: возможно ли подавать напряжение на SLAVE, а также заряжать батарею MASTER, используя только один контакт? И, конечно же, без возможности короткого замыкания батареи МАСТЕРА и других компонентов.

ПРИМЕЧАНИЕ: Подача напряжения на ВЕДОМЫЙ и перезарядка МАСТЕРА НИКОГДА не будут происходить одновременно, это совершенно разные события.

Теперь несколько идей, которые у меня были, но я не смог их реализовать (наверное, потому что я слишком туп :)):

  • Вы можете использовать идентификацию на SLAVE/CHARGER, чтобы «открыть» пути питания/зарядки цепи, но учтите, что зарядка батареи ДОЛЖНА быть возможной, даже когда батарея полностью разряжена и отключена.
  • Использование магии MOSFET/транзистора для распознавания типа аксессуара (SLAVE или CHARGER).
  • Отрежьте контакт BAT от батареи при обнаружении перегрузки по току. Но быстро - самовосстанавливающиеся предохранители недостаточно быстрые. Также реле или реле SSR не подходит из-за его размера.
  • Последней идеей было использовать 4 контакта вместо 3. Это должно быть последним средством. Если вы, ребята, скажете мне, что это невозможно сделать только с 3 контактами, я задам новый вопрос.

Спасибо всем заранее!

Каково состояние по умолчанию линии внешних данных на каждом из них?
@IgnacioVazquez-Abrams Однопроводной интерфейс — это UNI/O от Microchip ( вики ). Wiki говорит: «Состояние простоя шины UNI/O имеет высокий логический уровень».
Тогда вы уже выиграли половину битвы, так как можете обнаруживать события вставки.
@IgnacioVazquez-Abrams Да, события вставки можно обнаружить даже путем опроса строки данных от мастера. Я даже могу узнать, какой тип (CHARGER/SLAVE) вставлен.
Я бы не опрашивал, я бы использовал слабую пулдаун и подключил линию данных к контакту прерывания. Затем вы можете использовать это как триггер, чтобы запустить транзисторную магию (поскольку именно так вы будете это делать) после того, как все уляжется.
Чтобы продолжить, у вас будет пара полевых МОП-транзисторов, соединяющих линию батареи, с другим полевым МОП-транзистором снаружи от них в омической области, чтобы определить, когда зарядное устройство подключено. Проблема возникает, когда батарея разряжена, хотя в этом случае вы можете использовать диод на корпусе для подачи питания на MCU.
Не могли бы вы нарисовать простую схему, потому что одно изображение как тысяча слов :) И мне очень жаль, но мои знания о полевых МОП-транзисторах довольно ограничены. Я использовал их только для простых проектов.
Что-то вроде этого , но вам, вероятно, придется использовать смешанную пару, так как вам нужно, чтобы соединение происходило, когда батарея разряжена. А затем другой MOSFET замыкается на землю и измеряется ток через него, но отключается, когда определено периферийное устройство. У меня недостаточно опыта, чтобы закончить схему за вас, но кто-то должен взять эти бессвязные фразы и превратить их во что-то полезное.
Спасибо, будем надеяться, что кто-то появится и поможет нам :) Я потратил на это довольно много времени и до сих пор ничего...

Ответы (1)

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

Единственное, что вас беспокоит, это то, что происходит, когда батарея садится. Что ж, в этом случае поможет защитный диод MOSFET - он позволит несколько ограничить зарядку батареи, даже когда MOSFET выключен. Это не позволит полностью зарядиться из-за падения напряжения, но это не имеет значения — в тот момент, когда в аккумуляторе останется немного энергии, MCU запустится и откроет MOSFET.

Я думала об этом. Вы имели в виду это так? Ссылка на изображение
Возможно, я забыл упомянуть об этом, но MCU работает на 1,8 В, поэтому его выходы рассчитаны только на 1,8 В. Если используется MOSFET, как на картинке выше, я не могу сделать Vgs > Vth. Я прав?
Ваш образ в основном правильный. P-fet будет заземлен, поэтому его Vgs будет таким же, как напряжение батареи. Вам понадобится еще один транзистор, чтобы управлять им. Пример: edaboard.com/thread237294.html .
Я провел симуляцию, и похоже, что она будет работать хорошо :) Скриншот симуляции здесь , а живая симуляция здесь . Просто переключите оба переключателя так, чтобы в данный момент был активен только один. Что вы думаете? Попробую собрать и отпишусь о результатах.
Хорошо, парни. Я построил его на макетной плате, и он работает. По крайней мере та часть, которая срезает штифт. Но у меня есть другая проблема - цикл зарядки никогда не заканчивается, когда я подключаю зарядное устройство к контакту BAT и открываю мосфет. Не могли бы вы хотя бы указать, что может быть не так? Я использую MCP73831T-2ACI/OT ( техническое описание ), который находится вне ГЛАВНОГО в ЗАРЯДНОМ УСТРОЙСТВЕ.
Или я должен опубликовать совершенно новый вопрос?
Я собираюсь случайно предположить, что ваш MOSFET не открыт полностью. Какой номер детали MOSFET? Каково падение напряжения на MOSFET во время зарядки аккумулятора (между контактами SOURCE и DRAIN)? Оно должно быть < 0,1 вольта.
Падение напряжения на SOURCE и СТОК составляет 0,04 вольта. Я пробую второй запуск и постараюсь больше экспериментировать. МОП-транзистор IRF9520 ( данные ). При первом запуске зарядное устройство не закончило зарядку (вывод STAT был низким). Напряжение батареи было 4,2В (могло бы быть чуть меньше, но я пользуюсь не очень профессиональным мультиметром). После закрытия и повторного открытия MOSFET зарядное устройство закончило зарядку, и STAT переключился на высокий уровень.
Второй запуск имел такие же результаты. Когда напряжение батареи составляет 4,2 В, падение напряжения на истоке и стоке равно 0 В, что означает, что ток в батарею не поступает, верно?
Я опубликовал новый вопрос об этом. Пожалуйста, смотрите здесь .