Neoprog2013

Neoprog2013

На Пикабу
Дата рождения: 3 декабря
в топе авторов на 421 месте
2560 рейтинг 14 подписчиков 0 подписок 3 поста 2 в горячем
Награды:
5 лет на Пикабу
3

Разработка настольного EDM-станка (часть 1) — Генератор разрядов

Соскучились по DIY на коленке? Уверен, что многим хотелось бы иметь дома рядом с 3D-принтером станок, который без грязи, дыма и дикого шума будет резать металл. Давайте попробуем собрать настольный электроэрозионный станок (EDM) своими руками из доступных материалов. Данная статья положит начало циклу статей по разработке, отладке и тестированию будущего инструмента. Конечная цель проекта — получить станок, который сможет вырезать детали из металла для создания своих копий.

Оригинальная статья на хабре

Статья рассчитана на то, что вы обладаете базовыми знаниями в электротехнике, программировании микроконтроллеров (знаний Arduino хватит) и что облизывать провода под напряжением 80+ В не стоит :)

А начнём мы с самого главного — с разработки электроники EDM-станка и понимания процесса его работы.

Что такое электроэрозия и как она работает

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

Я не являюсь экспертом по физике и электронике, поэтому возможны неточности. Я попытаюсь рассказать об этом процессе так, как я его понял. Буду рад замечаниям и корректировкам.

Погружаемся в наносекундную временную шкалу. Во время обработки, деталь и электрод находятся в среде с диэлектриком, например, в ванне с дистиллированной водой (рассмотрим диэлектрик без примесей). В качестве материала электрода мы будем использовать латунь из-за содержания в ней цинка и небольшой стоимости. На электрод подаются короткие импульсы высокого напряжения (80+ вольт) с частотой 1 кГц и выше, в промышленных установках частота уходит за 100 кГц.

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

На своём пути они сталкиваются с молекулами диэлектрика, возникает ударная ионизация и электрический пробой с образованием тонкого проводящего канала. Ток резко возрастает, канал мгновенно нагревается, происходит взрывное испарение диэлектрика с образованием крошечного газового пузыря (фазовый взрыв).

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

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

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

И так сотни тысяч раз в секунду. Электрический пробой, как правило, происходит в зоне максимальной напряжённости поля (минимальный зазор + усиление на микроскопических выступах), а значит, прежде всего разрушаются наиболее близко расположенные участки. Таким образом, нам не нужно думать о том, в каком месте ударить искрой, физика всё сделает за нас.

Вот здесь можно посмотреть все эти стадии на одной картинке.

Есть один нюанс. Дело в том, что искра выбивает часть металла не только из детали, но и из электрода. Поэтому просто взять тонкую проволоку и начать резать не получится, её придётся постоянно перематывать. И мы не можем бесконечно увеличивать частоту разрядов — нужно дать время на вымывание продуктов эрозии и восстановление свойств диэлектрика. Цинк в латуни помогает восстановить диэлектрическую прочность чуть быстрее.

Схема

Мы поняли базовый принцип работы и всего-то надо собрать контролируемый генератор электрических разрядов. Я немного погуглил и нашел простую схему генератора на базе RC-цепочки. Простой и надёжный — самое то для MVP.

Делать простую RC-цепочку мы, конечно, не будем, она не поддаётся динамическому контролю. Поэтому будем использовать MOSFET и несколько датчиков для контроля этого процесса. В качестве «мозга» схемы возьмём Arduino Due на первый этап запуска (потом уйдем на STM32F407).

Получилась следующая схема генератора. Разумеется, она родилась уже после сборки и тестирования макета — всё по канонам DIY, сначала делаем, потом думаем почему это заработало ;)

Давайте разберём, что тут и зачем. Я опустил подключение к микроконтроллеру, чтобы не загромождать схему, но расскажу, что куда:

  • DVCC_5V — цифровое питание 5 В, берём с платы Due;

  • DGND — цифровая земля, берём с платы Due;

  • VCC_80V — высоковольтный источник питания, цепляем к выходу DC-DC;

  • GND — высоковольтная земля, цепляем к выходу DC-DC;

  • VCC_12V — дополнительное питание периферии, можно взять с АКБ;

  • GATE_CTRL — управление MOSFET. Цепляем на аппаратный таймер (это важно!);

  • VOLTAGE_FB, CURRENT_FB — цепляем на аналоговые входы.

