Search
Write a publication
Pull to refresh
-6
0.7
Send message

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

Level of difficultyEasy
Reading time7 min
Views6.1K

Физические и химические процессы, происходящие при прохождении постоянного тока через электропроводящую жидкость (электролит) можно использовать в том числе и для более или менее точной формообразующей или отделочной обработки металлических заготовок, в том числе и из хрупких, твёрдых металлов, механическая обработка которых затруднена. Электрохимическая размерная обработка (ЭХРО) действует весьма деликатно, не оставляя в деталях остаточных напряжений, не деформируя тонкие заготовки. В отличие от травления химического, ЭХРО оперирует куда как менее агрессивными и дорогими химикатами, что упрощает и удешевляет процесс, снижает требования к материалам и мерам безопасности. ЭРХО широко применяется в лабораторной практике, не повредит и в любительском электровакуумном деле.
Читать дальше →

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

Level of difficultyEasy
Reading time4 min
Views30K

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

Правила Хорошей Структурной Схемы для Электронных Плат

Level of difficultyEasy
Reading time7 min
Views18K

В этом тексте я написал о забытом понятии: блок-схемы для разработки электроники. В ГОСТ(е) их называли Э1 (Схема структурная). Блок-схем это хороший уровень абстракции при анализе электронного устройства или PCB. Представил несколько атрибутов, которые сформировались при создании блок-схем. Привел примеры образцовых блок-схем. 

Читать далее

Aтрибуты Хорошей Прошивки (Firmware)

Level of difficultyEasy
Reading time7 min
Views19K

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

Читать далее

Радиоприемник на RDA5807, Arduino Nano и … DeepSeek

Level of difficultyEasy
Reading time6 min
Views7.6K

Практически все функциональные возможности микросхемы RDA5807M реализованы в примерах ардуиновских библиотек Radio от Matthias Hertel и PU2CLR_RDA5807 от Ricardo Lima Caratti. Обе ищутся и устанавливаются в IDE.

Меня интересовала в основном реализация RDS, но не устраивало большое количество кнопок управления (не менее 4-х), так как в основном я ориентировался на управление энкодером. Просмотрев все примеры, я обратился к поиску радиоприемников, ориентируясь только на те модули, которые были у меня: модуль RDA5807M c кварцем, OLED SSD1306 128х64 синий с желтой верхней полосой, энкодер TZT и Arduino Nano (далее МК). Варианты с дополнительными кнопками, как в примерах библиотек, не рассматривались. В результате я остановился на двух вариантах. Первый.

Схемы подключения модулей приемника и дисплея стандартные — это шина I2C, организованная на выводах А4 и А5 МК; D2, D3, D4 для энкодера. Для написания кода я использовал в основном DeepSeek (далее просто чат-бот). Grok и YandexGPT применялясь от случая к случаю, об этом ниже. Выбор был основан в основном на доступности без бальных танцев из-за блокировок. Правда, совсем без танцев не обошлось, а решилось совсем просто. Ну, вы поняли, о чем речь.

Описал первое задание и боты взялись за дело. Конечно, с первого раза ничего путного не получилось и со второго тоже. Дело пошло лучше, когда я стал использовать диалоги, подбрасывая в диалог сообщения об ошибках компиляции. В результате получил более-менее работающий код, но с одним недостатком. На дисплей не выводилась кириллица. Чат-боты печатают очередную итерацию, но становится только хуже. В какой-то момент Arduino IDE написала мне, что для шрифтов не хватает памяти МК. Тут я понял, что надо остановиться — дело зашло в тупик.

Читать далее

Как оптимально проектировать печатные платы

Level of difficultyMedium
Reading time16 min
Views13K

Привет, на связи Андрей Шведов, руководитель проектов ГРАН Груп!

Разработчики электроники стремятся сделать свой проект с минимальным количеством вопросов и доработок со стороны производителя. Служба качества всегда хочет получить минимальный уровень брака. Сотрудникам монтажного производства хотелось бы видеть оптимизацию под линию монтажа для достижения максимальной производительности. А вопросы минимизации стоимости печатных плат и сокращения сроков поставки всегда крайне важны для компании в целом. Но как возможно отвечать всем этим требованиям одновременно?

Всего этого можно добиться, соблюдая набор принципов концепции DFM (англ. design for manufacturing) – "проектирование с учетом производства". Она имеет довольно простой смысл: задуманные в проекте решения следует реализовывать, учитывая особенности технологических процессов и возможности производств.

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

Цель нашей статьи – показать, что соблюдая простые рекомендации и имея представление о "популярных" ошибках, можно заметно сэкономить время.

Читать далее

Запускаем FLUX 1 Dev в Google Colab

Level of difficultyEasy
Reading time3 min
Views2.2K

Ранее я уже делал статью про запуск в пару кликов моделей Stable Diffusion в Google Colab с помощью Fooocus (способ актуальный), сегодня мы проделаем похожее с моделью FLUX 1 Dev, но без web интерфейса.

Читать далее

Разобрал китайца, подарил жене, а теперь продаю на маркетплейсах на 39 млн в год

Level of difficultyEasy
Reading time12 min
Views142K

Я работал инженером в Саратове, отвечал за ремонт медоборудования. На предпринимательство подсаживался постепенно. Стал подходить к начальнику.

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

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

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

Читать далее

Хотите перейти из FPGA в ASIC design? Вот упражнение для разминки. И сомбреро в подарок

Reading time3 min
Views4.7K

Уже пара тысяч человек успели поработать с упражнениями по SystemVerilog и FPGA из репозитория BGM - basics-graphics-music. Они используются в Школе Синтеза Цифровых Схем в России и Беларуси, а также на Verilog Meetup в Silicon Valley, а предыдущие версии использовались на семинарах в Украине, Казахстане, Киргизии, Грузии, Армении и Азербайджане.

Прошлым летом мы перенесли два упражнения из BGM и одно упражнение из systemverilog-homework в инфраструктуру Tiny Tapeout для проектирования ASIC. Tiny Tapeout - это компания, которая работает с eFabless и фабрикой Skywater и позволяет студентам и любителям сделать собственные микросхемы за карманные деньги.

И вот сейчас хотелось бы интегрировать BGM и Tiny Tapeout всерьез, для планируемого семинара в Мексике. Идея простая: группа из 30 студентов упражняется неделю на верилоге на платах Tang Nano 9K с графическими экранчиками и интерфейсными модулями TM1638. А потом их дизайны переносятся в репозитории на основе варианта темплейта от Tiny Tapeout - и мы вместе оформляем заказ на производство чипа на фабрике.

А какое участие я хочу от вас? А вот какое:

Читать далее

Chisel вместо Verilog, искажение тактового дерева и прототипирование ASIC: прокачиваем FPGA-скилы новыми темами

Level of difficultyMedium
Reading time3 min
Views2.9K

Осенью мы в YADRO совместно с сообществом FPGA Systems собрали FPGA-энтузиастов сразу в двух городах — Москве и Санкт-Петербурге. Получилось почти 12 часов докладов — по проектированию на FPGA и ASIC, альтернативным HDL, запуску GPU AMD на ПЛИС с RISC-V, искажению времени и другим фантастическим явлениям темам. Самые полезные, по мнению зрителей, — в этом посте.

Читать далее

Концепция донглов в Embedded устройствах

Level of difficultyEasy
Reading time5 min
Views5.4K

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

Типичное современное устройство будь то, мобильный телефон или пульт от телевизора – это самодостаточное устройство. То есть, они не требуют каких-либо дополнительных аппаратных компонентов для работы. Но, что, если наше устройство, заточено под выполнение конкретных задач и не является универсальным? В качестве примера можно рассмотреть считыватель RFID-карт

Читать далее

Математика матричных расширений: как происходит умножение матриц на примере T-Head Matrix Extension

Reading time13 min
Views9.3K

Привет, Хабр! Я Андрей Соколов, инженер-программист в группе разработки математических библиотек. Месяц назад моя коллега Валерия запустила цикл статей про матричные расширения, ускоряющие операции над матрицами. Вы уже смогли узнать, что они делают и какие существуют, какие из них разрабатываются для открытой архитектуры RISC-V.

