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

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

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

Сообщение nebelnoir »

Итак!
На сегодняшний день на гитхабе есть несколько интересных репозиториев GRBL, в которых ядро портируется на различные камни STM32.
Один из них - это usbcnc. Данный порт позволяет работать с контроллером stm32f103 (полюбившийся всем bluepill) на выбор либо по виртуальному com-порту через USB контроллера либо через UART (оказывается иногда бывает надо именно так, когда шлете с телефона через блютус grblcontroller).
К сожалению на сегодняшний день проект больше не поддерживается автором и содержит много ошибок.
Но есть и хорошая новость! Удалось добавить 4ую ось и исправить многие ошибки. Подробнее об этом и о том как всё это запустить я рассказал тут.
В планах довести до ума работу 5 и 6 осей (они пока косячат немного), портировать на stm32f405 (поскольку они очень дешевые на Али) ну и может на 407 (как самый распространенный среди stm32 cortex-M4 из-за discovery). Как только сделаю 5 и 6 ось выложу на гит отдельным репозиторием.
Необходимо также добавить backlash (вроде как это уже реализовано тут).
Кстати, возможно в скором времени выйдет новое ядро GRBL, оптимизированное под 32х разрядные контроллеры!
В общем есть всё что нужно для работы:
стендик,
2018-12-11 00-12-35.JPG (24180 просмотров) <a class='original' href='./download/file.php?id=152388&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (3.31 МБ)</a>
настольный фрезерный Корвет-418, переделанный в ЧПУ + 4ая поворотная ось,
и платка stm32f405. Сделал её специально с той же распиновкой, что и bluepill. Позже выложу гербер файлы, если кому-то интересно.
2018-12-05 17-01-42.JPG (24180 просмотров) <a class='original' href='./download/file.php?id=152387&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (1.37 МБ)</a>
Планирую разработать железо на подобии первой пробной версии, которая успешно работает в разработанном нами станке:
2017-10-28 12-45-09.JPG (24180 просмотров) <a class='original' href='./download/file.php?id=152389&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (2.44 МБ)</a>
С радостью отвечу на вопросы, которые будут посильны.
О новостях и достижениях буду периодически информировать в этой теме.
P.S. Удалось сделать 6 осей, вроде работает.
Последний раз редактировалось nebelnoir 28 дек 2018, 22:30, всего редактировалось 1 раз.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

Контроллер сейчас и у меня проходит тесты на станке, т.к. с появлением 4-й оси ардуиновской GRBL стало не хватать. В связи с чем за несколько вечеров сделал небольшую утилиту для теста работы с контроллером (ардуина с grbl 1.1 тоже с программой работает), для её работы нужен установленный microsoftFrameWork 4, вот программа:
CoreGRBL.zip
(51.7 КБ) 1539 скачиваний
В программе можно отправлять команды, и видеть результат выполнения, если контроллер возвращает код ошибки, то я вывожу код ошибки, и текстовое описание этой ошибки.
2018-12-11_085557.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152411&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (131.93 КБ)</a>
При подключении к контроллеру каждые 100мсек (10 раз в секунду контроллеру посылается запрос координат) частоту можно увеличить/уменьшить и отключить если необходимо, и видеть весь обмен с контроллером:
2018-12-11_085714.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152412&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (348.1 КБ)</a>
Так-же добавил возможность получения настроек из контроллера, и запись новых, но тут главное кнопку "прочитать" настройки из контроллера нажать раньше, чем "записать", сейчас практически все настройки контроллера доступны для настройки. Есть ошибки в тексте, и корректности перевода, но всегда готов их поправить, если укажете где... ;-)
Вот некоторые из настроек:
2018-12-11_085728.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152413&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (189.41 КБ)</a>
2018-12-11_085740.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152414&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (232.33 КБ)</a>
2018-12-11_085755.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152415&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (305.8 КБ)</a>
2018-12-11_085805.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152416&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (215.32 КБ)</a>
Есть так-же возможность выполнить сброс настроек, и возможность установить новые значения рабочих координат, так, что-бы при этом станок не двигался:
2018-12-11_085822.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152417&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (144.6 КБ)</a>
И ещё для тестов добавил возможность ручного управления:
2018-12-11_085832.jpg (24152 просмотра) <a class='original' href='./download/file.php?id=152418&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (118.11 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

Немного доработал:
CoreGRBL.zip
(53.22 КБ) 1242 скачивания
И добавил выбор контроллера STM или Ардуина ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение xenon-alien »

Круто!
А есть ли возможность какой-то дисплей с управлением подключить к нему и чтение с карты памяти кода?
Или это рекомендуется делать отдельным модулем?
А то я застрял на прошивке Марлин для 3д принтеров и на МЕГА с РАМПС 1.4.
И в каждой КАМ программе нужно править постпроцессора для него. А это занимает не мало времени, которое можно было бы потратить на творчество, или другие дела.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

xenon-alien писал(а):А есть ли возможность какой-то дисплей с управлением подключить к нему и чтение с карты памяти кода?
Или это рекомендуется делать отдельным модулем?
Вот так: Arduino GRBL Companion - Автономный контроллер для GRBL #1 вполне решается задача :-) насчет 4-й оси не уверен, но возможно тоже заработает.
xenon-alien писал(а):А то я застрял на прошивке Марлин для 3д принтеров и на МЕГА с РАМПС 1.4.
Пробовал я эти прошивки, но в них не понравилось что нет отрицательных координат....
Привык что нулевая точка, будет там где я хочу :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение xenon-alien »

selenur писал(а):Вот так: Arduino GRBL Companion - Автономный контроллер для GRBL #1 вполне решается задача насчет 4-й оси не уверен, но возможно тоже заработает.
Заглядываю в ту тему, по этому и спросил.
selenur писал(а):Пробовал я эти прошивки, но в них не понравилось что нет отрицательных координат....
Привык что нулевая точка, будет там где я хочу :-)
У меня там, где я хочу :D :tongue:
В первом посту моей темы описано, как это делается.

Мне бы щуп как-то добавить... probe
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение nebelnoir »

xenon-alien писал(а):А есть ли возможность какой-то дисплей с управлением подключить к нему и чтение с карты памяти кода?
Или это рекомендуется делать отдельным модулем?
Думаю надо сделать и то и другое, но это не скоро и только для stm32F4 и 7.
Лично мне не хватает еще backlash.
Еще надо больше настроек вынести из конфига в настройки контроллера.
Микола
Новичок
Сообщения: 38
Зарегистрирован: 21 июл 2014, 16:59
Репутация: 3
Настоящее имя: Николай
Откуда: Московская обл.
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение Микола »

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

В целом - хочу выразить благодарность. Не часто проекты чисто собираются да еще и работают, хотя я собрал проект в CoIDE. На своем сайте вы упомянули про интерфейсную часть на малинке с пультом - будет аналогичная статья или это останется за кадром?
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение iMaks-RS »

Идея классная :good:
На сколько понимаю, то контроллер получается привязанн к конкретному станочному железу, т.к у выбранной STM нет EEPROM как у Меги и все параметры шагов/оборотов указываем в файлах конфигурации перед прошивкой?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение MX_Master »

Так ведь под настройки можно выделить кусочек флэшки, где прошивка лежит.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

iMaks-RS писал(а):Идея классная :good:
На сколько понимаю, то контроллер получается привязанн к конкретному станочному железу, т.к у выбранной STM нет EEPROM как у Меги и все параметры шагов/оборотов указываем в файлах конфигурации перед прошивкой?
Все настройки сохраняются, в той-же области где записана прошивка.
Так можно делать и у Atmel микроконтроллеров, если взять ту-же ардуину, там на ассемблере написан бутлоадер, который при определенных стечениях обстоятельств передает выполнение основной прошивке, или переходит в режим программирования, и данные которые идут с компьютера записывает в нужные участки памяти (т.е. заливает прошивку, передаваемую из Ардуино-студии).
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение nebelnoir »

Микола писал(а):Доброго здравия. Можно узнать что с 5-ой осью не так?
Есть баги запоминания координат для 5 и 6 оси при выролнении команд G10 L2 или G10 L20
Микола писал(а):На своем сайте вы упомянули про интерфейсную часть на малинке с пультом - будет аналогичная статья или это останется за кадром?
К сожалению за кадром. Это коммерческая разработка, поэтому не могу ничего выложить по ней. Но не думаю что это могло бы принести вам какую-то практическую пользу - там специализированный станок для обточки колесных пар и интерфейс тоже специализированный. Могу только сказать, что по-сути мы сделали свой интерфейс написанный на С++ в Qt creator. Собирается как под линуксом так и под виндой. Использовали пульт whb04b, для этого пришлось расковырять его интерфейс передачи данных, оказалось там всё не так уж и сложно. Уверен, что под Linux уже написано множество хороших интерфейсов.
MX_Master писал(а):Так ведь под настройки можно выделить кусочек флэшки, где прошивка лежит.
Это уже реализовано. Всё как в обычном GRBL. Даже работает с некоторыми графическими интерфейсами (возможно что с большинством).
Микола
Новичок
Сообщения: 38
Зарегистрирован: 21 июл 2014, 16:59
Репутация: 3
Настоящее имя: Николай
Откуда: Московская обл.
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение Микола »

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

Есть еще вопрос наверное не совсем в тему. Я с grbl не работал - не очень понимаю с сигналом ENABLE. Тут нет обще принятого сигнала ENABLE для силовой электроники? Кнопкой включаем станок - разрешение на приводы, Выключаем или аварийная остановка - запрет для силовой электроники. На текущий момент ENABLE подается при подаче шаговых импульсов и сбрасывается с заданной паузой. Или есть нормальный, вышеупомянутый режим и я чего-то просмотрел?
Не совсем понятен такой режим - шаговик в микрошаге удерживается на части шага, сброс ENABLE скинет положение шаговика на полюс полного шага - дистанция уплыла. Сегодня тестировал платку - сигнал разрешения отключил пока не понял в чем дело.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

Есть параметр $1 если значение равно нулю, то сигнал enable постоянно включен, а если указать значение, то enable будет перед движением включаться, и после выполнения всех комманд из буфера, выключать enable с заданной задержкой, если используется не полные шаги, что вероятнее всего, то смещение к полюсу будет.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
nevkon
Почётный участник
Почётный участник
Сообщения: 2390
Зарегистрирован: 17 июл 2015, 10:25
Репутация: 302
Настоящее имя: Константин
Откуда: Балаково (Саратовская обл.)
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение nevkon »

selenur писал(а):Контроллер сейчас и у меня проходит тесты на станке, т.к. с появлением 4-й оси ардуиновской GRBL стало не хватать. В связи с чем за несколько вечеров сделал небольшую утилиту для теста работы с контроллером (ардуина с grbl 1.1 тоже с программой работает), для её работы нужен установленный microsoftFrameWork 4, вот программа:
Под моно заведется?
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

nevkon писал(а):
selenur писал(а):Контроллер сейчас и у меня проходит тесты на станке, т.к. с появлением 4-й оси ардуиновской GRBL стало не хватать. В связи с чем за несколько вечеров сделал небольшую утилиту для теста работы с контроллером (ардуина с grbl 1.1 тоже с программой работает), для её работы нужен установленный microsoftFrameWork 4, вот программа:
Под моно заведется?
Не знаю, не проверял...
Если нужно могу дать исходники, можешь проверить ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение Mamont »

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

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


А вообще GRBLу на STM32, да еще 4-х осевой я очень обрадовался. Некоторое время назад переносил AVRoвский 4-осевой с Mega2560 на mega324 (по образу и подобию мега328). В теории и симуляции работает, но скорости и равномерость пульсирования не очень. Одна ось нормально на любых скоростях, а когда работают 2 и более, то начинаются разрывы
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение selenur »

Поправил кое-какие ошибки в программе:
CoreGRBL.zip
(55.76 КБ) 717 скачиваний
И доделал тест датчика касания:
2018-12-13_123206.jpg (23829 просмотров) <a class='original' href='./download/file.php?id=152553&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (39.19 КБ)</a>
Главное скорость большую не ставить, а то после касания, остановка не сразу происходит ;-)
2018-12-13_123755.jpg (23829 просмотров) <a class='original' href='./download/file.php?id=152556&sid=2c55882365a79b717371c22c6911ccc9&mode=view' target=_blank>Загрузить оригинал (128.61 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение iMaks-RS »

На Дисковери часом нет готового порта, хотя-бы 3 оси.. Вчера неожиданно помер пульт RZNC-0501.. Имеющийся XC609 не имеет функции датчика инструмента и нужно вести таблицу инструмента или оный корректировать... Подготовил машину с линухцнц+stepmaster v1, но не куда лепить монитор.. требует доп. места... да и честно говоря - опять перепаковывать только приведённый в порядок ящик под плату коммутации пульта уже нет желания.. :thinking: Какой-то "мартышкин труд" получается.. :wik:
Микола
Новичок
Сообщения: 38
Зарегистрирован: 21 июл 2014, 16:59
Репутация: 3
Настоящее имя: Николай
Откуда: Московская обл.
Контактная информация:

Re: USBCNC GRBL 4 оси

Сообщение Микола »

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, он также отключается только сразу. Сегодня еще поиграюсь - светодиод воткну, отпишусь по результатам.
Ответить

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