Плоттер на GRBL + arduino nano + cnc shield v4 + servo (sg-90) Следующий вопрос)

Подписаться на 3Dtoday
sergeyvoronkov
Идет загрузка
Загрузка
24 Февраля 2019
876
7
печатает на PICASO 3D Designer
Вопросы и Ответы
Спасибо всем, кто помог с предыдущим вопросом. Помогло)
А теперь "едем дальше".
При попытке сделать "autohome", испльзуя команду G28, плоттер едет, но при замыкании концевика он тупо останавливается и плата "начинает тупить" (ком-порт не отвечает). Как необходимо настраивать прошивку или какие команды использовать, чтобы оно заработало?
Прикрепляю кусок файла прошивки GRBL 0.9j config.h :

// Define the homing cycle patterns with bitmasks. The homing cycle first performs a search mode
// to quickly engage the limit switches, followed by a slower locate mode, and finished by a short
// pull-off motion to disengage the limit switches. The following HOMING_CYCLE_x defines are executed
// in order starting with suffix 0 and completes the homing routine for the specified-axes only. If
// an axis is omitted from the defines, it will not home, nor will the system update its position.
// Meaning that this allows for users with non-standard cartesian machines, such as a lathe (x then z,
// with no y), to configure the homing cycle behavior to their needs.
// NOTE: The homing cycle is designed to allow sharing of limit pins, if the axes are not in the same
// cycle, but this requires some pin settings changes in cpu_map.h file. For example, the default homing
// cycle can share the Z limit pin with either X or Y limit pins, since they are on different cycles.
// By sharing a pin, this frees up a precious IO pin for other purposes. In theory, all axes limit pins
// may be reduced to one pin, if all axes are homed with seperate cycles, or vice versa, all three axes
// on separate pin, but homed in one cycle. Also, it should be noted that the function of hard limits
// will not be affected by pin sharing.
// NOTE: Defaults are set for a traditional 3-axis CNC machine. Z-axis first to clear, followed by X & Y.
#define HOMING_CYCLE_0 (1<#define HOMING_CYCLE_1 ((1<//#define HOMING_CYCLE_0 ((1<// #define HOMING_CYCLE_2 // OPTIONAL: Uncomment and add axes mask to enable
Ответы на вопрос

Ответы

24.02.19 в 12:32
печатает на PICASO 3D Designer
0
Небольшое уточнение: концевики подключены к портам X- Y-
В обычном состоянии (не нажаты), концевые выключатели не замкнуты.
24.02.19 в 12:40
печатает на PICASO 3D Designer
0
Криво вставился фрагмент прошивки. Прикреплю самое важное
403793a39b4597b4f7592203c234ff8b.png
24.02.19 в 15:05
0
В grbl команда HOME это $H. По команде G28 каретка перемещается в координаты, предварительно запомненные командой G28.1

В прошивке закомментировать
#define HOMING_CYCLE_0 (1??Z_AXIS) // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 ((1??X_AXIS)|(1??Y_AXIS)) // OPTIONAL: Then move X,Y at the same time..
раскомментировать
// #define HOMING_CYCLE_0 ((1??X_AXIS)|(1??Y_AXIS))
или это

// #define HOMING_CYCLE_0 (1??X_AXIS) // COREXY COMPATIBLE: First home X
// #define HOMING_CYCLE_1 (1??Y_AXIS) // COREXY COMPATIBLE: Then home Y

и активировать в параметрах HW границы
$21=1
24.02.19 в 15:11
0
Да вставляет криво
24.02.19 в 21:31
печатает на Anet A6
1
но при замыкании концевика он тупо останавливается и плата "начинает тупить" (ком-порт не отвечает).
Так это и есть нормальное "нативное" поведение системы GRBL.
Просто надо уяснить, в чем кардинальное различие координатных систем 3D-принтера и CNC-плоттера (или ЧПУ-станка, называйте, как хотите).
3D-принтер создает деталь "с нуля", и создает он ее на столике. Поэтому система координат привязывается к столику. При этом "нулевые" позиции печатающей головки относительно столика - величины постоянные. А раз так, то процедура "хоуминга", то есть, смещение головки относительно столика в нулевые координаты по X и Y вполне естественна и оправдана.
У ЧПУ-станка принцип другой - он создает деталь путем обработки имеющейся заготовки - будь то это кусок фанеры, бревно или чистая печатная плата. Заготовку на станке можно разместить по-разному, исходя из особенностей данного конкретного сеанса обработки. Соответственно, и "нулевая точка" для рабочей головки в каждом конкретном сеансе работы будет в разных местах, поскольку привязывается к заготовке, а не к конструкции станка.
Ну а физические концевики выполняют лишь роль страховки от того, что головка уткнется в препятствие. Поэтому и работают они по принципу дать сигнал "общей тревоги" и заблокировать дальнейшую работу станка.
25.02.19 в 08:16
печатает на RepRap
0
Не нужны там концевики. От слова совсем. Только лишние помехи будут от шпинделя ловить.
Если движки такие мощные, что при упоре сломают раму, можно поставить концевики не в прошивку, а на реле, отключающее питание.
Также непонятно назначение контактов аварийной кнопки в шилде. Это всё тоже должно аппаратно обрубаться, а не через софт.
autohome в CNC так и вообще команда не только ненужная, но и вредная.

Ничего, после пары сломанных дорогих фрез правильная конструкция возникнет как по волшебству.
И внимательность чудесным образом обострится.
25.02.19 в 11:22
0
autohome в CNC так и вообще команда не только ненужная, но и вредная
Вы просто не умеете ей пользоваться.
Концевики это не аварийный стоп. Это установка "0" в машинных координатах, что позволяет контролировать выход за пределы рабочей области. Команда, в результате которой траектория выходит из рабочей области не выполнится. В GRBL есть режим проверки $С, который проверяет не только синтаксис. Без сломанных фрез и испорченных заготовок.

Для написания комментариев, пожалуйста, авторизуйтесь.