Входное напряжение схемы возьмём в диапазоне 70–90 В от DC-DC преобразователя и Li-Po АКБ на 12 В. В качестве DC-DC возьмём популярный SZ-BT07CCCV-A, этого парня должно хватить с большим запасом. Зарекомендовал он себя хорошо.

SZ-BT07CCCV-A

SZ-BT07CCCV-A

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

YouTube: https://www.youtube.com/watch?v=PRPy2cHIStI

Дальше по схеме у нас идёт микросхема ACS712ELCTR-30A-T — это датчик тока. Он нам необходим для контроля тока в цели и для отключения схемы в случае возникновения короткого замыкания.

ACS712ELCTR-30A-T

ACS712ELCTR-30A-T

За микросхемой следует мощный токоограничивающий резистор 10 Ом 50 Вт и батарея из плёночных конденсаторов К73-17. Ёмкость батареи я решил взять 10 мкФ, убрать лишнее можно в любой момент. Резистор в данном случае нужен в качестве дешёвой защиты схемы от токов короткого замыкания (спасал не раз — окупился в первый же момент). К сожалению, он нам ограничит не только ток, но и частоту работы схемы.

Батарея конденсаторов на 10 мкФ

Батарея конденсаторов на 10 мкФ

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

Конденсаторы берём плёночные из-за их способности спокойно переносить частые импульсные разряды + у них низкий ESR.

Дальше по схеме мы видим нашего героя — MOSFET IRFP250NPBF. Этот парень поможет нам разрядить нашу батарею конденсаторов в плазменный канал и даже сделает это несколько раз. При параметрах Pulsed Drain Current = 120 А и Drain-to-Source Breakdown Voltage = 200 В, нам этого транзистора должно хватить с запасом. Да и бонусом он нам даёт довольно неплохой Rds канала.

Не забываем про защиту от обратных выбросов при дуговом разряде из-за индуктивности проводов, электрода и прочих паразитных параметров. Ставим в схему диод Шоттки MBR20200CT, который замкнет на себя обратный импульс после закрытия транзистора. На всякий случай добавим еще и TVS-диод 1.5KE150A, который защитит наш транзистор от остаточных выбросов из-за 3D-монтажа (упс, спойлеры).

Чуть ниже мы видим схему затвора. Реализована она на драйвере FOD3180 с гальванической развязкой. Мы же не хотим убить наш микроконтроллер в случае возникновения внештатных ситуаций. Ну, тут всё просто — собираем схему в соответствии с даташитом. Раскачивать MOFSET будем от линии 12 V.

Чуть правее диода мы видим ещё один резистор на 1 Ом, да ещё и на 100 Вт. А вот тут интересный момент. При открытии транзистора через него радостно начинают разряжаться конденсаторы с огромным током. Этот ток непредсказуем и зависит, по сути, от паразитных параметров проводов, электрода и плазменного канала. Так не пойдёт, поставим резистор, чтобы гарантировать верхний предел тока.

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

В ней есть переменный резистор R7, которым можно задавать порог срабатывания схемы. Делается это экспериментально. Напряжение на зазоре во время пробоя обычно находится в пределах 20–25 В, можно отталкиваться от этого. При таком напряжении оптопара должна быть открыта. Если напряжение падает до значения около 0, то это похоже на короткое замыкание, оптопара закрывается, на ножке МК мы видим LOW и выключаем схему. Диод VD2 тут для защиты от обратных выбросов.

Паяльник — в розетку, и погнали!

Вжух-вжух, провод сюда, провод туда... Простите, но это DIY на коленке, как и обещал. И это работает!

Это самый первый MVP генератора. Разумеется, я это переделал в более безопасный вид.

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

Тесты

Берём контейнер, наливаем туда водичку из-под крана, кладём в него деталь и цепляем к ней плюсовой провод, минус при этом цепляем к латунной проволоке. Это очень важный момент, полярность определяет, кто будет разрушаться быстрее — электрод или деталь.

