Контроллер высоты плазмы своими руками

Сборка ЧПУ стола под управлением компьютера с программой Mach3 .

Ниже описана сборка ЧПУ стола своими руками под управлением компьютера с программой Mach3 .

Сейчас плазморезы с ЧПУ под управлением компьютера ( Mach3 ) мы не делаем, перешли на применение автономного контроллера ЧПУ с ТНС собственного производства.

ТНС (Torch Height Control )
Автоматический контроль высоты плазменной горелки по напряжению дуги.

«Сделать сложно и дорого — легко. Сделать просто и разумно — гораздо сложнее.» Александр Журба.

Начнём с теории. При включении аппарата плазменной резки на катод (электрод) и деталь подаётся напряжение примерно 300В, т.к. катод и сопло не имеют контакта, разделены изолирующим диффузором, то ничего не происходит ток через эту цепь не идёт. Для «поджига» плазмы используется слабый высоковольтный разряд, длина его дуги до 20-30мм, как искра зажигания у машины или искра от кремния зажигалки. Эта искра создает токопроводящий мостик, через который пробивается рабочий ток. (хочу напомнить, что плазма — проводник). Источник тока плазмы контролирует силу тока, а напряжение имеет большой разбег 70-250В. Чем дальше горелка от детали тем больше длина плазмы тем больше сопротивление цепи вследствие чего выше напряжение. Для того чтобы держать сопло плазменной горелки на расстоянии 2-4мм от детали, нужно ориентируясь по напряжению 90-120В, управлять приводом оси Z .

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

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

Сделать систему автоматического контроля высоты плазменной горелки по напряжению дуги на микроконтроллере AVR ( например ATmega8, ATmega32) пара пустяков. Вопрос в ремонтопригодности. Если такая система на микроконтроллере перестанет работать, то отремонтировать её может только её создатель, так же, если изделие на микроконтроллере нуждается в ремонте — то проще сделать новое с нуля , чем чинить чужое.

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

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

Схема ТНС системы автоматического контроля высоты плазменной горелки ЧПУ плазмореза

Вольтметр имеет три положения (установлены ограничители хода, и отражатель (маленький кусочек фольги)) «Меньше», «Норма», «Больше». В положении «Меньше» срабатывает первый оптодатчик и первое реле, в положении «Больше» срабатывает второй оптодатчик и второе реле, в положении «Норма» оба оптодатчика и реле в выключенном состоянии.

При включении источника тока плазмы напряжение на входе 300В, стрелка отражает луч оптодатчика «Больше», срабатывает первое реле и мотор опускает горелку. Происходит контакт горелки с деталью, загорается плазменная дуга, напряжение падает до 60В, стрелка переходит в положение «Меньше», срабатывает второй оптодатчик и второе реле, мотор поднимает горелку, до тех пор пока не будет положение стрелка «Норма». Когда источник тока плазмы выключается стрелка переходит в положение «Меньше» и второе реле поднимает горелку до срабатывания ограничивающего концевика. (Лампочка (на видео) включена параллельно моторчику для уменьшения холостого «выбега», т.е. без лампочки или гасящего резистора после срабатывания концевика моторчик продолжает вращаться по инерции, а гасящее сопротивление (лампочка) «тормозит» моторчик после отключения питания)

С использованием шагового двигателя и под управлением оси Z программой Mach3

Основа как описано выше, только в приводе оси Z задействована программа Mach3 преимущество данного варианта — точная высота прокола и расширенные настройки ТНС.

2 — шаг мотора X ,
3 — направление мотора Х,
4 — шаг мотора Y ,
5 — направление мотора Y ,
6 — шаг мотора Z ,
7 — направление мотора Z ,
8 — выход включения плазмы,
9 — выход +5в для подтяжки входов
10 — вход THC ON сигнал включения ТНС,
11 — вход касания поверхности,
12 — вход THC UP сигнал ТНС вверх,
13 — вход THC DOWN сигнал ТНС вниз

Читайте также:  Пресс для получения сока своими руками

Тактика работы: пример G кода

G0 X50.0000 Y 5 0.0000 ‘ холостое перемещение
G31 Z-150 F400 ‘опускаем до касания до -150 со скоростью 400 мм в минуту
G92 Z-4 ‘обозначаем Z как -4
G0 Z1 ‘поднимаемся до 1мм
M3(PLasma On) ‘ включаем плазму
G4 P0.5000 ‘ ждём 0,5 сек
G1 X0.0000 Y 0.0000 F600.00 ‘ рабочее перемещение со скоростью 600 мм в минуту
G4P0.50
M5 (Plasma Off)
G0 Z50 ‘ поднимаем голову на 50мм
M30

или тоже самое можно организовать с применением макросов
C:\Mach3\macros\plasma

m3.m1s
ActivateSignal(Output2) ‘подаем +5В на выход 2 ЛПТ
Code «G31 Z-50 F1000» ‘опускаем до касания до -50 со скоростью 1000
While IsMoving() ‘ Подождать пока произойдет касание
Wend
Code «G92 Z-3» ‘обозначаем Z как -3
Code «G0 Z1» ‘поднимаемся до 1мм
While IsMoving()
Wend
DoSpinCW() ‘включаем плазму
Code «G4 P0.5000» ‘пауза 0,5 сек
Code «F1000» ‘

m5.m1s
Code «G4 P0.5000» ‘пауза 1 сек
DoSpinStop() ‘выключаем плазму
DeactivateSignal(Output2) ‘подаем 0 на выход 2 ЛПТ
Code «G0 Z100»
While IsMoving()
Wend

Тогда тот же код будет таким:

G0 X50.0000 Y 5 0.0000 холостое перемещение
M3(PLasma On) включаем плазму
G1 X0.0000 Y 0.0000 рабочее перемещение
M5 (Plasma Off)
M30

Для редактирования файлов макроса и g- кодов пользуйтесь этим блокнотом https://notepad-plus-plus.org/

Установите программу Pronest
Скопируйте в папку CFF постпроцессор для mach3 Mach3_NO_Z.cff
Настройка Pronest очень простая и русский интерфейс.

Чертёж самодельная Плазменная горелка схема сделать своими руками

Источник

Автономный ЧПУ контроллер с ТНС для плазменной резки.

Схема автономного ЧПУ контроллера на базе STM32 собрать своими руками.

Стоимость готового контроллера 19 500 руб .

ВНИМАНИЕ.
Ниже информация для САМОСТОЯТЕЛЬНОЙ сборки контроллера.
для самодельщиков, т.е. людей которые хотят спаять контроллер самостоятельно.

Прошивка от 24.11.17 Armatura-ural.bin для самодельной платы, описанной ниже.
есть скрытое меню настройки станка, при загрузке нужно удержать THC ON ,
если при загрузке удержать THC ON и THC OFF будут загружены заводские настройки по умолчанию

Прошивка для заводской платы, купленной у меня. (разница в подключении периферии к микроконтроллеру. LCD , кнопки и выходы подключены к другим выводам МК в отличии от прошивки выше)
MyBootload.bin MyBootload.hex — автозагрузчик прошивки (для самопрограммирования)
Armatura-ural.bin — рабочая программа (от 3.09.18 поддержка отрицательных координат g -кодов)
Armatura-ural.bin — версия от 02.10.18
при изменении траектории движения менее 30 градусов не тормозит, т.е. можно рисовать мелкими отрезками контроллер их склеивает в одну кривую.
также есть два новых параметра настроек — z_plasma_on — высота включения плазмы/газа, можно сделать отличное от z_start — высоты начала движения, этот параметр введён в основном для аппаратов с контактным поджигом.
и thc_time — время измерения thc , по умолчанию нужно выставить 1000, что соответствует 0,1сек, т.е. 10 измерений ТНС за одну секунду, этот параметр введён для корректировки показаний ТНС программным способом.
ALL.bin или ALL.hex — всё в одном — автозагрузчик, программа и настройки. Лучше загружать его вместо бутлодыря, сначала установите эту прошивку как базовую, а затем обновляете..
Armatura-ural.bin — версия от 24.03.19г (постпроцессор Armatura-ural.cff )
Чтобы обновить прошивку, нужно этот файл сохранить на СДкарту, вставить в контроллер и нажать «Сброс»
ВНИМАНИЕ. перед обновлением сохраните настройки на бумажку, т.к. ранее я слишком много памяти отвёл для этих настроек, сейчас пришлось их подвинуть, и придётся их вводить заново.
Эта версия сделана для слишком-сильно-мощно-помехоизлучающих аппаратов. При больших помехах сам микроконтроллер работает стабильно, а периферия отваливается.
При чтении данных с флэшки она бывает «сбрасывается» и начинает выдавать данные сначала либо просто передаёт данные с ошибкой в цифре. Бывает, что после работы на плазме, вставляешь её в комп и он, падла, предлагает её форматировать. Повторю — это бывает не часто, т.е. не на всех аппаратах, я сталкивался с такими помехами только на аппаратах на 220В.
В данном варианте ПО, при нажатии на СТАРТ вся программа (если она менее 200кб, для сравнения — чтобы вырезать 100 квадратов любых размеров нужно менее 2кб) переписывается на внутреннюю память микроконтроллера, далее флэшку можно убирать, если G коды более 200кб то чтение производится как и ранее, с флэшки. Если что-либо есть в памяти, при нажатии на СТАРТ контроллер начинает выполнять эти инструкции, не смотря на наличии флэшки, чтобы очистить внутреннюю память нужно нажать УДАЛИТЬ. При первом нажатии на СТАРТ копируется программа, при втором — запускается.

