USBCNC GRBL 4 оси (6 осей!)

Контроллеры, драйверы, датчики, управляющие устройства.

USBCNC GRBL 4 оси (6 осей!)

Сообщение nebelnoir » 11 дек 2018, 01:18

Итак!
На сегодняшний день на гитхабе есть несколько интересных репозиториев GRBL, в которых ядро портируется на различные камни STM32.
Один из них - это usbcnc. Данный порт позволяет работать с контроллером stm32f103 (полюбившийся всем bluepill) на выбор либо по виртуальному com-порту через USB контроллера либо через UART (оказывается иногда бывает надо именно так, когда шлете с телефона через блютус grblcontroller).
К сожалению на сегодняшний день проект больше не поддерживается автором и содержит много ошибок.
Но есть и хорошая новость! Удалось добавить 4ую ось и исправить многие ошибки. Подробнее об этом и о том как всё это запустить я рассказал тут.
В планах довести до ума работу 5 и 6 осей (они пока косячат немного), портировать на stm32f405 (поскольку они очень дешевые на Али) ну и может на 407 (как самый распространенный среди stm32 cortex-M4 из-за discovery). Как только сделаю 5 и 6 ось выложу на гит отдельным репозиторием.
Необходимо также добавить backlash (вроде как это уже реализовано тут).
Кстати, возможно в скором времени выйдет новое ядро GRBL, оптимизированное под 32х разрядные контроллеры!
В общем есть всё что нужно для работы:
стендик,
USBCNC GRBL 4 оси (6 осей!) 2018-12-11 00-12-35.JPG

настольный фрезерный Корвет-418, переделанный в ЧПУ + 4ая поворотная ось,
и платка stm32f405. Сделал её специально с той же распиновкой, что и bluepill. Позже выложу гербер файлы, если кому-то интересно.
USBCNC GRBL 4 оси (6 осей!) 2018-12-05 17-01-42.JPG

Планирую разработать железо на подобии первой пробной версии, которая успешно работает в разработанном нами станке:
USBCNC GRBL 4 оси (6 осей!) 2017-10-28 12-45-09.JPG

С радостью отвечу на вопросы, которые будут посильны.
О новостях и достижениях буду периодически информировать в этой теме.
P.S. Удалось сделать 6 осей, вроде работает.
Последний раз редактировалось nebelnoir 28 дек 2018, 22:30, всего редактировалось 1 раз.
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
 
Сообщения: 64
Зарегистрирован: 24 апр 2014, 20:28
Откуда: Москва
Репутация: 47
Настоящее имя: Ярослав Власов

Re: USBCNC GRBL 4 оси

Сообщение selenur » 11 дек 2018, 07:17

Контроллер сейчас и у меня проходит тесты на станке, т.к. с появлением 4-й оси ардуиновской GRBL стало не хватать. В связи с чем за несколько вечеров сделал небольшую утилиту для теста работы с контроллером (ардуина с grbl 1.1 тоже с программой работает), для её работы нужен установленный microsoftFrameWork 4, вот программа:
CoreGRBL.zip
(51.7 Кб) Скачиваний: 243


В программе можно отправлять команды, и видеть результат выполнения, если контроллер возвращает код ошибки, то я вывожу код ошибки, и текстовое описание этой ошибки.
USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085557.jpg

При подключении к контроллеру каждые 100мсек (10 раз в секунду контроллеру посылается запрос координат) частоту можно увеличить/уменьшить и отключить если необходимо, и видеть весь обмен с контроллером:
USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085714.jpg

Так-же добавил возможность получения настроек из контроллера, и запись новых, но тут главное кнопку "прочитать" настройки из контроллера нажать раньше, чем "записать", сейчас практически все настройки контроллера доступны для настройки. Есть ошибки в тексте, и корректности перевода, но всегда готов их поправить, если укажете где... ;-)
Вот некоторые из настроек:
USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085728.jpg

USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085740.jpg

USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085755.jpg

USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085805.jpg

Есть так-же возможность выполнить сброс настроек, и возможность установить новые значения рабочих координат, так, что-бы при этом станок не двигался:
USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085822.jpg

И ещё для тестов добавил возможность ручного управления:
USBCNC GRBL 4 оси (6 осей!) 2018-12-11_085832.jpg
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение selenur » 11 дек 2018, 15:31

Немного доработал:
CoreGRBL.zip
(53.22 Кб) Скачиваний: 182

И добавил выбор контроллера STM или Ардуина ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение xenon-alien » 11 дек 2018, 17:44

Круто!
А есть ли возможность какой-то дисплей с управлением подключить к нему и чтение с карты памяти кода?
Или это рекомендуется делать отдельным модулем?
А то я застрял на прошивке Марлин для 3д принтеров и на МЕГА с РАМПС 1.4.
И в каждой КАМ программе нужно править постпроцессора для него. А это занимает не мало времени, которое можно было бы потратить на творчество, или другие дела.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
 
Сообщения: 1501
Зарегистрирован: 01 янв 2013, 13:13
Откуда: Закарпатская обл. Украина
Репутация: 440
Медальки:
Настоящее имя: Daniel

Re: USBCNC GRBL 4 оси

Сообщение selenur » 11 дек 2018, 21:19

xenon-alien писал(а):А есть ли возможность какой-то дисплей с управлением подключить к нему и чтение с карты памяти кода?
Или это рекомендуется делать отдельным модулем?

Вот так: Arduino GRBL Companion - Автономный контроллер для GRBL #1 вполне решается задача :-) насчет 4-й оси не уверен, но возможно тоже заработает.
xenon-alien писал(а):А то я застрял на прошивке Марлин для 3д принтеров и на МЕГА с РАМПС 1.4.

Пробовал я эти прошивки, но в них не понравилось что нет отрицательных координат....
Привык что нулевая точка, будет там где я хочу :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение xenon-alien » 11 дек 2018, 21:27

selenur писал(а):Вот так: Arduino GRBL Companion - Автономный контроллер для GRBL #1 вполне решается задача насчет 4-й оси не уверен, но возможно тоже заработает.

Заглядываю в ту тему, по этому и спросил.

selenur писал(а):Пробовал я эти прошивки, но в них не понравилось что нет отрицательных координат....
Привык что нулевая точка, будет там где я хочу :-)

У меня там, где я хочу :D :tongue:
В первом посту моей темы описано, как это делается.

Мне бы щуп как-то добавить... probe
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
 
Сообщения: 1501
Зарегистрирован: 01 янв 2013, 13:13
Откуда: Закарпатская обл. Украина
Репутация: 440
Медальки:
Настоящее имя: Daniel

Re: USBCNC GRBL 4 оси

Сообщение nebelnoir » 11 дек 2018, 23:32

xenon-alien писал(а):А есть ли возможность какой-то дисплей с управлением подключить к нему и чтение с карты памяти кода?
Или это рекомендуется делать отдельным модулем?

Думаю надо сделать и то и другое, но это не скоро и только для stm32F4 и 7.
Лично мне не хватает еще backlash.
Еще надо больше настроек вынести из конфига в настройки контроллера.
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
 
Сообщения: 64
Зарегистрирован: 24 апр 2014, 20:28
Откуда: Москва
Репутация: 47
Настоящее имя: Ярослав Власов

Re: USBCNC GRBL 4 оси

Сообщение Микола » 12 дек 2018, 03:29

nebelnoir писал(а):Итак!...В планах довести до ума работу 5 и 6 осей (они пока косячат немного)...


Доброго здравия. Можно узнать что с 5-ой осью не так?
У меня 5 осей. 4 и 5 работают поочередно и можно демультиплексировать одним из выводов охлаждения, но не очень хочется.

В целом - хочу выразить благодарность. Не часто проекты чисто собираются да еще и работают, хотя я собрал проект в CoIDE. На своем сайте вы упомянули про интерфейсную часть на малинке с пультом - будет аналогичная статья или это останется за кадром?
Микола
Новичок
 
Сообщения: 38
Зарегистрирован: 21 июл 2014, 16:59
Откуда: Московская обл.
Репутация: 3
Настоящее имя: Николай

Re: USBCNC GRBL 4 оси

Сообщение iMaks-RS » 12 дек 2018, 09:20

Идея классная :good:
На сколько понимаю, то контроллер получается привязанн к конкретному станочному железу, т.к у выбранной STM нет EEPROM как у Меги и все параметры шагов/оборотов указываем в файлах конфигурации перед прошивкой?
Аватара пользователя
iMaks-RS
Мастер
 
Сообщения: 896
Зарегистрирован: 10 июл 2017, 09:25
Откуда: От туда.
Репутация: 96
Настоящее имя: Maks

Re: USBCNC GRBL 4 оси

Сообщение MX_Master » 12 дек 2018, 09:29

Так ведь под настройки можно выделить кусочек флэшки, где прошивка лежит.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4456
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2142
Медальки:
Настоящее имя: Михаил

Re: USBCNC GRBL 4 оси

Сообщение selenur » 12 дек 2018, 11:26

iMaks-RS писал(а):Идея классная :good:
На сколько понимаю, то контроллер получается привязанн к конкретному станочному железу, т.к у выбранной STM нет EEPROM как у Меги и все параметры шагов/оборотов указываем в файлах конфигурации перед прошивкой?

Все настройки сохраняются, в той-же области где записана прошивка.
Так можно делать и у Atmel микроконтроллеров, если взять ту-же ардуину, там на ассемблере написан бутлоадер, который при определенных стечениях обстоятельств передает выполнение основной прошивке, или переходит в режим программирования, и данные которые идут с компьютера записывает в нужные участки памяти (т.е. заливает прошивку, передаваемую из Ардуино-студии).
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение nebelnoir » 12 дек 2018, 22:22

Микола писал(а):Доброго здравия. Можно узнать что с 5-ой осью не так?

Есть баги запоминания координат для 5 и 6 оси при выролнении команд G10 L2 или G10 L20

Микола писал(а):На своем сайте вы упомянули про интерфейсную часть на малинке с пультом - будет аналогичная статья или это останется за кадром?

К сожалению за кадром. Это коммерческая разработка, поэтому не могу ничего выложить по ней. Но не думаю что это могло бы принести вам какую-то практическую пользу - там специализированный станок для обточки колесных пар и интерфейс тоже специализированный. Могу только сказать, что по-сути мы сделали свой интерфейс написанный на С++ в Qt creator. Собирается как под линуксом так и под виндой. Использовали пульт whb04b, для этого пришлось расковырять его интерфейс передачи данных, оказалось там всё не так уж и сложно. Уверен, что под Linux уже написано множество хороших интерфейсов.

MX_Master писал(а):Так ведь под настройки можно выделить кусочек флэшки, где прошивка лежит.

Это уже реализовано. Всё как в обычном GRBL. Даже работает с некоторыми графическими интерфейсами (возможно что с большинством).
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
 
Сообщения: 64
Зарегистрирован: 24 апр 2014, 20:28
Откуда: Москва
Репутация: 47
Настоящее имя: Ярослав Власов

Re: USBCNC GRBL 4 оси

Сообщение Микола » 12 дек 2018, 23:19

nebelnoir писал(а):...
К сожалению за кадром. Это коммерческая разработка...


Эта информация тоже польза, спасибо. У меня часто такие работы (нестандартное оборудование для производства и услуг) и использую китайские контроллеры на 1 шаговый привод, с демультиплексором 2-3 шаговика. Можно поставить несколько с зависимостью на небольшую линию конвейера. Видели наверное такие автономные для упаковочных машин, этикировщиков и прочих автоматов, 8 цифр, 10 кнопок, программируется с клавиатуры, дистанции в шагах. Как-то получается что отряд бюджетных ПЛК промышленных совсем выпадает из категории управления шаговыми и сервоприводами вот и ставлю их. Вариант приводной части на stm32f103 - очень привлекателен. Уже думы по интерфейсу на таком же stm или вообще на F030F4P6 с несколькими кнопками и с неск линеек жк дисплея а также хотел попробовать на малинке посерьезнее.
Вот и собираю информацию - чтоб минимум танцев с бубном, бюджет, надежность.

Есть еще вопрос наверное не совсем в тему. Я с grbl не работал - не очень понимаю с сигналом ENABLE. Тут нет обще принятого сигнала ENABLE для силовой электроники? Кнопкой включаем станок - разрешение на приводы, Выключаем или аварийная остановка - запрет для силовой электроники. На текущий момент ENABLE подается при подаче шаговых импульсов и сбрасывается с заданной паузой. Или есть нормальный, вышеупомянутый режим и я чего-то просмотрел?
Не совсем понятен такой режим - шаговик в микрошаге удерживается на части шага, сброс ENABLE скинет положение шаговика на полюс полного шага - дистанция уплыла. Сегодня тестировал платку - сигнал разрешения отключил пока не понял в чем дело.
Микола
Новичок
 
Сообщения: 38
Зарегистрирован: 21 июл 2014, 16:59
Откуда: Московская обл.
Репутация: 3
Настоящее имя: Николай

Re: USBCNC GRBL 4 оси

Сообщение selenur » 13 дек 2018, 05:19

Есть параметр $1 если значение равно нулю, то сигнал enable постоянно включен, а если указать значение, то enable будет перед движением включаться, и после выполнения всех комманд из буфера, выключать enable с заданной задержкой, если используется не полные шаги, что вероятнее всего, то смещение к полюсу будет.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение nevkon » 13 дек 2018, 05:33

selenur писал(а):Контроллер сейчас и у меня проходит тесты на станке, т.к. с появлением 4-й оси ардуиновской GRBL стало не хватать. В связи с чем за несколько вечеров сделал небольшую утилиту для теста работы с контроллером (ардуина с grbl 1.1 тоже с программой работает), для её работы нужен установленный microsoftFrameWork 4, вот программа:

Под моно заведется?
nevkon
Мастер
 
Сообщения: 1546
Зарегистрирован: 17 июл 2015, 10:25
Откуда: Балаково (Саратовская обл.)
Репутация: 195
Настоящее имя: Константин

Re: USBCNC GRBL 4 оси

Сообщение selenur » 13 дек 2018, 06:21

nevkon писал(а):
selenur писал(а):Контроллер сейчас и у меня проходит тесты на станке, т.к. с появлением 4-й оси ардуиновской GRBL стало не хватать. В связи с чем за несколько вечеров сделал небольшую утилиту для теста работы с контроллером (ардуина с grbl 1.1 тоже с программой работает), для её работы нужен установленный microsoftFrameWork 4, вот программа:

Под моно заведется?

Не знаю, не проверял...
Если нужно могу дать исходники, можешь проверить ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение Mamont » 13 дек 2018, 07:15

enable не должен приводить к набегу погрешности*, шд занимает 4 устойчивые точки (условно по осям векторов Х-У, тока обмоток А и В), а микрошаг описывает окружность между ними. отключение удержания переместит ротор в ближайшую из 4 точек. включение обратно в промежуточное положение.

*только если в драйвере ШД Enable не эквивалентен reset, и при включении не установится в нулевую позицию (обмотка А -100%, В - 0%)


А вообще GRBLу на STM32, да еще 4-х осевой я очень обрадовался. Некоторое время назад переносил AVRoвский 4-осевой с Mega2560 на mega324 (по образу и подобию мега328). В теории и симуляции работает, но скорости и равномерость пульсирования не очень. Одна ось нормально на любых скоростях, а когда работают 2 и более, то начинаются разрывы
Аватара пользователя
Mamont
Мастер
 
Сообщения: 1017
Зарегистрирован: 10 дек 2015, 12:21
Откуда: РБ Минск
Репутация: 168
Настоящее имя: Виталий

Re: USBCNC GRBL 4 оси

Сообщение selenur » 13 дек 2018, 10:40

Поправил кое-какие ошибки в программе:
CoreGRBL.zip
(55.76 Кб) Скачиваний: 146


И доделал тест датчика касания:
USBCNC GRBL 4 оси (6 осей!) 2018-12-13_123206.jpg

Главное скорость большую не ставить, а то после касания, остановка не сразу происходит ;-)
USBCNC GRBL 4 оси (6 осей!) 2018-12-13_123755.jpg
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 4042
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1438
Медальки:
Настоящее имя: Сергей

Re: USBCNC GRBL 4 оси

Сообщение iMaks-RS » 13 дек 2018, 11:37

На Дисковери часом нет готового порта, хотя-бы 3 оси.. Вчера неожиданно помер пульт RZNC-0501.. Имеющийся XC609 не имеет функции датчика инструмента и нужно вести таблицу инструмента или оный корректировать... Подготовил машину с линухцнц+stepmaster v1, но не куда лепить монитор.. требует доп. места... да и честно говоря - опять перепаковывать только приведённый в порядок ящик под плату коммутации пульта уже нет желания.. :thinking: Какой-то "мартышкин труд" получается.. :wik:
Аватара пользователя
iMaks-RS
Мастер
 
Сообщения: 896
Зарегистрирован: 10 июл 2017, 09:25
Откуда: От туда.
Репутация: 96
Настоящее имя: Maks

Re: USBCNC GRBL 4 оси

Сообщение Микола » 13 дек 2018, 12:32

Mamont писал(а):enable не должен приводить к набегу погрешности*, шд занимает 4 устойчивые точки (условно по осям векторов Х-У, тока обмоток А и В), а микрошаг описывает окружность между ними. отключение удержания переместит ротор в ближайшую из 4 точек. включение обратно в промежуточное положение.

*только если в драйвере ШД Enable не эквивалентен reset, и при включении не установится в нулевую позицию (обмотка А -100%, В - 0%)


Нынче почти "никто" не работает в режиме полного шага. В современной технике используют деление как правило не ниже 8 а так и до 256 многие доходят если частота импульсов дотягивает для нужной скорости. Удержание на пол шаге с отключением питания - не факт что вернется в то-же положение, особенно под нагрузкой.
ENABLE в пром драйверах шаговиков а также в сервах в режиме (position mode) приводит к сбросу и инициализации и имеет определенное время до 1-2 сек, особенно цифровые с проверкой цепей, напряжения питания и т.д. перед тем как пульнуть ШИМ 50-100В с токами в неск А на мотор. Такая же история происходит в интегральных драйверах типа TB6560, TB6600, THB6128, THB7128. В некотором оборудовании есть дублер ENABLE по силовой части чтоб при включении не происходило железного "ТЫРК" или "ДЗЫНЬ". Вот мне и непонятен смысл отключения ENABLE в режиме работы. Знаю не по наслышке только одно - 3Д принтерщики не используют сигнал ENABLE и видимо по этой причине.

P.S. ставил я задержку отключения ENABLE в 0, он также отключается только сразу. Сегодня еще поиграюсь - светодиод воткну, отпишусь по результатам.
Микола
Новичок
 
Сообщения: 38
Зарегистрирован: 21 июл 2014, 16:59
Откуда: Московская обл.
Репутация: 3
Настоящее имя: Николай

След.

Вернуться в Электроника

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Majestic-12 [Bot], ruh2100, Semiel, Yandex [bot]

Reputation System ©'