roboforum.ru

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

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

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

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

Сообщение Max999 » 24 июн 2015, 14:16

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

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

Сообщение Scald » 24 июн 2015, 19:11

А в прошивке просто поменять?
Scald
 
Сообщения: 267
Зарегистрирован: 21 авг 2014, 21:00

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

Сообщение porex » 24 июн 2015, 19:16

Тут без бубна не обойтись)) Сам несколько раз настраивал CoreXY с такой же проблемой. Четкой инструкции нет, все опытным путем. Необходимо инвертировать направление двигателей и менять их местами:)
ABS, PLA пластик для 3д принтеров
1.75 мм производства Bestfilament по цене 1390 руб./кг.
Доставка по России!
Пишите в личку, быстрее отвечу;)
porex
 
Сообщения: 751
Зарегистрирован: 10 окт 2012, 21:20
Откуда: Ростов-на-Дону

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 с такой же проблемой. Четкой инструкции нет, все опытным путем. Необходимо инвертировать направление двигателей и менять их местами:)

Да бубон бы пригодился) Но нужно розобатся, чисто с физической точки зрения не влезая в прошивку мне кажется поменять направления Х не трогая У невозможно.
Max999
 
Сообщения: 3
Зарегистрирован: 24 июн 2015, 13:51

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

Сообщение porex » 25 июн 2015, 11:26

Невозможно, т.к. инвертирование одной оси влияет на перемещение по другой. Я сначала добился инвертированием осей движение головки в правый дальний угол, а затем поменял моторы местами.
ABS, PLA пластик для 3д принтеров
1.75 мм производства Bestfilament по цене 1390 руб./кг.
Доставка по России!
Пишите в личку, быстрее отвечу;)
porex
 
Сообщения: 751
Зарегистрирован: 10 окт 2012, 21:20
Откуда: Ростов-на-Дону

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];   
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

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

Сообщение porex » 25 июн 2015, 14:59

Невозможно без ковыряния прошивки ;)
ABS, PLA пластик для 3д принтеров
1.75 мм производства Bestfilament по цене 1390 руб./кг.
Доставка по России!
Пишите в личку, быстрее отвечу;)
porex
 
Сообщения: 751
Зарегистрирован: 10 окт 2012, 21:20
Откуда: Ростов-на-Дону

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

Сообщение setar » 25 июн 2015, 15:20

:) однозначно
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

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];   

Очень благодарен это и искал! Спасибо за помощь! Ближайши дни отпишу результат.
Max999
 
Сообщения: 3
Зарегистрирован: 24 июн 2015, 13:51

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];   

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


и как? ;)
получилось?
Аватара пользователя
3DPrinter
 
Сообщения: 603
Зарегистрирован: 23 янв 2014, 01:13
Откуда: Украина. Киев.
Skype: kiev_3dprinter
ФИО: Печать трехмерная

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

Сообщение Xsenus » 29 июн 2015, 18:47

у меня таж самая проблема(((( попробовал вышеописанный способ - не помогло(((
Аватара пользователя
Xsenus
 
Сообщения: 113
Зарегистрирован: 10 янв 2008, 22:01
Откуда: Москва

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

Сообщение Valaskor » 30 июн 2015, 17:15

нужно поменять физически подключения моторов местами, а после этого донастроить в прошивке
Valaskor
 
Сообщения: 91
Зарегистрирован: 28 янв 2015, 10:27

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

Сообщение Xsenus » 30 июн 2015, 20:48

Днем все таки добил, как раз поменяв движки местами
Аватара пользователя
Xsenus
 
Сообщения: 113
Зарегистрирован: 10 янв 2008, 22:01
Откуда: Москва

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

Сообщение macar2005 » 22 ноя 2015, 10:32

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

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

Сообщение druksel » 26 ноя 2015, 00:51

был такой косяк - правда на стандартной кинематике - я Сетара замучил вопросами, а оказалось - неправильно работали концевики.
druksel
 
Сообщения: 34
Зарегистрирован: 24 фев 2013, 21:03
Откуда: Ленинградская область

След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron