Ввод в эксплуатацию ЧПУ системы на основе контроллера Kflop.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Пусть остаются всегда в импульсном режиме....
-
- Кандидат
- Сообщения: 40
- Зарегистрирован: 04 дек 2012, 20:08
- Репутация: 9
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Каналог уже куплен
-
- Кандидат
- Сообщения: 40
- Зарегистрирован: 04 дек 2012, 20:08
- Репутация: 9
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Приветствую!
В общем у меня затык с поиском HOME по индексным меткам. Использую код из этой темы.
Жму HOME, ось двигается к конечнику, находит его и медленно ползет в обратном направлении чтоб дойти до индексной метки и остановится. Но не происходит ни обнуления ни остановки, ось ползет пока я не нажму Stop.
Снял короткое видео для оси Z, с остальными осями та же ситуация.
[youtube]https://youtu.be/nfPS69XvMGc[/youtube]
В общем у меня затык с поиском HOME по индексным меткам. Использую код из этой темы.
Жму HOME, ось двигается к конечнику, находит его и медленно ползет в обратном направлении чтоб дойти до индексной метки и остановится. Но не происходит ни обнуления ни остановки, ось ползет пока я не нажму Stop.
Снял короткое видео для оси Z, с остальными осями та же ситуация.
[youtube]https://youtu.be/nfPS69XvMGc[/youtube]
- Вложения
-
- Init3Analog_My.txt
- (4.53 КБ) 583 скачивания
-
- HomeIndex_My.txt
- (3.03 КБ) 642 скачивания
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Проверить полярность индексной метки и условия срабатывания, и номер пина.
-
- Кандидат
- Сообщения: 40
- Зарегистрирован: 04 дек 2012, 20:08
- Репутация: 9
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Правильность подключения проверял неоднократно. Для оси Z: Z-к контакту A5+, /Z-к контакту A5-, номер пина Kflop 38. Желтые провода на фото.
Везде стоит галка Stop when low, или что то иное имеешь ввиду под условием срабатывания?
Станок осями двигает, конечники срабатывают. Конечники NC.
Везде стоит галка Stop when low, или что то иное имеешь ввиду под условием срабатывания?
Станок осями двигает, конечники срабатывают. Конечники NC.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Проверить штекер J5
-
- Кандидат
- Сообщения: 40
- Зарегистрирован: 04 дек 2012, 20:08
- Репутация: 9
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Саша, ты был прав. Отошёл разъем. Теперь всё работает. Спасибо).
-
- Опытный
- Сообщения: 103
- Зарегистрирован: 27 май 2012, 21:18
- Репутация: 25
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Здрасте всем!
После того, как наткнулся на это:
https://www.dynomotion.com/forum/viewto ... ?f=7&t=819
осознал, что устанавливать ноль Jog-ом от концевика - плохая идея. Даже если это супер-пупер точный датчик, то инерция и прочие факторы будут приводить к тому, что ось будет останавливаться всегда в разных местах.
По крайней мере у меня именно так и происходит с индукционным датчиком. Проверил следующим образом:
Завел индексную метку (Z канал энкодера) на KFLOP. По мере движения оси к концевому датчику (при поиске нуля), записывал значение ch0->position при срабатывании индексной метки Z в переменную. После срабатывания датчика и остановки портала с помощью Jog(Axis,0) выводил в консоль значение этой переменной и текущего положения оси ch0->position до Zero(Axis). Разность этих двух значений всегда получалась разная (разная разность ) при нескольких попытках.
Вышел из ситуации следующим образом:
Таким образом отступ до нуля высчитывается не от датчика, а от последней метки Z, которая предшествовала срабатыванию датчика.
Это работает в том случае, когда физический ноль установлен со смещением от датчика на какое-то расстояние. Вал двигателя нужно повернуть так, чтобы в этом интервале, хоть раз срабатывала Z-метка.
p.s.: сорри если баян - давно не заходил на форум
После того, как наткнулся на это:
https://www.dynomotion.com/forum/viewto ... ?f=7&t=819
осознал, что устанавливать ноль Jog-ом от концевика - плохая идея. Даже если это супер-пупер точный датчик, то инерция и прочие факторы будут приводить к тому, что ось будет останавливаться всегда в разных местах.
По крайней мере у меня именно так и происходит с индукционным датчиком. Проверил следующим образом:
Завел индексную метку (Z канал энкодера) на KFLOP. По мере движения оси к концевому датчику (при поиске нуля), записывал значение ch0->position при срабатывании индексной метки Z в переменную. После срабатывания датчика и остановки портала с помощью Jog(Axis,0) выводил в консоль значение этой переменной и текущего положения оси ch0->position до Zero(Axis). Разность этих двух значений всегда получалась разная (разная разность ) при нескольких попытках.
Вышел из ситуации следующим образом:
Код: Выделить всё
// отступ от концевика оси X до нуля (Home)
#define ZERO_OFFSET 690
double Abs(double val)
{
if (val < 0)
val *= -1;
return val;
}
// Home X next - jog until it sees the limit
int Z_state = 0;
double Z_position=0;
double Z_offset = 0;
Jog(0,-2000); // jog slowly negative
while (!ReadBit(0)) // loop until IO bit goes high (Концевик оси X)
{
if (ReadBit(12)) // порт на который заведен Z-канал энкодера
{
if (Z_state == 0)
{
Z_state = 1;
Z_position = ch0->Position; // записываем текущее положение при срабатывании Z-метки
printf("Position X: %f\n",Z_position);
}
}
else
{
Z_state = 0;
}
}
Jog(0,0); // stop
while (!CheckDone(0)) ; // loop until motion completes
Z_offset = Abs(ch0->Position - Z_position) + ZERO_OFFSET; // высчитываем отступ не от датчика, а от последней Z_метки.
printf("Zero sensor found! Position: %f\n", ch0->Position);
MoveRelAtVel(0,Z_offset,300);// move some amount inside the limits with velocity
while (!CheckDone(0)) ; // loop until motion completes
printf("Zero offset: %f\n", Z_offset);
Zero(0);
Это работает в том случае, когда физический ноль установлен со смещением от датчика на какое-то расстояние. Вал двигателя нужно повернуть так, чтобы в этом интервале, хоть раз срабатывала Z-метка.
p.s.: сорри если баян - давно не заходил на форум
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добрый день. Требуется помощь в подключение линеек к кфлопу. 1 -сервошаговые моторы Leadshaine HBS2206 . в шаговом режиме ноль проблем. а вот с подключением линеек есть непонятки.
линейка микронная подключена к 7-8 пину. счетчик позиции во вкладке "axis" постоянно что то считает, без остановки.
если мотор не подключен , то при ручном перемешивание считывающей головки происходят изменения значений.
1 вопрос - этот окаяный счетчик останавливается или всегда считает ?)
2 вопрос рабочий ход линейки 293мм . килофлоп показывает количество импульсов 292213 на данное растояние.
но в окне программы этому количеству импульсов соответствует 76,11 мм
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=CL_STEP_DIR_MODE;
ch0->Vel=97500;
ch0->Accel=400000;
ch0->Jerk=4e+06;
ch0->P=3.85;
ch0->I=0.01;
ch0->D=0;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=200;
ch0->MaxErr=1e+06;
ch0->MaxOutput=200;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=0;
ch0->OutputChan0=0;
ch0->OutputChan1=0;
ch0->MasterAxis=-1;
ch0->LimitSwitchOptions=0x100;
ch0->LimitSwitchNegBit=0;
ch0->LimitSwitchPosBit=0;
ch0->SoftLimitPos=1e+09;
ch0->SoftLimitNeg=-1e+09;
ch0->InputGain0=1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=1;
ch0->OutputOffset=0;
ch0->SlaveGain=1;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=0;
ch0->BacklashRate=0;
ch0->invDistPerCycle=1;
ch0->Lead=0;
ch0->MaxFollowingError=1000;
ch0->StepperAmplitude=0;
ch0->iir[0].B0=1;
ch0->iir[0].B1=0;
ch0->iir[0].B2=0;
ch0->iir[0].A1=0;
ch0->iir[0].A2=0;
ch0->iir[1].B0=1;
ch0->iir[1].B1=0;
ch0->iir[1].B2=0;
ch0->iir[1].A1=0;
ch0->iir[1].A2=0;
ch0->iir[2].B0=0.000768788;
ch0->iir[2].B1=0.00153758;
ch0->iir[2].B2=0.000768788;
ch0->iir[2].A1=1.92076;
ch0->iir[2].A2=-0.923833;
EnableAxisDest(0,0);
да и графики в step pesponse строит чудные . в общем помогите разобраться с этим вопросом
линейка микронная подключена к 7-8 пину. счетчик позиции во вкладке "axis" постоянно что то считает, без остановки.
если мотор не подключен , то при ручном перемешивание считывающей головки происходят изменения значений.
1 вопрос - этот окаяный счетчик останавливается или всегда считает ?)
2 вопрос рабочий ход линейки 293мм . килофлоп показывает количество импульсов 292213 на данное растояние.
но в окне программы этому количеству импульсов соответствует 76,11 мм
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=CL_STEP_DIR_MODE;
ch0->Vel=97500;
ch0->Accel=400000;
ch0->Jerk=4e+06;
ch0->P=3.85;
ch0->I=0.01;
ch0->D=0;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=200;
ch0->MaxErr=1e+06;
ch0->MaxOutput=200;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=0;
ch0->OutputChan0=0;
ch0->OutputChan1=0;
ch0->MasterAxis=-1;
ch0->LimitSwitchOptions=0x100;
ch0->LimitSwitchNegBit=0;
ch0->LimitSwitchPosBit=0;
ch0->SoftLimitPos=1e+09;
ch0->SoftLimitNeg=-1e+09;
ch0->InputGain0=1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=1;
ch0->OutputOffset=0;
ch0->SlaveGain=1;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=0;
ch0->BacklashRate=0;
ch0->invDistPerCycle=1;
ch0->Lead=0;
ch0->MaxFollowingError=1000;
ch0->StepperAmplitude=0;
ch0->iir[0].B0=1;
ch0->iir[0].B1=0;
ch0->iir[0].B2=0;
ch0->iir[0].A1=0;
ch0->iir[0].A2=0;
ch0->iir[1].B0=1;
ch0->iir[1].B1=0;
ch0->iir[1].B2=0;
ch0->iir[1].A1=0;
ch0->iir[1].A2=0;
ch0->iir[2].B0=0.000768788;
ch0->iir[2].B1=0.00153758;
ch0->iir[2].B2=0.000768788;
ch0->iir[2].A1=1.92076;
ch0->iir[2].A2=-0.923833;
EnableAxisDest(0,0);
да и графики в step pesponse строит чудные . в общем помогите разобраться с этим вопросом
- Вложения
-
- 2020.02.01-18.14.7z
- (8.13 МБ) 419 скачиваний
-
- Мастер
- Сообщения: 1955
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
tools setup -> настраеваем соотношение дискреты\миллиметрыigor1352 писал(а):2 вопрос рабочий ход линейки 293мм . килофлоп показывает количество импульсов 292213 на данное растояние.
но в окне программы этому количеству импульсов соответствует 76,11 мм
а в целом найдите гайд по настройке и вперед по пунктам
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Я не понял вашего ответа. Как я отметил в шаговом режиме - нет проблем. С учётом выставленого микрошага на драйвере (64) задано 97500 импульсов на дюйм. По моему скудному разумению , нет согласовки импульсов поступающих с микронной линейки (0,001мм). Я обсуждаю с Томом данную проблему , но общение через переводчик , да ещё технического языка - затруднителен. И мне непонятно поведение счётчика положения позиции , если головка не подвижна то какого хрена она что то считает. И это происходит сразу после подачи питания на драйвер!
-
- Мастер
- Сообщения: 1955
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
если линейка стоит а счетчик считает, то считает он видимо овец, а не перемещение.. разбираться с подключением. если вы хотите до нас донести - то лучше или схему и попИновое соединение что с чем.
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Линейка подключена к 7-8 Пину (выше было указано). Мотор к 15-16.файл настройки также выше. Том ответил - надо обнулить, во вкладке steps response. Я исполнил . После обнуления счётчик начинает считать овец. Теперь он говорит .... Вот ссылка- https://www.dynomotion.com/forum/viewto ... 7&start=10
-
- Мастер
- Сообщения: 1955
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
вот давайте возьмем линейку, подключим ее индексный канал, оба сигнала Z и Z инверсное к 7-8 пинам.. и будем смотреть что будет.. линейка ведь подключена к 7-8 пину, что не так то ?
если хотите вменяемых советов - выдайте вменяемую информацию
если хотите вменяемых советов - выдайте вменяемую информацию
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
и какую информацию предоставить ?Duhas писал(а):если хотите вменяемых советов - выдайте вменяемую информацию
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
что еще необходимо? я в первый раз сталкиваюсь с такими затруднениями. во втором видео показано что при включение драйвера начинается подсчет овец.
пардон старый скрин-97500 импульсов на дюйм
пардон старый скрин-97500 импульсов на дюйм
- Вложения
-
- MOTOR OFF.7z
- короткое видео о настройках
- (7.83 МБ) 363 скачивания
-
- MOTOR ON.7z
- короткое видео о настройках
- (1.08 МБ) 360 скачиваний
-
- InitAxis5 CL micro.7z
- (1.71 КБ) 363 скачивания
-
- Мастер
- Сообщения: 1955
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
вы понимаете что счетчик аппаратный и почти не зависит от софта?
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Нет я этого не знал,я спрашивал у Тома он не сказал , что это правильное состояние. 2 когда ось не подвижна мигают с некоторой регулярностью(амплитудой) входные пины .
это утверждение или предположение? у меня несколько раз получалось что "он" крутиться вокруг "нуля" и проходя через "ноль" возникает некий шум в моторе , ноль пытается задержаться в этом состоянии. но силы "нечистые" гонят его дальше) . да мотор в состояние покоя.
это утверждение или предположение? у меня несколько раз получалось что "он" крутиться вокруг "нуля" и проходя через "ноль" возникает некий шум в моторе , ноль пытается задержаться в этом состоянии. но силы "нечистые" гонят его дальше) . да мотор в состояние покоя.
-
- Мастер
- Сообщения: 1955
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
вы разберитесь по отдельности все ли работает так как вы предполагаете.
линейка у вас с дифференциальными выходами? с открытым коллектором? я почему вас и пытаю как детально она у вас подключена, а вы отбрыкиваетесь всеми конечностями...
линейка у вас с дифференциальными выходами? с открытым коллектором? я почему вас и пытаю как детально она у вас подключена, а вы отбрыкиваетесь всеми конечностями...
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Линейка имеет А_ А+,Б_Б+, З_З+. Вроде дефиринцыальные, Том сказал подойдёт. Только шум будет. Подключены только А+,Б+.