Pull to refresh
4
0
Брюзгин Степан @cybersonner

Разработчик электроники

Send message

Квинтовый круг: Говорим о музыке простыми словами

Reading time3 min
Views134K


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

Впервые квартово-квинтовый круг был описан в книге «Идея грамматики мусикийской» от 1679 года русско-украинского композитора Николая Дилецкого.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments60

Векторное управление для асинхронного электродвигателя «на пальцах»

Reading time9 min
Views131K

В предыдущей статье «Векторное управление электродвигателем «на пальцах» рассматривалась векторная система управления для синхронных электродвигателей. Статья получилась большой, поэтому вопрос про асинхронные электродвигатели (induction motors) был вынесен в отдельную публикацию. Данная статья является продолжением предыдущей и опирается на приведенные там объяснения принципов работы электродвигателей. Она расскажет об особенностях работы асинхронного двигателя применительно к векторному управлению, а также покажет отличия в структуре векторной системы управления между синхронной и асинхронной машиной.
Как работает асинхронный электродвигатель? Наиболее популярное объяснение говорит что-то типа «статор создает вращающееся магнитное поле, которое наводит ЭДС в роторе, из-за чего там начинают течь токи, в результате ротор увлекается полем статора и начинает вращаться». Лично я от такого объяснения всю физику процесса понимать не начинаю, поэтому давайте объясню по-другому, «на пальцах».
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments24

Векторное управление электродвигателем «на пальцах»

Reading time17 min
Views330K
— Что такое векторное управление?
— Держать ток под 90 градусов.


Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments48

15 тривиальных фактов о правильной работе с протоколом HTTP

Reading time7 min
Views236K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Total votes 191: ↑186 and ↓5+181
Comments120

Моделирование дипольной антенны в openEMS

Reading time9 min
Views19K


В предыдущей части было рассказано как промоделировать распространение ЭМВ при помощи симулятора
openEMS. Теперь рассмотрим как рассчитать что-либо полезное. Промоделируем дипольную полуволновую антенну на частоту 500 МГц. Будет рассмотрено моделирование в частотной области и моделирование диаграммы направленности (ДН) антенны. Схема данной антенны показана на рисунке.



Дипольная антенна состоит из двух лучей, каждый из которых имеет длину равную 1/4 волны для резонансной частоты. Запитывается антенна из центра. Антенна имеет сопротивление на чатоте резонанса, равное приблизительно 75 Ом и дигарамму направленности в форме тора. Подробнее о теории работы дипольной антенны можно прочитать, например, в учебнике Айзенберга или Белоцерковского. Эти результаты мы и должны получить после моделирования.

Под катом приведён скрипт с моделью дипольной антенны с построчным разбором. Предполагается, что читатель знаком с основами Matlab/Octave, электротехники и теории антенн (знает что такое комплексное сопротивление, S-параметры и КСВ).
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments11

Прецизионный поворот растрового изображения на произвольный угол

Reading time8 min
Views57K
Поворот растрового изображения на углы, кратные 90°, относительно геометрического центра изображения – задача тривиальная и решается без потери качества простым преобразованием координат каждого пикселя.

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

Ниже мы рассмотрим алгоритм прецизионного поворота растрового изображения на произвольный угол относительно произвольного центра с минимальными потерями.

Выражаю благодарность Харченко Владиславу Владимировичу за оказанную помощь.
Читать дальше →
Total votes 114: ↑104 and ↓10+94
Comments40

Простыми словами о преобразовании Фурье

Level of difficultyMedium
Reading time14 min
Views1.1M
Я полагаю что все в общих чертах знают о существовании такого замечательного математического инструмента как преобразование Фурье. Однако в ВУЗах его почему-то преподают настолько плохо, что понимают как это преобразование работает и как им правильно следует пользоваться сравнительно немного людей. Между тем математика данного преобразования на удивление красива, проста и изящна. Я предлагаю всем желающим узнать немного больше о преобразовании Фурье и близкой ему теме того как аналоговые сигналы удается эффективно превращать для вычислительной обработки в цифровые.

image (с) xkcd

Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
  • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
  • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
  • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
  • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
  • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
  • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
  • Как по цифровой последовательности восстанавливают исходный сигнал


Я буду исходить из предположения что читатель понимает что такое интеграл, комплексное число (а так же его модуль и аргумент), свертка функций, плюс хотя бы “на пальцах” представляет себе что такое дельта-функция Дирака. Не знаете — не беда, прочитайте вышеприведенные ссылки. Под “произведением функций” в данном тексте я везде буду понимать “поточечное умножение”

Итак, приступим?
Total votes 203: ↑192 and ↓11+181
Comments190

ARM-ы для самых маленьких: компоновка-2, прерывания и hello world!

Reading time9 min
Views40K


Нашел возможность «добить» цикл еще одной статьей, где я подведу небольшой итог. По сути, только сейчас мы добрались до того, с чего, обычно, начинают программировать:
  • рассматриваем «сложный» сценарий компоновки GNU ld;
  • учимся использовать прерывания;
  • наконец добираемся до hello world!


Предыдущие статьи цикла:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments9

Защита оборудования от импульсных перенапряжений и коммутационных помех

Reading time11 min
Views149K
    На написание данного текста меня сподвигло ощущение незнания многими принципов работы, использования (или даже незнание о существовании) параллельной защиты от импульсных перенапряжений в сети, в том числе и вызванных разрядами молний
    Импульсные помехи в сети довольно распространены, они могут возникать во время грозы, при включении/выключении мощных нагрузок (поскольку сеть это RLC цепь, то в ней при этом возникают колебания, вызывающие выбросы напряжения) и многие другие факторы. В слаботочных, в том числе цифровых цепях, это еще более актуально, поскольку коммутационные помехи достаточно хорошо проникают через источники питания (больше всего защищенными являются Обратноходовые преобразователи — в них энергия трансформатора передается на нагрузку, когда первичная обмотка отключена от сети).
    В Европе уже давно де-факто практически обязательна установка модулей защиты от импульсных перенапряжений (далее буду, для простоты, называть грозозащитой или УЗИП), хотя сети у них получше наших, а грозовых областей меньше.
    Особо актуальна стало применение УЗИП последние 20 лет, когда ученые стали разрабатывать все больше вариантов полевых MOSFET транзисторов, которые очень боятся превышения обратного напряжения. А такие транзисторы используются практически во всех импульсных источниках питания до 1 кВА, в качестве ключей на первичной (сетевой) стороне.
    Другой аспект применения УЗИП — обеспечение ограничения напряжения между нейтральным и земляным проводником. Перенапряжение на нейтральном проводнике в сети может возникать, например, при переключении Автомата ввода резерва с разделенной нейтралью. Во время переключения, нейтальный проводник окажется «в воздухе» и на нем может быть что угодно.

Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments9

Уроки по электрическим цепям — линии передачи, часть 2

Reading time9 min
Views88K


Эта статья — перевод. Начало здесь.
Источник.

В программе:
1) Провода болтаются в воздухе, но источник тока/напряжения видит короткое замыкание.
2) На одном конце провода амплитуда равна 0 Вольт, а на другом — 1 Вольт. Как это возможно?
3) Согласование 75 Ом источника сигнала с 300 Ом нагрузкой при помощи правильно подобранного кабеля.

Стоячие волны и резонанс


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

На рисунке показано, как треугольная падающая волна зеркально отражается от открытого конца линии. Для простоты, линия передачи в этом примере показана как единая жирная линия, а не как пара проводов. Падающая волна идёт слева направо, а отражённая – справа налево.
Читать дальше →
Total votes 86: ↑86 and ↓0+86
Comments12

Уроки по электрическим цепям — линии передачи

Reading time10 min
Views241K
Ещё не начав читать статью, попробуйте подумать над вопросом: побежит ли ток, если подключить к батарейке очень длинный провод(более чем 300 тысяч километров, сверхпроводник), если противоположные концы провода никуда не подключены? Сколько Ампер?

Прочитав эту статью, вы поймёте в чём смысл волнового сопротивления. Из лекций по теории волн я вынес только то, что волновое сопротивление — это сопротивление волнам. Большая часть студентов, кажется, поняла ровно то же самое. То есть ничего.

Эта статья — весьма вольный перевод этой книги: Lessons In Electric Circuits
Статьи по теме: На Хабре: Контакт есть, сигнала нет
Трэш в Википедии: Длинная линия

Читать дальше →
Total votes 99: ↑97 and ↓2+95
Comments62

Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет

Reading time12 min
Views70K
Мне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
Читать дальше →
Total votes 69: ↑59 and ↓10+49
Comments55
2

Information

Rating
Does not participate
Location
Волжский (Волгоградская обл.), Волгоградская обл., Россия
Date of birth
Registered
Activity