В заключительной статье цикла разберем пример использования матричного расширения T-Head под RISC-V для реализации алгоритма матричного умножения. Сначала кратко рассмотрим наивную скалярную реализацию и блочный вариант алгоритма. Затем реализуем аналогичный вариант с использованием матричного расширения — как для квадратных матриц, так и матриц произвольного размера. Второй случай интересен тем, что возникает необходимость обработки так называемых «хвостов» — блоков неправильной конфигурации. В заключение немного расскажу, какие идеи можно использовать для дальнейшей оптимизации матричного умножения, и поделюсь полезными ссылками.

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

Читать далее

Android для радиоинженера (и не только)

Reading time6 min
Views41K
С того самого момента, когда я приобрел свой первый смартфон, работающий под ОС Android, я искал приложения под эту ОС, которые бы помогли мне делать несложные рабочие расчеты «на ладошке». Об одном из таких приложений и пойдет речь.

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

Как анонимно продать или купить крипту

Reading time5 min
Views71K

Сервис по мониторингу обменников Exnode

Как известно, анонимность — одно из базовых прав человека. В мае 2015 года Совет по правам человека ООН опубликовала доклад, который прямо называет анонимное использование интернета частью базовых прав человека:

«Шифрование и анонимность позволяют людям осуществлять свои права на свободу мнений и их свободное выражение в цифровой век и ввиду этого должны заслуженно пользоваться надёжной защитой», — из доклада ООН, 22.05.2015 г.

Особенно актуальна эта задача при обращении с финансами. Фиат и биткоин изначально задумывались как анонимные и приватные деньги, но на практике в 21 веке государство стремится отслеживать все транзакции, а личность пользователя можно вычислить, если он не принял меры безопасности.
Читать дальше →

STM32. Подготавливаем среду разработки в Linux

Level of difficultyEasy
Reading time21 min
Views37K
В недавнем времени получилось так, что у меня появилась пара интересных проектов, где одна из составных частей — микроконтроллер STM32. И каждый раз при смене ноутбука или ОС на домашнем компе приходится настраивать окружение для разработки как в первый раз. Плюсом, последние проекты, которые я делал для STM32 — выполнял в Windows, в демо-версии Keil uVision. Но поскольку я давно переехал в Linux — возникла необходимость основательно разобраться и изложить процесс настройки окружения для будущих применений.

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

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

Создаем I2C Master Controller на Verilog. Логический уровень

Level of difficultyMedium
Reading time12 min
Views9.6K
Продолжаю описание процесса изучения того, что такое I2C и с чем его едят. В этой статье я перейду от описания физических процессов, происходящих на шине к описанию того, как интерфейс функционирует на уровне логики, пакетов, какие служебные сигналы есть и для чего они используются при обмене данными.

Делаю я это для того, чтобы изучить то, как функционирует этот интерфейс на всех уровнях и чтобы заложить основу для разработки I2C Master Controller на Verilog, с помощью которого будет будет организован обмен данными с дисплеем SSD1306 и Zynq.

Всем, кому интересно — приглашаю ознакомиться с материалом под катом! =)

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

Создаем I2C Master Controller на Verilog. Идея и физический уровень

Level of difficultyMedium
Reading time16 min
Views12K
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

И немного поразмыслив — я подумал, что на этапе разработки этого модуля быстрее было бы его реализовать плате с ПЛИС Altera. Уж очень долго собирается bitstream-файл под Zynq. А в качестве тестового подчиненного устройства — буду использовать EEPROM и по мере готовности задачи — потом просто перенесу модуль в Vivado.

В как раз о том, что такое I2C, как я реализовывал Master Controller для работы с подчиненным устройством, чем руководствовался и что получилось — я опишу для вас в этой и последующих статьях.

Традиционно, кому интересно — добро пожаловать под кат! =)

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

Моделируем работу ПЛИС красиво

Level of difficultyEasy
Reading time7 min
Views5.6K

Настройка визуального представления сигналов при моделировании в среде ModelSim (часть 1)

Добрый день читателям Хабра! Меня зовут Алексей, я занимаюсь работой с ПЛИС (FPGA) уже более 15 лет. Хабр читаю давно, но статьи здесь никогда не писал. В общем решил попробовать. Не знаю, насколько на Хабре интересны темы, связанные с ПЛИС? Но всё же, вдруг кому-то эта небольшая статья будет полезна.

Читать далее

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

Level of difficultyEasy
Reading time7 min
Views20K

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

Читать далее
1
23 ...

Information

Rating
3,153-rd
Registered
Activity