пятница, 25 апреля 2025 г.

Регулируемый источник переменного напряжения

 Давно хотелось попробовать собрать регулируемый источник переменного напряжения. В простейшем случае берётся ЛАТР (лабораторный автотрансформатор) и разделительный трансформатор (разделительный трансформатор нужен чтобы изолироваться от сети) и мы получаем возможность регулировать переменное напряжение.

Для проверки показаний TrueRMS мультиметра нужно использовать частоту хотя бы 1 кГц и несинусоидальные формы сигнала. Для этого подойдёт генератор сигналов, но мой UTG932E может выдавать не больше 7 В эффективного напряжения.

Набросал схему усилителя для генератора сигнала, которая позволит выставить напряжение от 0 до 230 В


Сигнал с генератора поступает на вход операционного усилителя, который повторяет напряжение с генератора на входе трансформатора. Схема питается от двухполярного источника на 12 В.

четверг, 17 апреля 2025 г.

Что внутри аккумулятора от китайского электроинструмента

В интернете часто ругают китайский электроинструмент, но его цена в разы отличается от именитых брендов вроде Bosch или Makita и не стоит ожидать от него аналогичного качества. Для эпизодического использования его надёжности вполне хватает.

Лично меня интересует вопрос безопасности его использования, а наиболее "слабым" элементом китайском электроинструменте является аккумулятор. В комплекте инструмента приложили два одинаковых аккумулятора на 21 В и 2 Ач.

Форма этого аккумулятора напоминает аккумуляторы от Makita. Далее будет разборка, тестирование ёмкости и некоторые выводы о его качестве.

понедельник, 14 апреля 2025 г.

Перестала вращаться боковая щётка пылесоса Iclebo Omega

 На прошлой неделе заметил что левая боковая щётка робота-пылесоса Iclebo Omega вся в пыли. Перед этим пылесос несколько раз останавливался с ошибкой C5 (перегрузка щёток), но визуально щётка ничем не была блокирована и после перезапуска уборка продолжалась. При очередном включении обратил внимание что левая щётка не вращается, но пылесос не выдаёт ошибку о перегрузке.

После разборки стало ясно что моторчик боковой щётки вышел из строя, т.к. при при подаче на него напряжения 3 В с лабораторного блока питания (перед этим его разъём нужно отключить от основной платы) он не вращался. Замер сопротивления обмоток мотора мультиметром показал обрыв.

На моторчике есть маркировка RC500-FN/18260A/DV, но поиск по интернет магазинам выдавал только похожие моторчики. На одном из форумов нашёл информацию что пылесос питает этот мотор напряжением 3 В.

четверг, 10 апреля 2025 г.

Как показывать версию прошивки из Git для PlatformIO

Пример показа версии прошивки из Git для PlatformIO.

В platformio.ini файл добавляем новый дефайн (в моём случае это BUILD_VERSION) а его значением делаем результат команды, которая выдаёт версию из Git

build_flags = !echo -DBUILD_VERSION='\"'$(git describe --always --tags)'\"'

В самом коде используем BUILD_VERSION в нужных местах

void scpiIdentify(SCPI_C commands, SCPI_P parameters, Stream& interface) {
    interface.print(F("Andrei Tataranovich,Power Monitor,,"));
    interface.println(BUILD_VERSION);
}

Пример ответа на команду SCPI *IDN?

*IDN?
Andrei Tataranovich,Power Monitor,,v0.2.0-1-g81a681a

Если суффикс слишком длинный, то его можно сократить добавив в команду git аргумент --abbrev=4

суббота, 5 апреля 2025 г.

Тестирование измерителя ёмкости аккумуляторов

Очередная запись о проекте измерителя ёмкости аккумуляторов, который уже перерос свою изначальную функцию. В текущей прошивке есть режимы для ручного заряда и разряда аккумуляторов, режим монитора и управление с компьютера по протоколу SCPI (Standard Commands for Programmable Instruments).

После включения устройство переходит в режим главного меню

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

В настройках задаётся напряжение окончания разряда и по его достижении внешняя нагрузка будет отключена от аккумулятора. Этим режимом я пользуюсь когда нужно разрядить аккумуляторы для длительного хранения или измерить ёмкость аккумуляторов которые не подходят к Liitokala Lii-500.

четверг, 27 марта 2025 г.

Компенсация потерь на защите от обратной полярности

 Ранее я описывал схему защиты АЦП INA226 от обратной полярности которую я добавил в измеритель ёмкости аккумуляторов

Результатом стала погрешность измерений напряжения из-за падения напряжения на сопротивлении R1 при протекании через него тока. Этот ток складывается из обратных токов диода шоттки D1 и стабилитрона D2 а также тока через вход АЦП INA226 (он незначительный, но не равен нулю).

Если сравнить показания напряжения INA226 с показаниями точного мультиметра (в моём случае это Agilent U3402A с заявленной точностью по постоянному напряжению ± 0,012% + 5), то получается заметная погрешность

В первой колонке напряжение измеренное с помощью Agilent U3402A, во второй колонке - измерения напряжения INA226 и в третьей колонке - погрешность измерения если принять показания U3402A за эталон.

среда, 26 марта 2025 г.

Очередное усыхание Docker Hub

 Всего через 5 дней (с 1 апреля 2025) Docker Hub вводит новые лимиты на скачивание образов. Изначально их планировали вводить с 1 марта 2025, но сдвинули на один месяц:

  • 10 скачиваний в час для неавторизованных пользователей
  • 100 скачиваний в час для авторизованных пользователей с бесплатным аккаунтом

Сейчас действуют такие лимиты (посмотреть их можно через Wayback Machine):

  • 100 скачиваний за 6 часов для неавторизованных пользователей
  • 200 скачиваний за 6 часов для  авторизованных пользователей с бесплатным аккаунтом

Количество скачиваний учитывает запросы к манифесту (/v2/*/manifests/*), для multi-arch образов будет два запроса вместо одного.

Образы которые участвуют в программах Docker Sponsored Open Source и Docker Verified Publisher не должны учитываться в этих лимитах.

Новых лимитов скорее всего не хватит чтобы даже мелкий kubernetes кластер пережил апгрейд нод. Если вы используете образы с DockerHub в своих окружениях, то стоит задуматься над использованием зеркал (например Amazon ECR Public Gallery) или загрузить нужные образы в локальный registry до того как это станет проблемой.

В GCP Cloud Build и GKE используется кеширование популярных образов Docker Hub через использование mirror.gcr.io:

Google Cloud services such as Cloud Build and Google Kubernetes Engine automatically check for cached images before attempting to pull an image from Docker Hub.