Что не так с моей литий-ионной зарядной схемой USB?

Я пытаюсь разработать свою собственную печатную плату на основе этой:

Оригинальные схемы

Мои соответствующие схемы здесь:

Новые схемы

Их транзистор Q3 DMG3415U-7 устарел, поэтому я использовал DMP2045U-7, который казался аналогичной заменой. А также еще один регулятор.

Для зарядного устройства (U3 в оригинальной схеме, U10 в моей) я хотел использовать вариант MCP73831 (данные здесь) , который включает в себя эти 3 выхода состояния:

Положение дел

Итак, чтобы считать все 3 возможности с микроконтроллера, я добавил схему с R12-R14 и D10. Идея заключалась в том, что будет Vbus 5V от USB-кабеля. Если на выходе микросхемы STAT низкий уровень, точка датчика будет 0 В. Если бы он был высоким, это было бы 2,5 В, и диод защитил бы от любого нежелательного протекания тока между STAT и Vbus. Если STAT имеет высокий импеданс, точка датчика будет 1,6 В. Таким образом, с АЦП в точке измерения я мог различать все 3 состояния. PROG заземляется на выводе микроконтроллера, к которому он подключается.

Я изготовил плату, и это не работает. Во-первых, чип MCP не заряжает батарею. Если есть соединение USB, но нет батареи, выходное напряжение Vbat равно 0 В. Если и USB, и батарея подключены, Vbat измеряет напряжение батареи (скажем, 3,5 В), а не 4,2 В или другое напряжение, используемое для зарядки при постоянном напряжении. Я оставил его «заряжаться» на 12 часов, и напряжение не изменилось.

Во-вторых, не работает схема вывода "STAT". Измеряя напряжения как Vbus, Vstat и точку датчика, напряжения, измеренные мультиметром в различных ситуациях, следующие:

Нет батареи:

Vшина = 5В

Vstat = 3,86 В (должно быть 3,3 В)

Vreading = 2,82 В (должно быть 1,6 В)

"Зарядка":

Vшина = 5В

Vstat = 3,86 В (должно быть 0 В)

Vreading = 2,82 В (должно быть 0 В)

Нет USB, только батарея подключена:

Vbus = 1,46 В (должно быть 0 В)

Vstat = 2,5 В (должно быть 0 В)

Vreading = 1,95 В (должно быть 0 В)

Я не понимаю, что может пойти не так. Vbus и Vbat являются прямыми соединениями со своими источниками, в противном случае они не подключаются ни к каким другим компонентам, не показанным на схемах. Что-то не так в дизайне? Почему и зарядка, и индикатор состояния не работают должным образом?

Ответы (1)

Если у вас есть запасной GPIO, вместо делителя напряжения вы можете использовать следующую схему.

введите описание изображения здесь

Эта схема просто использует второй вывод GPIO (CTL), который вы можете использовать для подтягивания вверх или вниз STAT с помощью p-канальных (Q5) и n-канальных (Q6) MOSFET. Если STAT плавающий, то он будет меняться в зависимости от значения CTL, иначе STAT останется прежним.

Учитывая, что я хотел использовать микроконтроллер на 3,3 В, я использовал Q7 для управления инвертированным выходом с подтяжкой до 3,3 В.

Чтобы получить значение ~STAT, вам нужно будет снять 2 показания: одно с высоким CTL, а другое с низким CTL.

Надеюсь это поможет.