Набрасываем код генерации импульсов на частоте 2 кГц, ширина 50 мкс с использованием аппаратного таймера.

#include <Arduino.h>

#define MOSFET_GATE_CTRL (6) // PWM timer
#define MOSFET_GATE_CTRL_PWM_CH (7)
#define MOSFET_GATE_GND (5)
int32_t spark_t1_us = 50;
int32_t spark_t0_us = 450;


void setup() {
// Enable PWM periph
pmc_enable_periph_clk(ID_PWM);
PWMC_ConfigureClocks(1000000UL, 0, VARIANT_MCK);
Serial.begin(115200);

//
// Setup MOSFET gate PWM
int32_t period_ticks = spark_t1_us + spark_t0_us;
int32_t duty_ticks = spark_t1_us;
PWMC_ConfigureChannel(PWM, MOSFET_GATE_CTRL_PWM_CH, PWM_CMR_CPRE_CLKA, 0, 0);
PWMC_SetPeriod(PWM, MOSFET_GATE_CTRL_PWM_CH, period_ticks);
PWMC_SetDutyCycle(PWM, MOSFET_GATE_CTRL_PWM_CH, duty_ticks);
PIO_Configure(g_APinDescription[MOSFET_GATE_CTRL].pPort,
g_APinDescription[MOSFET_GATE_CTRL].ulPinType,
g_APinDescription[MOSFET_GATE_CTRL].ulPin,
g_APinDescription[MOSFET_GATE_CTRL].ulPinConfiguration);
PWMC_EnableChannel(PWM, MOSFET_GATE_CTRL_PWM_CH);

pinMode(MOSFET_GATE_CTRL, OUTPUT);
digitalWrite(MOSFET_GATE_CTRL, LOW);

pinMode(MOSFET_GATE_GND, OUTPUT);
digitalWrite(MOSFET_GATE_GND, LOW);
}

void loop() {

}

Так как у нас DIY, то схему защиты от КЗ, разумеется, оставляем на потом. Ну погреется резистор, ничего страшного. Руки-то чешутся попробовать.

Запускаем! Начнём со схемы с резистором 1 Ом после батареи конденсаторов. Признаюсь — первый раз было страшно.

YouTube: https://www.youtube.com/watch?v=We900-DPFMo

На видео видно, как активно образуется шлам — это как раз те самые частицы металла, которые выбиваются искрой. Это одна из проблем EDM-станков, и нам с вами придётся её решить. А вот результат:

Увеличение x40

Увеличение x40

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

YouTube: https://www.youtube.com/watch?v=et2JeE4vMNs

Я не знаю, каким чудом тут не выбило MOSFET, возможно, длительность импульса не дала току перевалить за его предел. Я не смог это объяснить.

Тут видно, что искра стала более грубой. Обратите внимание, как колбасит проволоку. В колебаниях виноват не только разряд и микровзрыв, но и электромагнитные силы, которые притягивают электрод и деталь друг к другу. Именно поэтому в EDM-станках проволоку натягивают с большим усилием, чтобы минимизировать любое паразитное воздействие. Это целая проблема, о которой мы поговорим в следующей части цикла. Давайте пока насладимся результатами:

Увеличение x40

Увеличение x40

Лунка тоже отличная, но, конечно, проделал я её гораздо быстрее за счёт высокого тока. Это не всё — медью тоже можно резать и вот вам пример:

YouTube: https://www.youtube.com/watch?v=bYVUYO3ymxo

Тут очень хорошо видно, как проволока ходит туда-сюда, и одновременно с этим из зоны реза вылетают всполохи шлама. А вот как выглядит сама деталь после этого.

Итоги

Ну, это работает — можно дальше с этим работать. К сожалению, после этого я узнал о проекте OpenEDM и немного расстроился. Там уже сделали всё, что я хотел и объяснили максимально доступно. Но я не остановлюсь! Периодически этот стенд подзаряжает меня настроением, разряжая 80 В в мою руку. Ощутимо, повторять не надо.

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

Самое главное достижение проекта в том, что он был собран вот прям на коленке, и он работает! Репозиторий проекта на GitHub. Там пока небольшой бардак, но это временно.

Разумеется, данная статья написана после сборки и тестирования MVP. Простите, я не смог удержаться от спойлеров — ниже на видео первое отрезание куска металла.

YouTube: https://www.youtube.com/watch?v=o1Zd7i4wvuY

Планы

На данный момент (23.09.2026) я пишу парсер gcode и модуль управления осями. Плюс надо еще закрыть всю электронику, работа в этом направлении почти закончена

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


Финансовая помощь на развитие проекта https://pay.cloudtips.ru/p/13d08d43

Полученные средства пойдут на производство печатных плат для проекта

Показать полностью 20 5
2133

2 года разработки - AIWM Hexapod

Два года разработки с 0, вот прям с чистого чертежа в КОМПАС 3Д. Всю электронику, прошивку, программу управления, механику, математику и дизайн - всё сам и всё с нуля. Наконец-то я сделал это - проект достиг версии 1.00. Не буду голословным, результат работы показан на видео. Надеюсь всем понравится :)

Вот тут можно узнать о ходе разработки подробнее. Там есть ссылки на различные этапы разработки.

https://habr.com/ru/post/493304/

128

Hexapod SKYNET своими руками

Здравствуйте. Сегодня я бы хотел поделится своим инженерном шедевром - гексаподом SKYNET. Тут не будет технических подробностей и инструкций, просто хочу показать людям свое творение и услышать какую-нибудь критику или предложения. Если вы хотите больше технических подробностей, то я в ходе разработки публикую статьи на хабре (ссылки я оставлю в конце).

Робот собран на базе микроконтроллера SAM3X8E (Arduino Due, только без Arduino - FW написано на чистом C). Возможно вы не поверите, но сделан он из фанеры 3мм с применением лазерной резки. Долго и нудно красил фанеру перманентным маркером (6 штук ушло), но результат порадовал.


Мощные фанерные лапы содержат в себе сервоприводы с моментом 20кг\см, что хватает для причинения болей в случайно попавших во время движения человеческих пальцах (поверьте моему опыту). Без проблем может тащить на себе 4л бутылку с водой и может сходить за вас в магазин (в теории). Собирается это чудо за 8-10 часов с учетом калибровки и настройки.


Электроника гексапода состоит из 2 частей: силовая плата для питания микроконтроллера и сервоприводов и плата управления, которая отвечает за коммуникацию по WIFI и подключение внешних сенсоров. Все печатные платы проектировались, разводились и изготавливались в домашних условиях своими руками (все они двухсторонние). Ниже на картинке плата управления. Она вставляется в Arduino Due, а та уже прикручивается к корпусу.

Сердце гексапода - DC-DC понижающий преобразователь 12V - 6V на базе 8 LM2596S. Максимальный выходной ток в 24A позволяет подключать мощные приводы, при этом запас по току остается довольно большой. КПД преобразователя 85% при входном напряжении 12V и максимальной нагрузке.

И конечно же немного видео.

Проект является открытым и активно развивается. Исходные коды прошивки, программ и чертежи доступны на GitHub:

- Прошивка (Atmel Studio): https://github.com/NeoProg2013/Skynet_firmware

- Программа управления (Qt Creator): https://github.com/NeoProg2013/Skynet_control

- Печатные платы (Sprint Layout): https://github.com/NeoProg2013/Skynet_PCB

- Чертежи (КОМПАС 3D V16): https://github.com/NeoProg2013/Skynet_blueprint

- Программа конфигурации (Qt Creator): https://github.com/NeoProg2013/Skynet_setup


Технические подробности (хабр):

- Часть 1: https://habr.com/ru/post/424867/

- Часть 2: https://habr.com/ru/post/424905/

- Часть 3: https://habr.com/ru/post/436748/

- Часть 4: https://habr.com/ru/post/444070/

- Часть 5: https://habr.com/ru/post/448058/


Если у кого-то будут вопросы или проблемы по сборке (если вы вдруг захотите), я буду рад на них ответить.


Баянометр ругался на кривые деревья :)

Показать полностью 3 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества