Мои вкусняхи

Сводный список записей блога

--->>>> Сводный список записей блога <<<<---

14 июля 2022

Новые дисплеи для тестера аккумуляторов

Поскольку есть много жалоб на дисплей "от Нокии", который я применил в тестере литиевых аккумуляторов, я нашел свободную минутку и попробовал адаптировать прошивку тестера к парочке других дисплеев разрешением 128х64 пикселя.

Это дисплей на контроллере ST7565 и OLED-дисплей на контроллерах SSD1306 и SH1106.

ST7565

(фоточка с алиэкспресса и чего там иероглифами написано - я не знаю, сорри)

23 июня 2022

Недельный таймер с приоритетной блокировкой

Предыстория

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

И в какой то момент времени было принято решение отказаться от использования газового нагревателя в пользу электрического накопительного водонагревателя. Он же - бойлер. Меньше расход воды, электрика дешевле...

Сказано - сделано. Был куплен 2кВт-бойлер. Что бы не тащить отдельную электролинию к распределительном щитку, розетка для бойлера была подключена параллельно одной из групп кухонных розеток. Основное использование этой группы - электрочайник, и непериодическое - всякие миксеры, блендеры и т.д. 
Эта группа розеток защищена 16-амперным автоматом. 16 ампер - это порядка 3.3 кВт.
Чайник 2.2 кВт, бойлер - 2 кВт. Вместе 4 кВт. Непорядок. 
На паре транзисторов, датчике тока и 12-амперном реле было собрано реле приоритета. 
При превышении определенного потребления по кухонным розеткам бойлер, как второстепенная нагрузка, отключался.

В какой то момент это реле "обмикропроцессорилось", включившись в сеть "умного дома". И функционал стал обрастать всякими "плюшками".  К примеру, включением и отключением бойлера, как второстепенной нагрузки при превышении общего потребления по другим линиям. Ибо выделенная мощность на квартиру - 5 кВт. 

С приходом двухзонного учета электроэнергии (с 23:00 до 7:00 электрика дешевле в 2 раза) возник вопрос, а нужно ли греть бойлер днем? 100 литров хватает на бытовые нужды. А вечером можно и нагреть.
И в контроллер управления питанием бойлера добавился недельный таймер с получасовыми интервалами. 

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

В результате и родился данный проект.

Недельный таймер с приоритетной блокировкой

Краткие характеристики управляющего модуля:

  • Встроенные часы с календарем и поддержкой перехода на сезонное время
  • Резервирование хода часов (батарейка CR2032)
  • Недельный график с 30-минутными интервалами
  • Принудительное отключение нагрузки при получении сигнала по приоритетному входу
  • Регулируемая задержка отключения по приоритету от 1 до 30 сек., с шагом 1 сек.
  • Ручное включение нагрузки с возможностью отключения через 1,2,3 или 4 часа
  • Ручное отключение нагрузки
  • 2 разнесенных по времени на 200 мсек сигнала управления нагрузкой (для возможности комбинированного управления при помощи реле и симистора)
  • Светодиодная индикация включения нагрузки и наличия питания
  • Защита от перегрева с настраиваемым порогом срабатывания 60...90° и гистерезисом 10°С.
  • Управление - энкодер + кнопка
  • Отображение информации - OLED-дисплей
  • Питание +12 вольт, до 50 мА

12 мая 2022

ZUBR-D340y - реверс схемы

 


Жило-было у меня реле напряжения. 10 с копейками лет прожило. Но последние несколько месяцев стало вести себя все хуже и хуже. Электричество стало отключаться с завидной периодичностью.

Возник вопрос - как проверить, это у нас проводка 1946 года глючит или реле выделывается? Нужно или замутить независимый логгер сетевого напряжения, или взять заведомо исправное реле.

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

Поскольку новое реле уже стоит и работает - надо посмотреть, что есть в старом.

Ниже - просто срисованная с плат схема реле напряжения Зубр D340y

14 апреля 2022

Тестер литиевых аккумуляторов


Возникла необходимость проверить пару мелких литиевых аккумулторов. 200 и 280 "махов".

Вариант 1. Зарядить аккумулятор, нагрузить на резистор, засечь время и ждать. 
Неточный. Можно провтыкать и переразрядить.

Вариант 2. Подключить разряженный аккумулятор к БП, у которого ограничение 4.25 вольта и ограничение тока. Т.е. сначала в режиме CC заряжается до 4.25В, потом БП переходит в CV и доливает остатки заряда.
Тоже неточный. Можно провтыкать момент перехода из CC в CV и окончание заряда.
Плюс надо сначала разрядить. см. пункт первый.

Вариант 3. Собрать какую то автоматизацию на макетной плате с применением микроконтроллера. Ну тут только макеткой не обойтись, надо бы попаять немножко.

Вариант 4. поискать что то готовое.
По быстрому на радиокоте нашлось 2 конструкции.
1. Тестер всяких-разных аккумуляторов от Shodan-а на ATMEGA8 и 7-сегментнике.
2. Тестер литиевых аккумуляторов от eufs. Тут применен цветной дисплей от СониЁриксона и ATTINY26 в качестве мозга.

Варианты 1 и 2 - матушка лень обломала. Вариант 3 - туда же. Вариант 4 - делать чужое - это надо делать, на макетке не выйдет. Плюс нельзя добавить свои плюшки.

Вроде ради двух аккумуляторов городить какой то огород - нехорошо. Но некоторые товарищи уговорили. 
В результате родился Вариант 5. Сделать своё.

Но поскольку вещь как бы не очень востребованная лично мною - см. выше, надо проверить 2 (два) аккумулятора, то покупать что то дополнительно  не правильно. Надо сделать "из говна и палок" - т.е. из той комплектухи, что есть дома.
В результате был использован МК ATMEGA328, дисплей "от Нокии" 84*48 пикселей, операционник LM358, зарядник TP4056, ИОН TL431 ну и по мелочи деталек...

В результате таки что то получилось.

Final_device.gif

Получившийся прибор умеет следующее:

  • Питание - 5 вольт.
  • Измерение внутреннего сопротивления батареи
  • Заряд аккумулятора фиксированными токами 50, 100, 150, 200, 250, 300, 350, 400, 450, 500 мА
  • 3 режима разряда аккумулятора - фиксированный ток (CC), фиксированное сопротивление (CR) и фиксированная мощность (CP)
  • В режиме разряда фиксированным током - поддержка разрядных токов 10, 20, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500 мА
  • В режиме разряда на фиксированное сопротивление - эмуляция сопротивлений 9, 10, 11, 12, 14, 16, 20, 30, 50, 100, 220, 440 Ом
  • В режиме разряда с поддержанием постоянной мощности - 25, 50, 100, 200, 300, 400, 500, 600, 800, 1000, 1200, 1400 мВт
  • Комбинированный режим - предварительный заряд, потом разряд, потом заряд
  • График разряда/заряда
  • Звуковой сигнал окончания рабочего цикла - 0..60 сек
  • Мигание подсветкой дисплея по окончании рабочего цикла - 0..60 сек
  • Звуковое подтверждение нажатия кнопок (отключаемое)
  • Защита TP4056  от неправильного подключения аккумулятора
  • Калибровка измерителей разрядного/зарядного тока и напряжения
  • Настройка контрастности дисплея и полярности подсветки дисплея
  • Возможность заданием коэффициента в меню калибровки и заменой нескольких элементов схемы увеличить зарядный/разрядный ток в 2 раза - т.е. до 1А. 
  • Интерфейс - english, українська, русский
  • NEW! возможность подключения дисплеев 128х64 пикселя - OLED на контроллерах SSD1306 или SH1106 и LCD на контроллере ST7565. Подробнее - тут.

14 марта 2022

Ми вистоїмо! Ми переможемо! Слава Україні!

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

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

А просто сидеть и ждать - сил тоже нет. Поэтому буду потихоньку перетаскивать сюда написанное и ранее опубликованное на радиокоте.


#Русский военный корабль - иди нахуй!

Russia: Z!
Ukraine: Ctrl-Z.

09 марта 2022

Генератор-имитатор счетчика Гейгера

 



В процессе разработки "измерителя радиации" RadAlert возникло желание проверить его работоспособность на чем то более точном и мощном, нежели пакетик калийных удобрений.

После некоторых раздумий, чтения форумов, консультаций у форумчан радиокота родилась в голове следующая мысль.

Известно, что счетчик при пробое должен посадить анодное напряжение на 50+ вольт. При этом длительность пробоя - несколько десятков микросекунд.

Если вместо счетчика Гейгера подключить высоковольтный транзистор и открывать его на эти 20-30 микросекунд - можно имитировать импульсы от счетчика. Но счетчик просаживает напряжение всего на 50 вольт, а не до нуля, как это сделал бы транзистор. Соответственно, в коллекторную цепь транзистора решено включить гирлянду стабилитронов суммарным напряжением стабилизации 300-320 вольт. В таком случае открытый транзистор будет имитировать просадку высокого напряжения до напряжения стабилизации. Тем самым более точно будет имитироваться работа счетчика Гейгера, да и работа генератора высокого напряжения заодно будет проверена - если высокое просядет ниже 300-320 вольт - импульсы перестанут подсчитываться прибором.

07 марта 2022

Защита дверного звонка


 В интернетах есть некое количество страшных историй про сгоревшие дверные звонки типа "Дин-Дон" от замкнувших кнопок... Кнопка сломалась, контакты остались замкнуты, 220 Вольт постоянно на катушке электромагнита, катушка греется, горит и поджигает все вокруг....

И в течении вечера была сделана простая защита звонка от таких ситуаций, которая и предлагается в этом материале.

29 января 2022

Автоинкремент версии при компиляции C/C++ проекта


Несмотря на то, что в современных IDE есть встроенные средства инкремента номера версии, мне захотелось чего то своего, с девочками и преферансом. Ибо то, что предоставляется - это зачастую числовое значение, которое просто увеличивается от 1 и до упора. А хочется, например, строковую константу, да со своим форматом. Да с возможностью изменения/сброса в любой момент.

Я хочу просто где то в отдельном .h-файле записать строчку типа

#define FIRMWARE_VERSION        "1.01.0001"

и что бы при каждой компиляции (или не при каждой) проекта последняя часть версии (0001) увеличивалась на 1. Причем не важно, строковый это дефайн будет или числовой (без кавычек).

Ну и за вечер накидал я себе некую консольную программку.

16 января 2022

Огненная лампа на WS2812 по мотивам лампы Гайвера - схема


Я тут подумал, я выложил подробный алгоритм генерации пламени, показал лампу...
А схему не выложил. 
Соответственно, исправляю эту досадную ошибку.

29 ноября 2021

Дралоскоп-TV

 Он же - козлотрон из телевизора.

Эта штука знакома большинству тех, кто когда то был студентами. И не только.

Технологий козлотрона было много. но смысл один и тот же - копирование чертежа на просвет.

Это и стекло на двух стульях и настольная лампа снизу, и специальные короба с подсветкой и стеклом сверху. И куча других вариаций.

 
Интернетные фото

На самом деле областей применения козлотрона больше, нежели только "козлить начерталку". Например, задний/нижний свет при предметной съемке. Особенно для прозрачных и полупрозрачных предметов.

Мне в свое время попал в руки 22" телевизор с разбитой матрицей.

По большому счету из таких битых телеков мало что можно взять. 

Это блок питания, панель подсветки. Пара динамиков. 5 кнопочек... И всё... Плата процессора/тюнера - ну в хозяйстве оно малополезно. Мне во всяком случае. 

Блок питания в телеке - 12 вольт + управляемая повышайка для подсветки. На выходе там порядка 42 вольт при токе подсветки 250-300 мА. Блок питания уехал в электрозамок. Осталась подсветка с битой матрицей. Матрица ушла в мусорку, осталось запустить подсветку.


16 ноября 2021

RadAlert-2. Радиационный показометр.

Версия прошивки 2.066 от 15.02.2022г.


Где то в 2019 году мне захотелось, что б в доме был дозиметр - прибор, который умеет "мерять" радиацию. И что б он себе просто лежал на полочке, постоянно включенный и заверещал, когда фон вдруг подскочит выше установленного порога (надеюсь, мироздание этого не допустит).

Прибор - это, наверное, громко сказано. Ибо ни поверки нет, ни калибровки по контрольному источнику... В общем. не прибор, а показометр...

Соответственно - требования были простые:
- лежать на полочке долго-долго от одного заряда батарейки
- помнить какую то историю радиационного фона.

Под это дело подходил описанный на радиокоте "Нанит". Ну - почти подходил.

Хотелось
 а) на датчике СБМ-20, хоть он и больше
 б) что то своё. что б все хотелки не впихивать в чужой код, а написать свои
 в) поскольку я на тот момент начинал "щупать" STM32 - хотелось сделать на STM-ке....

В результате был сделан прибор на контроллере STM32F103C8, дисплее "от NOKIA 5110", с практически полным повторением высоковольтной части "Нанита", принципа накачки высокого напряжения и заимствованием части алгоритмов. Я уже его описывал в начале этого года. 

Изначально прибор был собран в большом пластиковом корпусе BOX Z-14 размерами 150х49х22 мм.

Там поместилось всё, включая трехуровневый фонарик. И места ещё оставалось много.
Потом еще был печатный корпус, чуть меньше в габаритах. У этого корпуса были свои недостатки... Ну и внешний вид был не самый идеальный.

И в какой то момент на глаза попался "брусочек" BOX Z-115 размерами 105х30х21,5 мм. Он доступен в черном и светло-светло-сером цветах.

