Как стать автором
Поиск
Написать публикацию
Обновить
612.87

DIY или Сделай сам

Для тех, у кого руки растут из нужного места

Сначала показывать
Порог рейтинга

Прошиваем CH32V003 с помощью платы Arduino

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

Оказывается можно и способов не один, но я расскажу обо одном. Другие пока еще не пробовал. Решил написать эту заметку, т.к. в рунете ничего не нашел, пусть будет.

В проекте ch32fun есть программа minichlink, так вот она умеет прошивать WCH микроконтроллеры с помощью разных программаторов, например, b003boot, ardulink, esp32s2chfun. Нас интересует программатор ardulink.

Код программатора Ardulink можно взять из arduino-ch32v003-swio. На гитхабе есть обертка его для PlatformIO, кому как удобнее. Он написан под atmega328p, поэтому спокойно запускается на Arduino Nano. Подсоединяем провод от D8 (PB0) ножки Ардуино к SWIO (например, восьмая ножка у CH32V003J4M6), питание к питанию, земля к земле. Всего 3 провода. (Ножку D9 (PB1) так и не понял к чему подключать, но про нее есть в Readme.)

Дальше выполняем команды:

minichlink.exe -c COM3 -i этой командой можно проверить определяется ли микроконтроллер, где COM3 номер порта платы Ардуино, которую используем как программатор.

minichlink.exe -c COM3 -w .\firmware.bin flash -b а этой командой можно залить файл прошивки, где firmware.bin сам файл.

Пока у меня не получилось подключить такой программатор напрямую к PlatformIO, только получилось работать из командой строки, но при желании это сделать можно.

Теги:
0
Комментарии0

Китайский инженер показал прототип дрона в форме меча из аниме, который управляется жестами. На запястье автор проекта надел специальный сенсорный браслет, который считывает движения и повторяет их в воздухе. За счёт этого дрон летит туда, куда ему указывают.

Теги:
+4
Комментарии2

Всем привет!

Как вы помните: я говорил что хочу сделать свою лисп машину.

Проект не удался из-за корпуса и проводов. Но после этого я взялся делать микрокомпьютер на графической операционной системе.

Этот проект уже получился.

Сейчас решил всё усложнить и сделал ассемблер машину.

Ввод и вывод желают оставлять всего лучшего потому что ввод идёт с помощью двух кнопок (на самом деле limit switch это называют). А эти две кнопки это 0 и 1.

Результат программы не выводится но отображается в светодиодах:

  1. Зеленый - всё правильно.

  2. Желтый - правильно но с ошибками.

  3. Красный - не правильно.

Назвал я первую ассемблер машину как "pear 8800". Почему именно груша? Во первых я люблю груши :-). Во вторых мне нравится везде ставить название "pear" и дальше что-то.

Но можно вводить код по типу такого (не один не скомпилирует ведь мой это интерпретатор но на самом деле это не так):

section .data
hello: 1
section .code
mov ret hello

Вывод: 1.

3 регистра: rsi и rdi для данных и ret для данных которые возвращает программа.

Вот так.

Теги:
+2
Комментарии0

DIY-плата AD/DA для DSP-задач на ARM+FPGA: зачем я её собрал

В мире встроенных систем и цифровой обработки сигналов (DSP) ключ к быстрому прототипированию и надёжной отладке лежит через собственный инструмент — аппаратную платформу, точно отвечающую вашим задачам. Моя цель — отработать цепочку «аналог ↔ цифра ↔ FPGA ↔ ARM» в реальном времени, без лишних звеньев и оговорок. Именно поэтому я спроектировал собственную отладочную DIY-плату AD/DA с программируемым генератором тактовой частоты.

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

Плата выполнена в формате "Arduino" (?) и служит модулем для быстрой интеграции в платформы ARM+FPGA (Zynq-7000 или аналогичные) через стандартный 40-контактный разъём KLS.

Плата AD/DA
Плата AD/DA

В основу конструкции легла классическая SDR-структура: трансформаторы, АЦП, программируемый тактовый генератор, буфер тактового сигнала, ЦАП и интерфейсные сигналы на разъём KLS.

