Питание от АКБ в авто (12В)

pvvx

Активный участник сообщества
Из имеющихся под рукой нашлось MP1584. С ней и произведем тесты.
ModuleMP1584.jpg 843cfd.jpg
Начнем с измерения тока покоя и поведении при падении напряжения.
Компоненты в тесте:
1) Лабораторный БП 0..35В 0..6A 2 развязанных канала + 5В 5A канал (производство - Китай).
2) 33000 мкФ 25В K50-18 дата производства IV-72.
3) DC-DC c MP1584EN c цепью 47+150 кОм (R2+R1).
4) Самопальный измеритель – 2 синхронных канала 24 бит ADC с опторазвязкой от USB, внутренне сопротивление по цепи напряжения 33 кОм, второй канал измеряет ток на прецизионном резисторе в 1 Ом (предел измерения 2.5A без замены резистора), входные фильтры имеют одинаковую импульсную хар-ку для измерения мощности (U*I). Дата сборки и ПО 2006 год.

Разряд заряженной емкости 33000 мкФ до 10.5В на подключенный DC-DC c MP1584EN:
33000uMP1584EN_all.gif
Время на графике в секундах. Разряд происходит и на внутреннее сопротивление тестера в 33 кОм.

Изначально MP1584EN не годиться для стабилизации 3.3В от 5В источника. Минимальное напряжение необходимое для стабильного выхода 3.3В, составляет 5.2В. При уменьшении на выходе получаем пилу с амплитудой в пару вольт относительно 3.3В.
33000uMP1584EN.gif
При 14.7 В холостой ток MP1584EN с указанными сопротивлениями в цепи стабилизации составляет 196 мкА. Т.е. в диапазоне от 6 до 24В холостой ток меняется линейно от 135 до 287 мкА. Что вполне подходит для большинства вариантов применения питания от АКБ автомобиля.

Подключение модуля RTL произведем позже... :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Теперь проясню, зачем емкость в 33000 мкФ. :)
В данном тесте, она используется для определения необходимой энергии модулю RTL8710BN совместно с DC-DC на MP1584 для связи с внешним сервером.

Для этого зальем прошивку, которая по старту соединяется с внешней AP (WPA2_AES_PSK), получает IP по DHCP, корректирует RTC часы запросом "pool.ntp.org" (SNTP) из инет через DNS, передает кол-во срабатываний счетчика и напряжение Vbat на удаленный сервер. В это время следит за падением BOR2 ниже 3В, и если падает, то срочно отключается от AP, подав все необходимые WiFi сигналы и переходит в режим sleep с сохранением счета импульсов. Время активности на цикл соединения так-же ограничены в 5 сек и если не уложится, то повтор будет в следующий раз, после заданного времени нахождения в sleep... Такая программа была под рукой.

Отключать лог UART не будем, хотя это приведет к увеличению времени сеанса, но даст отладочную информацию.
Код:
ROM:[V0.1]
....
OTA1 USE
IMG2 DATA[0x80440f0:5096:0x10005000]
IMG2 SIGN[RTKWin(10005008)]
IMG2 ENTRY[0x10005000:0x8042bd7]
===== Enter Image 2 ====
System_Init1
OSC8M: 7fcfd6
boot reason: 0
System_Init2
BOR2_INTRegister

Time set = 1970-0-1 0:0:0

RTC time: 0, Count = 0
Start send tick 21 ms.
analogin_init [e2:2 ]
interface 0 is initialized
interface 1 is initialized

Initializing WIFI ...
LDO Mode, BD_Info: 0

WiFi Init at start 189 ms.
RTL8195A[Driver]: set ssid [***********]
RTL8195A[Driver]: start auth to **:**:**:**:**:**
RTL8195A[Driver]: auth success, start assoc
RTL8195A[Driver]: association success(res=3)
wlan1: 1 DL RSVD page success! DLBcnCount:01, poll:00000001
RTL8195A[Driver]: set pairwise key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4)
RTL8195A[Driver]: set group key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4) keyid:1
WiFi Connected [0] at start 3361 ms.
Interface 0 IP address : 192.168.1.137
DHCP Start [2] at start 3874 ms.
Interface 0 IP address : 192.168.1.137
Fri Nov 17 09:04:10 2017
 + 355310 usec

WIFI initialized
ADC_Vbat: 0x4b25
Send Ok at start 4410 ms.
New TimeSend = 1510909510
LwIP_DHCP: dhcp stop.
Deinitializing WIFI ...
WIFI deinitialized
RTC time: 1510909470, Count = 0
<--- Переход в sleep на 60 сек.
В итого имеем:
33000uMP1584enRTL8710bn11V5.gif
Т.е. чтобы успеть передать что-то при пропаже питания необходимо иметь заряженную емкость в 33000 мкФ до 11.5 В (разряженный АКБ). :)
Из sleep требуется меньше времени на данную обработку соединения, т.к. выход по внешнему или внутреннему прерыванию из sleep всего 1 мс (не требуется старт и инициализация SDK, RTOS и многие калибровки, как при старте с подачи питания).

Всё остальное кому надо, тот сам сосчитает из графика.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Для приколу, подключим к кондеру 33000 мкФ БП через 1.45 кОм, выставим 12.7В и запустим прошивку описанную выше:
33000uMP1584enRTL8710bn12V7_1450.gif
(надо учесть, что параллельно напряжение на емкости садит и сопротивление измерителя в 33 кОм)
Каждые 60 секунд происходит выход из sleep, по сигналу от RTC, даже если не было прерываний по GPIO для разных проверок. При соединении с AP назначается новое время передачи на GMT + 60 сек, но асинхронно с просыпаниями кратными 60 сек времени RTC...
Условно это связь каждые 2 минуты от 12-ти вольтового источника с внутренним сопротивлением ~1.5 кОм и активными прерываниями во время sleep… Может сгодиться для реальных расчетов питания от солнечных панелей с постоянным опросом простых датчиков...
 
Последнее редактирование:
Сверху Снизу