Русский
Русский
English
Статистика
Реклама

Из песочницы Как получить 9В12В от зарядного с Quick Charge (на примере STM32)

Чем может быть полезна быстрая зарядка


С увеличением ёмкости аккумуляторов телефонов потребовалось увеличить и мощность зарядных устройств, чтобы достичь маленького времени зарядки, для чего и нужно было увеличивать выходную мощность: напряжение, ток. Таким образом зарядные с Quick Charge 3.0 кроме 5 В могут выдавать 9В/12В/20В +возможность регулировки с шагом 0.2 В (до 12 В).


image

Ввиду распространенности ЗУ с этой технологией появляется интерес использовать их для получения повышенного напряжения без дополнительных преобразователей.


Схема подключения


Представленная схема позволит выводам, настроенным как двухтактный выход подавать на выводы DN, DP нужные значения напряжения:


Оба вывода к минусу
0 В
Верхний вывод к плюсу, а нижний к минусу
0.6 В
Оба вывода к плюсу
3.3 В

image

Настройка в STM32CubeMX


Нужно настроить четыре любые выводы общего назначения как двухтактный выход (Output Push Pull) без подтяжки (No pull-up and no pull-down) с соответствующими названиями (ПКМ -> Enter User Label).



Описание протокола Quick Charge


QC 2.0 (из документа CHY100)


image

После включения в сеть замыкаются выводы DP, DP и начинает следить за уровнем на выводе DP, подаем на него напряжение от 0.325 В до 2 В (обычно 0.6 В) на время не менее 1.25 с и таким образом происходит вход в режим Быстрой Зарядки. Теперь на DN нужно подать минус (чтобы напряжение на нем упало ниже 0.325 В) на время не менее 1 мс. Остается выставить сочетание напряжения, соответствующее необходимому, согласно таблице:


image

QC 3.0 (из документа FAN6290Q)


В этой версии есть возможность изменять значение напряжения с шагом 200 мВ, для этого нужно выставить сочетание, соответствующее режиму Continuous Mode:


image

Перейти в него можно из любого другого (5В/9В/12В), а потом для увеличения выходного напряжения (DN: 3.3 В, DP: импульс 0.6-3.3-0.6В), а для уменьшения (DP: 0.6 В, DN: 3.3-0.6-3.3В).


image

Программирование


Остается завернуть изменение уровней сигнала согласно алгоритму в код с использованием библиотеки HAL, учитывая понятные ярлыки-названия, установленные в Кубе:


void QC_GPIO_9V(void){    /* DP: 0.6V; DN: 0.6V - preset */    HAL_GPIO_WritePin(QC_DP_UP_GPIO_Port, QC_DP_UP_Pin, GPIO_PIN_SET);    HAL_GPIO_WritePin(QC_DP_DOWN_GPIO_Port, QC_DP_DOWN_Pin, GPIO_PIN_RESET);    HAL_GPIO_WritePin(QC_DN_UP_GPIO_Port, QC_DN_UP_Pin, GPIO_PIN_SET);    HAL_GPIO_WritePin(QC_DN_DOWN_GPIO_Port, QC_DN_DOWN_Pin, GPIO_PIN_RESET);    HAL_Delay(1250); /* min 1.25s */    /* DP: 0.6V; DN: 0V */    HAL_GPIO_WritePin(QC_DN_UP_GPIO_Port, QC_DN_UP_Pin, GPIO_PIN_RESET);    HAL_Delay(1); /* min 1ms */    /* DP: 3.3V; DN: 0.6V for 9V */    HAL_GPIO_WritePin(QC_DP_UP_GPIO_Port, QC_DP_UP_Pin, GPIO_PIN_SET);    HAL_GPIO_WritePin(QC_DP_DOWN_GPIO_Port, QC_DP_DOWN_Pin, GPIO_PIN_SET);    HAL_GPIO_WritePin(QC_DN_UP_GPIO_Port, QC_DN_UP_Pin, GPIO_PIN_SET);    HAL_GPIO_WritePin(QC_DN_DOWN_GPIO_Port, QC_DN_DOWN_Pin, GPIO_PIN_RESET);}

Таким образом получились функции:


QC_GPIO_5V();QC_GPIO_9V();QC_GPIO_12V();QC_GPIO_20V();QC_GPIO_Reg();QC_GPIO_Dec();QC_GPIO_Inc();

Скачать проект в STM32CubeIDE можно на GitHub: Quick-Charge-STM32-HAL


Проверка работы


Остается подключить всё согласно схеме и выполнить функцию для получения нужного напряжения (для испытания используется безымянная китайская зарядка с QC 3.0):


image

Сработало:


image

Причем выходное напряжение можно изменить в любой момент:


image

При использовании разъема USB Type-C обязательно нужно добавить два резистора 5.1 кОм между CC1, CC2 и GND, чтобы устройство определялось как UFP (Upstream Facing Port).



Определение подключения


В случае, если питание будет подаваться на микроконтроллер уже после подключения, то выполнение нужной функции может выполнятся перед главным циклом один раз.
Если микроконтроллер питается от независимого источника, то выполнение функции можно назначить по внешнему прерыванию (вывод VBUS подключается через стабилизатор 3.3 В) или просто с помощью кнопки можно сделать свой "триггер".


Проверка на разных ЗУ с USB-A и USB-C


Работоспособность проверена на различных недорогих зарядных, а также на мощных ноутбучных зарядок 65Вт с USB Type-C.



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



Подробнее в видео



Итого


Хоть стандартом становиться технология Power Delivery (PD), но куча современных сетевых зарядных устройств как и многие переносные аккумуляторные ЗУ поддерживают в том числе Quick Charge (QC), что позволит с легкостью получить повышенное напряжения без использования дополнительных преобразователей.


Несмотря на то, что в теории можно получить даже 20 В, но на практике таких зарядок почти нет. Также стоит учесть, что при подключении слишком мощной нагрузки напряжение будет сильно просаживаться, а некоторые ЗУ вообще уйдут в защиту.

Источник: habr.com
К списку статей
Опубликовано: 08.11.2020 18:18:22
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Программирование микроконтроллеров

Схемотехника

Разработка под arduino

Diy или сделай сам

Электроника для начинающих

Quick charge

Stm32

Qc trigger

Stm32f103c8t6

Hal

Быстрая зарядка

Quick charge микроконтроллер

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru