Как стать автором
Обновить
8
0
Ераков Валерий @evkin

Java програмист

Отправить сообщение

Методика нахождения потерь в обмотке дросселя вследствиe скин-эффекта и эффекта близости

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.7K

При расчетах трансформаторов и дросселей в силовой электронике очень часто сталкива­ешься с необходимостью нахождения потерь в данных элементах и зачастую используются в основном только омические, разработчики 1часто забывают о потерях при поверхностной проводимости, потерях, связанных с эффектом близости, эффектом выпучивания магнитного поля из зазора сердечника и перезарядом емкости данного элемента. А они, в свою очередь, иногда могут превышать омические потери обмотки, порой в разы. И вследствие чего расчетное значение коэффициента полезного действия (КПД) будет разительно отличаться от полученного в результате изготовления изделия, что, в свою очередь, приведет к следующей итерации проектирования данного силового элемента, так как искомые показатели не были достигнуты.

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

Одни из самых важных на практике яв­ляются скин-эффект и эффект близости, потому что с ними связана основная часть оценивае­мых потерь. Также для указанных потерь есть аналитические методы анализа и оценки. Явле­ния скин-эффекта и эффекта близости в провод­никах, вызванные током синусоидальной фор­мы, рассматривались Доуэллом в пятидесятых годах прошлого века. Было сформулировано уравнение, которое с достаточной точностью позволяет определять сопротивление проводни­ка в дросселе по переменному току. Но в им­пульсных источниках питания в основном ис­пользуются токи с несинусоидальной формой, что приводит к дополнительным потерям вслед­ствие наличия высокочастотных гармоник.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

Курс лекций «Основы цифровой обработки сигналов»

Время на прочтение12 мин
Количество просмотров180K
Всем привет!

Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе познания этой области. В связи с этим я решил написать краткий интерактивный курс по цифровой обработке сигналов и выложить его в открытый доступ.

Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.


Читать дальше →
Всего голосов 100: ↑100 и ↓0+100
Комментарии97

STM32. Процесс компиляции и сборки прошивки

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров20K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →
Всего голосов 124: ↑123 и ↓1+122
Комментарии67

Command line interpreter на микроконтроллере своими руками

Время на прочтение4 мин
Количество просмотров30K
В каждом разрабатываемом устройстве у меня присутствовал отладочный вывод в UART, как в самый распространённый и простой интерфейс.
И каждый раз, рано или поздно, мне хотелось помимо пассивного вывода сделать ввод команд через тот же UART. Обычно это происходило когда мне хотелось для отладки выводить какой-нибудь очень большой объём информации по запросу (например состояние NANDFLASH, при разработке собственной файловой системы). А иногда хотелось программно управлять ножками GPIO, чтобы отрепетировать работу с какой-нибудь переферией на плате.
Так или иначе мне был необходим CLI, который позволяет обрабатывать разные команды. Если кто-то натыкался на уже готовый инструмент для этих целей — буду благодарен за ссылку в комментариях. А пока я написал собствыенный.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии38

Затыкаем рот Windows 10

Уровень сложностиСложный
Время на прочтение33 мин
Количество просмотров96K


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

Однако жизнь сложная штука и не ограничивается только стандартными вариантами. Существуют ситуации, когда подобная сетевая активность операционной системы (ОС) нежелательна и даже вредна. За примерами далеко ходить не надо. Попробуйте подключить к Интернету давно не используемый резервный компьютер, собранный на старом железе. Пока софт на нём не обновится, использовать его будет практически невозможно, всё будет дико тормозить и еле шевелиться. А если вам в этот момент нужно срочно что-то сделать?

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Всего голосов 217: ↑207 и ↓10+197
Комментарии308

Project Loom. Не только виртуальные потоки

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров6.2K

Начиная с Java 19 нам доступны виртуальные потоки, которые отличаются от обычных, тем что умеют освобождать поток операционной системы во время блокирующих I/O операций. Для этого на уровне JVM был реализован механизм сохранения в хипе и восстановления из хипа стека вызова. Проще говоря, были реализованы полноценные корутины на уровне JVM.

И это небольшая революция, на которую мало кто обратил внимание. Само API для таких нативных корутин непубличное, доступно через класс jdk.internal.vm.Continuation, в котором есть методы yield() и run() для сохранения и восстановления стека вызова соответственно. Но получить доступ до него несложно, нужно лишь добавить пару аргументов в строку запуска JVM (либо воспользоваться инструментом, который позволяет обходить ограничения JPMS).

Поэтому представляю свою небольшую библиотеку для доступа к нативным корутинам на Java: https://github.com/Anamorphosee/loomoroutines.

Читать далее
Всего голосов 26: ↑21 и ↓5+16
Комментарии20

Паяльная станция «Магистр НеоТерм-3Т». Что внутри?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров13K

Вы любите паять? А я очень! В любом занятии важен инструмент. Вот и пайка не исключение. А если работать с другом, то всё становится гораздо интереснее и веселее. Сегодня познакомимся со станцией «НеоТерм-3Т», заглянем внутрь. Узнаем простое, но эффективное и красивое схемное решение и некоторые забавные, но весьма удобные хитрости пайки.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии76

Система водяных «тёплых полов» в квартире и частном доме. Что нужно знать, чтобы не пожалеть о содеянном?

Время на прочтение16 мин
Количество просмотров61K

«Тёплые полы» в квартирах- это модная тема в ремонте ещё с 1990-х.

Сейчас тема сильно развилась, так как резко увеличилось количество специалистов, желающих такие полы построить из современных материалов.

Многие владельцы квартир хотят устроить тёплые полы с подключением к общедомовым системам отопления, а управляющие компании этих ЖК такое усложнение систем не хотят разрешать.

Кто тут прав?

Читать далее
Всего голосов 112: ↑108 и ↓4+104
Комментарии334

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Время на прочтение15 мин
Количество просмотров98K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

Читать дальше →
Всего голосов 115: ↑114 и ↓1+113
Комментарии194

Реализация многофункционального терминального интерфейса для МК AVR

Время на прочтение29 мин
Количество просмотров3.8K

В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью реализации не только командного функционала, но и истории вводимых команд. Я постараюсь максимально приблизить свой интерфейс к интерфейсу командной строки Windows. Большая часть статьи - подробный комментарий программного кода, который может быть доступен даже начинающим в программировании. Никакого ООП нет - только элементы языка Си.

Читать сначала
Всего голосов 9: ↑9 и ↓0+9
Комментарии5

Самодельный симмер для ламп накачки лазеров

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров6.4K


Для накачки активных элементов импульсных твёрдотельных лазеров часто применяют импульсные ксеноновые лампы накачки. Срок службы таких ламп увеличивается, если в них постоянно держать зажжённую дугу. Устройство, создающее дугу в лампе, называют симмером. Вариант исполнения самодельного симмера и будет представлен в этой статье.
Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии23

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0

Время на прочтение6 мин
Количество просмотров13K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Первый релиз Qucs, на котором основан Qucs-S, состоялся в 2003 году. В декабре этого года программе исполняется 20 лет. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. Далее будет рассказано о функциях, добавленных в релизах, вышедших в этом году.

Осторожно! Далее имеются анимированные GIF.

Читать далее
Всего голосов 42: ↑42 и ↓0+42
Комментарии20

Диспетчер Задач для Микроконтроллера

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K

В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RTOS или TI-RTOS. Поэтому надо держать наготове какой-нибудь простенький NoRTOS планировщик.

В этот тексте я представил основные идеи алгоритма такого кооперативного планировщика.

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии26

Разработан инструмент, позволяющий художникам «отравлять» свой контент для ИИ

Время на прочтение4 мин
Количество просмотров12K

С тех пор, как год назад вышел ChatGPT, индустрия генерации цифрового контента находится в суматохе. Всех постепенно начинает вытеснять ИИ. Ряд художников, авторов, исполнителей, и даже звукозаписывающие компании подали многочисленные иски против компаний, занимающихся искусственным интеллектом, в основном против OpenAI. Все они касаются одного: обучающих данных. Компании ходят по всему интернету и собирают миллиарды фрагментов текста/звука, а также миллионы изображений в дата-сеты для тренировки своих моделей ИИ. Естественно, авторам или владельцам контента за это никто не платит, и их даже вообще никак не нотифицируют. Развитие технологии превыше всего.

Чтобы пресечь такой сбор данных, Reddit и X этим летом запретили доступ к своим API сторонним приложениям. Но обычные дизайнеры и цифровые художники не имели никакой возможности противостоять использованию их работ для обучения новых коммерческих ИИ. Теперь в их руках появляется более радикальный инструмент: система Nightshade. Которая отравляет любое изображение, которое ИИ просканировал без твоего разрешения.

Читать далее
Всего голосов 32: ↑29 и ↓3+26
Комментарии33

Электролизер для домашней мастерской

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров14K

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

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

Структура прибора

Электролизер для получения гремучего газа не является и весьма простым аппаратом превращающим воду в горючее - это сложный прибор, требующий расходных материалов (ряд химикатов, электричество), внимания и регулярного обслуживания. Необходимо хорошо представлять процессы, происходящие в электролизере, способы и средства для изменения параметров прибора. Кроме самого реактора - емкости с электродами разлагающими воду из электролита, электролизер должен быть снабжен рядом дополнительных аппаратов для очистки и осушения газа, обогащения его углеводородами (важно при сварке, пайке стекла), блоком питания с автоматикой поддерживающей рабочий режим и устройствами безопасности (Рис. 2).  

Читать далее
Всего голосов 81: ↑81 и ↓0+81
Комментарии104

Разработка универсального сетевого стабилизированного источника питания

Время на прочтение16 мин
Количество просмотров15K

Одна из самых популярных микросхем ШИМ для источников питания – это TL494. Именно на ней и построен мой универсальный преобразователь, который использую для питания различных самодельных устройств.

А не почитать ли мне про это..?
Всего голосов 36: ↑36 и ↓0+36
Комментарии36

Библиотека libopencm3: Быстрый старт (Часть 2). Работа с GPIO, SPI, отладка проекта при помощи GDB

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров3.9K

В первой части мы подготовили среду для легковесной разработки под STM32. Пора приступить к экспериментам.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии9

Создаем проект STM32 C++ FreeRTOS в vscode для очень маленьких

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

Жил себе спокойно, писал кодик в Keil и не парился. Писал изначально на СИ, но кода становилось все больше, а я все ленивее, перешел на С++ и ARM Compiler V6,19. Но пришел к тому что простых прерываний в таймере стало не достаточно, даже можно сказать не правильный подход. Задался желанием подключить какую-нибудь ОС. Выбор пал на FreeRTOS. Довольный, скачиваю операционку, подтягиваю файлы к проекту на плюсах, и получаю кучу ошибок. Попытка их устранить не увенчалась успехом. Вспомнил что есть CubeMX и там можно сгенерировать проект с уже подключенным freertoos. Проверил, 5-ым компилятором и языком СИ, проект отлично собирается, но как только переименовываем main.c в .cpp и выбираем компилятор 6,19, получаем кучу ошибок на ядро ОС, на определение inline и т.п. Так я и не смог подружить подружить ОС и C++ в Keil. Пришлось заменить среду разработки, изначально выбор пал на CubeIDE, все отлично дружится и собирается, но в душе оставались сомнения. В итоге финальным выбором стал vscode, далее опишу как создать проект именно в нем.

Здесь на сайте уже есть статьи по сборке проекта, ими и руководствовался, но пошел немного другим путем.

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии4

Cross-Detect для Проверки Качества Пайки в Электронных Цепях

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров5K

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

Вот пришла электронная плата с производства. Как убедиться, что на этой конкретной плате всё корректно с контактами?

Для этого нужна какая-то технология. Назовем её Cross-Detect.

Читать далее
Всего голосов 21: ↑16 и ↓5+11
Комментарии152

Jackson ObjectMapper Streaming API без возни

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.6K

Маппинг джейсонов или еще чего в модели чаще всего головная боль. Много мелочей, модели сделай, все подгони, аннотации расставь и прочее. Далее код примерно наколеночный, кому надо идею, поймет. Маппинг еще и памяти ест очень много, так как обычно ObjectMapper применяют примерно так:

mapper.readValue(inputStream,Model.class)

В итоге если модель большая маппер ее всю в памяти построит за раз, прочитав опять же весь json из стрима. Хуже когда даже json сначала в строку читают конечно. Потом приходит очередной ругатель и заявляет, что это java виновата. Что бы этого не делать, придумали ObjectMapper Streaming API. Что то вроде такого:

while (jParser.nextToken() != JsonToken.END_OBJECT) {
String fieldname = jParser.getCurrentName();
if ("name".equals(fieldname)) {
jParser.nextToken();
parsedName = jParser.getText();
}

Но фактически руками парсить json это тоже головняк. Есть хак, который позволяет и модели сразу получать и стриминг использовать. Может кому пригодится.

Читать далее
Всего голосов 11: ↑1 и ↓10-9
Комментарии22
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность