Ввод в эксплуатацию ЧПУ системы на основе контроллера Kflop.
- passer-by
- Кандидат
- Сообщения: 74
- Зарегистрирован: 18 мар 2012, 14:16
- Репутация: 0
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Не нужно давать подобные советы. Представляете что будет с платой если человек без опыта полезет перепаивать SMD детали.
-
Smouk
- Кандидат
- Сообщения: 76
- Зарегистрирован: 08 ноя 2016, 16:36
- Репутация: 32
- Настоящее имя: Алексей
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
passer-by, Вы, наверное, менеджер?
Если человек не может перепаять резистор на плате, то делать свой станок ему точно не стоит. Это тема про KFLOP, Ваши сообщения не несут никакой смысловой нагрузки кроме флуда.
Вы то говорите про +12, +24В, некие стандартные, про которые где то слышали, а в итоге говорите, что не нужно ничего менять, пускай работает некорректно.
Если человек не может перепаять резистор на плате, то делать свой станок ему точно не стоит. Это тема про KFLOP, Ваши сообщения не несут никакой смысловой нагрузки кроме флуда.
Вы то говорите про +12, +24В, некие стандартные, про которые где то слышали, а в итоге говорите, что не нужно ничего менять, пускай работает некорректно.
-
Bes
- Новичок
- Сообщения: 21
- Зарегистрирован: 19 июн 2017, 15:27
- Репутация: 0
- Настоящее имя: Андрей
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Товарищи проблема следующая: при вращении шпинделя начались непонятные щелчки, при разборе обнаружилось, что щелкает вот этот уголок (совершает движения вперёд назад). Что это такое вообще!?)) Какой то датчик, как я понимаю. Если его придавить отвёрткой, то щелчки прекращаются и вращение нормальном режиме, а с ним даже рукой провернуть проблематично. В KMotionCNC всё нормально. Станок сс2в05пмф4. Или подскажите в какой другой теме можно спросить 
Цель оправдывает средства.
-
Bes
- Новичок
- Сообщения: 21
- Зарегистрирован: 19 июн 2017, 15:27
- Репутация: 0
- Настоящее имя: Андрей
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Новый симптом. Ничего не чинилось, сегодня с утра всё чудесным образом крутиться без странных звуков и прочих проблем, НО, теперь не двигаются оси. Станок стоит в плохо отапливаемом цеху. Могут ли холода так влиять или это восстание машин?
Цель оправдывает средства.
-
Smouk
- Кандидат
- Сообщения: 76
- Зарегистрирован: 08 ноя 2016, 16:36
- Репутация: 32
- Настоящее имя: Алексей
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
От холода всякое может быть. На сколько холодно в посещении?
Какие симптомы не активации осей, что в консоли?
Какие симптомы не активации осей, что в консоли?
-
Bes
- Новичок
- Сообщения: 21
- Зарегистрирован: 19 июн 2017, 15:27
- Репутация: 0
- Настоящее имя: Андрей
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
На вскидку -5 - -10Smouk писал(а):От холода всякое может быть. На сколько холодно в посещении?
Какие симптомы не активации осей, что в консоли?
С осями разобрались, пускатели вырубились, включил и всё поехало. Чисто спортивный интерес почему такое может быть, и что это такое было со шпинделем?)
Цель оправдывает средства.
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Здравствуйте. С самого начала запуска станка имеем вот такую проблему. Исправить её руки только сейчас дошли.
На видео видно, как при первом запуске контроллера (после запуска драйверов) в начале движения "вздергивается" ось Y(на ней два движка) Файл инициализации приведен ниже. Не предсказуемо такое "вздёргивание" проявляется при простом нажатии кнопки INIT(опять же первом после запуска драйверов), а также спустя некоторое время после её нажатия. амплитуда этого "вздёргивания" наиболее большая при первом запуске приводов и так же не предсказуемо варьируется. На видео слабенько. При следующих нажатиях кнопки INIT после E-Stopа, наблюдается только толчок этой оси.
https://www.youtube.com/watch?v=eG_dL0nih7w
На видео видно, как при первом запуске контроллера (после запуска драйверов) в начале движения "вздергивается" ось Y(на ней два движка) Файл инициализации приведен ниже. Не предсказуемо такое "вздёргивание" проявляется при простом нажатии кнопки INIT(опять же первом после запуска драйверов), а также спустя некоторое время после её нажатия. амплитуда этого "вздёргивания" наиболее большая при первом запуске приводов и так же не предсказуемо варьируется. На видео слабенько. При следующих нажатиях кнопки INIT после E-Stopа, наблюдается только толчок этой оси.
https://www.youtube.com/watch?v=eG_dL0nih7w
Код: Выделить всё
#include "KMotionDef.h"
void main()
{
float setup[4];
//Инициализация Konnect
InitAux();
AddKonnect_Aux0(0,&VirtualBits,VirtualBitsEx); // Konnect on JP4
//DoRS232Cmds = TRUE;
// Активация серводрайверов S-ON
SetBit(48);
SetBit(50);
SetBit(52);
SetBit(54);
// Параметры оси Y(мастер)
ch0->InputMode=ENCODER_MODE; // режим ОС по энкодеру
ch0->OutputMode=DAC_SERVO_MODE; // вывод сигнала задания в ЦАП, т.е. +/-10В
ch0->Vel=100000; //99471.8; //132629; //99471.8; // максимальная скорость двигателя в импульсах
ch0->Accel=1000000; //298413; //663145; //1.32629e+06; //198944; // максимальное ускорение
ch0->Jerk=10000000; // максимальный толчок
ch0->P=0.9; //0.52;//1.07; //0.65;//0.4; //1.07; !!0.9 // пропорциональная составляющая ПИД
ch0->I=0.002; //0.0015; //0.0027; !!0.002 // интегральная составляющая
ch0->D=0; // диф. составляющая
ch0->FFAccel=0; // ускорение предзадания, или добавка в сигнал
ch0->FFVel=0.0085; //0; //0.0085 // скорость предзадания
ch0->MaxI=2047; // максимальная величина обработки сигнала
ch0->MaxErr=10000; // максимальная ошибка рассогласования позиции
ch0->MaxOutput=2047; // максимальный уровень сигнала
ch0->DeadBandGain=1; // усиление мертвой зоны
ch0->DeadBandRange=0; // величина мертвой зоны в импульсах
ch0->InputChan0=0; // канал №0 входящих сигналов от датчика ОС
ch0->InputChan1=0; // второй канал для датчика ОС, резольвера например
ch0->OutputChan0=0; // канал №0 для выходящих сигналов, в нашем случае +/-10В
ch0->OutputChan1=0; // канал для подчиненной оси
ch0->MasterAxis=-1; // включение/выкл. подчиненной оси
ch0->LimitSwitchOptions=0x123; // режим работы концевиков
ch0->LimitSwitchNegBit=1025; // входной сигнал - концевика
ch0->LimitSwitchPosBit=1024; // входной сигнал + концевика
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=0.00025;
ch0->Lead=0;
ch0->MaxFollowingError=10000;
ch0->StepperAmplitude=100;
//установки IIR фильтров
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=1;
ch0->iir[2].B1=0;
ch0->iir[2].B2=0;
ch0->iir[2].A1=0;
ch0->iir[2].A2=0;
// Параметры оси Y(слэйв)
ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=100000; //99471.8; //132629; //99471.8;
ch1->Accel=1000000; //298413; //663145; //1.32629e+06; //198944;
ch1->Jerk=10000000;
ch1->P=0.9; //0.52; //1.07; //0.65; //0.4; //1.07;
ch1->I=0.002; //0.0015;//0.0027;
ch1->D=0;
ch1->FFAccel=0;
ch1->FFVel=0.0085; //0;
ch1->MaxI=2047;
ch1->MaxErr=10000;
ch1->MaxOutput=2047;
ch1->DeadBandGain=1;
ch1->DeadBandRange=0;
ch1->InputChan0=1;
ch1->InputChan1=1;
ch1->OutputChan0=1;
ch1->OutputChan1=1;
ch1->MasterAxis=0;
ch1->LimitSwitchOptions=0x123;
ch1->LimitSwitchNegBit=1028;
ch1->LimitSwitchPosBit=1024;
ch1->SoftLimitPos=1e+09;
ch1->SoftLimitNeg=-1e+09;
ch1->InputGain0=1;
ch1->InputGain1=1;
ch1->InputOffset0=0;
ch1->InputOffset1=0;
ch1->OutputGain=1;
ch1->OutputOffset=0;
ch1->SlaveGain=-1;
ch1->BacklashMode=BACKLASH_OFF;
ch1->BacklashAmount=0;
ch1->BacklashRate=0;
ch1->invDistPerCycle=0.00025;
ch1->Lead=0;
ch1->MaxFollowingError=10000;
ch1->StepperAmplitude=100;
ch1->iir[0].B0=1;
ch1->iir[0].B1=0;
ch1->iir[0].B2=0;
ch1->iir[0].A1=0;
ch1->iir[0].A2=0;
ch1->iir[1].B0=1;
ch1->iir[1].B1=0;
ch1->iir[1].B2=0;
ch1->iir[1].A1=0;
ch1->iir[1].A2=0;
ch1->iir[2].B0=1;
ch1->iir[2].B1=0;
ch1->iir[2].B2=0;
ch1->iir[2].A1=0;
ch1->iir[2].A2=0;
// Параметры оси X
ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=100000; //99471.8; //132629; //132629;
ch2->Accel=1000000; //298413; //663145; //1326290;
ch2->Jerk=10000000;
ch2->P=1.4; //0.65; //0.697;//1.1; !!1.4; //
ch2->I=0.002; //0.0023;//0.00290;//0; !!0.002
ch2->D=0; //0;
ch2->FFAccel=0;
ch2->FFVel=0.00745; //0; //0.00745
ch2->MaxI=2047;
ch2->MaxErr=1e+09;
ch2->MaxOutput=2047;
ch2->DeadBandGain=1;
ch2->DeadBandRange=0;
ch2->InputChan0=2;
ch2->InputChan1=2;
ch2->OutputChan0=2;
ch2->OutputChan1=2;
ch2->MasterAxis=-1;
ch2->LimitSwitchOptions=0x123;
ch2->LimitSwitchNegBit=1026;
ch2->LimitSwitchPosBit=1027;
ch2->SoftLimitPos=1e+09;
ch2->SoftLimitNeg=-1e+09;
ch2->InputGain0=1;
ch2->InputGain1=1;
ch2->InputOffset0=0;
ch2->InputOffset1=0;
ch2->OutputGain=1;
ch2->OutputOffset=0;
ch2->SlaveGain=1;
ch2->BacklashMode=BACKLASH_OFF;
ch2->BacklashAmount=0;
ch2->BacklashRate=0;
ch2->invDistPerCycle=0.00025;
ch2->Lead=0;
ch2->MaxFollowingError=10000;
ch2->StepperAmplitude=100;
ch2->iir[0].B0=1;
ch2->iir[0].B1=0;
ch2->iir[0].B2=0;
ch2->iir[0].A1=0;
ch2->iir[0].A2=0;
ch2->iir[1].B0=1;
ch2->iir[1].B1=0;
ch2->iir[1].B2=0;
ch2->iir[1].A1=0;
ch2->iir[1].A2=0;
ch2->iir[2].B0=1;
ch2->iir[2].B1=0;
ch2->iir[2].B2=0;
ch2->iir[2].A1=0;
ch2->iir[2].A2=0;
// Параметры оси Z
ch3->InputMode=ENCODER_MODE;
ch3->OutputMode=DAC_SERVO_MODE;
ch3->Vel=100002;
ch3->Accel=8000000;//166667; //100000; //
ch3->Jerk=8.33335e+09;
ch3->P=0.43; //1.1; //1.5; //0.6; //1.2; //
ch3->I=0;//0.001; //0.0025; //0;
ch3->D=0;
ch3->FFAccel=0;
ch3->FFVel=0.0067;
ch3->MaxI=2047;
ch3->MaxErr=1e+09;
ch3->MaxOutput=2047;
ch3->DeadBandGain=1;
ch3->DeadBandRange=0;
ch3->InputChan0=3;
ch3->InputChan1=3;
ch3->OutputChan0=3;
ch3->OutputChan1=3;
ch3->MasterAxis=-1;
ch3->LimitSwitchOptions=0x12f;
ch3->LimitSwitchNegBit=1030;
ch3->LimitSwitchPosBit=1029;
ch3->SoftLimitPos=1e+09;
ch3->SoftLimitNeg=-1e+09;
ch3->InputGain0=-1;
ch3->InputGain1=-1;
ch3->InputOffset0=0;
ch3->InputOffset1=0;
ch3->OutputGain=-1;
ch3->OutputOffset=0;
ch3->SlaveGain=1;
ch3->BacklashMode=BACKLASH_OFF;
ch3->BacklashAmount=0;
ch3->BacklashRate=0;
ch3->invDistPerCycle=0.00025;
ch3->Lead=0;
ch3->MaxFollowingError=50000;
ch3->StepperAmplitude=100;
ch3->iir[0].B0=1;
ch3->iir[0].B1=0;
ch3->iir[0].B2=0;
ch3->iir[0].A1=0;
ch3->iir[0].A2=0;
ch3->iir[1].B0=1;
ch3->iir[1].B1=0;
ch3->iir[1].B2=0;
ch3->iir[1].A1=0;
ch3->iir[1].A2=0;
ch3->iir[2].B0=1;
ch3->iir[2].B1=0;
ch3->iir[2].B2=0;
ch3->iir[2].A1=0;
ch3->iir[2].A2=0;
//сброс системы координат в 0 по осям
//Zero(1);
//Zero(0);
//Zero(2);
//Zero(3);
//Активация осей в 0
/*
FILE *f=fopen("C:\\Project\\Project .KFlop\\data\\Init_Axis.txt","r+"); // открытие файла для сохранения настроек
fscanf(f,"%f%f%f%f",&setup[0],&setup[1],&setup[2],&setup[3]);
fclose(f);
EnableAxisDest(1,setup[1]);
EnableAxisDest(0,setup[0]);
EnableAxisDest(2,setup[2]);
EnableAxisDest(3,setup[3]);
*/
EnableAxis(0);
EnableAxis(1);
EnableAxis(2);
EnableAxis(3);
//задание системы координат в KMotionCNC
DefineCoordSystem(2,0,3,-1);
printf("Init complete\n");
EnableRS232Cmds(RS232_BAUD_38400);
DoRS232Cmds = FALSE;
FILE *f=fopen("C:\\Project\\Project .KFlop\\data\\Init_Axis.txt","wt");
for (;;) //loop forever
{
WaitNextTimeSlice(); //Каждый сервоцикл
if (!(ch0->Enable && ch1->Enable && ch2->Enable&& ch3->Enable && ReadBit(1031))) { //если все оси активны и есть сигнал E-stop
//дизактивация серводрайверов и осей
SetBit(54);
EnableAxis(3);
DefineCoordSystem(-1,-1,3,-1);
MoveAtVel(3,60000,80000);
while (!CheckDone(3));
DisableAxis(3);
ClearBit(54);
Delay_sec(0.5);
ClearBit(57);
fprintf(f,"%.1f %.1f %.1f %.1f\n",ch0->Position,ch1->Position,ch2->Position,ch3->Position); //запись настроек
fclose(f);
ClearBit(48);
ClearBit(50);
ClearBit(52);
ClearBit(58);
ClearBit(59);
DisableAxis(1);
DisableAxis(0);
DisableAxis(2);
Delay_sec(0.1);
printf("tut\n");
break;}
/*if (ch0->Enable && ch1->Enable && ch2->Enable&& ch3->Enable && ReadBit(1031)) { //если все оси активны и есть сигнал E-stop
//активация серводрайверов
SetBit(48);
SetBit(50);
SetBit(52);
SetBit(54);
}
else {
//дизактивация серводрайверов и осей
ClearBit(48);
ClearBit(50);
ClearBit(52);
ClearBit(58);
DisableAxis(1);
DisableAxis(0);
DisableAxis(2);
printf("tut\n");
SetBit(54);
EnableAxis(3);
DefineCoordSystem(-1,-1,3,-1);
MoveRelAtVel(3,30000,80000);
while (!CheckDone(3));
DisableAxis(3);
ClearBit(54);
ClearBit(57);
break;}*/
}
return 0;
}
void ReceiveChar()
{
// wait for data in buffer
while ((FPGA(RS232_STATUS) & 1)==0);
return FPGA(RS232_DATA);
}
-
Duhas
- Мастер
- Сообщения: 1961
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 285
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
непонятно зачем у вас движение прописано при деактивации осей..
по дерганию - учитывая что оно колебательное и варьируется я бы предположил что у вас есть некоторое рассогласование на входе регулятора ( вроде бы посмотреть можно во вкладке axis), что приводит с затухающим колебаниям ввиду недостатка устойчивости.
по дерганию - учитывая что оно колебательное и варьируется я бы предположил что у вас есть некоторое рассогласование на входе регулятора ( вроде бы посмотреть можно во вкладке axis), что приводит с затухающим колебаниям ввиду недостатка устойчивости.
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Это событие E-Stop'а. Я ось Z отвожу на безопасное расстояние, чтобы голову уберечь.Duhas писал(а):непонятно зачем у вас движение прописано при деактивации осей..
Устойчивости чего?Duhas писал(а):недостатка устойчивости.
-
Duhas
- Мастер
- Сообщения: 1961
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 285
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
регулятора ) точнее всей САР, попробуйте коэфф пропорциональный убавить.
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Это же метод подорожника для гангрены.Duhas писал(а):регулятора ) точнее всей САР, попробуйте коэфф пропорциональный убавить.
Я написал скрипт
Код: Выделить всё
#include "KMotionDef.h"
main()
{
int cap;
for(;;)
{
printf("Position: %4.1f, %4.1f\n",ch0->Position,ch1->Position);
printf("Destination: %4.1f, %4.1f\n",ch0->Dest,ch1->Dest);
Delay_sec(0.1);
//printf("%d\n",cap);
}
}Подскажите, как правильно инициализировать, чтобы не было этого рассогласования? Я даже пробовал в файл сохранять последнее положение(видно в файле инициализации). Но всё равно значения при запуске. Различаются.
-
Duhas
- Мастер
- Сообщения: 1961
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 285
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
ну как сказать, вне зависимости от чего у вас получается рывок, реакция на него - колебания, не должно их быть.Al4nse писал(а):Это же метод подорожника для гангрены.Duhas писал(а):регулятора ) точнее всей САР, попробуйте коэфф пропорциональный убавить.
я не колупался с ним месяца 3 уже наверно, не совсем понимаю что именно вы имеете ввиду.Al4nse писал(а): В окне Display KmotionCNC отображается положение отличное от нуля. в районе десятка миллиметра.
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Таких рывков быть не должно. Пусть они даже будут без колебаний. Но они обладают разрушающим моментом.
В общем, я сначала думал, что проблема в рассогласовании реального положения портала и того, что есть в KMotionCNC. Привел всё в нули.
Проблема осталась.
В общем, я сначала думал, что проблема в рассогласовании реального положения портала и того, что есть в KMotionCNC. Привел всё в нули.
Код: Выделить всё
Zero(1);
Zero(0);
Zero(2);
Zero(3);
EnableAxisDest(1,ch1->Position);
EnableAxisDest(0,ch0->Position);
EnableAxisDest(2,ch2->Position);
EnableAxisDest(3,ch3->Position);Код: Выделить всё
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
[color=#FF0000][b]Init complete[/b][/color]
Position: 1.0, 0.0
Destination: 0.0, 0.0
Position: 1.0, 0.0
Destination: 0.0, 0.0
Position: 1.0, 0.0
Destination: 0.0, 0.0
Position: -1.0, 0.0
Destination: 0.0, 0.0
Position: -2.0, 0.0
Destination: 0.0, 0.0
Position: -1.0, 0.0
Destination: 0.0, 0.0
Position: 0.0, 0.0
Destination: 0.0, 0.0
Position: 2.0, 0.0
Destination: 0.0, 0.0
Position: 3.0, 0.0
Destination: 0.0, 0.0
Position: -1.0, 0.0
Destination: 0.0, 0.0
Position: -4.0, 0.0
Destination: 0.0, 0.0
Position: -4.0, 0.0
Destination: 0.0, 0.0
Position: 7.0, 0.0
Destination: 0.0, 0.0
Position: 7.0, 0.0
Destination: 0.0, 0.0
Position: -10.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 10.0, 0.0
Destination: 0.0, 0.0
Position: -15.0, 0.0
Destination: 0.0, 0.0
Position: 17.0, 0.0
Destination: 0.0, 0.0
Position: -18.0, 0.0
Destination: 0.0, 0.0
Position: 20.0, -1.0
Destination: 0.0, 0.0
Position: -21.0, 0.0
Destination: 0.0, 0.0
Position: 21.0, 0.0
Destination: 0.0, 0.0
Position: -19.0, 2.0
Destination: 0.0, 0.0
Position: 12.0, 1.0
Destination: 0.0, 0.0
Position: -3.0, 1.0
Destination: 0.0, 0.0
Position: -8.0, -3.0
Destination: 0.0, 0.0
Position: 21.0, -1.0
Destination: 0.0, 0.0
Position: -23.0, 8.0
Destination: 0.0, 0.0
Position: 29.0, -22.0
Destination: 0.0, 0.0
Position: 21.0, -26.0
Destination: 0.0, 0.0
Position: 47.0, -57.0
Destination: 0.0, 0.0
Position: 485.0, -486.0
Destination: 0.0, 0.0
Position: -18.0, 16.0
Destination: 0.0, 0.0
Position: -3.0, 4.0
Destination: 0.0, 0.0
Position: 0.0, 5.0
Destination: 0.0, 0.0
Position: -1.0, -1.0
Destination: 0.0, 0.0
Position: 0.0, -2.0
Destination: 0.0, 0.0
Position: 0.0, 0.0
Destination: 0.0, 0.0
Position: 0.0, -4.0
Destination: 0.0, 0.0
Position: 0.0, 3.0
Destination: 0.0, 0.0
Position: 0.0, -1.0- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2181
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
С большой долей вероятности: у вас сигнал активации сервоприводов включается до инициализации осей и координатной системы (или включен постоянно, непонятно), а так как сервы управляются по аналогу, то на выходе ЦАП всегда есть какой то потенциал. Вот сервы и начинают медленно ползти. Потом вы активируете контроллер и он пытается с настройками ПИД компенсировать ошибку.
Надо сигнал S-ON подавать непосредственно перед активацией осей и тут же уравнивать Dest и Pos.
А вообще, я бы рекомендовал сделать управление по Степ/Дир с ОС по энкодерам в кфлоп.
Надо сигнал S-ON подавать непосредственно перед активацией осей и тут же уравнивать Dest и Pos.
А вообще, я бы рекомендовал сделать управление по Степ/Дир с ОС по энкодерам в кфлоп.
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Вы правы. Эти рекомендации я нашёл в описании к серводрайверам Estun. Так и делаю.ukr-sasha писал(а):С большой долей вероятности: у вас сигнал активации сервоприводов включается до инициализации осей и координатной системы (или включен постоянно, непонятно).
Я проработал этот вопрос. Провёл кучу экскрементов.
Сейчас у меня так:
Сначала подаю сигнал S-ON
Код: Выделить всё
SetBit(48);
SetBit(50);
SetBit(52);
SetBit(54);Код: Выделить всё
Zero(1);
Zero(0);
Zero(2);
Zero(3);
EnableAxisDest(1,ch1->Position);
EnableAxisDest(0,ch0->Position);
EnableAxisDest(2,ch2->Position);
EnableAxisDest(3,ch3->Position);НО. Проходит некоторое время. Я это приводил в логе. И в ch0->Position ch1->Position появляется вот эта хрень:
Код: Выделить всё
Init complete
Position: 1.0, 0.0
Destination: 0.0, 0.0
Position: 1.0, 0.0
Destination: 0.0, 0.0
Position: 1.0, 0.0
Destination: 0.0, 0.0
Position: -1.0, 0.0
Destination: 0.0, 0.0
Position: -2.0, 0.0
Destination: 0.0, 0.0
Position: -1.0, 0.0
Destination: 0.0, 0.0
Position: 0.0, 0.0
Destination: 0.0, 0.0
Position: 2.0, 0.0
Destination: 0.0, 0.0
Position: 3.0, 0.0
Destination: 0.0, 0.0
Position: -1.0, 0.0
Destination: 0.0, 0.0
Position: -4.0, 0.0
Destination: 0.0, 0.0
Position: -4.0, 0.0
Destination: 0.0, 0.0
Position: 7.0, 0.0
Destination: 0.0, 0.0
Position: 7.0, 0.0
Destination: 0.0, 0.0
Position: -10.0, 0.0
Destination: 0.0, 0.0
Position: 4.0, 0.0
Destination: 0.0, 0.0
Position: 10.0, 0.0
Destination: 0.0, 0.0
Position: -15.0, 0.0
Destination: 0.0, 0.0
Position: 17.0, 0.0
Destination: 0.0, 0.0
Position: -18.0, 0.0
Destination: 0.0, 0.0
Position: 20.0, -1.0
Destination: 0.0, 0.0
Position: -21.0, 0.0
Destination: 0.0, 0.0
Position: 21.0, 0.0
Destination: 0.0, 0.0
Position: -19.0, 2.0
Destination: 0.0, 0.0
Position: 12.0, 1.0
Destination: 0.0, 0.0
Position: -3.0, 1.0
Destination: 0.0, 0.0
Position: -8.0, -3.0
Destination: 0.0, 0.0
Position: 21.0, -1.0
Destination: 0.0, 0.0
Position: -23.0, 8.0
Destination: 0.0, 0.0
Position: 29.0, -22.0
Destination: 0.0, 0.0
Position: 21.0, -26.0
Destination: 0.0, 0.0
Position: 47.0, -57.0
Destination: 0.0, 0.0
Position: 485.0, -486.0
Destination: 0.0, 0.0
Position: -18.0, 16.0
Destination: 0.0, 0.0
Position: -3.0, 4.0
Destination: 0.0, 0.0
Position: 0.0, 5.0
Destination: 0.0, 0.0
Position: -1.0, -1.0
Destination: 0.0, 0.0
Position: 0.0, -2.0
Destination: 0.0, 0.0
Position: 0.0, 0.0
Destination: 0.0, 0.0
Position: 0.0, -4.0
Destination: 0.0, 0.0
Position: 0.0, 3.0
Destination: 0.0, 0.0
Position: 0.0, -1.0На счёт Step Dir - что я потеряю при переходе? Точность, скорость? Аппаратно как решается эта задача? Выкидывается KAnalog покупается KStep?
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2181
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Тут может быть ещё такая ситуация, как раз на портал никах сталкивался.
Повторная инициализация снимает сигнал с-он с приводов, и если портал кривой то моторы разъезжаются, и кфлоп это видит
Повторная инициализация снимает сигнал с-он с приводов, и если портал кривой то моторы разъезжаются, и кфлоп это видит
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Правильно я понимаю?ukr-sasha писал(а):Тут может быть ещё такая ситуация, как раз на портал никах сталкивался.
Повторная инициализация снимает сигнал с-он с приводов, и если портал кривой то моторы разъезжаются, и кфлоп это видит
Я подаю S-ON:
Код: Выделить всё
SetBit(48);
SetBit(50);
SetBit(52);
SetBit(54);Код: Выделить всё
EnableAxisDest(1,ch1->Position);
EnableAxisDest(0,ch0->Position);
EnableAxisDest(2,ch2->Position);
EnableAxisDest(3,ch3->Position);Я пытался это победить. Вставлял после инициализации такой скрипт:
Код: Выделить всё
for (i=0;i<1000;i++)
{
ch0->Dest = ch0->Position;
ch1->Dest = ch1->Position;
}
При повторном нажатии E-Stop затем Init этот баг не происходит. Такое вздергивание наблюдается только после перезапуска драйверов.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2181
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Al4nse писал(а): ch0->InputChan0=0; // канал №0 входящих сигналов от датчика ОС
ch0->InputChan1=0; // второй канал для датчика ОС, резольвера например
ch0->OutputChan0=0; // канал №0 для выходящих сигналов, в нашем случае +/-10В
ch0->OutputChan1=0; // канал для подчиненной оси
ch0->MasterAxis=-1;
Попробуйте еще изменить на такие параметры:Al4nse писал(а): ch1->InputChan0=1;
ch1->InputChan1=1;
ch1->OutputChan0=1;
ch1->OutputChan1=1;
ch1->MasterAxis=0;
ch1->InputChan1=0;
ch1->OutputChan1=0;
Думаю поможет.
-
Al4nse
- Кандидат
- Сообщения: 46
- Зарегистрирован: 16 авг 2017, 09:34
- Репутация: 1
- Настоящее имя: Евгений
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Я пробовал это делать это еще в начале настройки системы. Когда ПИД настраивал. Но чего-то мне не понравилось. Попробую еще раз.
Раз уж в эту сторону дело пошло, тогда вопрос. На портале две сервы, которые движутся зеракльно. Отобразить одну можно в KFlopе параметром SlaveGain или же в самом драйвере. Как лучше? Понимаю, что математически от перестановки мест ничего не поменяется. Но всё же. Я уже проводил такой опыт. Изменений не заметил.
Раз уж в эту сторону дело пошло, тогда вопрос. На портале две сервы, которые движутся зеракльно. Отобразить одну можно в KFlopе параметром SlaveGain или же в самом драйвере. Как лучше? Понимаю, что математически от перестановки мест ничего не поменяется. Но всё же. Я уже проводил такой опыт. Изменений не заметил.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2181
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Можно и так.Al4nse писал(а):SlaveGain