Страница 38 из 70
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 06:50
ukr-sasha
robinnn писал(а):Без подключения к плате вал двигателя крутиться с малой частотой, но при подключении платы идут сильные вибрации.
Ненастроенный офсет.
Ненастроеный ПИД.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 09:42
N1X
Скорее второе... Нормально настроенный ПИД скомпенсирует ненастроенный оффсет... Во всяком случае на всех старых станках с аналоговыми приводами у нас оси ползут без ОС, а с замкнутой ОС замечательно держат позицию...
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 09:47
Duhas
скомпенсирует то да, но оффсет как был не настроен так таковым и останется )
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 09:50
N1X
Так это ни на что не влияет, если конечно смещение не пол диапазона задания...
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 09:53
Duhas
но и пользы не принесет, а скорее легкий, практически не заметный вред в виде ненулевого значения интергратора.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 10:50
robinnn
ukr-sasha писал(а):Ненастроеный ПИД.
Пока настраиваю, но изменения в пределах 0,00001 - 0,1 особо ничего не меняют.
Режим enable включаю замыкая контакты на усилителе (так изначально было на старых усилителях), так можно делать или лучше выводить на плату?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 12:55
ukr-sasha
robinnn писал(а): лучше выводить на плату

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 15:01
Serg
Duhas писал(а):но и пользы не принесет, а скорее легкий, практически не заметный вред в виде ненулевого значения интергратора.
Ненастроенный оффсет влияет только на максимальную скорость привода - в одну сторону она будет больше, чем другую. А т.к. максимальная скорость редко когда используется, то можно считать, не не влияет ни на что. Проверено на практике на множестве разных приводов.
Это примерно как удержание на месте оси Z от сползания под собственным весом - когда ось неподвижна у интегратора ненулевое значение.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 22:02
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);
}
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 22:11
N1X
Измерительная система правильно все считает? Может не в ту сторону?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 22:16
ukr-sasha
N1X писал(а):Измерительная система правильно все считает? Может не в ту сторону?
В точку!
Развернуть сигнал энкодера.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 22:38
robinnn
ukr-sasha писал(а):Развернуть сигнал энкодера.
Переключить провода или в настройках поменять? Если к плате не подключать двигатель и енкодер, тоже должно быть такое наростание напряжения на выходах?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 22:42
ukr-sasha
robinnn писал(а):Переключить провода или в настройках поменять? Если к плате не подключать двигатель и енкодер, тоже должно быть такое наростание напряжения на выходах?
Без разницы.
Механизм происходящего прост: кфлоп получает задание от вас, и выдает сигнал на привод, но так как отсчет по энкодеру идет с обратным знаком, то увеличивается ошибка рассогласования позиции, и кфлоп чтобы ее компенсировать, добавляет еще задание(напряжение) на привод, и так по возрастающей....
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 09 авг 2016, 23:31
robinnn
Провел небольшой тест. Подключил только плату (двигателей и энкодеров не подключал), при включении на выходе появляется питание 0,03в, так должно быть?
Когда ось находиться в позиции "0", напряжение на выходе не меняется, при даже небольшом отклонении в + или - по координате появляется напряжение (около 9,8В) и не уменьшается. При прохождении нуля и изменения координаты в обратную сторону, меняется знак напряжения. Это нормальная работа? Я думал, что напряжение будет расти по времени при перемещении по координате, а при остановке перемещения должно стать равным нулю? Или без энкодеров двигатель будет крутиться постоянно?
В программе Step Response при подаче Step сигнала тоже вольтаж поднимается и все, а разме не должен быть аналогичным к степ сигналу?
Еще вопрос если энкодер имеет каналы А, В, А-,В- и индекс каналы Z, Z+. Как тогда подключать к Kanakog ? индекс каналы Z, Z+ не используются?
Понимаю что много вопросов, но охота разобрать что к чему.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 авг 2016, 05:40
ukr-sasha
У вас не подключен Энкодер.
Соответственно кфлоп видит ошибку.
И дальше, как я написал выше.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 авг 2016, 06:27
Duhas
в настройке оси уменьшите P до 0.01, остальное в 0, а также можно ограничить выход до 1 вольта, например, чтобы у вас привод сильно не колбасило в процессе настройки.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 авг 2016, 09:53
robinnn
Всем огромнейшее спасибо за помощь.
При включении платы на выходе появляется питание 0,03в, так должно быть?
Если энкодер имеет каналы А, В, А-,В- и индекс каналы Z, Z+. Как тогда подключать к Kanakog ? индекс каналы Z, Z+ не используются?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 авг 2016, 10:09
ukr-sasha
robinnn писал(а):При включении платы на выходе появляется питание 0,03в, так должно быть?
Если энкодер имеет каналы А, В, А-,В- и индекс каналы Z, Z+. Как тогда подключать к Kanakog ? индекс каналы Z, Z+ не используются?
Да.
На другой свободный вход индекс подключайте.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 авг 2016, 10:24
Duhas
в моем случае каналы 0-3 используются для AB каналов энкодеров, а на 4-7 повешены индексы
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 авг 2016, 11:08
N1X
0,03В это нормально, просто смещение выходного буфера... Т.е. так и должно быть...