ПОЛЕЗНО GRBL Commander - автономный контроллер на ESP32

  • Последнее редактирование:
    Рекомендованный
  • #796
Последнее редактирование:
Попробовал добавить удобств. Одно из - дополнительная возможность смены инструмента.
Т.е. помимо стандартного пробинга по Z, можно сменить инструмент, если: поверхность, по которой обнулялись ранее уже недоступна или при поломке / снижении качества инструмента.
Попытался сделать насколько возможно понятно, если что подскажИте, что не так.

По комбинации Шифт-Зэт вниз выпадает такой диалог
1.jpg
Соответственно, для продолжения нужно нажать кнопку с таким номером.
[1] Probe part | Пробинг детали
[2] Set tool | Задать инструмент
(суть - пробинг по какой-либо бобышке или пластине приемлемого качества, желательно закрепить её в одном месте не на детали и не трогать для текущей работы).
[3] Change tool | Сменить инструмент - пробинг по этой же бобышке, но новым инструментом..
После смены, если был выполнен хоуминг, корректируется точка восстановления СК по Z.
Смена инструмента работает как в пределах одной сессии (до перезагрузки платы управления), так и после (если был выполнен хоуминг изначально).

При нажатии [1], т.е. для поиска поверхности детали, вываливается следующий запрос
2.jpg
где выбираем, по поверхности, непосредственно, ищем или через "бобышку" / Z-щуп, если поверхность детали непроводящая.
После поиска поверхности детали, подгоняем инструмент к референсной "бобышке" и выбираем [2] Set tool
После этого работаем.
Если нужно сменить инструмент, меняем, подгоняем к референсной бобышке, выбираем [3] Change tool, корректируется высота по Z под предыдущий 0. Если всё накрылось "медным тазом" (свет отфигачили), то выполняем хоуминг, восстанавливаем СК по XYZ, если инструмент не нужно менять и по XY, если нужно. Для этого, после замены, подъезжаем к измерительной бобышке. В диалоге выбираем [3]Change tool и подтверждаем.
Всё. Вроде, несложно для понимания... Если ролик буду снимать, то покажу наглядно процесс.
Попробовал различные сочетания - деталь ниже бобышки и наоборот, фреза длиннее, короче предыдущей - вроде всё арбайтен.

ЗЫ. Кстати, для этого удобно задавать позицию бобышки через установку точки Set point 1, тогда и перемещаемся в то же место по команде Go to point 1. Точка 2 у меня задана как середина рабочего поля станка, что тоже иногда пригождается.
 