Armatura-ural.bin — версия от 07.11.2019.
Добавлено
1) контроль наличия дуги ,при паузе прожига (М3) > 0, ждёт поджига дуги, затем начинает отсчёт паузы, если дуга не зажглась в течение 10 сек, то предлагает либо повторить либо продолжить без контроля плазмы
если при резке пропадает дуга, останавливается, запоминает место остановки (можно перемещать портал, он сам вернётся на это место) и ждёт нажатия СТАРТ
2) выбор варианта чтения G кодов
— чтение с флэшки построчно во время реза (быстро, без предварительный «размышлений», каждая строчка — отдельный отрезок со своим разгоном и торможением)
— чтение с флэшки во время реза с предварительным вычислением точек остановки (если траектория движения у следующего отрезка изменяется менее 30 ° то переход на следующую строку G кода происходит без торможения, например, вырезая квадрат с закруглёнными углами, станок пройдёт не снижая скорости до конца траектории, а если вырезать простой квадрат, то в каждом углу будет плавное торможения и плавное ускорение. При сложной художке долго думает перед стартом )
— чтение с внутренней памяти контроллера (перед стартом контроллер копирует ВЕСЬ G код во внутреннюю память, попутно вычисляя точки остановки, ограничение примерно 200кб, если не влезет то переходит к варианту описанному выше.
3) при нажатии РАДИУС сначала указывается центр, при втором нажатии указывается окружность (радиус)

Armatura-ural.binверсия от 19.11.19г
работает ТОЛЬКО с построцессором Armatura-ural.cff v4.0 для ProNest , и Armatura-ural.scpost для >>>> SheetCam
рекомендую использовать флэшки class 10 (с ними в разы быстрее думает контроллер перед стартом)
Добавлено:
1) ВСЕ данные в G- коде повторяются ТРИ раза. В этой версии упор сделан на прямое чтение G- кода с флэшки по время работы плазмы поэтому такая перестраховка. Также сохраняется возможность копирования данных на внутреннюю память перед запуском.
Бывают битые кластеры флэшки либо ошибка при чтении данных во время работы т.к. помехи от плазмы влияют и на флэшку , поэтому каждая переменная содержится в одной строке в трёх экземплярах, если одна из трёх версий не совпадает с двумя, она отбрасывается и считается за истину те, которые совпали, и данные одной переменной находятся в разны частях строки, что исключает случайную одинаковую ошибку, ну а если не совпадут все три значения — процессор самоуничтожается, запуская процесс аннигиляции всего портала.
2) Утилита Armatura-ural.bat (запускаете её в папке, где у вас получился файл G кода, файл должен называться Untitled .cnc или 1.cnc после выполнения он заменяется файлом program.cnc , который запускаете в контроллере.)
Также как и в версии выше есть три варианта чтения данных — 1)чтение сразу с карты, 2)чтение с карты с анализом траектории перед стартом, 3)с копированием всех точек во внутреннюю память.
Анализ траектории делается для того, чтобы не замедлять скорость на промежуточных точках, где отклонения траектории менее 30 °
В первых двух вариантах жалательно, не обязательно, пользоваться этой утилитой, в первом случае она уберёт такие остановки, во втором случае контроллер сразу приступит к работе, без предварительного анализа траектории. В третьем варианте применение утилиты ни на что не влияет.
3) G02 и G03 совершенно другая математика, теперь в G коде указывается угол дуги.
4) Более точное позиционирование. Разброс на финише не более 1шага.
5) Возможность отключения ТНС на поворотах на замедлениях траектории.

Armatura-ural.bin — версия от 10.01.20г. (внесены исправления 14.05.20г ., обновите.)
Добавлено меню выбора исполняемого файла G- кода . При пером нажатии на СТАРТ читает названия файлов, листать кнопкой Z- по кругу пока не будет нажата второй раз кнопка СТАРТ, не более 15 файлов, названия файлов не более 20 символов латиницей.

Пример G -кода Untitled .cnc от ProNest и пример той же детали от SheetCam Untitled.cnc

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

Предлагаю сотрудничество — нужны люди для изготовления и самое главное для его сопровождения (консультаций).
Объясню — заказать изготовление клонов можно и в Китае, но их нужно подключить и настроить, также нужно настроить компьютер для работы с данным устройством (сохранение чертежей в определённом формате, перевод в G- коды). У каждого станка есть свои особенности, разные хотелки и убеждения их хозяев и т.д.
Кто может и хочет заняться изготовлением, модернизацией, ремонтом станков ЧПУ, роботов сварщиков и т.д. — пишите мне на электронку, интересуют все регионы СНГ и Ваши возможности (самостоятельная сборка контроллера ЧПУ (желательно, но не обязательно), программирование, контроллера (переделка кода под определённый станок и задачу), монтаж и ремонт у заказчика, консультации по телефону и др.)
Порядок работы — заказчик обращается ко мне, я даю контакты ближайшего грамотного специалиста, при необходимости высылаю контроллер (работа на дому — пайка и программирование для желающих), монтаж, пуско-наладка, последующие консультации, оплата.

Сразу оговорюсь — это мой первый проект с STM32 и с данным контроллером столкнулся впервые, т.ч. критика ПО СУЩЕСТВУ приветствуется.
На вопросы «у меня не открывается rutracker.org», «как купить на taobao.com», «дайте ссылку тоже самое но на aliexpress.com» не отвечаю и переписку прекращаю, т.к. если этот вопрос человек не может решить даже с помощью я ндекс/ google , то в изготовлении контроллера он далеко не продвинется и тратить на него время бессмысленно. (это касается самодельщиков, т.е. людей которые хотят спаять контроллер самостоятельно)

Сейчас я заказываю платы в Китае. Готовые платы из Китая дешевле чем у нас купить текстолит.

Стоимость набора для самостоятельной сборки 12 500 руб.
Стоимость только плат (основная + одна маленькая) 2 500руб.

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

Я остановил свой выбор на камне STM32F103RCT6, чтобы упростить себе жизнь я купил вот это https://world.taobao.com/item/539338239052.htm
также надо заказать https://world.taobao.com/item/38499936009.htm

Я делаю плату по ЛУТ технологии из одностороннего стеклотекстолита 1мм (1мм важно. )

Купить заклёпку пустотелую М1,2х3 можно
1) www.irivet.ru 1руб/шт мин партия 5000шт.
2) http://www.optprommetiz.ru 26,13руб/шт. 200шт. = 5 226 руб за 200шт. срок поставки 8 недель
3) https://world.taobao.com/item/8987113918.htm 30 руб. за 200шт. (срок доставки из Китая 3 недели)

Схема автономного контроллера ЧПУ плазменной резки на микроконтроллере STM32
STM32F103RCT6 с контролем высоты THC по напряжению дуги плазмы

Эта схема для платы описанной выше

в формате Splan70 скачать схему

Преобразователь напряжение-частота с двойной гальванической развязкой (трансформатор и оптопара)

Схема для заводской платы (купленной у меня) как вот эта
(схема обновлена 16.06.18, если просматривали её ранее, то нажмите F5 )

в формате Splan70 скачать схему

После долгого выбора компилятора (перебрал все доступные Keil, IAR, CooCox ), я остановился на mikroBasic (можно mikroC или mikroPascal) от MikroElektronika, т.к в школе я изучал Basic и его основы помню до сих пор.
Для начинающих программистов это самый простой и понятный компилятор схож с Ардуино.
качаем здесь http://rutracker.org/forum/viewtopic.php?t=5203160
также надо скачать и установить библиотеку FAT32 https://libstock.mikroe.com/projects/view/108/fat32-library (иначе читать флэшку можно будет только в системе FAT 16)
Package Manager для установки библиотек http://www.mikroe.com/supporting-software/

Для начала загружаем Bootloader в контроллер пользуясь программой «Flash Loader Demo» и переходником UART например https://detail.tmall.com/item.htm?id=528794539661 или самодельным
Bootloader — это программа для самопрограммирования контроллера, при включении она открывает флэшку и если там есть файл «Armatura-ural.bin», то переписывает его в область программ и стирает с флэшки. Очень удобная вещь как для себя, так и для удалённой поддержки клиентов.
Процесс первой загрузки хорошо описан здесь http://easystm32.ru/useful-things/42-bootloader-stm32, затем все последующие перепрограммирования будет делать «бутлодырь».

Т.к. у нас начальную область памяти занимает bootloader , то нам надо настроить чтобы начало программы было после него.
Находим файл STM32F103RC.mlk у меня он C:\Users\Public\Documents\Mikroelektronika\mikroBasic PRO for ARM\Defs
и меняем ROM — MIN_ADDR — 0x00008000

при запуске надо отключить библиотеку USB

Если вы будете делать другой проект то вам пригодятся настройки тактирования ( рабочий пример)

После компиляции копируем файл «Armatura-ural.bin» на флэшку, вставляем в автономный контроллер ЧПУ и нажимаем ресет

Сразу пару комментариев:
1) С Алгоритмом Брезенхэма я не подружился . Н акопительная ошибка и разница в скоростях перехода на шаг по X и Y ( т.е. при разной длине шага X и Y нужно менять задержку)
2) В данных исходниках отсутствует меню настроек констант (т.е. настройки станка), если человек может скомпилировать программу, ему не сложно изменить константы в компиляторе.
Готовые прошивки будут выкладываться с более расширенными возможностями. Это сделано сознательно, для того чтобы этот контроллер не ушёл в китайскую серию в кратчайший срок.
3) Все прошивки полнофункциональные. Никаких демо-ограничений и т.п.

Прошивки буду выкладывать вверху страницы, для обновления нужно скопировать файл «Armatura-ural.bin» на флэшку, вставить в автономный контроллер ЧПУ и нажать ресет

Это первая моя программа (я не программист), т.ч. советы, комментарии, алгоритмы, идеи и многое другое приветствуется ))) пишите мне на электронку.

чертёж

N1 G21
N2 G53 G90 G40
N3
N4 S500
N5 G00X63.158Y94.018
N6 M03
N7 G04 P0.6
N8 G03X49.436Y90.597I58.007J85.446
N9 G03X49.436Y90.597I70.865J77.721
N10 G03X51.146Y83.736I53.722J88.022
N11 M05
N12 G00X110.912Y123.777
N13 M03
N14 G04 P0.6
N15 G01X113.332Y114.074
N16 G01X119.38Y89.817
N17 G03X149.685Y71.607I143.637J95.865
N18 G02X131.476Y41.302I155.733J47.35
N19 G02X82.961Y29.206I107.218J35.254
N20 G01X34.446Y17.11
N21 G01X10.254Y114.139
N22 G01X113.332Y114.074
N23 G01X118.332Y114.071
N24 M05
N25 M30

Название файла с программой должно быть «program.cnc»

Источник

Читайте также:  Необычная собачья будка своими руками
Оцените статью
Своими руками