1. Аналого-цифровой преобразователь: AD9283

  • 8-битный одноканальный АЦП с параллельным CMOS-интерфейсом.

  • Частота преобразования до 100 MSPS.

  • Сигнал PWRDWN и шина данных подаются с разъёма KLS.

  • Вход с внешнего SMA через трансформатор дает дифференциальный сигнал для высокого SNR.

2. Тактовый генератор и буфер: Si514 & Si53306

  • Программируемый кварцевый генератор Si514 формирует опорную частоту.

  • Тактовый буфер Si53306 распределяет сигнал на АЦП, ЦАП и FPGA.

3. Цифро-аналоговый преобразователь: AD9744

  • 14-битный одноканальный ЦАП с параллельным CMOS-интерфейсом.

  • Частота преобразования до 210 MSPS.

  • Сигнал SLEEP и шина данных подаются с разъёма KLS.

  • Выход через трансформатор возвращает аналоговый сигнал на внешний SMA-коннектор.

Зачем и для чего: практические сценарии использования этой отладочной платы

  1. Формирование и анализ сигналов

  • Создания многокомпонентных тестовых сигналов (модуляции AM/FM, chirp-сигналов) для оценки пропускной способности и реактивности FPGA-ядра.

  • Тестирования и калибровки входных трактов при различных уровнях амплитуды и частоты.

  • Генерации шумовых или псевдослучайных сигналов для проверки устойчивости DSP-алгоритмов.

2. Отладка алгоритмов цифровой обработки в реальном времени

  • Нужно прототипировать алгоритмы цифровой обработки данных непосредственно на связке ARM+FPGA и видеть результат «на лету».

  • Использование платы в образовательных целях: для обучения студентов или коллег практикам embedded-разработки и современной цифровой обработки сигналов.

  • Реализация и проверка в HDL алгоритмов, например, вейвлет-преобразования для анализа сигнала и выделения его локальных особенностей.

3. Сравнительное исследование реальной производительности ARM и FPGA-ядер

  • FPGA-ядро: пропускная способность HDL-модулей FIR/IIR, вейвлет-анализ, дизайн HLS-функций.

  • Сбор и визуализация метрик (latency, throughput, resource utilization) через ARM-API и JTAG-интерфейс FPGA.

  • ARM-ядро: замеры FFT-блока, фильтров в Linux-окружении.

Заключение

Эта AD/DA-плата для ARM+FPGA обеспечивает точность, скорость и гибкость, необходимые как для исследований DSP-алгоритмов, так и для промышленных встраиваемых и исследовательских проектов.

Присоединяйтесь к https://t.me/dsp_labs — там выходят реальные бенчмарки, исходники и советы по оптимизации DSP-алгоритмов на ARM/FPGA платформах!

Теги:
+11
Комментарии11

Астрофотограф по имени Карл рассказал. что потратил всего $20 в магазине хозтоваров и полностью преобразил резкость своих астрофотографий.

В небольшом видео он показал три простых самодельных мода для астрофотографии, которые могут значительно улучшить снимки глубокого космоса без лишних трат, включая маску Бахтинова, напечатанную на 3D-принтере и флокирование трубы телескопа фетровыми полосками. Эти простые усовершенствования телескопа стоят меньше, чем один окуляр, но дают результаты, сравнимые с профессиональным оборудованием для астрофотографии.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии1

UART-сенсоры и браузер: читаем воздух через браузер на sensor.pollutants.eu

polluSensWeb
polluSensWeb

Привет, Хабр!
Делюсь своим простым, но мощным инструментом: веб-интерфейс для чтения данных с UART-сенсоров прямо через браузер. Да, без установки чего-либо. Просто открываешь страницу — и видишь, что творится в воздухе.

🤔 Зачем всё это?

Если ты возишься с датчиками качества воздуха, то знаешь, как это бывает: подключил — и пошёл искать minicom, Ultra, какой-нибудь Python-скрипт, или ещё чего. А если ты просто хочешь посмотреть, дышит ли твой сенсор — зачем столько движений?

И тут пришла идея: а почему бы не сделать всё в браузере?

🌐 HTML + JS + JSON = 👌

Ты заходишь на sensor.pollutants.eu, выбираешь нужный сенсор из списка (если в JSON их несколько), подключаешься к COM-порту — и данные потекли.

Без установки. Просто HTML-страница, в которой уже всё встроено:

  • работа с Web Serial API,

  • парсинг бинарных фреймов по структуре из JSON,

  • визуализация данных через Chart.js,

  • конфигурация через внешний JSON-файл.

  • скачивание статистики в CSV

⚙️ Конфигурация сенсоров

Конфиг грузится с GitHub и содержит несколько сенсоров. Можeте загрузить свой JSON.
Проект на hackaday

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Небольшой апдейт по устройству ClockworkPi PicoCalc. Умельцы раскопали RockChip SDK и собрали на основе платы разработки LuckFox Lyra B минимальный рабочий образ Ubuntu 22.04 со всеми драйверами для компонентов устройства. Плата электрически совместима с платой Raspberry Pi Pico. Превращение из кибердеки на Basic в кибердеку на Linux происходит за пару минут.

А внутри Linux уже доступны и Basic и Python и другой софт. У платы всего два недостатка: малый объём памяти и отсутствие Wi-Fi (что решается подключением USB-донглов к внутреннему разъёму USB на плате).

И это реально работает. Покопаться пришлось разве что с процедурой прошивки. Особенность чипа LuckFox Lyra B в наличии встроенной SPI-флешки со стандартной прошивкой, которую нужно стереть для того, чтобы загрузка с MicroSD-карты заработала.

За подробностями отправляю на форум разработчика. Там энтузиасты решают проблемы с RTC-часами, Wi-Fi-адаптерами и прочим.

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

Я сделал таймер Pomodoro с котами

Привет, ребята!
Я создал небольшой сторонний проект — милый маленький таймер Pomodoro с котами под названием Meowdoro.

Это бесплатное расширение Chrome, которое помогает вам оставаться сосредоточенным с помощью техники Pomodoro.

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

Ничего особенного — просто то, что я хотел для себя и решил поделиться.
Буду рад любым конструктивным отзывам или идеям по улучшению!

https://chromewebstore.google.com/detail/meowdoro-tracker-pomodoro/gmmcoggmjnbbklphjcbnpfepmagelgkk

Спасибо за чтение! 😺

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии5

Японский энтузиаст собрал детскую версию легендарной Toyota AE86 — даже при своей маленькости она резво раздаёт угла. Размеры малютки как у офисного стола (2400×1000×800 мм), вес 110 кг, но выдерживает пилота до 300 кг. Внутри электромотор на 2500 Вт, который обеспечит весьма реальный дрифт при максималке в 70 км/ч. По сути, шустрая игрушка с характером старшего брата из культового аниме про дрифт — Initial D.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Когда мы собирали в гараже электрокартинги, нужно было обеспечить хорошее освещение. Поставил 6 люминисцентных светильников по 2 лампы 120 см: три на стенах и два на потолке.

Но со временем это решение стало доставлять много проблем. Долгие пуски в морозы. При отсутствии запасных ламп невозможно было определить почему перестал работать светильник: из-за вышедшей из строя ЭПРА, или из-за сгоревших ламп.

В итоге недавно заменил все светильники на светодиодные и счастлив.

Полностью светодиодное освещение (простите за хлам)
Полностью светодиодное освещение (простите за хлам)

Алгоритм замены простой:
1. Покупаете светодиодные лампы, цоколь G13. Цена 1 шт. от 160 до 250 руб. в зависимости от мощности. Я брал на 30 Вт., 4000K.
2. На светильнике снимаете лампы, полностью отключаете ЭПРА, он нам больше не понадобится.
3. Переподключаете схему светильника (как на рисунке): с одной стороны на все 4 клеммы (под две лампы) подводите фазу, с другой стороны - ноль.
4. Устанавливаете новые светодиодные лампы.

Забываете обо всех проблемах с пуском. Если выходит из строя одна лампа (хотя, у меня еще это не случилось), просто меняете её, не нужно выяснять в лампе ли дело, или в ПРА.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии3
Как можно видеть, строки 5 и 6 используют вдобавок уменьшенный интервал.
Как можно видеть, строки 5 и 6 используют вдобавок уменьшенный интервал.

Была даже абсолютно безумная мысль замутить электронную книжку на таком вот сегментном принципе, но не знаю, что меня больше останавливает: глазоломность шрифта или перспектива паять около 10 000 светодиодов в размере 0402 (или хотя бы 0603).

ЗЫ: добавил «ненормальное программирование» просто потому, что оно напрашивается сначала в эмуляции погонять и оценить степень невыносимости такого шрифта.

Теги:
Всего голосов 10: ↑10 и ↓0+14
Комментарии3

Блогер собрал безумный симулятор для мотогонок. Установка повторяет каждое движение из игры: наклоны, подскоки и... даже падения. Если в игре вы потеряли контроль — в реальности тоже рискуете слететь с «мотоцикла». Реагирует всё: от угла поворота до столкновений. Авария в симуляторе — гарантированный удар в корпус. Виртуальная смерть теперь почти настоящая.

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии4

3д принтер у меня с ковида, octoprint на Raspberry 3 у него вырос практически сразу, и все это время дома был home assistant который сменил уже 3 поколенея Raspberry и сейчас живёт на 4. Так же принтер creality ender 5 pro почти сразу был подключен через розетку на zigbee. Много лет, Карл ! Но как сделать автоматическое выключение принтера после печати я додумался только вчера. В общем все очень просто, и, надеюсь, понятно, по скрину из автоматизации home assistant. Само собой нужна установленная и настроенная интеграция OctoPrint в HA. z_power_3d_printer это вот такая розетка.

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии2

Ближайшие события

Про колёсо Илона (оно же "колесо Mecanum") я с коллегами узнал достаточно давно. Году в 2018 мы загорелись желанием изготовить свой вариант четырехколёсной тележки на колёсах Илона чтобы освоить программирование её кинематики и начали с проектирования собственно колёсного хаба. К слову сказать, таких колёс на просторах известного китайского маркетплейса - вагон и маленькая тележка, но нам захотелось изготовить колесо своего дизайна. Подробности о кинематике тележки на четырех колёсах Илона можно прочесть в статье на Wikipedia.

Коллега ЧПУшник за пару недель полностью спроектировал колесо в 3D и даже изготовил один хаб (из двух симметричных половинок) из сплава Д16Т на нашем фрезерном ЧПУ в 5-ти координатах. Много лет этот хаб лежал на витрине и пугал своей экзотичной формой посетителей нашего офиса. В марте-апреле 2025 года у нас образовалось некоторое количество свободного времени и мы решили задействовать его с пользой, то есть дожать тему колёс Илона. Мы изготовили оставшиеся три хаба, для чего пришлось полностью переписать программу для ЧПУ чтобы сделать инверсную копию колеса. Запроектировали и изготовлили на токарном ЧПУ латунные втулки для роликов, а на 3D принтере напечатали сами ролики из эластичного материала. Оси роликов изготовили из калибровонного прутка Ф6 пищевой нержавейки.

Собрали всё воедино и установили на платформу с четырьмя шаговыми двигателями типа NEMA17, привод на колёса от которых передается через червячные редукторы с числом редукции 1:30. Для подачи сигнала на ШД использовали драйверы DRV8825 от дешманского 3D принтера предоставленного на разграбление всё тем же коллегой. Блок управления запрограммировали на Verilog-е для разработанной ранее плате "Карно" предназначенной для обучения ПЛИСоводству. В качестве дистанционного управления тележкой выбрали пульт ДУ от телевизора, так как код его декодера очень прост в реализации на Verilog и уже применялся нами для другого аналогичного проекта.

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

1. Слишком большое редукционное число (1:30) делает перемещение тележки очень медленным. Радикально увеличить частоту сигнала STEP (сейчас это 16 кГц при режиме MODE=1/16) не получается - шаговики теряют синхронизацию и перестают вращаться. Планируем зменить редукторы, воможно вместе с ШД, на BLDC.

2. Из-за отсутствия подвески любые неровности поверхности приводят к потере сцепления одного из колёс, что моментально сказывается на направлении движения тележки.

3. Число роликов в колесе требуется увеличить (сейчас их 6 шт), чтобы обеспечить плавный переход от одного ролика к другому, иначе заметны рывки.

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

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

Код блока упраления тележкой на языке Verilog для ПЛИС: https://github.com/Fabmicro-LLC/KarnixMecanumTest

Дизайн платы "Карно" выполненный в САПР KiCAD: https://github.com/Fabmicro-LLC/Karnix_ASB-254

PS: 3D модель колеса Илона выложу позже, после доработок.

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии2

Ищу запчасти линейного актуатора подъемной ноги от офисного стола SteelCase Migration SE

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

На фото, раскуроченный двигатель и плата контроллера, внутри подъемной колонны.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Занимательная арифметика ни о чем:

Как писал уже - переделал TV-бокс в десктопный компьютер, работающий с большим монитором.

Одна из целей в том числе: проверка теоретической "энергоэффективности" сего девайса.
Питается он от USB, замеры потребления показали: максимум - 0.7А при 4.99В, то есть с округлением 3.5 Ватта.
Вспоминая "биг-тауэры" 15-летней давности, уступающие в производительности, но с блоками питания по 400 Ватт... Хм...

А что, если посчитать автономную работу?
Допустим, у нас есть аккумуляторная батарея 12В, и преобразователь DC-DC с КПД 100% (чтобы проще считать)
На сутки работы требуется 24 * 3.5 Ватт = 84 Ватт*ч.
Приводя ватты к 12-вольтовой батарее получаем 7 А*ч.
Разумеется, свинцовая батарея дает где-то треть от номинала - значит, это будет 21 А*ч. Стандартная автомобильная - от 45 и более.

То есть, на одной заряженной автомобильной батарее такой компьютер, без учета монитора, может работать пару суток?
А если взять LiPO4, у которой реальная емкость более соответствует номиналу - несколько суток с запасом?

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

Возобновляемая энергетика как она есть.
Еще бы монитор был энергоэффективным...

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии9

На сайт Foldnfly представлены 53 инструкции по сбору бумажных самолётиков. Для каждого вида самолётика сделан подробный гайд с уровнями сложности и пошаговым описанием, а также видеороликами по сборке. Если вы хотели прочистить мозги и весело залипнуть, то это отличный вариант для приятного времяпрепровождения.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Почему не стоит изобретать велосипед или как я попал в психбольницу на 2 месяца.

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

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

Люди, пожалуйста, сохраняйте свой "work-life balance"🙏, творите и создавайте понятное и главное, нужное для других людей.

А для особо-отважных и жаждущих тренировок ума, со статьей можно ознакомиться или воспроизвести (в развлекательных целях, не заразно 😉) где-нибудь в учебных условиях.

https://habr.com/ru/articles/766032/

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Запускаем MIPI DSI экраны от смартфонов 🚀

Приветствую, друзья! Некоторое время назад мне удалось-таки сделать обратную разработку нескольких экранов от смартфонов с интерфейсом MIPI DSI.

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

Обратная и прямая разработки поскакали в одной упряжке.)

Посмотрим живой процесс разработки. Это всегда интересно!

Будем надеться, скоро выйдет эта серия статей.

Подписывайтесь и следите за обновлениями, чтобы не пропустить! 🚀

Интересна ли вам эта тема? Что интересует больше всего?

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

Реверс-инжиниринг: вспоминаем истории
(рассказываю свою, делитесь похожими байками в комментариях)

AI, нарисуй, как ты понимаешь реверс-инжиниринг
AI, нарисуй, как ты понимаешь реверс-инжиниринг

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

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

Взял я ручку, линейку и срисовал штрих-код с капсулы на клочок бумажки. Потом положил ее на считыватель кофеварки, закрыл крышку и вуаля, хитрый аппарат выдал мне кипяток! Я получил чай и +100500 к самооценке.

А что у вас?

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии6

Вклад авторов