Pull to refresh
-1
@Valentin_Koread⁠-⁠only

User

Send message

STM32 — грамотно включаемся от кнопки

Level of difficultyEasy
Reading time7 min
Reach and readers14K

Наличие у контроллеров STM32, да и практически любых других, режима энергосбережения STANDBY, который фактически представляет собой полное отключение (работает только RTC и сторожевой таймер, потребление составляет первые микроамперы, а состояние не сохраняется), дает возможность простейшим способом сделать включение и выключение устройства на таком МК нажатием кнопки, в том числе и задействованной под другие функции, без каких-либо дополнительных элементов. Есть, однако, несколько подводных камней, и в этой статье я расскажу, как на них не попасть.

Читать далее

Стабилизируем положение потенциометра, считанное с АЦП

Level of difficultyMedium
Reading time14 min
Reach and readers5.8K
Считать показания потенциометра для удобного аналогового управления системой, что может быть проще? Сеть завалена примерами работы с АЦП. Считали значение, вот мы и знаем положение… Но не всё так просто – эти значения всё время будут разными. Близкими, но разными. То есть, программа будет считать, что положение головки регулятора всё время дрожит.



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

Программируем полётный контроллер на основе DIY проекта Flix

Level of difficultyMedium
Reading time19 min
Reach and readers21K

У нас в МАИ, в 8-м институте, учатся будущие разработчики IT‑продуктов и софта для авиационных систем, аэропортов, логистики и много чего ещё интересного. Один из курсов с 2023 года мы решили посвятить разработке программного обеспечения для автопилота. В курсе всё как положено, с красивыми диаграммами регуляторов, кватернионами и кодами таких проектов как Ardupilot, PX4, Betaflight, iNav и другими.

Однако, довольно сложно сразу вкатиться в тему полетных прошивок — они переполнены всякими фичами и функционалом, так что неподготовленному разработчику сложно понять как же это всё работает. Поэтому долгое время я искал такой проект, который позволяет «на пальцах» объяснить как работает прошивка полётника. Таким проектом для меня стал Flix от Олега Калачева. Про опыт сборки проекта и изучения на его основе полетной прошивки со студентами и пойдет разговор в этой статье.

Полетели !

Магнитная мешалка с подвыподвертом. Как сделать?

Level of difficultyMedium
Reading time4 min
Reach and readers5.6K
Как размешать сахар в чае, не опуская в него ложку? Можно позвать Кашпировского, а можно…
Усложним задачу. Пусть вместо чашки будет химическая колба, вместо чая — азотная кислота, а вместо сахара, ну не знаю, что вы там сегодня в ней растворяете на завтрак. Что мы можем сделать? Потрусить или покачать колбу руками? Не выйдет, колба уже присоединена к остальной части химического аппарата и закреплена на штативе. Просунуть стеклянную палочку через горловину и бултыхать ею? Части аппарата могут этому препятствовать, да и герметичность нарушать не желательно, а то и недопустимо. Естественно, есть у химиков специальные насадки, позволяющие без нарушения герметичности пропустить ось мешалки в аппарат. Но есть и более элегантное решение — магнитная мешалка.

Что же это за зверь такой? А очень просто — это прибор, который вращает сильный постоянный магнит под колбой, в то время как внутри колбы находится якорь — магнит поменьше, облачённый в инертную (как правило, фторопластовую, реже — стеклянную) оболочку. Якорь подхватывается вращающимся магнитным полем и делает своё бултыхальное дело внутри колбы. Эстетично, гигиенично, герметично.

Читать дальше →

Импульсный (Пере)Магничиватель для неодима

Level of difficultyMedium
Reading time5 min
Reach and readers22K

Импульсный (пере-)магничиватель для неодимовых магнитов (из HDD). Много конденсаторов, толстый тиристор, пыщ-пыдыщ, всё как мы любим.

Читать далее

Мультитул для разработчика электроники

Level of difficultyEasy
Reading time12 min
Reach and readers17K

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

Идея понятна - заменить генераторы частоты, терминалы RS-485 и CAN одним самодостаточным прибором. В этой статье расскажу о том, что за девайс я собрал.

Читать далее

Поиск секретов в программном коде (по энтропии)

Reading time3 min
Reach and readers2.2K
Недавно в открытом доступе появился новый инструмент для поиска приватной информации в открытом коде. Это Entropy — утилита командной строки, которая сканирует кодовую базу на предмет строк с высокой энтропией. Предположительно, такие строки могут содержать секретную информацию: токены, пароли и др.

Подход логичный. Пароли и токены — это по определению строки с высокой энтропией, поскольку они создаются с помощью генераторов случайных или псевдослучайных чисел. Символы в такой последовательности в идеале непредсказуемы.
Читать дальше →

Гид по блокирующему, неблокирующему и квази-блокирующему вводу-выводу

Level of difficultyEasy
Reading time19 min
Reach and readers3.6K

В природе существуют два широкоизвестных метода ввода-вывода: блокирущий и неблокирующий. Отношение к блокирующему как правило пренебрежительное, мол, он для нубов, а серьезным людям использовать его не стоит.

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

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

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

Читать далее

Как джамминг и спуфинг GPS мешают мирному населению

Level of difficultyEasy
Reading time7 min
Reach and readers27K

Региональная карта помех GPS на 5 августа 2024 года, источник

Давно известно, что сигнал GPS подвержен джаммингу (глушению) и спуфингу (подделке). Орбита спутников находится на высоте 20 180 км, так что сигнал на Земле легко заглушить. Но вот спуфинг считали слишком сложным и дорогостоящим.

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

К сожалению, помехи GPS распространяются далеко за пределы зон военных конфликтов, что влияет на повседневную жизнь простых людей в Москве и Санкт-Петербурге, Латвии, Эстонии, Финляндии, Беларуси, Турции и др. (на КДПВ).
Читать дальше →

KC868-M16v2: мечта ардуинщика (16 токовых каналов, 3 канала напряжения, SD, LAN, POE, дисплей, RTC и SH3x)

Level of difficultyEasy
Reading time6 min
Reach and readers11K


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

То есть теперь все желающие могут попрактиковаться в многоканальном измерении токов потребления различных устройств и открыть для себя много нового и интересного (смайл). Кроме этого, компания Kincony снабдила своё очередное детище кучей фишек типа поддержки microSD карт памяти, сетевого подключения с POE, дисплея, часов реального времени и в качестве вишенки на торте — разъёма для подключения датчиков SH3x.

Да, иногда мечты сбываются…
Читать дальше →

Моя первая встраиваемая система под управлением Linux

Level of difficultyMedium
Reading time14 min
Reach and readers16K

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

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

Эффективная запитка от литиевых аккумуляторов (серия TI TPS63xxx)

Level of difficultyEasy
Reading time8 min
Reach and readers7.7K


Эта статья посвящена разбору решений по запитке 3,3-вольтовых контроллеров (и их периферии) от литиевых аккумуляторов, напряжение которых меняется в процессе работы от 4,2 В до 3 В и даже ниже, в случае глубокого разряда.

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

Обо всём этом мы и поговорим далее (решение есть!).
Читать дальше →

Как заставить Docker работать в России и Беларуси (самое простое и быстрое решение)

Level of difficultyEasy
Reading time3 min
Reach and readers31K

Вчера, 30 мая 2024 года, Docker без предупреждений заблокировал доступ к DockerHub для РФ, что для проектов стоящих в продакшене на Docker стало серьёзным форс-мажором и проблемой, сборка проекта так, как это было раньше, стала невозможной. Статья - простой доступный гайд как эту проблему решить

Узнать решение

Матричный шрифт с анимацией на микроконтроллере

Level of difficultyMedium
Reading time5 min
Reach and readers6.9K

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

Читать далее

Разглядывая JTAG: самый быстрый программный JTAG на Arduino

Level of difficultyMedium
Reading time26 min
Reach and readers16K

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

Так как реализация на Си преследовала исключительно образовательную цель, то скорость её работы была принесена в жертву некоторой унифицированности подходов с реализацией на Verilog. Поэтому я был несколько удивлён, когда в личном сообщении @Sergei2405 спросил, нет ли способа ускорить работу примера для микроконтроллера, чтобы применить этот код в промышленном изделии.

