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

    Рекомендованный
  • #811
Сейчас поле у моего станка несколько больше предыдущего, так получилось столкнуться с такой штукой:
Иногда, при длительном удержании кнопки перемещения в режиме 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.

В первом приближении, считаю результат эксперимента вполне приемлемым, позже нужно будет потренироваться "в боевых" условиях - на изготовлении платы и с применением нескольких инструментов, для совместной проверки функции смены инструмента.
 
Последнее редактирование:
+
напечатал коробку под девайс (как раз остался комплект плат от экспериментов) для дисплея 2004D (уменьшенный 2004А).
Box_1.pngBox_2.jpg
Если всё запихается нормально, добавлю STL-ки в папку проекта.
Под 2004А, возможно тоже дорисую.
В общем, код и хэлп немного "причешу" и можно будет потестить версию 1.5
 
Дополнительный ролик к этому посту.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

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

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

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

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