Добавить в корзинуПозвонить
Найти в Дзене
Pinki Raspberry

Тест XL6006 и новый измеритель КПД

Продолжаю улучшать свой измеритель, последнее крупное изменение: замена 16 битных датчиков INA226 на 20 битные INA228, сейчас текущая версия уже 2.3.
Суть вот в чём: У нас есть два датчика тока, один на входе другой на выходе. Если между ними включить какую нибудь платку питания с Алиэкспресс то можно визуально анализировать как она работает.
Интерфейс я тоже периодически переделываю, щас пока остановился на таком варианте. В последней версии я наконец поставил хорошие (но дорогие блин) датчики. Большую часть эволюции система прошла на датчиках INA226, но теперь стоят INA228. Шунты родные 0,002. Из классных нововведений хотя многие не поймут этого это то что теперь у меня оба датчика на одной шине данных. С синими платами INA226 сделать такое было крайне неудобно и поэтому я там мутил очень сложную штуку с имитацией двух шин из одной.
С INA228 тоже пришлось довольно долго возиться и в итоге всё равно сделал через костыли. Почему-то не смог нормально его настроить вручную через регистры

Продолжаю улучшать свой измеритель, последнее крупное изменение: замена 16 битных датчиков INA226 на 20 битные INA228, сейчас текущая версия уже 2.3.
Суть вот в чём: У нас есть два датчика тока, один на входе другой на выходе. Если между ними включить какую нибудь платку питания с Алиэкспресс то можно визуально анализировать как она работает.
Интерфейс я тоже периодически переделываю, щас пока остановился на таком варианте. В последней версии я наконец поставил хорошие (но дорогие блин) датчики. Большую часть эволюции система прошла на датчиках INA226, но теперь стоят INA228. Шунты родные 0,002. Из классных нововведений хотя многие не поймут этого это то что теперь у меня оба датчика на одной шине данных. С синими платами INA226 сделать такое было крайне неудобно и поэтому я там мутил очень сложную штуку с имитацией двух шин из одной.
С INA228 тоже пришлось довольно долго возиться и в итоге всё равно сделал через костыли. Почему-то не смог нормально его настроить вручную через регистры, месяц примерно пробовал разные варианты в итоге плюнул и взял библиотеку готовую и всё равно даже с ней ток почемуто неправильно измеряется и пришлось делать уже программную корректировку (благо моя программа это позволяет) на 0,246. Офигеть, это не какие то проценты а в 4 раза ! У меня была догадка что возможно виновато переключение на диапазон входе 40мВ но вроде всё делал по даташиту а всё равно вот такая фигня. И не понятно тогда почему 0,246, а не 0.25. Калибровал по мультиметру.
Кратко по интерфейсу:

Вверху слева 5 кнопок частоты смены графика, удобно. Для тех кто скажет почему именно такие значения и зачем вообще больше 1 сек делать сразу отвечу: Эта штука может не только модули питания с Али измерять а вообще что угодно что кушает вольты или амперы. Например можно проанализировать заряд или разряд конденсатора, ионистора, аккумулятора и тому подобное.
Время можно настраивать.
Далее кнопки ШИМ нагрузки, они не настраиваемые, не увидел в этом необходимости, добавил самые удобные 0%, 5%, 10%, 25%, 50%, 75% и 100% далее слайдер показывающий текущий ШИМ он же по совместительству и плавный регулятор с шагом 1%.
Далее автоматический тест нагрузкой, я еще не решил как его улучшить пока так, устанавливаем время в секундах кликаем "Подъём" и ШИМ плавно нарастает от 0% до 100% за выставленное время. Следующая кнопка за указанное время делает нарастание а затем спад, то есть 0%....100%....0%.
Далее режим АЦП, анализируя разные штуки я столкнулся с тем что график КПД запаздывает и порой довольно сильно от остальных кривых, я сделал сглаживание на несколько уровней но это лишь помогло сгладить пики. В итоге перейдя с INA 226 на INA228 решил сделать переключатель АЦП чтобы прям в реальном времени управлять его производительностью и в итоге на данный момент имею вот такой вариант, скорее всего еще буду его улучшать но пока так. 4,12 это время замера в микросекундах, ну это я чисто для себя как памятку. А х16, х64 и х128 это усреднение, причём аппаратное внутри INA228. Всего датчик имеет вот такие времена оцифровки:
0h = 50 µs
1h = 84 µs
2h = 150 µs
3h = 280 µs
4h = 540 µs
5h = 1052 µs
6h = 2074 µs
7h = 4120 µs
Соответственно чем больше время замера тем меньше шумов будет в результате. Время настраивается отдельно и для напряжения и для тока и даже для встроенного датчика температуры. В общем я взял максимальное время для максимальной точности.
Усреднение можно выбрать было от х1 до х1024 но тут уже даже дурак поймёт что три замера по 4,12мксек * 1024 это катастрофически долгое 12 с лишним секунд.
Поэтому остановился вот на таких вариантах.
"Сброс статистики" ну тут всё понятно просто обнуляем статистику.
"Настройки" позволяют настроить шкалы, интервалы, датчики. Настройки WiFi я решил удалить и вообще оставить только режим AP как самый универсальный.
Внизу под графиком чекбоксы для каждой кривой свой чтобы убирать ненужные. Сброс полностью сбрасывает все кривые.
Ну и в самом низу статистика, первая колонка это в основном датчик на входе, вторая на выходе. ШИМ просто показывает текущий. Вот с замером холостого хода я долго возился перепробовал множество вариантов и самым оптимальным решил такой: просто при ШИМ 0% замеряем ток и усредняем по скользящему среднему, думаю это будет более чем честно. Вывожу сам ток усредненный и количество усреднений использованных для этого.
Ну с КПД всё понятно, потери аналогично это то что теряется на модуле проверяемом. Далее входные и выходные дельты напряжений, тока и мощности. Нагрузка это просто тупо U/I на выходе просто и ясно. Коэффициент изменения напряжения ну спорный и фиг знает зачем, просто добавил чтобы не было пустое место ). Пульсации выходного напряжения тоже не особо полезный параметр учитывая датчики и их скорость, но считайте что тоже просто заглушка. Дальше всё просто и очевидно, количество точек на всём графике, интервал между точками. Там где щас на скриншоте "прогресс" это индикатор текущего усреднения, тут суть вот в чём. Допустим вы выставили время обновления графика 1 мин, значит между точками на графике у вас пройдёт время в 1 минуту но за эту минуту у вас измеряемые параметры могут многократно изменяться, допустим вы можете на входе увидеть и 1 вольт и 25 вольт и 100мА и 3мА и 3,5 ампера и так далее если просто тупо сделать без усреднения то у вас график покажет просто мгновенное измерение на окончательном этапе перед выводом на график. То есть допустим у вас будет ток 100мА в течении 58 сек а на последней секунде подскочит до 2 ампер и в итоге на графике будет 2 ампера хотя по факту большую часть времени от был 100мА. И вот чтобы было всё честно я усредняю все замеры за эту минуту и вывожу сюда прогресс усреднения, а на график уже усредненное значение. Режим просто показывает текущий режим работы АЦП и как подсказка частоту замеров на выбранном режиме. Далее IP адрес моей штуковины, просто для красоты. Ну и в последнем столбике немного еще инфы, текущее время, время работы, температура часов реального времени, температуры датчиков, режим входа АЦП отдельно по каждому датчику и версия программы которую я часто забываю менять перед компиляцией новой версии )
Теперь о железе:
Собрал всё на макетке пока лень плату делать, на авито нашел чела который делает на заказ но 1000 руб это многовато за одну плату.
Железо: контролёр ESP32C3 с нормальной антенной + два датчика INA228 + RTC DS3231. С питанием не заморачивался питаю МК прям от USB, а оба датчика и RTC от 3,3в стаба на плате МК.
ШИМ выход с МК прям напрямую кинул на затвор полевика IRLZ34N. С ШИМом долго играл пробовал частоты от 1 кГц до 30 кГц в итоге решил пока оставить 25кГц. хотя для мощных нагрузок можно убавить до 5 кГц. Сама нагрузка что угодно, я пробовал и лампочки разные и резисторы, самое удобное это конечно переменные резисторы. Соответственно 0% ШИМ = нулевая нагрузка, 100% ШИМ = полная нагрузка.
А теперь как это работает: Смотрим скриншот:

-2

Я подключил популярный модуль на XL6009. (Мне в отличие от Ака Касьяна или Lisin лень подпаиваться к каждому модулю поэтому просто на крокодильчики цепляю).
Тут видим сразу входные и выходные параметры в блоке статистики. Почти 12в на входе и около 5в на выходе. Все входные кривые выполнены пунктиром, все выходные сплошными линиями. Напряжение синим цветом, ток красным, мощность оранжевым цветом. Видно что синяя линия почти постоянно это 5в выход модуля. Зеленая кривая это КПД в реальном времени, видно что при 12в на входе и 5в на выходе КПД сильно зависит от нагрузки. При 335мВ нагрузки КПД около 70%.
А теперь посмотрим как работает этот модуль XL6009 при изменении входного от 5 до 20в, выход по прежнему 5в, нагрузка будет около 320мА, смотрим скриншот:

-3

Вначале всё не плохо КПД около 77%, но поднимаем напряжение и КПД начинает падать. Перевалил за 17в на входе КПД начинает резко падать а дроссели начинают "шелестеть". И странно в районе 11:17 на временной шкале начала расти потребляемая мощность хотя нагрузка стабильна. я решил подождать, последствия можете увидеть на 4 скриншоте:

-4

В 11:20:15 входная мощность резко поползла вверх, выходные ток и напряжение пошли вниз. Это начала срабатывать тепловая защита, на 11:23:03 видно небольшой холмик вверх это я дотронулся пальцем до чипа чтобы оценить его нагрев и чип передав тепло пальцу снизил температуру. В этот момент его еще можно было спасти, но чёрт возьми 21 век на дворе тепловая защита как и защита от тока сейчас почти во всех подобных чипах что может пойти не так ? На входе 20в, на выходе 5в, нагрузка не серьёзная около 330мА к тому времени, что может пойти не так ?
На 11:23:23 произошёл хлопок, из тушки XL6009 вырвался огонёк и дым. Ток по входу как видно стремительно взлетел вверх. Единственное что радует это то что на выходе напряжение не подскочило больше 5 вольт, но в этом я думаю заслуга SEPIC топологии. Больше вроде ничего не отрыгнуло, шоттки целы.

-5