Субъективно, практическое применение программного JTAG мне по‑прежнему видится не вполне оправданным.
Но, во‑первых, это хороший повод рассмотреть предельные возможности микроконтроллеров.
А во‑вторых, есть формальная причина сказать, что в данной статье предлагается Решение Прикладной Задачи :)

Итак, сегодня мы поговорим про прерывания, поллинг и прочее. А протокол JTAG станет фоном для повествования.

jmp start

Гроубокс с числовым программным управлением (ЧПУ)

Level of difficultyMedium
Reading time7 min
Reach and readers5.5K

Возникла необходимость сделать настройку гроубокса максимально комфортной -- удалённо, без программирования. Все исходные коды доступны по ссылкам в конце статьи. В статье будет упор на программную часть: прошивка гроубокса, графический интерфейс (GUI) для компьютера.

Читать далее

ОбАСУчиваем дачу. От идеи к проекту

Level of difficultyEasy
Reading time8 min
Reach and readers5.1K

«Всё намного сложнее, чем кажется на первый взгляд.»

Закон Мерфи.

Дисклеймер: Автор абсолютно уверен, что все поставленные задачи можно было решить иным способом. Лучше, дешевле, умнее, креативнее… Но вышло так, как вышло. Собственно, автор придерживается точки зрения, что обАСУчивание дач — процесс творческий и субъективный: «Я художник, я так вижу». Вместе с тем автор способен также к объективному восприятию информации, а потому открыт для обмена мнениями и опытом, тем более, что творческий процесс продолжается.

Начало здесь.

Итак, «мозг» у нашей «ленивой автоматики» есть. Теперь нужно подобрать «руки и ноги», то бишь исполнительные устройства. Как уже писал выше, сначала думал о соленоидных клапанах. Очень заманчива их простота – подал напряжение, и клапан сработал, снял – вернулся в исходное состояние. Нужно всего два провода. И на первый взгляд таких клапанов на Али – море. Стоимость полдюймовых – чуть ли не от 300р. Исполнение, правда, незащищённое, но можно что-нибудь придумать. Однако почитав отзывы, пришлось отвергнуть этот вариант. Основная проблема – сильно греются. Пишут, что за 10 минут работы может нагреться до 60-70 градусов. Очевидно китайские братья сэкономили на обмотке. Для кратковременных включений оно ничего, но мне-то нужно чтобы клапан работал часами. Если клапан сгорит, а мы в отъезде, то заменить его будет некому, и дача останется без полива.

Потому пришлось переключиться на другой вариант – шаровой клапан с электродвигателем. В АСУ ТП такой называется MOV – motor operated valve. Для его работы нужно уже три провода – один на команду открытия, второй на команду закрытия, и общий. Таких тоже на Али много. Есть и двухпроводное исполнение, где обратный ход обеспечивается конденсатором. Но насколько надёжен такой конденсатор? В общем, решил не искушать судьбу, и взял трёхпроводные клапана, в защищённом исполнении. Работают от 12 вольт. Стоимость каждого - в районе 1200р. Купил три — поскольку выходов «открытый коллектор» у контроллера пять, два решил оставить про запас, в расчёте на будущие задумки и расширения. Но всё равно, хотя такой клапан и надёжен, хотелось бы контролировать – течёт через него вода или нет? Снова выручил Алиэкспресс. Там же нашлись полдюймовые дачтики потока. Стоят недорого, 130р., и отзывы, вроде, неплохие. Таким образом, стала вырисовываться общая схема – управляем насосом и тремя клапанами, расход через каждый клапан контролируем датчиком. В исходном положении все клапана открыты, по необходимости закрываем один или два.

Читать далее

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

Level of difficultyMedium
Reading time33 min
Reach and readers45K

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

Читать далее

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Reach and readers171K

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

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Level of difficultyMedium
Reading time18 min
Reach and readers43K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →

Information

Rating
Does not participate
Registered
Activity