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

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

Схема автономного ЧПУ контроллера на базе 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»

Источник

Оцените статью
Своими руками