Добавил возможность измерить люфты по осям (идея и реализация позаимствована у Валеры (vvv1234), за что ему большая благодарность. Для проверки того, что получилось, напечатал всяких хомутов и переходников под индикаторы ИЧ и ИРБ.

IMG_20250220_173128.jpg

После серии экспериментов имеем разницу механических измерений с "электрическими" в 1-2 микрона, что приемлемо.
Функционирует так -
Располагаем измерительный щуп (фреза, калиброванный стержень) по требуемой стороне какого-либо закреплённого на жертвеннике токопроводящего предмета (я использовал кусок БВГ от видака) на расстоянии 1-2мм до предмета.
Жмём "меню" - "макрос" - "измерения" - "люфт"
01.jpg
В диалоге выбираем ось и направление (жмём кнопки 1...5) и ждём результата, в данном случае трёх измерений.
По-окончании, получаем величину люфта в виде среднего значения.
001.jpg
По индикатору получено схожее значение. Индикатор занижает на 1 микрон.
2.jpg

1.jpg
 
  • Последнее редактирование:
Последнее редактирование:
ОлегК!!!
Что, касается BACKLASH - по моему опыту (более 40 лет в танкостроении, с 1983 г. ) это сомнительный вариант для достижения точности.
Тем более, в наших станочках, где люфт упругий, изначально он заложен в пружинах винт-гайка для компенсации люфта.
В наше время проблема решалась применением ШВП и оптических цифровых линеек. (ОС по положению).
Причём, применение оптических линеек в ОС с ЧПУ снижало требования к точности шага винта ШВП, только люфт имел большое значение.
При повышенном люфте (более заданной) - систему начинало "колбасить".-явный признак для поиска и устранения механических люфтов.
Да, BACKLASH может помочь в определённом промежутке времени.
Хочу добавить-точность будет определяться жёсткостью нашего железа, в основном.
 
Да, BACKLASH может помочь в определённом промежутке времени.
Думаю, что контроль люфтов наиболее актуален для платоделов, кои все́ равно избавляются от пружины в конструкции гаек ходовых винтов. У меня, например ШВП, по Z и Х люфты по 2-4 микрона, а вот по Y - порядка 20, т.е преднатяг там хуже. Опять же, контроль, насколько раздолбались винтовые пары пригодится проверять. Как бы то ни было, функция добавлена, можно пользоваться, можно не пользоваться. Можно и механически измерить, кому надо...
 
Небольшой опрос о нужности:
1. Проверка G-кода на ошибки
2. Обмен файлами с компом по FTP
3. WiFi мост между компом и станком - аналог вот этого, но с возможностью спозиционироваться и обнулиться с АК.
Кто-то юзает?
 
Небольшой опрос о нужности:
1. Проверка G-кода на ошибки
2. Обмен файлами с компом по FTP
3. WiFi мост между компом и станком - аналог вот этого, но с возможностью спозиционироваться и обнулиться с АК.
Кто-то юзает?

эммм...это опрос о нужности ПК? Я верно понял?

оффтоп
 
  • Последнее редактирование:
Последнее редактирование:
Пока просто, для статистики.
п1 - при использовании нормального постпроцессора ошибок в УП быть не должно, самописные УП, возможно, нужно проверять, но это проще сделать там, на чём они писались - на ПК.
п2 - лично мне, все́ же удобнее и привычнее использовать пару СД карт, на которые закидывать файло напрямую, с десктопа.
п3 - это для тех, у кого комп в одной комнате, а станок - в другой, мне не особо нужно, я это добавил больше из интереса.
 
Небольшой опрос о нужности:
1. Проверка G-кода на ошибки
2. Обмен файлами с компом по FTP
3. WiFi мост между компом и станком - аналог вот этого, но с возможностью спозиционироваться и обнулиться с АК.
Кто-то юзает?
Предложение: добавить покадровый режим, для безопасной отработки новой программы. Очень помогает. Фрезерные УП, как правило, имеют намного больше строк, чем токарные, но начальные строки, отработанные в SBK (Single BlocK, одна строка, покадровая обработка), снижают риск неправильной работы.
 
  • Последнее редактирование:
Последнее редактирование:
Предложение: добавить покадровый режим, для безопасной отработки новой программы. Очень помогает.
Попробовал сие вкорячить.
В меню -> настройки -> разное
выбираем пункт Ask step by step (спрашивать пошагово или нет)
IMG_20250224_185839.jpg
и настраиваем (по дефолту этот режим отключен, т.е. 0)
IMG_20250224_185851.jpg
Если 1, то перед выполнением первичного запуска УП, оператора АК "спросит"
если 0, то запросов не будет
IMG_20250224_185907.jpg .
Если нажать "ок", то каждая строка УП будет показана с предложением отправить (send), т.е. ещё раз нажать "ок"
Если выбрать "отмена", то выполнение продолжится в обычном режиме
IMG_20250224_185948.jpg
после отправки должно появиться подтверждение от платы управления "->ok"
IMG_20250224_185955.jpg
далее жмём кнопку "ок" (next) и переходим на следующую строку
(тут, кстати, длинная строка УП "режется" для показа на две строки дисплея)
IMG_20250224_190006.jpg
и т.д...
При любом нажатии "отмена" выполнение продолжится в обычном режиме.
 
Немного доработал "консоль" - убрал очистку строки при отправке команды и добавил запоминание последней команды,
которая, при повторном запуске консоли, подгружается в поле ввода.
 
Планирую удалить перевод интерфейса на транслит - глаза и мозг можно вывихнуть при переводе строк.
Думаю, что и при чтении тоже.
Ну, а если кто и юзает, то им же хуже - или найдите дисплей с кириллицей или учите инглиш.
Обоснованные возражения принимаются...
 
Сейчас поле у моего станка несколько больше предыдущего, так получилось столкнуться с такой штукой:
Иногда, при длительном удержании кнопки перемещения в режиме Jog (непрерывное) и отпускании её, ось останавливается, а затем может прокатиться ещё на некоторое расстояние. Эффект более заметен, если скорость перемещения была от 2000 мм/мин и выше. Кнопка пауза/стоп перемещение останавливает, но пока её нажмёшь...

Это не проявляется при коротких пробежках, когда кнопка не постоянно удерживается, а жмётся "тычками", периодически.
Полазил по коду - вроде всё нормально, при отпускании кнопки перемещения передаётся команда 0x85, что должно отменять движение, но лишняя пробежка всё равно вылазит. На гитхабе GRBL, в "проблемах" есть несколько тем с подобной заморочкой, одно решение мне показалось вполне годным.

Формула, которую я использую для расчёта шага перемещения при команде Jog расписана тут. И оно, вроде, работает до определённого момента - пока команды поступают в планировщик GRBL и находятся только в нём (их 14 штук + 1 в "оперативном обслуживании"), то команда отмены движения благополучно очищает буфер планировщика и ось благополучно останавливается. Если планировщик заполнен, то несколько команд могут "запрыгнуть" в буфер сериал-порта, а при очистке буфера планировщика и останове оси, они благополучно проходят дальше и, соответственно, вызывают лишние "телодвижения".

При параметре GRBL $10=3 (по дефолту 1), в строку отчёта входит дополнительная инфа в виде Bf:15,128, где первое число - количество доступных блоков планировщика, второе - количество доступных байт в буфере RX сериал-порта. С этим параметром можно отслеживать заполненность планировщика и ограничивать поступление команд перемещения.
Это было реализовано и вышеупомянутый де эффект пока не проявляется.

При $10=3 Кэндл работает прекрасно, поэтому добавлю при старте ""Коммандера" проверку, что записано в этом параметре и если значение не 3, то оператору будет предложено установить $10=3 автоматом. Можно проигнорировать этот запрос и не изменять значение - в этом случае всё будет работать как и прежде, т.е с возможным проявлением "перевыбега".
 
  • Последнее редактирование:
Последнее редактирование:
Добавления-изменения.
1. "Проводник" выбора файла - теперь запоминает последнюю папку и при вызове диалога перемещает курсор на эту папку.
Удобно, если папок на карте относительно много, не нужно "мотать" весь список до неё, что бы выбрать следующий файл.
Хотел добавить тоже самое и для файла, но пока не особо получается, нестабильно. Ещё поковыряю, как-нибудь...

2. Комбинации кнопок [SHIFT]+[F+] и [SHIFT]+[F-] показывали диалоги для установки (запоминания) или перемещения в определённые точки. Они обзывались абстрактно - point 1, point 2. Я решил х назвать более понятно, для удобства.
В данном случае, они у меня назначены на "центр станка по ХУ" и "позицию смены инструмента". В качестве последней оказалось удобно использовать "домашний" угол после отката от концевиков и в этой точке закрепить датчик высоты инструмента (об этом ниже).
IMG_20250310_133736.jpgIMG_20250310_133747.jpg

3. Пробинг по ХУ тоже чуть переделал. Нажатие [SHIFT]+[перемещение по Х или У] предложит выбор -
[1] - поиск края заготовки (центр фрезы над заготовкой будет совпадать с краем детали),
[2] - поиск поверхности (внешний край фрезы будет касаться боковой плоскости детали)
Эти манипуляции обнулят ось (Х или У) и запомнят машинные координаты для СК.
Последнее произойдёт если был выполнен поиск дома. Перемещение в 0 позиции по осям установит фрезу в угол заготовки,
для сторон которого был выполнен пробинг.
[3] и [4] - измерительные точки, по две на каждое направление по осям (надписи в скобках уберу, ибо без разницы,
в какой последовательности производить измерения).
ХУ_пробник.jpg
и далее,
IMG_20250310_135810.jpg
Где:
[2] - толщина пластины щупа, если используется (устанавливается в настройках).
[1] - выбирается, соответственно, если щуп не применяется.
Ну и показ, чего куда и насколько поедет. Для контроля, типа...
IMG_20250310_135825.jpg

4. По измерениям.
Их, повторюсь, доступно по две на каждое направление по осям, всего 8 штук. Точки 1 используются для определения центра оси (если два измерения) или центра заготовки (если 4 измерения). Точки 2 - дополнительные, для измерения углов: отклонения детали от "вертикали" (по У) или угла между осями ХУ.
Например, для китайского угольника
угол_1.jpg
Отклонение по оси У - 0.43 градуса или 0 град 25 минут 34 сек.
IMG_20250310_132402.jpg
Тоже, но левое плечо угольника
IMG_20250310_132540.jpg
угол между центральной линейкой и левым плечом
IMG_20250310_132619.jpg
угол между правым и левым плечами
IMG_20250310_132839.jpg
Ваши сообщения автоматически объединены:

Ограничение по кол-ву фото в одном посте, продолжу...
Отечественный угольник, видим, более ровный
угол_2.jpgIMG_20250310_133402.jpg

5. Ну и комбинация кнопок [SHIFT]+[MENU] покажет такой диалог
IMG_20250310_141625.jpg
При доступных точках измерений можно переместиться в центр детали, центр какой-либо оси или сбросить точки измерений - рекомендуется перед началом новых "многоточечных" измерений.

6. Угол отклонения детали от оси У автоматом попадает в диалог указания угла для функции поворота G-кода. Его можно принять или указать нужный.

ЗЫ. Всё, начиная с сообщения #800 будет планируется в версии 1.5.
ЗЫЫ. Продолжение следует...
Ваши сообщения автоматически объединены:

Дополнение к п. 6
IMG_20250310_144005.jpg

и датчики смены инструмента (нашлись какие-то бобышки алюминиевые). Для сравнения (чёрный) - китайский, с Али.
IMG_20250310_145050.jpg
 
Продолжаем разговор монолог.
Впервые опробовал только что карту высот с АК - и создание и применение.
Для теста сделал в Аспирине простую УП
Bilderman 2025.03.12 20-30-44.png
Закрепил на столе кусок дюрали, подсунув под неё карандаш, для увеличения перепадов высот.
Снял КВ, которая сохранилась в папку исходного файла, как отдельный файл heights.map (напомню - формат кэндл-совместимый), т.е. исходный файл и файл КВ можно "скормить" Кэндл и она создаст УП с применённой КВ.
Исходная УП в Кэндл с этой КВ выглядит так
Bilderman 2025.03.12 20-45-02.png
Затем, применил эту карту в АК, получил файл с префиксом m_ к названию файла.
Потом, правда, планировалось использовать алмазный "таскабельный" гравёр, но я по запарке забыл его поставить, в итоге, поверхность царапалась тем же обломком фрезы, которым и снималась КВ :confused:

По итогу, получилось так -
IMG_20250312_202934.jpg

В исходную УП, специально была "внедрена" окружность (вокруг буквы G), описанная через G2, нужно было убедиться, что она поделится на сегменты и каждому сегменту будет "приписана" нужная высота по Z.

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

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

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

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать