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

  • Последнее редактирование:
    Рекомендованный
  • #421
Последнее редактирование:
Надо бы посмотреть, как Кэндл это делает...
Не стоит, по моему мнению, сильно усложнено и обобщено. Кроме того, там много специфики Qt, а установить Qt на твой АК сложновато будет :D . Тебе будет проще все сделать с нуля, чем разбираться с абстрактными моделями Candle.

P.S. У меня в АК меню для снятия карты сделаны вот так, может, пригодится
1674673568666.png1674673601210.png
 
Не стоит, по моему мнению, сильно усложнено и обобщено.
Я не про передрать код, а чисто принцип подсмотреть.
Если отправить команду на длинное перемещение в станок, то повлиять на Z, пока оно едет, будет невозможно.
Значит, надо строки УП пропускать через алгоритм разбиения на какие-то отрезки и для каждого отрезка вычислять смещение по Z, соотв. карты высот, формировать новые строки и их уже и отправлять в станок.
Вроде, по-другому, просто никак...
 
  • Последнее редактирование:
Последнее редактирование:
Я не про передрать код, а чисто принцип подсмотреть.
Я несколько дней разбирался, чужие коды - потемки... Все там очень обстрагировано. И есть один недостаток: надо добавить ограничения на малые смещения по Z (скажем, 5мкм), станок такие перемещения плохо отрабатывает. Т.е. если при заданном суботрезке перемещение по Z меньше минимального - суботрезок надо удлиннять до тех пор, пока перемещение не станет больше минимального.
 
Я так понял, ты зону сканирования сам задаёшь в X size Y size?
А начальная точка? Если начало УП в центре, тогда как?
 
  • Последнее редактирование:
Последнее редактирование:
Я так понял, ты зону сканирования сам задаёшь в X size Y size?
А начальная точка? Если начало УП в центре, тогда как?
Не, X и Y - это размер ПП. Размер зоны расчитывается через к-во точек (X и Y points) и показывается в zone.
Начальная точка всегда в нуле (левый нижний угол ПП). А где начало УП - без разницы, привязка соответствующей точки карты получится автоматом, через координаты зоны.
Ваши сообщения автоматически объединены:

Разработка АК - дело интересное и увлекательное. Несколько лет занимался с большим удовольствием. Но лично для меня оптимальным оказалось это.

Так оставьте ненужные споры
Я себе уже все
доказал
1674677811649.png
 
  • Последнее редактирование:
Последнее редактирование:
(y)
 
Кстати.
Небольшая идейка - возможность, перед запуском, посмотреть начало выбранной УП на предмет комментариев.
Например, вот кусок начала УП -
; Name: pcb d0.6 h0.04 s2
; Tool: End Mill (O0.6 mm)
; Depth: 0.04
; Side: Top
G21 G17 G90
M3 S12000
G0Z5
M3
X1.547Y0.197
и.т.д
Видим комментарии, куда можно вписать нужную информацию -
что фрезеруем, чем и другие важные штуки.
В станок они не попадут.
Ограничения - комменты д. быть в начале УП (это логично), в количестве не более 12 строк (хватит?),
длина строки - не более 20 символов (ограничение дисплея, иначе обрежется) и без кириллицы (можно транслитом).

Полезная штука?
 
Можно игнорить строки в скобках, тогда и в теле программы можно комментарии вставлять
 
Можно игнорить строки в скобках,
Оно и так игнорится. То, что там где-то в середине УП с точки зрения эксплуатации АК неинтересно и смысла не имеет. А вот в шапке УП информация может быть полезна - не нужно запоминать или записывать, под какой инструмент она выполнена. Можно, конечно, в названии файла что-то указать, но длина имени ограничена, лучше его просто понятно назвать.
 
То, что там где-то в середине УП с точки зрения эксплуатации АК неинтересно и смысла не имеет
Если деталь, то можно перед разными элементами подписать: выступ, паз, отверстие,....
 
  • Последнее редактирование:
Последнее редактирование:
Всем доброго вечера, вообщем работает станочек ставлю на паузу, потом ещë раз кнопка паузы, дорабатывается буфер, после станок останавливается. Поднимаю ось z, отвожу x y z в 0 координаты shift + sc xyz. Потом shift+run пункт resume job, станок подходит к той точке где остановился вкл. шпиндель z опускается и появляется ошибка на дисплее, запускал несколько раз, но ошибка. Потом shift+run клавиша с цифрой 1, проверку файл с g кодом проходит ошибок нет, управляющая прога делалась в вектрике 9.5 сохранялась в постпроцессоре grbl(mm). Прошивка пульта вторая _1_1_ b. Координаты сохраняются, а при выборе sos job тоже самое - ошибка. Вообщем сохранение есть, но с него не старует, выходит ошибка из-за которой невозможно продолжить прерванную обработку.
 

Вложения

  • IMG_20230210_180302_388.jpg
    IMG_20230210_180302_388.jpg
    38.1 KB · Просмотры: 20
  • IMG_20230210_174440_976.jpg
    IMG_20230210_174440_976.jpg
    45 KB · Просмотры: 20
  • IMG_20230210_173715_012.jpg
    IMG_20230210_173715_012.jpg
    36.4 KB · Просмотры: 18
Error 22 – STATUS_GCODE_UNDEFINED_FEED_RATE
Вы не можете выполнить движение, если не была задана скорость подачи, поэтому перед отправкой команды движения
введите что-то вроде F100 (подача со скоростью 100 мм/мин).
Скорее всего, вы увидите эту ошибку только при запуске команд из командной строки.

У вас в УП подача задана только в начале программы. Запуская ее с середины вы не указываете, с какой подачей работать. Предполагаю, что шпиндель тоже не включается.
 
  • Последнее редактирование:
Последнее редактирование:
выходит ошибка
Можете кинуть мне в личку файлы из корня карты
start.job
resume.job
и
начало вашей УП (строк 50), а лучше всю.
Такое ощущение, что величина рабочей подачи где-то потерялась.
И файлы эти с карты не удаляйте (и новое задание не начинайте), иначе не сможете
завершить задание. Или сохраните их куда-нибудь.
 
Знаете походу эта ошибка описана здесь, не уверен что это именно оно, но вот что пишут: Constant Error 22 since updating · Issue #255 · gnea/grbl
воспользуйтесь переводчиком, смысл в том , что в прошивке 1,1 не прописывается значение подачи по умолчанию (в 0.8 и 0.9 она прописывалась, в 1,1 нет) то есть подача действительна до момента смены , вы ставите станок на паузу , далее делаете какие то манипуляции скорее всего с перемещениями используя подачи G0 , после , при снятии с паузы , проходит команда g1 которая должна включить рабочую подачу, вот только параметров этой подачи в памяти уже нет.
Ваши сообщения автоматически объединены:

Error 22 – STATUS_GCODE_UNDEFINED_FEED_RATE
Вы не можете выполнить движение, если не была задана скорость подачи, поэтому перед отправкой команды движения
введите что-то вроде F100 (подача со скоростью 100 мм/мин).
Скорее всего, вы увидите эту ошибку только при запуске команд из командной строки.

У вас в УП подача задана только в начале программы. Запуская ее с середины вы не указываете, с какой подачей работать. Предполагаю, что шпиндель тоже не включается.
Опять опередили
 
Сверху Снизу