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

    Рекомендованный
  • #16
Всё нормально, просто рассматривайте эти картинки отдельно.
Вторая картинка - это уже после обнуления рабочих координат, т.е. на первом экране в это же самое время - нули.
За внимательность - плюс :)
 
  • Ручное управление станком – перемещение осей с различной скоростью пошагово (STEP)
  • ...или непрерывно (JOG)
  • Поиск "домашней" позиции
  • Разблокировка станка
  • Раздельное обнуление осей с возможностью восстановить последние рабочие "нули".
  • Перемещение в нулевые позиции
  • Включение / отключение шпинделя (лазера) и подачи СОЖ
  • Регулировка оборотов
  • Поиск поверхности заготовки с помощью Z-щупа
  • Поиск края/угла заготовки и центра заготовки (отверстия)
  • Перемещение в заданную пользователем точку - центр стола или какую-либо другую
  • Чтение файла с G-кодом с карты памяти и передачу команд на станок с контролем степени выполнения задания, а также с возможностью переопределять заданные в УП подачу, обороты и скорость холостых перемещений.
  • Текущее задание возможно поставить в режим удержания ШД или на "долговременную паузу"
  • Аварийное продолжение задания после пропадания электропитания
  • Проверка G-кода выбранного файла
  • Просмотр параметров $$ станка, их изменение, сохранение на карту памяти и загрузка настроек из ранее сохранённого файла
  • Сброс смещений рабочих координат и настроек $$ на дефолтные
  • В некоем подобии командной строки (консоли), можно выполнить перемещение осей, используя команды G-кода
  • Доступные языки интерфейса устройства: английский, русский, транслит
Снятие карты и работу с ней в реальном времени не хотите приделать?
 
Снятие карты и работу с ней в реальном времени не хотите приделать?
Дааааааа !!!
Потом визуализация, изготовление уп,корректировка,...
Представляте объем труда не говоря уже о комплектующих ? Какой то мемент это становится безсмысленным . Любой сотовик все таки более функцианалон без всяких затрат.
Основная цель офлийника выполнение уп без PC .А этот офлийник имеет еще и один большой плюс - вознобловнение работы после аварийной остановки .
Так этот офлийник на 100% выполняет свои функции . Не имеет смысла требовать 150-200%. ИМХО
 
  • Последнее редактирование:
Последнее редактирование:
Снятие карты и работу с ней в реальном времени не хотите приделать?
Мелькнула, было, мысль, я её пока изгнал - не хватит мозгов преодолеть сопутствующие трудности.
Я не программист, как вы, наверное, уже заметили, если посмотрели исходники - всё просто и примитивно. Теоретически, посмотрев, как это делает Кэндл, можно выделить три основных этапа -
1. Получение рабочей области УП - мин. - макс. координаты по осям, для сканирования по заданной сетке.
Способ, который мне известен (пробежаться по строкам УП и получить эти размеры) - на больших УП при слабых возможностях МК ущербен своей длительностью.
2. Сканирование поверхности. Тут ещё как-то понятно - согласно настроек сетки сканирования перемещаемся и определяем разницу по высоте от 0 точки и пишем их в табличку.
3. Применение таблички из п.2. Как-то на лету до отправки строки в станок, определять координаты по ХУ, рассчитывать, что должно быть по Z и формировать новую строку, которую и отправлять.

Возможно, ошибаюсь и как-то ещё можно всё это реализовать, но пока я даже и не вникал...

Потом визуализация, изготовление уп,корректировка,...
Первые два пункта, конечно, лишние, а вот корректировка по углу поворота - штука интересная, т.к. не нужно точно выставлять заготовку по осям. Но команда поворота системы координат на заданный угол G68 GRBL не поддерживается.
Ну да и фиг с ним - поставил упорчик, обкатал индикатором и ставь заготовку.
 
....а вот корректировка по углу поворота - штука интересная, т.к. не нужно точно выставлять заготовку по осям. .
Имеешь в виду переустановка заготовки , скажем для дальнейшей обработки с обратной стороны ?
 
Имеешь в виду переустановка заготовки
Нет. Это можно применить, например, для этого.
Либо Закрепил абы как заготовку на столе, запустил обнаружение в пространстве и после определения, как она развёрнута, повернул координатную систему на полученный угол. И всё отработает, как если бы заготовка была перпендикулярна/параллельна осям.
Ну это так себе, по нужности, функциональность, карта высот пользительнее была бы :)
 
Нет. Это можно применить, например, для этого.
Предпочитаю предусмотреть в уп.
Либо Закрепил абы как заготовку на столе, запустил обнаружение в пространстве и после определения, как она развёрнута, повернул координатную систему на полученный угол. ..
Имитация поворотного стола .
Всеравно придется расчеты сделать для получения угла а так ради фиксации заготовки вряд ли .
так что GRBL без G68 доживет и после свадьбы .
 
Мелькнула, было, мысль, я её пока изгнал - не хватит мозгов преодолеть сопутствующие трудности.
Я не программист, как вы, наверное, уже заметили, если посмотрели исходники - всё просто и примитивно. Теоретически, посмотрев, как это делает Кэндл, можно выделить три основных этапа -
1. Получение рабочей области УП - мин. - макс. координаты по осям, для сканирования по заданной сетке.
Способ, который мне известен (пробежаться по строкам УП и получить эти размеры) - на больших УП при слабых возможностях МК ущербен своей длительностью.
2. Сканирование поверхности. Тут ещё как-то понятно - согласно настроек сетки сканирования перемещаемся и определяем разницу по высоте от 0 точки и пишем их в табличку.
3. Применение таблички из п.2. Как-то на лету до отправки строки в станок, определять координаты по ХУ, рассчитывать, что должно быть по Z и формировать новую строку, которую и отправлять.

Там особых сложностей нет, я тоже не профессиональный программист, но за пару недель сваял. Главное - это выбрать правильный алгоритм для интерполяции внутри зон пробника. У меня все это работает в реальном времени, царапает ПП без проблем и без замедления процесса.

Прикрепляю файл с моими кодами для снятия карты и для коррекции по высоте в реальном времени. Там два блока программ: probe.c - снятие карты, leveling.c - коррекция по высоте. Для коррекции можно использовать два алгоритма: interpolate_bilinear - билинейная интерполяция (что используется в Candle), interpolate_triangle - интерполяция по треугольникам. Треугольная в два раза точнее.

Вообщем, если есть желание - попробуйте приспособить.
 

Вложения

  • leveling.zip
    12.8 KB · Просмотры: 71
Мы все еще про офлайник ?
... У меня все это работает в реальном времени,...
И как при аварийной остановке ? Даже при желание невозможно будет повторно снять карту .
А алгоритм имхо такой должен быть
- снял карту
- приготовил/записал новый file = file оригинал + file карта высот
- выполнение уп по новый file.
 
И как при аварийной остановке ? Даже при желание невозможно будет повторно снять карту .
А алгоритм имхо такой должен быть
- снял карту
- приготовил/записал новый file = file оригинал + file карта высот
- выполнение уп по новый file.
А он (алгоритм) такой и есть. Карта снимается и записывается. А в реальном времени делается интерполяция и подстройка высоты. Если же аварийно остановился - вернулся в нули, жмешь старт и вперед.
 
Если же аварийно остановился - вернулся в нули, жмешь старт и вперед.
и в случае сломанного гравера?
достаточно одной репернер точки?предполагаю это первая точка сетки .
 
и в случае сломанного гравера?
достаточно одной репернер точки?предполагаю это первая точка сетки .
Дстаточно. Заменил гравер, выставил ноль по Z. Для проверки можно сделать короткий рез.
 
Как это сделано аппаратно и программно?
Аппаратно - применением FRAM памяти, куда записывается смещение файла для текущей и предыдущей строки. Т.е. при выполнении УП пишется постоянно, потому и выбран такой тип памяти.
Программно - после простейшей проверки целостности данных, берём смещение, откатываемся немного назад и "прочёсываем" файл для получения параметров, которые нужны для продолжения - безопасную высоту, обороты, подачи, и т.д.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

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

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

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

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