Ввод в эксплуатацию ЧПУ системы на основе контроллера Kflop.

KFlop, KStep, KAnalog, KMotion...

Имеете ли вы контроллер Kflop? :-)

Можно выбрать до 1 варианта ответа

 
 
Результаты голосования

Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение ukr-sasha »

robinnn писал(а):Без подключения к плате вал двигателя крутиться с малой частотой, но при подключении платы идут сильные вибрации.
Ненастроенный офсет.
Ненастроеный ПИД.
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение N1X »

Скорее второе... Нормально настроенный ПИД скомпенсирует ненастроенный оффсет... Во всяком случае на всех старых станках с аналоговыми приводами у нас оси ползут без ОС, а с замкнутой ОС замечательно держат позицию...
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение Duhas »

скомпенсирует то да, но оффсет как был не настроен так таковым и останется )
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение N1X »

Так это ни на что не влияет, если конечно смещение не пол диапазона задания...
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение Duhas »

но и пользы не принесет, а скорее легкий, практически не заметный вред в виде ненулевого значения интергратора.
robinnn
Кандидат
Сообщения: 46
Зарегистрирован: 02 фев 2014, 01:44
Репутация: 0
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение robinnn »

ukr-sasha писал(а):Ненастроеный ПИД.
Пока настраиваю, но изменения в пределах 0,00001 - 0,1 особо ничего не меняют.
Режим enable включаю замыкая контакты на усилителе (так изначально было на старых усилителях), так можно делать или лучше выводить на плату?
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение ukr-sasha »

robinnn писал(а): лучше выводить на плату
:good:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение Serg »

Duhas писал(а):но и пользы не принесет, а скорее легкий, практически не заметный вред в виде ненулевого значения интергратора.
Ненастроенный оффсет влияет только на максимальную скорость привода - в одну сторону она будет больше, чем другую. А т.к. максимальная скорость редко когда используется, то можно считать, не не влияет ни на что. Проверено на практике на множестве разных приводов.
Это примерно как удержание на месте оси Z от сползания под собственным весом - когда ось неподвижна у интегратора ненулевое значение.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
robinnn
Кандидат
Сообщения: 46
Зарегистрирован: 02 фев 2014, 01:44
Репутация: 0
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение robinnn »

Решил запустить управление двигателями от батареек. Работали нормально, после этого вибрации вроде пропали.
Но двигатель при перемещении в ручном режиме набирает максимальные обороты, не зависимо от того на сколько "передвигать" ось.
Если двигать в обратном направлении, то для изменения вращения в другую сторону нужно пройти в ручном режиме за ноль оси и на много. Подключил к выходным каналам тестер и заметил, что даже без нажатие кнопок управления есть напряжение 0,03В и соответственно вал двигателя медленно крутиться. При нажатии стрелки напряжение растет сразу и до максимума указанного в настройках. Где копать?

Если в настройках KMotion не ставить галочку на против кАналог на что это повлияет?
настройки ниже
(для просмотра содержимого нажмите на ссылку)
#include "KMotionDef.h"

main()
{
int BitA,Change1=0,Change2=0, DiffX2;
int PosNoWrap, NewPos, Pos=0, wraps;
double Factor=0;

SetBit(152);
SetBit(157);
SetBit(158);

ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=86666;
ch0->Accel=86666;
ch0->Jerk=86666;
ch0->P=0;
ch0->I=0.015;
ch0->D=0;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=2047;
ch0->MaxErr=1e+006;
ch0->MaxOutput=2047;
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+009;
ch0->SoftLimitNeg=-1e+009;
ch0->InputGain0=1;
ch0->InputGain1=1;
ch0->InputOffset0=0;
ch0->InputOffset1=0;
ch0->OutputGain=2;
ch0->OutputOffset=0;
ch0->SlaveGain=1;
ch0->BacklashMode=BACKLASH_OFF;
ch0->BacklashAmount=0;
ch0->BacklashRate=0;
ch0->invDistPerCycle=1;
ch0->Lead=0;
ch0->MaxFollowingError=1000000000;
ch0->StepperAmplitude=20;

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;

ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=40000;
ch1->Accel=400000;
ch1->Jerk=4e+006;
ch1->P=0;
ch1->I=0.01;
ch1->D=0;
ch1->FFAccel=0;
ch1->FFVel=0;
ch1->MaxI=200;
ch1->MaxErr=1e+006;
ch1->MaxOutput=200;
ch1->DeadBandGain=1;
ch1->DeadBandRange=0;
ch1->InputChan0=1;
ch1->InputChan1=0;
ch1->OutputChan0=1;
ch1->OutputChan1=0;
ch1->MasterAxis=-1;
ch1->LimitSwitchOptions=0x100;
ch1->LimitSwitchNegBit=0;
ch1->LimitSwitchPosBit=0;
ch1->SoftLimitPos=1e+009;
ch1->SoftLimitNeg=-1e+009;
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=1;
ch1->Lead=0;
ch1->MaxFollowingError=1000000000;
ch1->StepperAmplitude=20;

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=0.000769;
ch1->iir[2].B1=0.001538;
ch1->iir[2].B2=0.000769;
ch1->iir[2].A1=1.92081;
ch1->iir[2].A2=-0.923885;

ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=40000;
ch2->Accel=400000;
ch2->Jerk=4e+006;
ch2->P=0;
ch2->I=0.01;
ch2->D=0;
ch2->FFAccel=0;
ch2->FFVel=0;
ch2->MaxI=200;
ch2->MaxErr=1e+006;
ch2->MaxOutput=200;
ch2->DeadBandGain=1;
ch2->DeadBandRange=0;
ch2->InputChan0=2;
ch2->InputChan1=0;
ch2->OutputChan0=2;
ch2->OutputChan1=0;
ch2->MasterAxis=-1;
ch2->LimitSwitchOptions=0x100;
ch2->LimitSwitchNegBit=0;
ch2->LimitSwitchPosBit=0;
ch2->SoftLimitPos=1e+009;
ch2->SoftLimitNeg=-1e+009;
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=1;
ch2->Lead=0;
ch2->MaxFollowingError=1000000000;
ch2->StepperAmplitude=20;

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=0.000769;
ch2->iir[2].B1=0.001538;
ch2->iir[2].B2=0.000769;
ch2->iir[2].A1=1.92081;
ch2->iir[2].A2=-0.923885;

EnableAxis(0);
EnableAxis(1);
EnableAxis(2);

DefineCoordSystem(0,1,-1,-1);
}
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение N1X »

Измерительная система правильно все считает? Может не в ту сторону?
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение ukr-sasha »

N1X писал(а):Измерительная система правильно все считает? Может не в ту сторону?
В точку!
Развернуть сигнал энкодера.
robinnn
Кандидат
Сообщения: 46
Зарегистрирован: 02 фев 2014, 01:44
Репутация: 0
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение robinnn »

ukr-sasha писал(а):Развернуть сигнал энкодера.
Переключить провода или в настройках поменять? Если к плате не подключать двигатель и енкодер, тоже должно быть такое наростание напряжения на выходах?
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение ukr-sasha »

robinnn писал(а):Переключить провода или в настройках поменять? Если к плате не подключать двигатель и енкодер, тоже должно быть такое наростание напряжения на выходах?
Без разницы.
Механизм происходящего прост: кфлоп получает задание от вас, и выдает сигнал на привод, но так как отсчет по энкодеру идет с обратным знаком, то увеличивается ошибка рассогласования позиции, и кфлоп чтобы ее компенсировать, добавляет еще задание(напряжение) на привод, и так по возрастающей....
robinnn
Кандидат
Сообщения: 46
Зарегистрирован: 02 фев 2014, 01:44
Репутация: 0
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение robinnn »

Провел небольшой тест. Подключил только плату (двигателей и энкодеров не подключал), при включении на выходе появляется питание 0,03в, так должно быть?
Когда ось находиться в позиции "0", напряжение на выходе не меняется, при даже небольшом отклонении в + или - по координате появляется напряжение (около 9,8В) и не уменьшается. При прохождении нуля и изменения координаты в обратную сторону, меняется знак напряжения. Это нормальная работа? Я думал, что напряжение будет расти по времени при перемещении по координате, а при остановке перемещения должно стать равным нулю? Или без энкодеров двигатель будет крутиться постоянно?
В программе Step Response при подаче Step сигнала тоже вольтаж поднимается и все, а разме не должен быть аналогичным к степ сигналу?
Еще вопрос если энкодер имеет каналы А, В, А-,В- и индекс каналы Z, Z+. Как тогда подключать к Kanakog ? индекс каналы Z, Z+ не используются?
Понимаю что много вопросов, но охота разобрать что к чему.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение ukr-sasha »

У вас не подключен Энкодер.
Соответственно кфлоп видит ошибку.
И дальше, как я написал выше.
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение Duhas »

в настройке оси уменьшите P до 0.01, остальное в 0, а также можно ограничить выход до 1 вольта, например, чтобы у вас привод сильно не колбасило в процессе настройки.
robinnn
Кандидат
Сообщения: 46
Зарегистрирован: 02 фев 2014, 01:44
Репутация: 0
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение robinnn »

Всем огромнейшее спасибо за помощь.
При включении платы на выходе появляется питание 0,03в, так должно быть?
Если энкодер имеет каналы А, В, А-,В- и индекс каналы Z, Z+. Как тогда подключать к Kanakog ? индекс каналы Z, Z+ не используются?
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение ukr-sasha »

robinnn писал(а):При включении платы на выходе появляется питание 0,03в, так должно быть?
Если энкодер имеет каналы А, В, А-,В- и индекс каналы Z, Z+. Как тогда подключать к Kanakog ? индекс каналы Z, Z+ не используются?
Да.
На другой свободный вход индекс подключайте.
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение Duhas »

в моем случае каналы 0-3 используются для AB каналов энкодеров, а на 4-7 повешены индексы
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf

Сообщение N1X »

0,03В это нормально, просто смещение выходного буфера... Т.е. так и должно быть...
Ответить

Вернуться в «KFlop»