Pull to refresh
13
0.1

Инженер — электроник

Send message

Самодельный ленточный микрофон

Level of difficultyMedium
Reading time20 min
Views5.9K

В последние годы странно всплыла тема ленточных микрофонов. Их, казалось бы, давно списанные в запасники истории, внезапно полюбили музыканты и звукорежиссеры, и все их фатальные недостатки (нехватка отдачи на высоких частотах, специфический характер звучания, малая чувствительность и проч.) внезапно стали превозносить, как достоинства. И... их стали делать. Причем — во всех ценовых категориях. Справедливости ради, надо сказать, что ленточный микрофон при всех тонкостях, конструктивно и технологически, наверное, самый простой из возможных. Вся его конструкция — это магнитная система и гофрированная ленточка из алюминиевой фольги. И это, пожалуй, единственный микрофон, который можно сделать буквально на коленке. Вот этим мы и займемся. Сразу скажу: получить сразу микрофон «мирового уровня» будет непросто. Но не боги горшки обжигают. Здесь — только начало этого пути.

Читать далее
Total votes 40: ↑48.5 and ↓-8.5+57
Comments20

Миниатюрный шаговый двигатель SM1007

Level of difficultyEasy
Reading time3 min
Views6.4K

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

Что было дальше?
Total votes 25: ↑19.5 and ↓5.5+14
Comments15

Терминал для работы с COM-портом TerminalTMB

Level of difficultyMedium
Reading time28 min
Views2.5K

Описание теерминала для работы с COM-портом TerminalTMB. Данная программа предоставляет широкий функционал по упрощению, визуализации, автоматизации и минимизации рутиных действий при работе с последовательным портом. Может использоваться при разработке софта для микроконтроллеров, Arduino и промышленной электроники. Программа полностью бесплатная, никаких ограничений по функционалу и времени работы нет.

Читать далее
Total votes 12: ↑13 and ↓-1+14
Comments20

Вскрытие детали за 40 тысяч. Ремонт и реверс высоковольтного модуля Traco Power MHV12-2.0K1000N

Level of difficultyMedium
Reading time10 min
Views14K

В этой статье мы заглянем под заливочный компаунд стабилизированному высоковольтному преобразователю напряжения производства Traco Power. Данный прибор из напряжения 12 В вырабатывает отрицательное высокое напряжение в диапазоне от 0 до 2000 В при токе до 1 мА, которое задается внешним резистивным делителем или управляющим напряжением. Выходное напряжение хорошо стабилизировано (декларируется нестабильность в 0,03% при изменении нагрузки или питающего напряжения во всем допустимом диапазоне). Подобные модули — наиболее легкий способ обеспечить стабильным высоковольтным питанием ФЭУ (например, сцинтилляционного детектора радиоактивных излучений), но к сожалению, они слишком дороги (текущая цена, по которой подобный модуль можно приобрести у российских поставщиков элементной базы — около 40 000 руб). Мне такой преобразователь попал в руки неисправным — так что давайте его вскроем, посмотрим, как он устроен и попробуем починить.

Вскрыть
Total votes 134: ↑155 and ↓-21+176
Comments70

Улучшаем свой код на Python

Level of difficultyEasy
Reading time6 min
Views14K

Жизнь — это бесконечное совершенствование. Считать себя совершенным — значит убить себя. (Георг Гегель)

Для кого статья:

для начинающих специалистов - подглядеть пару конструкций

для среднеопытных - порадовать свою самооценку

Читать далее
Total votes 23: ↑20 and ↓3+17
Comments27

Отладка многопоточных программ на базе FreeRTOS

Reading time13 min
Views34K

image

Отладка многозадачных программ дело не простое, особенно если ты сталкиваешься с этим впервые. После того, как прошла радость от запуска первой задачи или первой демо программы, от бесконечно волнительного наблюдения за светодиодами, каждый из которых моргает в своей собственной задаче, наступает время, когда ты осознаешь, что довольно мало понимаешь (вообще не врубаешься) о том, что на самом деле происходит. Классика жанра: «Я выделил целых 3КБ операционной системе и запустил всего 3 задачи со стеком по 128Б, а на четвертую уже почему-то не хватает памяти» или «А сколько вообще стека я должен выделить задаче? Столько достаточно? А столько?». Многие решают данные задачи путем проб и ошибок, поэтому в этой статье я решила объединить большинство моментов, которые, в настоящее время, значительно упрощают мне жизнь и позволяют более осознанно отлаживать многопоточные программы на базе FreeRTOS.

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

В данной статье я расскажу о следующих моментах:


  1. Настройка OpenOCD для работы с FreeRTOS.
  2. Не забываем включать хуки.
  3. Статическое или динамическое выделение памяти?
  4. Сказ, о параметре configMINIMAL_STACK_SIZE.
  5. Мониторинг использования ресурсов.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments21

Универсальная плата для E-Ink экранов. Ч1. Разработка системы питания

Level of difficultyMedium
Reading time13 min
Views7.3K

Однажды мне попался один весьма интересный проект платы, поддерживающей большое количество разнообразных E-Ink экранов. Проект довольно быстро заинтересовал, появилось желание несколько переработать плату, внести улучшения, узнать и попробовать что-нибудь новое. Больше всего изменений претерпела система питания: она была разработана практически с нуля. Процесс оказался очень познавательным и увлекательным, а отладка прототипа преподнесла много поучительных и забавных сюрпризов. Это жизненный рассказ о разработке как есть.
Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments30

