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

sergeyvoronkov
Идет загрузка
Загрузка
24.02.2019
850
7
печатает на Deltabot Mini
Вопросы и ответы
Спасибо всем, кто помог с предыдущим вопросом. Помогло)

А теперь 'едем дальше'.

При попытке сделать '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.2019 в 12:32
0

Небольшое уточнение: концевики подключены к портам X-   Y-
В обычном состоянии (не нажаты), концевые выключатели не замкнуты.

24.02.2019 в 12:40
0

Криво вставился фрагмент прошивки. Прикреплю самое важное

24.02.2019 в 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.2019 в 15:11
0

Да вставляет криво

24.02.2019 в 21:31
1

но при замыкании концевика он тупо останавливается и плата 'начинает тупить' (ком-порт не отвечает).
Так это и есть нормальное 'нативное' поведение системы GRBL.
Просто надо уяснить, в чем кардинальное различие координатных систем 3D-принтера и CNC-плоттера (или ЧПУ-станка, называйте, как хотите).
3D-принтер создает деталь 'с нуля', и создает он ее на столике. Поэтому система координат привязывается к столику. При этом 'нулевые' позиции печатающей головки относительно столика - величины постоянные. А раз так, то процедура 'хоуминга', то есть, смещение головки относительно столика в нулевые координаты по X и Y вполне естественна и оправдана. 
У ЧПУ-станка принцип другой - он создает деталь путем обработки имеющейся заготовки - будь то это кусок фанеры, бревно или чистая печатная плата. Заготовку на станке можно разместить по-разному, исходя из особенностей данного конкретного сеанса обработки. Соответственно, и 'нулевая точка' для рабочей головки в каждом конкретном сеансе работы будет в разных местах, поскольку привязывается к заготовке, а не к конструкции станка.
Ну а физические концевики выполняют лишь роль страховки от того, что головка уткнется в препятствие. Поэтому и работают они по принципу дать сигнал 'общей тревоги' и заблокировать дальнейшую работу станка. 

25.02.2019 в 08:16
0

Не нужны там концевики. От слова совсем. Только лишние помехи будут от шпинделя ловить.
Если движки такие мощные, что при упоре сломают раму, можно поставить концевики не в прошивку, а на реле, отключающее питание.
Также непонятно назначение контактов аварийной кнопки в шилде. Это всё тоже должно аппаратно обрубаться, а не через софт.
autohome в CNC так и вообще команда не только ненужная, но и вредная.

Ничего, после пары сломанных дорогих фрез правильная конструкция возникнет как по волшебству.
И внимательность чудесным образом обострится.

25.02.2019 в 11:22
0

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

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

Читайте в блогах

KRIEG BUST

Калибровка экструдера Titan на принтере Flsun QQ-S

Пожалел, что нет фотополимерника

Пятиметровый шатер на 3D-принтере

Снижение экструдии на верхних слоях сплошного заполнения

Новый 3D сканер RangeVision NEO. Обзор от 3Dtool. Оптический 3D сканер 2019 года.