20 октября 2021

Не лает, не кусает, а в дом не пускает

Автономный контроллер доступа


Маленькая предыстория

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

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

Прописать в контроллер ключи от домофона для всех жильцов и иметь на связке ключей на одну железку меньше.

Эти мысли были медленные и вялотекущие, пока замок не умер.

В результате был куплен недорогой запирающий механизм

И компактная читалка для ключей стандарта EmMarine 125 кГц.


Читалка имеет интерфейс Wiegand 26/34, осталось только сваять на коленке контроллер для этой всей кухни.

14 сентября 2021

Косвенное обращение к функции в языке Си

Мини-памятка для начинающих С-водов.

Переменная-указатель на функцию. Как сделать и как пользоваться.

05 августа 2021

Когда пультов больше чем рук

Обновлено 19.08.2021 

Универсальный обучаемый пульт или как не стать Шивой Многоруким

(картинка из Интернета)

Что умеет пульт.

Обучаемый пульт - это пульт, который может запомнить ИК-посылку от другого пульта и потом пытаться ее воспроизвести. Но поскольку форматов команд пультов в мире многое множество - задача становится нетривиальной. Особенно для микроконтроллера ATMEGA8.

Но я надеюсь, что я эту проблему решил хотя бы частично.

Краткие зарактеристики:
Контроллер ATMEGA8A
30 кнопок
Питание 3-5 вольт
Индикация напряжения батарейки, контроль посылки (2 светодиода - красный и зеленый)
Потребление в ждущем режиме ~2 мкА

Пульт распознает несколько распространенных форматов и пытается их эмулировать согласно спецификациям. Неизвестные форматы так же анализируются и пытаются воспроизводиться.

Распознаваемые форматы с эмуляцией согласно спецификаций:

  • SONY (SIRC-12, -15, -20 bit), 40 кГц
  • NEC, 38 кГц
  • SAMSUNG, 38 кГц
  • SHARP, 38 кГц
  • JVC, 38 кГц
  • RC5 (Philips), 36 кГц
Типовые форматы, эмулируются с несущей 38 кГц :

  • Формат с постоянными паузами, кодирование осуществляется длиной импульса, возможен отдельный стартовый импульс (как у SONY). До 64 бит данных.
  • Формат с постоянными импульсами, кодирование осуществляется длиной паузы, возможен отдельный стартовый импульс и стартовая пауза (как у NEC). До 64 бит данных.
  • Формат с постоянными импульсами, кодирование различными длинами пауз (как SHARP). До 64 бит данных.
  • Формат с постоянным периодом следования импульсов, кодирование длиной импульса.
Нераспознаваемые форматы эмулируются с несущей 38 кГц.

  • Такие форматы посылок пульт так же пытается записать, анализируя длины импульсов и пауз, что бы их потом воспроизвести. В зависимости от сложности формата пульт может сохранить до 16 или до 32 импульсов. Про такое сохранение будет чуть ниже.

Изначально пульт был сделан в 12-кнопочном варианте, в корпус автомобильного пультика на руль. Но потом схема "повзрослела" до 30 кнопок.

К повторению предлагается вариант в 21-кнопочный китайский пульт "IR remote control HX1838 for Arduino" либо макси-версия - 30-кнопочный пульт с тактовыми кнопками - плата размерами 115*40 мм. 



21 июня 2021

Радио - это когда приходится слушать то, что нравится ведущему.

Портативный FM-приемник

На РадиоКОТе пробегала тема портативного приемника на чипе RDA5807. Сначала это был приемник с применением монохромного ЖК-дисплея 84*48 пикселей "от Нокии 5110", потом автор переделал схему и прошивку под OLED-дисплей 128*64 пикселя на контроллере SSD1306 или SH1106.

Так сложилось, что я на основе схемы автора с небольшими изменениями сварганил достаточно портативный приемник со своими азартными играми и танцовщицами.


Размеры корпуса - 72*39*15 мм

Что приемник умеет:

  • Играть радиостанции в диапазоне 87-108 МГц :)
  • Помнить 48 частот станций
  • Отображать время
  • Режимы приема стерео и принудительное моно
  • Тонкомпенсация (Bass) (отключаемая)
  • Показ данных RDS (отключаемый)
  • Автосканирование диапазона с сохранением найденных станций в списке сохраненных (ранее сохраненные частоты будут удалены)
  • Гибкая работа со списком сохраненных частот - перемещение по списку, вставка и удаление позиции в списке, сохранение текущей станции в список, ручное редактирование частоты
  • Режим сна (автоотключения), 5,10,15,20,30,60,90 минут
  • Выключение приемника при разряде батареи
  • Детектор наличия наушников - выключение приемника при отсутствии наушников

Настройки приемника:

  • Настройка времени
  • Время до отключения дисплея в режиме радио, 2-30 сек
  • Включение/выключение звукового подтверждения нажатия кнопок
  • Настройка реакции на нажатие кнопок при выключенном дисплее - только включить дисплей или еще и выполнить функцию кнопки
  • Калибровка батареи - необходимо выставить текущее напряжение батареи, измеренное вольтметром
  • Низкий уровень батареи - выставляется напряжение батареи, при котором приемник будет отключаться
  • Сброс всех настроек (включая сброс времени и стирание сохраненных частот станций)

13 июня 2021

Окультуривание PANAPLEX'а

 Из ничего, как гласит народная мудрость, можно сделать прическу, салатик и скандал. Это если ты женщина.
А если радиолюбитель, то....

Корпус часов из фоторамки


Еще в апреле появился у меня экземпляр часов на Panaplex-е.

И всё это время эти часы валялись у меня на столе в виде голой платы.

И сильно мешались. В голове медленно нарастал ком идей и мыслей по окультуриванию. 

05 июня 2021

Кухонный мультитаймер

Обновлено 5.06.2021
Версия прошивки - 2.14

Реализованные хотелки

  • Несколько одновременных независимых таймеров
  • Корректировка времени счета каждого таймера
  • Управление энкодером
  • Запуск первого таймера в один поворот энкодера
  • Отображение времени
  • Предупредительный звуковой сигнал за минуту до истечения выдержки
  • В сработавшем таймере - отсчет времени от момента срабатывания - NEW!


01 июня 2021

Имидж ничто - жажда всё!

 Cat waterfall или не дай коту засохнуть.

Версия 31.05.2021г.

(Интернет-фото)                                             

Коты любят свежую водичку. В идеале - проточную.
Отсюда на всяких котофорумах и группах регулярно возникают вопросы - "Я котику наливаю водичку в блюдечко, а этот шерстяной гад пьет из унитаза!!!!!".
Или - "Научился открывать воду в в ванной, что бы попить. Закрывать не научился, слил 60 кубов воды!!!ААААА!!! Убить всех человеков!!!"

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

А такие дурные, как я, начинают творить всякую пургу, которую буржуи называют красивой аббревиатурой DIY.
Почему то у нас это не называют "сделай сам", а пытаются эту аббревиатуру прочитать. "ДиАйВай". Звучит отвратительно. "ДИЙ" - ненамного лучше.

Итак - поилка для кота "сделай сам".

Для поилки нам понадобится водяной насос, немножко рук, немножко радиодеталей и подходящая емкость.


14 мая 2021

Управление нагрузкой 220 вольт

Управление нагрузкой.


Иногда так складывается, что устройство должно включать и выключать какую то нагрузку по линии 220 вольт. Например, тот же блок питания. Или лампочку. Или нагреватель.

Казалось бы, чего проще - берем реле и управляем.

Это хорошо для какой то резистивной нагрузки. Например, для лампочки накаливания или ТЭНа. Хотя с ТЭНом уже сложности. Он мощный. И в момент включения/выключения на контактах реле проскакивает искра.
Такая же сложность возникает, если включать какую то ёмкостную или индуктивную нагрузку. 
В результате недорогие реле сравнительно быстро могут выйти из строя. Ну или нужно брать заведомо мощное (и дорогое) реле.

10 мая 2021

Гори оно всё огнём.... Огненная лампа на WS2812 по мотивам лампы Гайвера


Попала мне в руки матрица из программируемых светодиодов WS2812, 16 х 16 = 256 диодов. На гибкой печатке. "Нужно что то с этим делать" - шепнуло мироздание. Интернет услужливо подсунул большой и успешный проект Алекса Гайвера - Огненную лампу.

Вроде бы все просто - бери и делай. Но я не хотел повторять его проект, плюс мне не совсем нравился эффект пламени, реализованный в лампе Гайвера. И описанные в видео алгоритмы я попробовал, но они не возбудили меня. Штирлиц шел по улицам Берлина. Что то выдавало в нём советского разведчика. То ли фуражка с красной звездой, то ли парашют за спиной...

 Когда то один товарищ из Симбирска сказал - "Мы пойдем другим путем". Ну вот и я решил попробовать придумать свой алгоритм пламени. Получится - будет хорошо, не получится - фиг с ним, передерём Гайверовский. Хотя передерастом быть не хочется, поэтому надо придумать свой.