DIY-программатор ST-Link V2.1

Level of difficultyMedium
Reading time6 min
Views19K

Привет, Хабр!

Предлагаю вашему вниманию самодельный программатор ST-Link V2.1.

Особенности: интерфейс SWD, функция виртуального COM-порта, поддержка SWO, функция MSC (mass storage class), низкая цена.

Перейти к статье
Total votes 33: ↑33 and ↓0+33
Comments47

Неизвестный UART: микросхемы

Level of difficultyMedium
Reading time23 min
Views18K

Как было сказано в предыдущей статье, UART не является формализованным стандартом и, следовательно, при его использовании имеет смысл опираться на практику реализаций данного протокола в различных микросхемах. В данной статье будут рассмотрены микросхемы мостов USB‑UART различных производителей как с точки зрения особенностей поддержки протокола, так и с точки зрения временных/электрических характеристик, а также иных, в том числе не‑электронных соображений.

Запаять SSOP-20
Total votes 76: ↑75 and ↓1+74
Comments57

Wireshark — подробное руководство по началу использования

Level of difficultyMedium
Reading time8 min
Views158K

Wireshark – это широко распространённый инструмент для захвата и анализа сетевого трафика, который активно используется как для образовательных целей, так и для устранения неполадок на компьютере или в сети. Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.

Читать далее
Total votes 41: ↑39 and ↓2+37
Comments21

Ультимативный Roadmap для Python-разработчика в 2023 году + источники знаний

Level of difficultyEasy
Reading time4 min
Views142K

Python — один из самых популярных языков программирования в мире. Статистика современного рынка свидетельствует о том, что Python желаемый навык, и что его использование широко распространено в различных сферах, таких как наука, инженерия, бизнес, аналитика данных и многих других.

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

Читать далее
Total votes 8: ↑4 and ↓40
Comments8

Функции Python — это объекты первого класса

Level of difficultyEasy
Reading time7 min
Views20K

Функции Python — это объекты первого класса. Их можно присваивать переменным, хранить в структурах данных, передавать в качестве аргументов другим функциям и даже возвращать в качестве значений из других функций. Интуитивное понимание этих понятий значительно облегчит понимание таких продвинутых функций Python, как лямбды и декораторы. А также поможет вам продвинуться на пути к техникам функционального программирования.

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments5

Регистры STM32 в структурах на битовых полях, UART (Tx, Rx-длина?) + DMA

Reading time18 min
Views17K

Цель статьи - рассказать, как получить удобный доступ к битам регистра STM32 без использования битовых операций и пользоваться битами микроконтроллера как обычными переменными. Чтобы не быть голословным, создадим проект UART+DMA с передачей и приёмом данных неизвестной длины, работающую чисто на структурах c битовыми полями, которые привязаны к адресам периферии STM32.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments28

Как разместить переменную по определенному адресу в Keil

Reading time4 min
Views9K

Иногда возникает задача сохранить во flash памяти контрольную сумму, картинку, строчку текста, настройку. А ещё иногда возникает задача сохранить переменную не просто в ОЗУ, а в определенных адресах. Или например иметь функцию, исполняемую из ОЗУ чтобы можно было присылать по UART и сразу исполнять новый код функции. Рассмотрим эти задачи на примерах.

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments23

Вот почему нужно использовать оператор := в Python

Reading time8 min
Views35K


Сегодня рассказываем о самом странном операторе Python — операторе моржа. Для чего он нужен, и как использовать его с учётом других особенностей языка? Подробности к старту курса по Fullstack-разработке на Python — под катом:

Узнать больше
Total votes 23: ↑20 and ↓3+17
Comments56

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time25 min
Views1.4M

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




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments66

F-строки в Python мощнее, чем можно подумать

Reading time5 min
Views120K

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

Читать далее
Total votes 98: ↑96 and ↓2+94
Comments25

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

Reading time24 min
Views26K

Написать эту статью меня сподвигли те сложности, которые пришлось пройти в попытке разобраться, как же именно ядро контроллера STM32F103 работает с драйвером USB, который находится на борту. Имеющиеся туториалы по созданию устройств, в том числе и композитных, в основном сфокусированы на особенностях использования библиотек. Но когда оставшегося места в памяти контроллера мало а парамеры его работы полностью предсказуемы, лучшим решением становится написать собственный обработчик прерываний. А для этого нужно понять,

как же оно всё-таки работает
Total votes 38: ↑36 and ↓2+34
Comments9

11 Aтрибутов Хорошего Firmware

Level of difficultyEasy
Reading time6 min
Views18K

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

Читать далее
Total votes 56: ↑51 and ↓5+46
Comments114

Устройство отслеживания замены картриджей в фильтре питьевой воды на STM32

Reading time6 min
Views17K

Привет, меня зовут Евгений Кузнецов, я много лет работаю в сфере автоматизации предприятий. В качестве хобби занимаюсь поделками в сфере электроники для «малой автоматизации» дома. 

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

Читать далее
Total votes 33: ↑33 and ↓0+33
Comments41
1
23 ...

Information

Rating
2,427-th
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity