roboforum.ru

Технический форум по робототехнике.

Как инвентировать ось в coreXY

Как инвентировать ось в coreXY

Max999 » 24 июн 2015, 14:16

Здравствуйте! При сборке 3д принтера с системой coreXY, прошивка marlin столкнулся с проблемой зеркализации модели по оси Х. Как понял это из за размещения нуля принтера в ближнем правом углу, а не как у стандарта левой ближний. Как поменять направления оси Х на противоположное чтоб ноль принтера бил в левом ближнем угле?
П.С. С полярностью моторов игрался в результате просто изменяются оси местами, или меняется направления обоих Х и У, нужно только Х.

Re: Как инвентировать ось в coreXY

Scald » 24 июн 2015, 19:11

А в прошивке просто поменять?

Re: Как инвентировать ось в coreXY

porex » 24 июн 2015, 19:16

Тут без бубна не обойтись)) Сам несколько раз настраивал CoreXY с такой же проблемой. Четкой инструкции нет, все опытным путем. Необходимо инвертировать направление двигателей и менять их местами:)

Re: Как инвентировать ось в coreXY

Max999 » 24 июн 2015, 20:40

Scald писал(а):А в прошивке просто поменять?

Буду очень благодарен если покажете где в прошивке менять. Простой способ инвентирования осей меняет полярность моторов в следствии оси местами.
#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

Добавлено спустя 3 минуты 12 секунд:
porex писал(а):Тут без бубна не обойтись)) Сам несколько раз настраивал CoreXY с такой же проблемой. Четкой инструкции нет, все опытным путем. Необходимо инвертировать направление двигателей и менять их местами:)

Да бубон бы пригодился) Но нужно розобатся, чисто с физической точки зрения не влезая в прошивку мне кажется поменять направления Х не трогая У невозможно.

Re: Как инвентировать ось в coreXY

porex » 25 июн 2015, 11:26

Невозможно, т.к. инвертирование одной оси влияет на перемещение по другой. Я сначала добился инвертированием осей движение головки в правый дальний угол, а затем поменял моторы местами.

Re: Как инвентировать ось в coreXY

setar » 25 июн 2015, 11:42

ну уж :)
просто это нужно глубоко в прошивке делать
всего лишь "-" на "+" поменять в рассчёте относительного изменения координаты

Добавлено спустя 5 минут 14 секунд:
planner.cpp
Код: Выделить всёРазвернуть
  #ifdef COREXY                                                                                                                                    
    // corexy planning                                                                                                                             
    // these equations follow the form of the dA and dB equations on http://www.corexy.com/theory.html                                             
    block->steps[A_AXIS] = labs(dx + dy);                                                                                                         
    block->steps[B_AXIS] = labs(dx - dy);

и
Код: Выделить всёРазвернуть
  #ifdef COREXY                                                                                                                                    
    float delta_mm[6];                                                                                                                             
    delta_mm[X_HEAD] = dx / axis_steps_per_unit[A_AXIS];                                                                                           
    delta_mm[Y_HEAD] = dy / axis_steps_per_unit[B_AXIS];                                                                                           
    delta_mm[A_AXIS] = (dx + dy) / axis_steps_per_unit[A_AXIS];                                                                                   
    delta_mm[B_AXIS] = (dx - dy) / axis_steps_per_unit[B_AXIS];   

Re: Как инвентировать ось в coreXY

porex » 25 июн 2015, 14:59

Невозможно без ковыряния прошивки ;)

Re: Как инвентировать ось в coreXY

setar » 25 июн 2015, 15:20

:) однозначно

Re: Как инвентировать ось в coreXY

Max999 » 26 июн 2015, 01:21

setar писал(а):ну уж :)
просто это нужно глубоко в прошивке делать
всего лишь "-" на "+" поменять в рассчёте относительного изменения координаты

Добавлено спустя 5 минут 14 секунд:
planner.cpp
Код: Выделить всёРазвернуть
  #ifdef COREXY                                                                                                                                    
    // corexy planning                                                                                                                             
    // these equations follow the form of the dA and dB equations on http://www.corexy.com/theory.html                                             
    block->steps[A_AXIS] = labs(dx + dy);                                                                                                         
    block->steps[B_AXIS] = labs(dx - dy);

и
Код: Выделить всёРазвернуть
  #ifdef COREXY                                                                                                                                    
    float delta_mm[6];                                                                                                                             
    delta_mm[X_HEAD] = dx / axis_steps_per_unit[A_AXIS];                                                                                           
    delta_mm[Y_HEAD] = dy / axis_steps_per_unit[B_AXIS];                                                                                           
    delta_mm[A_AXIS] = (dx + dy) / axis_steps_per_unit[A_AXIS];                                                                                   
    delta_mm[B_AXIS] = (dx - dy) / axis_steps_per_unit[B_AXIS];   

Очень благодарен это и искал! Спасибо за помощь! Ближайши дни отпишу результат.

Re: Как инвентировать ось в coreXY

3DPrinter » 27 июн 2015, 02:21

Max999 писал(а):
setar писал(а):ну уж :)
просто это нужно глубоко в прошивке делать
всего лишь "-" на "+" поменять в рассчёте относительного изменения координаты

Добавлено спустя 5 минут 14 секунд:
planner.cpp
Код: Выделить всёРазвернуть
  #ifdef COREXY                                                                                                                                    
    // corexy planning                                                                                                                             
    // these equations follow the form of the dA and dB equations on http://www.corexy.com/theory.html                                             
    block->steps[A_AXIS] = labs(dx + dy);                                                                                                         
    block->steps[B_AXIS] = labs(dx - dy);

и
Код: Выделить всёРазвернуть
  #ifdef COREXY                                                                                                                                    
    float delta_mm[6];                                                                                                                             
    delta_mm[X_HEAD] = dx / axis_steps_per_unit[A_AXIS];                                                                                           
    delta_mm[Y_HEAD] = dy / axis_steps_per_unit[B_AXIS];                                                                                           
    delta_mm[A_AXIS] = (dx + dy) / axis_steps_per_unit[A_AXIS];                                                                                   
    delta_mm[B_AXIS] = (dx - dy) / axis_steps_per_unit[B_AXIS];   

Очень благодарен это и искал! Спасибо за помощь! Ближайши дни отпишу результат.


и как? ;)
получилось?

Re: Как инвентировать ось в coreXY

Xsenus » 29 июн 2015, 18:47

у меня таж самая проблема(((( попробовал вышеописанный способ - не помогло(((

Re: Как инвентировать ось в coreXY

Valaskor » 30 июн 2015, 17:15

нужно поменять физически подключения моторов местами, а после этого донастроить в прошивке

Re: Как инвентировать ось в coreXY

Xsenus » 30 июн 2015, 20:48

Днем все таки добил, как раз поменяв движки местами

Re: Как инвентировать ось в coreXY

macar2005 » 22 ноя 2015, 10:32

Собрал я кинематику core XY.
Раскоментировал строку #define COREXY, скомпилировал, залил (Марлин 1.0.2).
Получил следующий эффект:
При движении вперёд по X или Y моторы вращаются с нормальным усилием, а при движении в обратную сторону моторы еле крутятся, усилие почти нулевое.
Проверил тоже самое без ремней - эффект тот же (драйвера и моторы точно исправные, если отключаю core XY то всё нормально и в перёд и назад).
Что может влиять на обратный ход?

Re: Как инвентировать ось в coreXY

druksel » 26 ноя 2015, 00:51

был такой косяк - правда на стандартной кинематике - я Сетара замучил вопросами, а оказалось - неправильно работали концевики.


Rambler\'s Top100 Mail.ru counter