пятница, 17 января 2025 г.

Чтобы не путаться в сортах Nginx ingress

Нужно помнить что в мире Kubernetes есть два варианта nginx ingress, которые можно спутать:

В самом кластере их можно опознать по контроллеру в ingressclass:

  • k8s.io/ingress-nginx - это ingress-nginx
  • nginx.org/ingress-controller - это nginx-ingress

суббота, 11 января 2025 г.

Тактовые кнопки для макетной платы

Для большинства проектов на макетной плате приходится использовать тактовые кнопки (как минимум сброс микроконтроллера). Ниже показана эволюция тактовых кнопок в моих проектах.

Слева самый базовый вариант, который заодно и самый ненадёжный. От частого нажатия кнопка расшатывается и начинает самостоятельно вываливаться из платы.

Дальше идут два уродца, которые я сделал для последнего проекта, когда замучился с выпадающими кнопками.

А справа - последний вариант, идею которого подсмотрел на AliExpress, но добавил больше контактов для надёжной фиксации в макетной плате.

среда, 8 января 2025 г.

Гальванический изолятор для UART на оптопарах

Собрал простейшую схему гальванического изолятора для USB UART преобразователя. Для этой задачи есть специализированные микросхемы вроде ADUM1201, но был спортивный интерес попробовать максимально доступный вариант с использованием оптопар. Под рукой нашлись только оптопары PC817C производства UMW (Китай).

Первый вариант схемы показал время реакции около 200 мкс, хотя документация обещает около 18 мкс. Вдумчивое чтение даташита вывело на график "Response Time vs. Load Resistance" из которого следует что чем меньше сопротивление нагрузки транзистора оптопары, тем быстрее она срабатывает.

вторник, 24 декабря 2024 г.

Корневые сертификаты и Python

 Открыл для себя что не только Java, но и Python имеет отдельное хранилище корневых сертификатов, которое не привязано к системному. Наткнулся на это в процессе настройки приложения, которое подключается к серверу у которого сертификат подписан внутренним удостоверяющим центром (Certification Authority).

Корневой сертификат удостоверяющего центра добавлен в список доверенных (/etc/ssl/certs/ca-certificates.crt в дистрибутиве Debian) и отправка запросов на сервер через curl работает. Но приложение ругается

urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.example.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))

Чтобы этого не происходило нужно задать переменную окружения REQUESTS_CA_BUNDLE и указать в её значении путь к системному хранилищу доверенных сертификатов.

суббота, 21 декабря 2024 г.

Держатель для печатных плат

 В качестве проекта выходного дня собрал держатель для печатных плат.

При пайке порой не хватает ещё одной или двух дополнительных рук чтобы подержать провод или компонент. Привлекать каждый раз кого-то из домочадцев можно, но не всегда это удобно в моменте.

суббота, 14 декабря 2024 г.

Доработки блока питания на 5 выходов

 В середине марта я описывал блок питания на 5 фиксированных напряжений, который я довольно активно использую и уже несколько раз дорабатывал.

Первой доработкой стала замена однополупериодного выпрямителя на двухполупериодный с использованием диодного моста. Для этого потребовалось перемотать вторичную обмотку трансформатора чтобы получить две с отводом от середины и заодно снизить напряжение вторичных обмоток с 18В до 13В.

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

Вторая доработка чисто визуальная - заменил клеммы отрицательного напряжения с красных на жёлтые.

среда, 11 декабря 2024 г.

Управление выходом лабораторного блока питания

В моём регулируемом лабораторном блоке питания изначально выход был всегда включен. Для отключения питания схемы я отсоединял провода либо от клеммы ЛБП, либо от платы устройства. В блоке питания на 5 выходов есть выключатель, который отключает все выходы одновременно и это оказалось очень удобным.

За время использования этого выключателя я нашёл два недостатка:

  • Износ выключателя выхода от постоянного включения/выключения. Производитель выключателя заявляет 10000 циклов, но нечёткая работа началась сильно раньше. Думаю это связано с тем что он расчитан на 3А 250В переменного напряжения, а у меня используется постоянное.
  • Нужно проверять что выход выключен перед включением сетевого выключателя. Вроде мелочь, но я предпочитаю отключённый выход, который нужно включить принудительно.

Поначалу было лень делать отдельную схему, но низкое качество выключателей обязывает. Взял за основу схему электронного выключателя и заменил полевой транзистор на реле (ресурс электрических контактов реле заявлен 100000).