Страница 1 из 1

Ось Z не перпендикулярна к оси Х.

Добавлено: 14 дек 2016, 20:38
artem26
Подскажите где и как в KFLOP указать что ось Z не перпендикулярна оси X. Geo correction как я понял только для корректировки прогиба в плоскости Х и У. Саму ось буду переделывать, но чуть позже.

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 14 дек 2016, 21:46
xvovanx
А как вы можете в программе скоректировать неперпендикулярность Z оси? Никак, только самим "железом".

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 15 дек 2016, 10:44
Serg
Что значит "как"? - Программно ! :)
Недавно была подобная тема про LinuxCNC - там это запросто. :)

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 15 дек 2016, 14:23
Сергей Саныч
xvovanx писал(а):А как вы можете в программе скоректировать неперпендикулярность Z оси? Никак, только самим "железом".
Это неперпендикулярность шпинделя программно не скорректировать. А оси Z - вполне реально.
Правда, как это сделать в Kflop, ничего не смогу сказать :(

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 15 дек 2016, 15:53
artem26
Программно, естественно. Интересует где в kflop прописать прописать. Для себя вижу два направления решения проблемы файлы geocorrection или kinematics. Geocorrection скорее всего не подходит для этой цели, остается kinematics.

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 15 дек 2016, 21:58
xvovanx
Сергей Саныч писал(а):
xvovanx писал(а):А как вы можете в программе скоректировать неперпендикулярность Z оси? Никак, только самим "железом".
Это неперпендикулярность шпинделя программно не скорректировать. А оси Z - вполне реально.
...
Объясните мне дураку, как такое возможно? :thinking: Или я не понял вопроса...
Или речь о том, что при опускании по Z происходит смещение по XY (ось Z кривая, но шпиндель выставлен вертикально, и при опускании заламывает по XY фрезу).

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 15 дек 2016, 22:09
Serg
xvovanx писал(а):Объясните мне дураку, как такое возможно?
Точно так-же как на взрослых станках при вертикальной оси Z можно повернуть шпиндельную голову на любой угол.
1.jpg (8465 просмотров) <a class='original' href='./download/file.php?id=97714&sid=9e7d6f21e877b566d07f55855f2c1d57&mode=view' target=_blank>Загрузить оригинал (140.5 КБ)</a>
2.jpg (8465 просмотров) <a class='original' href='./download/file.php?id=97715&sid=9e7d6f21e877b566d07f55855f2c1d57&mode=view' target=_blank>Загрузить оригинал (43.17 КБ)</a>
xvovanx писал(а):Или речь о том, что при опускании по Z происходит смещение по XY (ось Z кривая, но шпиндель выставлен вертикально, и при опускании заламывает по XY фрезу).
Да.

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 16:46
artem26
Похоже такая проблема на этом форуме только у меня :(
Сам пока так и не выяснил ничего, поэтому задал вопрос Тому, надеюсь он поможет.

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 21:21
artem26
Получил ответ от Тома

Hi Artem,
You should be able to correct that with a simple Kinematics transformation to make x and y include a linear function of z.

x' = x + Axz * z;
y' = y + Ayz * z;

Here is an example of how to change the code:

Code:

int CKinematics::TransformCADtoActuators(double x, double y, double z, double a, double b, double c, double *Acts, bool NoGeo)
{
double xp,yp;
double Axz = 0.005; // slope of z in x direction
double Ayz = -0.007; // slope of z in y direction

GeoCorrect(x, y, z, &x, &y, &z);

xp = x + Axz * z;
yp = y + Ayz * z;

Acts[0] = xp*m_MotionParams.CountsPerInchX;
Acts[1] = yp*m_MotionParams.CountsPerInchY;
Acts[2] = z*m_MotionParams.CountsPerInchZ;
Acts[3] = a*m_MotionParams.CountsPerInchA;
Acts[4] = b*m_MotionParams.CountsPerInchB;
Acts[5] = c*m_MotionParams.CountsPerInchC;

return 0;
}

A small change to TransformActuatorstoCAD would also be needed to force the call to InvertTransformCADtoActuators.
Are you capable of re-compiling the GCodeInterpreter.dll library with the free Microsoft Visual Studio 2015 Community?

Как-то так, буду пробовать!

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 21:54
nkp
может ты не весь текст привел,и непонятно до конца - что
есть величина угла наклона Axz , Ayz
но мне видится сдвиг ,как :
z / tan(Axz) (для оси X)
и
z / tan(Ayz) (для оси Y)
tanXZ - тангенс угла наклона
формулы
xp = x + Axz * z;
yp = y + Ayz * z;
будут выглядеть как:
xp = x + z / tan(Axz)
yp = y + z / tan(Ayz)
Выделение_016.png (8388 просмотров) <a class='original' href='./download/file.php?id=97867&sid=9e7d6f21e877b566d07f55855f2c1d57&mode=view' target=_blank>Загрузить оригинал (11.87 КБ)</a>

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 21:59
PKM
nkp, а зачем усложнять. У Тома Axz Ayz и есть коэффициенты пропорциональности, те же синусы...

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 22:04
nkp
PKM писал(а):nkp, а зачем усложнять. У Тома Axz Ayz и есть коэффициенты пропорциональности, те же синусы...
ребят я жеш написал:
nkp писал(а):может ты не весь текст привел,и непонятно до конца - чтоесть величина угла наклона Axz , Ayz
может я просмотрел,но где там видно ,что это "синусы" ??

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 22:10
PKM
Зачем синусы, если можно просто коэффициенты, которые по сути равны синусам (или тангенсам, при малых углах неважно)?
Угол измерить будет сложно, а коэффициент определить просто: на 100мм по Z увод по Х составляет 0,3мм - коэффициент равен 0,003.

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 22:14
nkp
насчет измерить - согласен,но в приведенных мною формулах
как бы тоже ошибки нет :hehehe:

Re: Ось Z не перпендикулярна к оси Х.

Добавлено: 17 дек 2016, 22:26
PKM
А я и не говорил, что там ошибка :)