Я разработчик, люблю проектировать и создавать различные устройства на базе микроконтроллеров. Сейчас плотно сижу над проектом собственного робота-доставщика. Проект амбициозный, и сейчас я жестко завис на этапе проектирования печатной платы для драйвера бесщёточного двигателя (BLDC).
Мой рабочий хаос в EasyEDA. Пытаешься сделать всё по правилам, но габариты диктуют свои условия.
В чем главная боль: Мне нужно жестко уложиться в стандартные китайские габариты 50х100 мм, чтобы плата не стоила как крыло от самолета. Из-за жесткой экономии места, приходится нарушать примерно всё, что можно нарушить в правильной трассировке силовых дорожек. Силовые линии идут впритирку к сигнальным, но я пытаюсь выжать максимум из этой компоновки. Не настолько я богат, чтобы заказывать произвольные платы нестандартных размеров.
Знакомые давно советовали мне открыть сбор на Пикабу, чтобы ускорить разработку, но я вечно сомневался. Кому это интересно, когда вокруг столько забот и проблем в экономике? Интересно кто прав, знакомые или я?
Железки и разводка плат — это только верхушка айсберга. Проектирование робота с нуля — это вечный поиск компромисса между теорией из учебников и толщиной твоего кошелька. Моторы, компоненты, заказ плат в Китае, недели ожидания... И бесконечное: «Ждать, ждать и снова ждать».
А затем начинается ад с механикой. Мало придумать узел, нужно смоделировать его в 3D и проверить, как всё это шевелится в реальности.
Зацените мой редуктор GT2 (передаточное 2:1) в 3D. Модель полностью рабочая, крутится в софте плавно, без багов и тормозов. Но сколько крови она мне стоила...
Как РКН и баги софта вставляют палки в колёса: Когда мне понадобилась инфа по сложным сопряжениям деталей, я наткнулся на неожиданное препятствие — «спасибо» РКН. Заблокированный Замедленный YouTube просто отказался грузить обучающие ролики. На отечественных платформах информации крупицы, и все авторы как под копирку повторяют один и тот же базовый алгоритм. Пришлось доходить до всего своим умом и калькулятором.
Когда я создал 3D модель по обучающим роликам, то столкнулся с проблемой. При вращении модель тупо намертво зависала. Программа 3D-моделирования отказывалась адекватно воспринимать геометрию и постоянно спотыкалась. Я бился, может я делаю что-то не так. Оказывается она зависает так у всех. Там баг в алгоритмах, не умеет программа такие передачи отрисовывать. Пришлось писать свой алгоритм сопряжений. И тут начался самый сок. Я сел рассчитывать профиль шкива под редуктор GT2 и сопряжения анимаций. И понял что ...
Казалось бы, ну что такого в обычном редукторе? В итоге, чтобы просто обойти внутренние баги CAD-программы и автоматически рассчитывать любой шкив под мои задачи, мне пришлось написать около 1500 строк кода!
Тот самый кусок кода для автоматического расчёта редукторов и построения траекторий сопряжения. Геометрия из школы наконец-то пригодилась.
На этот код и геометрические расчёты я убил целую неделю. Пришлось экстренно вспоминать синусы, косинусы и прочую школьную тригонометрию. В этот момент я отчетливо осознал: школьная учительница была права, геометрия в жизни реально пригодилась.
Мой друг, глядя на мои мучения, часто говорит: «Да ладно тебе, не бойся ошибаться, это же нормальный процесс разработки!». И я с ним абсолютно согласен. Ошибаться — это нормально. Вот только в моём случае любая ошибка — это прямой и болезненный удар по карману.
Одно дело — ошибиться в коде. Нажал Backspace, переписал, запустил заново. Бесплатно. Совсем другое дело — ошибиться в «железе». Спроектировал корпус, накопил денег, отдал чертежи на стороннее производство. Приезжает готовая деталь, ты радостно садишься за сборку и понимаешь: ось подшипника смещена на полмиллиметра. Или диаметр из-за усадки уплыл. И что делать? Покупать новые подшипники под косячную деталь? Или снова копить деньги и переделывать всё с нуля? Ошибаться — нормально, но накладно.
Именно поэтому я так сильно хочу купить собственный 3D-принтер.
С принтером на столе цена ошибки падает почти до нуля. Накосячил в размерах? Переделал модель, нажал кнопку «Печать» и через два часа у тебя в руках новая тестовая деталь стоимостью в 50 рублей из куска пластика. Ты можешь примерить подшипник, проверить люфты и зазоры прямо здесь и сейчас, не тратя недели на ожидание и тысячи рублей на сторонний заказ.
Порой критически не хватает рук, времени и, конечно же, средств. И если время и руки еще можно как-то оптимизировать, то финансы часто играют решающую роль. Эх, были бы бюджеты — нанял бы целую команду инженеров... Но это пока влажные мечты проектировщика цифровых устройств))
Что ж, с поддержкой или без, я всё равно буду пробиваться. Буду биться до победного, пусть даже иногда это напоминает штурм глухой стены. Я — проектировщик. Могу быть в чем-то неправ, могу косячить, но это у меня в крови с самого детства. Я просто не умею жить по-другому.
Без 3D-принтера, на чистом энтузиазме и сторонних заказах деталей, этот робот-доставщик растянется еще на пару лет. С принтером я рассчитываю поднять его на ноги уже в ближайшие месяцы.
Спасибо огромное всем, кто дочитал эту исповедь до конца. Каждому, кто решит закинуть копеечку в виджет ниже — жму руку. Вы инвестируете не в игрушку, а в реальное железное устройство, которое обязательно попрет вперед.
А пока я возвращаюсь к своей плате 50х100 мм. Жду всех в комментариях, особенно критиков по трассировке — накидайте советов, где я накосячил!
Шёл очередной день. Я "гипервезучий". Вот к слову невезение должно быть рядом моё имя как синоним. Вчера подключил первый раз Донаты, теперь виджет у Пикабу завис, показывает чёрный экран и полоски. Супер. Продолжаю сидеть и разрабатывать робота. Для тех кто не видел, вот так выглядит создание печатной платы. Много ещё нужно сделать, но делаю.
EasyEDA, программа для создания печатных плат.
Мой первый пост, который скорее всего скоро снесут. Потому что это никому не интересно. Я долго думал Вот Шаман или фрики какие-то да, а это... Депрессия что-то у меня. Устал я.
Пару лет назад писал статью про то как сделать самому аналоговый энвелоп для гитары, педаль вышла очень удачная и музыкальная.
Особенно понравилось характерное синтезаторное управление и не типичные подходы к звуку. В частности с перегрузами.
Аналоговое управление хоть и вышло вариативное, но: - требовало много органов управления - было не достаточно гибким
Альтернативы вроде EHX BLURST! за 160 баксов или Spatial Delivery V3 за 250 баксов совсем не впечатлили с их ограниченным функционалом и схожей схемотехникой.
В общем цифровое управление напрашивалось, а здесь этот хайп с нейросетями чуть мотивировал поиграть в эмбедеда.
Это открытый проект с гибридной архитектурой. - FREQ и RES - чисто аналоговые и работают всегда. - Цифровая часть и модуляция работают параллельно.
- Аналоговый SVF на LM13700 - Цифровое управление на Arduino Nano - 2 режима: Envelope + LFO (тест прошивка) - Реле-байпас - 3 ручки, 2 кнопки, 2 двухцветных светодиода
Буду рад заинтересованностью к проекту и альтернативным прошивкам. Особенно радикально экспериментальным)
Ранее я использовал двухполярное питание, но с целью упростить схемотехнику отказался от такого решения.
Поиск подходящей схемы проводил по следующим критериям: - Однополярное питание - Доступная элементная база - Простота повторения
Из удачных примеров практически сразу попалась схема очень популярной в одной время (2007-2010г) на форумах автокваки: И даже на российском гитар-гире есть целая ветка.
Mad Professor White Snow. Судя по характерному звучанию и функционалу Spatial Delivery V3 как раз сделана по схожей схеме.
Схема довольно простая Это фильтр типа SVF (State Variable Filter), основанный на микросхеме LM13700 c диапазоном примерно от 80 Гц до 3 кГц. .
Еще раз прикинув устройство оригинальной педали, меня порадовало решение со стабилизатором напряжения, для разделения управляющего сигнала и ограничивания напряжения использован 78l05, подходящие реле как раз остались с прошлых проектов.
Так как большинство современных контроллеров на рынке имеют уровни 3.3в, на ум сразу пришла Arduino Nano которая работает от 5в и тоже как раз пара завалялась.
Начнем с разбора аналоговой части устройства.
Разбор аналоговой схемы
Принципиальная схема SVF фильтра с НЧ выходом, на однополярном питании со стабилизированной средней точкой.
Аналоговую часть схемы условно можно поделить на 4 части: - Повторитель напряжения (синий) Поскольку в схеме используется однополярное питание, входной сигнал должен быть смещен относительно минуса питания (земли по факту). Для это создается точка, относительно которой измеряются положительный и отрицательные полуволны сигнала.
Для создания такой "средней точки" используется делитель напряжения R2 и R15 и операционный усилитель U4.2 в режиме повторителя напряжения, для ее стабилизации, C15 для гашения ВЧ пульсаций.
- Входной каскад (фиолетовый) В оригинальной схеме используется полевой транзистор 2n5457 Здесь внесены изменения, так как освободилась вторая половина ОУ для этой задачи.
Усилитель с отрицательной обратной связью на U4.1 обеспечивает высокое входное сопротивление и возможность регулируемого усиления сигнала резисторами R17 и R18, конденсатор C17 отсекает постоянное напряжение, оставляя только переменный сигнал.
- Фильтр второго порядка (красный) Классический SVF фильтр, в данной схеме используется выход НЧ фильтра. Два интегратора (IC2.3 и C18) и (IC2.1 и C19). Соединённые последовательно и через обратные связи (R38, R26 и R34). Так же можно ВЧ и полосовой получить взяв сигнал на других точках.
- [Первый интегратор] IC2.3 и C18 образуют первый интегратор и задают "начало" среза и спад -6дБ Участвует в формировании добротности в обратной связи. IC2.2 просто буфер для развязки тока на конденсаторе C18 от остальной схемы. - [Второй интегратор] IC2.1 и C19 это второй интегратор, дает еще спад -6дБ. IC2.4 так же буфер для развязки, выдает сразу низкое выходное сопротивление.
Итоговый спад: -12дБ/окт
- Резистор R27 - настраивает "чувствительность" данной схемы и смещает диапазон регулировок. - Резистор R38 - участвует в формировании глобальной обратной связи и влияет на устойчивость и добротность фильтра. - Резистор R34 - для ограничения, если уменьшить, фильтр начнет заводиться на максимальных значениях резонанса. - Все резисторы по 330 ом для линеаризации, это фича из даташита LM13700, так же для более стабильной работы схемы.
При номиналах C18 и С19 в 22нф Диапазон должен быть примерно: от 80 - 100 Гц до 3 - 5 кГц. (но я не замерял и хз)
Составной эмиттерный повторитель (зеленый) Два npn-транзистора последовательно, как преобразователь ШИМ сигнала из напряжения в ток, так как LM13700 управляется именно током в данной схеме. По этой же причине потенциометр FREQ подключен в режиме сопротивления, а не делителя напряжения.
Это все что касается аналоговой части.
Байпас в схеме реализован с помощью реле. Оно физически переключает контактны аналогично кнопке. Это надежно и расширяет возможности управления.
Реле байпаса HFD4-5V-S управляется с помощью минуса питания, при подачи высокого уровня сигнала (5в) на базу Q5, он открывается создавая низкий уровень на коллекторе и переводя реле в активное состояние. Диод D1 для подавления выбросов от электромагнитной катушки внутри реле.
Далее я составил карту подключений и нарисовал по ней принципиальную схему электронной части.
Цифровые подключения
Принципиальная схема цифровых подключений
Мы уже определились, что будем использовать в качестве контроллера Arduino Nano.
Я хотел повторить аналоговое управление педали, но с меньшим количеством ручек, удобным переключением между режимами и другим блек джеком.
Аналоговые : - FREQ - Resonance
Цифровые: - Attack / Speed (в зависимости от режима) - Decay / Wave (в зависимости от режима) - Depth (общая)
- Кнопка байпаса (тоже цифровая и можно использовать в комбинациях для переключения режимов) - Кнопка взаимодействия (Trigger или Tap Tempo в зависимости от режима) - По одному двухцветному светодиоду на кнопку.
- Реле (цифровой выход, у нас полностью тру байпасс, управляемые с контроллера) - ШИМ выход для управления собственно фильтром.
Прикинув пины к кнопкам, накидал карту подключений:
D10 – ШИМ выход на эффект с RC-фильтром на выходе.
Аналоговая часть в схеме работает независимо от цифровой, Поэтому потенциометры FREQ и RESONANCE остаются и являются базовыми параметрами отвечающими за звук.
Цифровое управление представляет из себя 3 потенциометра, 2 кнопки и 4 светодиода.
Потенциометры подключены к питанию 5в и земле крайними контактами как делитель напряжения. Средним контактом подключены к пинам Arduino nano с АЦП (Аналогово-цифровой преобразователь) и считывают напряжение по потенциометрах. Подключены через ограничивающие резисторы, для защиты МК, а конденсаторы для устранения помех.
Кнопки подключены к цифровым пинам и принимают два положения. Замыкаются на землю (низкий уровень), конденсатор на землю для устранения дребезга контактов.
Реле подключено так же к цифровому пину, но он используется как выход, высокий уровень на этом пине обозначает, что эффект включен.
Для индикации использовал двухцветные светодиоды с общим катодом (земля).
Поскольку контроллер способен выдавать несколько ШИМ сигналов, я использовал еще два пина для управления яркостью светодиодов и отображения параметров, например формы волны и другой индикации состояний эффекта.
При этом светодиоды байпаса лишены такой возможности и могу работать только в двух положениях (вкл/выкл).
D10 - "Главный" пин ради которого все затеялось. Это ШИМ выход, который используется для управления фильтром. Он подключен через сборку Дарлингтона непосредственно к 13700. Подробнее описывал в блоке про аналоговую часть схемы.
Для питания всей этой цифровой части используется стабилизатор напряжения 78L05. Этим напряжением я запитываю непосредственно цифровую часть и управление реле, чтоб разделить ее от аналоговой схемы в плане питания.
Так же я впоследствии задействовал пин A7 как внешний аудио-триггер. Использовал схему бустера LPB-1 на нпн-транзисторе (не знаю зачем, так получилось)
Изначально я подразумевал ручную настройку чувствительности, но в дальнейшем отказался в сторону цифровой.
Можно было вообще без всего этого, но у меня была какая то тактика и я очень торопился заказать перед китайским новым годом.
Перенос на плату был довольно сумбурным и непоследовательным, отсюда несколько не самых удачных решений и пара ошибок, но не критичных и все работает как надо.
Так как часто встречал проблемы в платах педалей при нахождении на них кнопок и гнезд (микротрещины в пайке). Принял решение делать всю эту периферию на проводах.
Я создаю схемы и переношу их на платы в онлайн платформе EasyEDA в стандартном редакторе. Детали на схему подбираю и добавляю по реальному каталогу LCSC.
Это мировой дистрибьютор электронных комплектующих, как правило все посадочные места проверенные можно найти по LCSC Part #, а заодно проверить в целом доступность компонента на перспективу и какое количество предложений есть на рынке.
Ну и про перспективу автоматической сборки для более крупных проектов.
1/2
Выбор компонентов на схеме и где их найти
После завершения схемы и проверку соединений, можно перенести все на печатную плату во вкладке "дизайн".
Перенос принципиальной схемы на печатную плату.
После преобразования схемы в плату мы получаем кашу из выбранных на схеме деталей соединённых линиями связи.
Они отображают соединения на принципиальной схеме.
Все детали на плате зависимы от обозначений на принципиальной схеме и будут отображаться в зависимости от выделения элементов на обеих страницах и платы, и схемы.
Основная задача на этом этапе: - Создать границы платы, выбрав слой "границы платы" - Сгруппировать детали на раздельный блоки, как они сгруппированы на принципиальной схеме. - Распределить комплектующие на верхний/нижний слой. - Разместить органы управления и заблокировать положение на плате (желательно)
1/6
Преобразование в плату, группировка компонентов и трассировка платы
После этого: - Аккуратно расставить компоненты на нижнем слое. - Соединить по линиям связи дорожками. - Залить полигон земли (верхний слой)
Размер корпуса использовал 1590bb Это стандартный корпус для педалей на две кнопки
Размер печатной платы установил: 80х60 мм Это достаточно, чтоб уместить все на одной плате внутрь корпуса 1590bb
Smd комплектующие разместил на нижнем слое, это открывает полный доступ к компонентам и дорожкам в собранной педали и возможность отладки "на горячую".
Верхний слой использовал как земляной полигон (обязательна заливка). Для подключения компонентов к земляному полигону использую переходные отверстия.
На верхнем слое разместились только потенциометры. Они так же являются основным креплением платы к корпусу, посредствам гаек.
Добавляем 3д модели на детали (если их нет) и проверяем плату в 3д на предмет конфликтов расположения.
1/2
3d модель печатной платы с деталями.
Когда убедился, что состояние "ну пойдет", я приступил для заказу плат. Это наверное самое просто и неприятное одновременно, плотить и ждать((
Для заказа плат, нам необходим Gerber файл. Он создается буквально в пару кликов.
Вам необходимо будет пройти проверку на соответствие техническим требованиям. Если все хорошо то сразу получите файл. Если нет, то покажет ошибки которые необходимо исправить
Скачиваете ZIP папку, это и есть необходимый нам файл.
1/2
Создание Gerber файла
Далее с этим файлом идем к китайцам, вариантов заказа плат сейчас масса, я поделюсь опытом (приятным довольно кстати) работы одним из них.
Заказ плат
Я выбрал самый простой пусть и заказал на PCBWAVE. - У них есть оплата через сбербанк. - 10шт за 1000р размером до 10х10см (с учетом доставки на момент января-февраля 2026г) В целом мне этого было достаточно.
Заказывал за пару недель до китайского нового года, цвет решил попробовать желтый. Ожидание около 1 месяца, может чуть больше или меньше.
Фото печатных плат желтого цвета
Был приятно удивлен черной шелкографии на желтой маске и особенно количеством вдвое больше заказанного
Платы нормальные по качеству, никаких нареканий нет Сразу приступил к сборке
BOM (Список комплектующих)
Все комплектующие максимально доступны и продаются на OZON, Aliexpress и ChipDip.
Реле — 1 шт (HFD4-5V-S) DC Jack — 1 шт (5x2.1mm) Audio Jack — 2 шт (6.3mm) Кнопки — 2 шт (Momentary) Корпус — 1шт (1590BB) Держатели светодиода — 2 шт (на любой вкус)
Я подписал модели корпусов или важные спецификации рядом с деталями. Ориентируйтесь на эти заметки при самостоятельном заказе комплектующих.
Монтаж и сборка
Есть много различных способов и подходов к решению этой задачи. Я выбрал для себя следующий способ, в два этапа:
В целом для вполне комфортного изготовления педали потребуется следующий инструмент и материалы на фото.
Забыл собственно паяльник !!!! Инструмент и материалы для изготовления педали VibeFilter
Что то можно исключить, но оно значительно добавляет комфорт.
Вот список инструмента и материалов который был задействован для создания педали: - Паяльник с жалом типа K (топорик/нож) - Шуруповерт + сверла (или ступенчатое) - Мультиметр (обязателен, базовый минимум) - Припой без флюса (для пайки ТАГСом) 0.8-1 мм - Припой с флюсом (для пайки выводных компонентов) 0.8-1 мм - ТАГС (водорастворимый флюс) - Пинцет (50% комфортной работы с smd компонентами это качество пинцета) - Бокорезы (небольшие) - Длинногубцы или набор ключей (гайки крутить и провода держать) - Спирт (изопропиловый) - Линейка, маркер, крышка от бутылки, фен и зубочистки по ситуации
Помещение где происходит пайка должно хорошо проветриваться. Необходим доступ к проточной воде, желательно теплой.
Из комфортного конечно: - Силиконовый коврик, чем больше тем лучше, но маленький тоже отличное решение. - Стриппер для зачистки проводов, прекратите делать это зубами пожалуйста.
Первый этап монтажа smd деталей на печатную плату.
В схеме использованы детали для поверхностного монтажа крупного размера (1206), для удобства ручной пайки.
При использовании ТАГС, ПРИПОЙ БЕЗ ФЛЮСА (строго!).
Можно использовать любой другой флюс и технологию монтажа по вашему желанию. Мой выбор упал конкретно на ТАГС, так как он отлично отмывается тепловой водой, без дополнительных средств химии.
- Использую маленькую емкость для флюса ТАГС (крышку от бутылки) - Пинцетом беру необходимый компонент и окунаю во флюс. - После этого устанавливаю на посадочное место и удерживаю компонент пинцетом - Касаюсь горячим жалом контактной площадки и элемента с набранным припоем на конце жала.
Температуру при пайке использую в диапазоне 270-320 градусов, в зависимости от используемого паяльник, толщины припоя и фазы луны.
Это быстрый и простой способ пайки таких элементов, в среднем на каждый контакт уходит не больше 2-6 секунд.
Какой то особой последовательности по сборке на данном этапе нет. Я начинал с микросхем и крупных элементов, транзисторов, потом частых номиналов вроде 1к, 6.8к, 100нф и тд.
Думаю в другой последовательности не менее комфортно будет собраться.
Процесс ручного монтажа smd компонентов на печатную плату
У ТАГСА очень большая проводимость и его необходимо особо тщательно отмывать!
После того как плата тщательно отмыта, СДЕЛАЙТЕ ПРОМЫВКУ ЕЩЕ РАЗ!
И только после этого приступаем к сушке.
Плата после отмывки проточной водой.
Для сушки использовал обычный фен для волос типа "дайсон". Просушить теплым или холодным воздухом.
После чего обильно залить изопропиловым спиртом и повторно просушить холодным воздухом. Это необходимо для удаления солей, оставшихся от проточной воды.
Я использую спрей-емкость для спирта, это экономный способ использования.
Второй этап монтажа выводных элементов на плату.
Далее вся пайка будет проводиться припоем с флюсом. (БЕЗ ИСПОЛЬЗОВАНИЯ ТАГС)
И кстати желательно уже иметь просверлить корпус, но об этом отдельно.
На этом эта важна последовательность. - 1. Потенциометры - 2. Ардуино Особенно критично если устанавливать контроллер сразу в плату, без возможности снять его.
1/2
В целом работа с печатной платой на этом месте закончена закончена. Осталось подключить периферию (гнезда, кнопки и светодиоды).
Работа с корпусом
Я рассчитывал все под корпус 1590b За забудьте отступить от края примерно 10-12мм, если хотите разместить гнездо питания сверху.
На плате под потенциометрами находятся отверстия, они для разметки на корпусе. Я центровал и сверлил остальные отверстия на глаз, все уместилось.
Диаметр необходимых отверстий: - 7 мм (потенциометры) - 13 мм (питание + кнопки) - 10 мм (джеки) - 3-5мм (светодиоды)
Процесс честно говоря не вижу смысла показывать, просто грязная сверлежка силумина ступенчатым сверлом.
Разметка корпуса с помощью печатной платы.
Собралось у меня следующее, я сразу сделал отверстие для юсб контроллера. На время отладки и вайбкодинга хотелось бы иметь быстрый доступ к прошивке устройства.
1/2
Педаль в сборе
Первый запуск и бринг-ап
Ардуино нано я брал на озоне за 200р, заранее знал, что най ней стоит драйвер FT232, а не привычный CH340. Так что подготовился к вопросу установив заранее драйвер, так что проблем не возникло при прошивке.
И так на этот момент у нас на руках оказалось готовое железное устройство. Для начала я просто выставил высокий уровень на пине реле (D6)
void setup() {
pinMode(6, OUTPUT); // настраиваем пин 6 как выход
digitalWrite(6, HIGH); // устанавливаем высокий уровень на пине 6
}
void loop() {
}
Так реле байпаса окажется включенным и появится возможность проверить аналоговую часть схемы. С ней оказалось все в порядке.
Изначально посоветовавшись с чатом гпт, я развернул проект в курсоре, сделал красивую и понятную архитектуру, а потом токены закончились, гпт отупел и начал просить 20 баксов.
Я ушел в дипсик и первым промтом задал суть и предоставил карту подключений с комментариями.
Я разрабатываю педаль, у меня уже она готовая в железе.
У нее две кнопки, рядом с каждой по двухцветному светодиоду, три ручки управления.
Кнопка байпаса в первую очередь отвечает за управление реле, оно включает и выключает эффект физически.
Для управления используется контроллер arduino nano, список подключенных пинов я предоставляю, его нужно обязательно учитывать.
D5 - Кнопка байпаса, замыкается на землю, конденсатор от дребезга установлен.
D4 - Зеленый светодиод байпаса
D12 - Красный светодиод байпаса (ЩИМ)
D6 - Управление реле, 0в выключен эффект, 5в включен эффект
D10 - ШИМ выход которым управляем эффектом
D9 - Кнопка гейта или тап темпо, замыкается на землю , конденсатор от дребезга установлен.
D13 - Зеленый светодиод лфо
D11 - Красный светодиод лфо (ШИМ)
A0 - Потенциометр, от 0 до 5в (Attack/Speed)
A1 - Потенциометр, от 0 до 5в (Decay/Wave)
A2 - Потенциометр, от 0 до 5в (Depth)
A7 - Входной триггер, временно не используем
Мне нужно разработать логику работы педали и два типа управления реализовать (генератор огибающей и лфо).
Последовательно задавай вопросы для уточнения функционала и логики работы. Далее будем добавлять этот функционал в код. После получения кода буду прошивать контроллер и давать обратную связь.
Создай отладочный код с выводом информации в монитор порта и продолжим после этого.
После пары уточнений по логике работы и использовании выводов он мне предоставил полотно тестовый код. Проверка значений потенциометров и сообщений от кнопок.
Так я нашлась первая неисправность. - Потенциометр Depth, он не выдавал значением на второй контакт. - Выпаяв оказалось 1 и 3 контакты не звонились между собой. - Помогла замена потенциометра на исправный.
Вторая неисправность оказалась в опечатке входа А7. - Исправилась перемычкой и заменой двух номиналов.
Собственно дальше произошел вайбкодинг
Все было проще чем думал и практически с первого промта, так что даже рассказывать нечего.
Последовательно добавил блоки управления. Так же через промты, абсолютно не погружаясь и не читая в код.
В случае неудачи, возвращался к предыдущему коду и вносил изменения в промт до получения необходимого мне результата.
Для создания данной прошивки я использовал 8 диалогов в DeepSeek. Примерно по 6-8 промтов в каждом. То есть, всего около 50 промтов на рабочий тестовый код от которого можно в целом отталкиваться.
После несколько итераций и получения уже рабочего результата. В новом диалоговом окне отправил его на рефакторинг и убрал отладочный функционал который использовал в начале.
Получился рабочий скетч с базовым функционалом. В него сразу добавленны комментарии на все блоки и он в целом понятен и читаем без знания языков программирования
Чисто физически я не могу его здесь предоставить, так что будет доступен по ссылке:
Я пробежался по коду и у меня возникло достаточно много замечаний, особенно в плане EEPROM и частоты ШИМ))
По возможности я буду добавлять обновления на гитхабе, по ссылке будет актуальный на последний момент скетч.
В случае заинтересованности к проекту буду рад дать продолжение и развитие.
Так же буду рад опробовать альтернативные прошивки от участников. Цель была убедиться в простоте создания гибкого и недорого гитарного эффекта не вставая с дивана.
Видео с работоспособностью прилагаю. Не рассчитывайте на звук, базовый функционал и работоспособность за две минуты.
Заключение и ссылки на ресурсы:
Вышла занятная педаль с очень гибкими настройками и функционалом зависящим только от вашей фантазии. Это тот редкий случай когда на DIY можно действительно сэкономить.
Это открытый проект и реализовать его может каждый.
Я не против обсуждения, развития и помощи в изготовлении педали в творческих и образовательных целях.
Github проекта — Информация будет обновляться. Oshwlab — Железная составляющая, от схемотехники до платы. Кружок — Топик проекта в сообществе разработки музыкального оборудования. Сборка онлайн — Личный канал по проектам электронным устройствам обработки. Сборка чат ТГ — Сообщество разработчиков и звуковых устройств и интересующихся энтузиастов с поддержкой.
Есть некоторое количество плат, я не против поделиться с энтузиастами которые хотели бы собрать данный проект. За подробностями и для связи со мной: Обращайтесь в сообщество или личные сообщения.
Если вам понравился материал, поддержите лайком и комментарием. Ваша обратная связь очень ценна.
Данная статья написана без использования нейросетей. Так что возможны орфографические и пунктуационные ошибки.
Пожалуйста, если заметили ошибку или несоответствие, обязательно напишите комментарии, я проверю и обязательно исправлю.
Платы в моём городе лежат, но не могу получить: Почта РФ работает ХЗ как и когда теперь можно получить - не знаю... Попробую завтра зайти, вроде у них были выходные Воскресенье и Понедельник.
Платы у меня! :) Кому надо - пишите, ищите на Авито К1946вм014
В связи с всем известными событиями и 719 ФЗ в РФ от разработчиков электроники стали настоятельно требовать применение российских компонентов. Приятель пишет, что вынуждены начать применять K1946BM014 (программно и по выводам совместим с ATMEGA8535). В связи с весьма пожилым возрастом последнего, плат разработки для него уже не осталось. Так как в прошлом я преподавал в кружке и разрабатывал и изготавливал обучающие стенды для разных МК, то было не сложно реализовать такой вот стенд.
1/7
3D-модель платы разработчика K1946BM014
Далее кратко для специалистов: Питание от внешнего БП: 8-12в, от программатора, возможность 5в или 3в. Связь: RS-485 на MAX485, RS-232 на MAX232, USB-COM на CH340N.
Возможность подключить внешний дисплей 1602/1604/2004 и им подобные.
SPI шина: 7-сегментный дисплей на Сдвиговом регистре 74HC595 (не пугайтесь: резисторы - под дисплеем). I2C шина: Часы-календарь на DS1307, EEPROM на 24LC64. 1Wire с подтяжкой на привычном термометре DS18B20.
Хитрая клавиатура: кнопки можно подключить как на дискретные входы, а можно переставить перемычки и получать клавиатуру на АЦП.
Сборка ULN2003D для 7 внешних нагрузок. Светодиоды 8 по схеме ОА и 8 - ОК.
Омедненная сторона текстолита окрашена дешёвой чёрной краской из баллончика в один слой, краска в местах травления, удалена с помощью лазерного станка SculpFun S9, оставшаяся краска на дорожках после травления, смыта 646 растворителем.