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

KFlop, KStep, KAnalog, KMotion...

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

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

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

Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

С пятницы бьюсь-бьюсь, а вопросов только больше, можно сказать на месте топчусь. Как-то все неправильно работает. Ни SGDH ни SGDS толком не могу настроить.

SGDS удалось заставить крутиться как и положено 1 оборот на 5 мм, но чувствую, что не совсем корректно я это реализовал.
Дело было так:
Еще раз сбросил все настройки на заводские. По совету Hanter проверил настройки, по умолчанию они такие:
Pn20E- 4 Electronic Gear Ratio (Numerator)
Pn210- 1 Electronic Gear Ratio (Denominator)
Pn212 - 2048 Pulse Dividing Ratio Setting
Вот только при этих параметрах она и работает корректно, то есть только при Pn212=2048 кфлоп может инициализировать ось. Соответственно и расчеты для данной оси (Cnts/Inch, ch0->Vel) из расчета 2048. Если я правильно понимаю Pn212 для энкодера 17 бит должен быть 32768 НО кфлоп не может ее взять на удержание, ось на мгновение(в момент нажатия инициализации) становится зеленой и тут же желтой.
Что делать-то может так пока оставить, вроде работает?

Больше всего сейчас беспокоит SGDH. Не могу добиться нормальной работы по G0 и по кнопке Jog fast. Ось "срывается" в процессе разгона. Эксперименты с параметрами не дают результата, хотя как я понимаю ось должна работать нормально при тех же значениях как те, что для SGDS. :thinking:
В серве настройки те же, что и в SGDS
Pn202- 4 Electronic Gear Ratio (Numerator)
Pn203- 1 Electronic Gear Ratio (Denominator)
Pn201- 2048 Pulse Dividing Ratio Setting

Пожалуйста, гляньте файлик и настройки :oops:

Код: Выделить всё

#include "KMotionDef.h"

#define QA 26	// define to which IO bits the AB signals are connected 
#define QB 27	

main()
{
	ch0->InputMode=ENCODER_MODE;
	ch0->OutputMode=DAC_SERVO_MODE;
	ch0->Vel=409600;
	ch0->Accel=409600;
	ch0->Jerk=409600;
	ch0->P=1;
	ch0->I=0.003;
	ch0->D=0;
	ch0->FFAccel=0;
	ch0->FFVel=0;
	ch0->MaxI=200;
	ch0->MaxErr=20000;
	ch0->MaxOutput=2000;
	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=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=1000;
	ch0->StepperAmplitude=100;

	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;
    
	ch1->InputMode=ENCODER_MODE;
	ch1->OutputMode=DAC_SERVO_MODE;
	ch1->Vel=100000;
	ch1->Accel=1e+006;
	ch1->Jerk=1e+007;
	ch1->P=0.7;
	ch1->I=0.003;
	ch1->D=0;
	ch1->FFAccel=0;
	ch1->FFVel=0;
	ch1->MaxI=2000;
	ch1->MaxErr=20000;
	ch1->MaxOutput=2000;
	ch1->DeadBandGain=1;
	ch1->DeadBandRange=0;
	ch1->InputChan0=1;
	ch1->InputChan1=1;
	ch1->OutputChan0=1;
	ch1->OutputChan1=1;
	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=0.00025;
	ch1->Lead=0;
	ch1->MaxFollowingError=1000;
	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;
	
	ch2->InputMode=ENCODER_MODE;
	ch2->OutputMode=DAC_SERVO_MODE;
	ch2->Vel=409600;
	ch2->Accel=409600;
	ch2->Jerk=409600;
	ch2->P=0.3;
	ch2->I=0.004;
	ch2->D=0;
	ch2->FFAccel=0;
	ch2->FFVel=0;
	ch2->MaxI=2000;
	ch2->MaxErr=20000;
	ch2->MaxOutput=2000;
	ch2->DeadBandGain=1;
	ch2->DeadBandRange=0;
	ch2->InputChan0=2;
	ch2->InputChan1=2;
	ch2->OutputChan0=2;
	ch2->OutputChan1=2;
	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=0.00025;
	ch2->Lead=0;
	ch2->MaxFollowingError=1000;
	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;

	ch3->InputMode=ENCODER_MODE;
	ch3->OutputMode=DAC_SERVO_MODE;
	ch3->Vel=409600;
	ch3->Accel=409600;
	ch3->Jerk=409600;
	ch3->P=1;
	ch3->I=0.003;
	ch3->D=0;
	ch3->FFAccel=0;
	ch3->FFVel=0;
	ch3->MaxI=2000;
	ch3->MaxErr=20000;
	ch3->MaxOutput=2000;
	ch3->DeadBandGain=1;
	ch3->DeadBandRange=0;
	ch3->InputChan0=3;
	ch3->InputChan1=2;
	ch3->OutputChan0=3;
	ch3->OutputChan1=2;
	ch3->MasterAxis=-1;
	ch3->LimitSwitchOptions=0x100;
	ch3->LimitSwitchNegBit=0;
	ch3->LimitSwitchPosBit=0;
	ch3->SoftLimitPos=1e+009;
	ch3->SoftLimitNeg=-1e+009;
	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=1000;
	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;

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


    DefineCoordSystem(0,1,2,3);
}

1.JPG (2750 просмотров) <a class='original' href='./download/file.php?id=58354&mode=view' target=_blank>Загрузить оригинал (98.97 КБ)</a>
Неважно, как быстро Ты идешь, главное- не останавливаться.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

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

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

Atom42 писал(а):   ch0->MaxI=200;
   ch0->MaxOutput=2000;
Лучше так:
 ch0->MaxI=2047;
ch0->MaxOutput=2047;
На момент настройки поставь побольше:
ch0->MaxFollowingError=100000000;
Atom42 писал(а):то есть только при Pn212=2048 кфлоп может инициализировать ось.
Не понятно. Как это??
Atom42 писал(а):Если я правильно понимаю Pn212 для энкодера 17 бит должен быть 32768 НО кфлоп не может ее взять на удержание, ось на мгновение(в момент нажатия инициализации) становится зеленой и тут же желтой.
Скорее всего по ошибке рассогласования.
Atom42 писал(а):Больше всего сейчас беспокоит SGDH. Не могу добиться нормальной работы по G0 и по кнопке Jog fast. Ось "срывается" в процессе разгона.
Скорее всего ускорения или джерк большие.
fishman
Кандидат
Сообщения: 83
Зарегистрирован: 14 сен 2015, 22:04
Репутация: 9
Контактная информация:

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

Сообщение fishman »

Доброго времени!
Ув. Знатоки подскажите пожалуйста , может ли КФЛОП работать сам без компьютера : есть фрезерный станок на котором выполняется одна и та же операция операция , рабочий все время переключает подачу вперед 10 см и назад 10 см и так весь день... так вот , есть мысль поставить сверху прямо на стол тайваньскую каретку http://www.hardy-tw.com/en/products-1_109_1.html и чтобы к флоп сам ею упралял. пришел человек утром , включил станок , установил деталь и кнопочку нажал , а он сам вперед назад ... и так весь день... ну может еще управление пневмозажимом завести...
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

ukr-sasha писал(а):
Atom42 писал(а):Больше всего сейчас беспокоит SGDH. Не могу добиться нормальной работы по G0 и по кнопке Jog fast. Ось "срывается" в процессе разгона.
Скорее всего ускорения или джерк большие.
Тут и не понятно, в том то и дело, что ускорения или джерк очень маленькие, SGDH стоит на оси Х
2.JPG (2712 просмотров) <a class='original' href='./download/file.php?id=58374&mode=view' target=_blank>Загрузить оригинал (99.95 КБ)</a>
Ускорения и джерк =5 работает по Jog fast(F показывает около 6000 мм/мин), а по команде G0 срывается. Если джерк больше 6, то и Jog fast срывается.
Другие оси при более высоких параметрах нормально работают. :wik:
Неважно, как быстро Ты идешь, главное- не останавливаться.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

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

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

А Р=1 не много?
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

ukr-sasha писал(а):А Р=1 не много?
Да вроде бы нет, но можно чуть меньше. Я пробовал с разным значением, до 0,2 вообще на удержание не встает от 0,2-0,3 она как бы сама себя раскачивает, до 1 стабильна, больше тоже плохо жужжать начинает.
ukr-sasha писал(а): Лучше так:
ch0->MaxI=2047;
ch0->MaxOutput=2047;
На момент настройки поставь побольше:
ch0->MaxFollowingError=100000000;
Характер работы поменялся, не срывается теперь :good: , но что-то еще нужно видать :wik:
Стало так:
kMotionCNC показывает скорость, например, 15000 мм/мин, но двигатель очевидно крутится намного медленнее 3000 об/мин :cry: , интересно еще и то, что в право и влево разная скорость вращения, в одну чуть быстрее чем в другую.
А еще более интересно, что когда отпускаю кнопку (стрелку Jog fast ) цифровое значение оси останавливается, а двигатель продолжает крутиться, типо он еще не дошел до нужного значения, потом останавливается. Как бы получается значение оси меняется в соответствии со скоростью подачи 15000 мм/мин, а по скольку реально двигатель крутится медленнее чем нужно, то и получается, что он позже "приходит" в нужную точку. Вот так сейчас работает.
Думал может быть опять какие нибудь редукции замешаны, но скорее всего нет, так как при пошаговом перемещении движок делает один оборот на 5 мм.
Что еще можно подкрутить? :cry:
Неважно, как быстро Ты идешь, главное- не останавливаться.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

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

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

Теперь ускорение и джог увеличивай...
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

ukr-sasha писал(а):Теперь ускорение и джог увеличивай...
Первым делом так и сделал, но что-то не так.
Неважно, как быстро Ты идешь, главное- не останавливаться.
Дмитро
Почётный участник
Почётный участник
Сообщения: 1060
Зарегистрирован: 14 сен 2013, 01:20
Репутация: 1139
Настоящее имя: Дмитрий
Откуда: Киев

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

Сообщение Дмитро »

Пример для плавного перемещения с помощью ручного маховичка - MPGSmoothAccelerate.c
Теперь движение при вращении плавное, без рывков.

Код: Выделить всё

#include "KMotionDef.h"

// Example Init program that includes "smooth" MPG motion example
// which makes use of the exponential motion command.
//
// "Accelerates" by increasing rate depending on speed of MPG Rotation

#define QA 26	// define to which IO bits the AB signals are connected 
#define QB 27	

#define TAU 0.08 // smoothness factor (Low Pass Time constant seconds)
#define FINAL_TIME 1.0 // Set final dest after this amount of time with no change

#define MPG_LOW_PASS_K 0.001f  // smaller gives more smoothing
#define MPG_ACCEL 0.01f        // bigger gives more effect

main()
{
	int BitA,Change1=0,Change2=0, DiffX2;
	int PosNoWrap, NewPos, Pos=0, wraps;
	int InMotion=FALSE,Axis,LastAxis=-1;
	double LastChangeTime=0,Target,Factor=0;
	float MPG_Vel_Filtered=0.0;
	
	ch0->InputMode=ENCODER_MODE;
	ch0->OutputMode=CL_STEP_DIR_MODE;
	ch0->Vel=10000.000000;
	ch0->Accel=60000.000000;
	ch0->Jerk=10000000.000000;
	ch0->P=0.000000;
	ch0->I=0.015000;
	ch0->D=0.000000;
	ch0->FFAccel=0.000000;
	ch0->FFVel=0.000000;
	ch0->MaxI=200.000000;
	ch0->MaxErr=200.000000;
	ch0->MaxOutput=2000.000000;
	ch0->DeadBandGain=1.000000;
	ch0->DeadBandRange=0.000000;
	ch0->InputChan0=0;
	ch0->InputChan1=0;
	ch0->OutputChan0=12;
	ch0->OutputChan1=0;
	ch0->LimitSwitchOptions=0x0;
	ch0->InputGain0=-2.500000;
	ch0->InputOffset0=0.000000;
	ch0->OutputGain=1.000000;
	ch0->OutputOffset=0.000000;
	ch0->SlaveGain=1.00000;
	ch0->BacklashMode=BACKLASH_OFF;
	ch0->BacklashAmount=0.00000;
	ch0->BacklashRate=0.00000;
	ch0->invDistPerCycle=1.000000;
	ch0->Lead=0.000000;
	ch0->MaxFollowingError=100000.000000;
	ch0->StepperAmplitude=250.000000;

	ch0->iir[0].B0=1.000000;
	ch0->iir[0].B1=0.000000;
	ch0->iir[0].B2=0.000000;
	ch0->iir[0].A1=0.000000;
	ch0->iir[0].A2=0.000000;

	ch0->iir[1].B0=1.000000;
	ch0->iir[1].B1=0.000000;
	ch0->iir[1].B2=0.000000;
	ch0->iir[1].A1=0.000000;
	ch0->iir[1].A2=0.000000;

	ch0->iir[2].B0=1.000000;
	ch0->iir[2].B1=0.000000;
	ch0->iir[2].B2=0.000000;
	ch0->iir[2].A1=0.000000;
	ch0->iir[2].A2=0.00000;
    
	
	EnableAxisDest(0,0);		

	EnableAxisDest(0,ch0->Position);
	DefineCoordSystem(0,-1,-1,-1);
	

	#define COUNTS_PER_MM 200.0
	for (;;)
	{
		if (ch0->Position < 10.0 * COUNTS_PER_MM)
			SetBit(150);
		else
			ClearBit(150);
		
		if (ch0->Position > 300.0 * COUNTS_PER_MM)
			SetBit(151);
		else
			ClearBit(151);
		


		// convert quadrature to 2 bit binary
		BitA = ReadBit(QA);   
		PosNoWrap = (ReadBit(QB) ^ BitA) | (BitA<<1);

		// Diff between expected position based on average of two prev deltas
		// and position with no wraps.  (Keep as X2 to avoid division by 2)
		
		DiffX2 = 2*(Pos-PosNoWrap) + (Change2+Change1);
		
		// Calc quadrature wraparounds to bring Diff nearest zero
		// offset by 128 wraps to avoid requiring floor()
		wraps = ((DiffX2+1028)>>3)-128;
		
		// factor in the quadrature wraparounds
		NewPos = PosNoWrap + (wraps<<2);

		Change2 = Change1;
		Change1 = NewPos - Pos;
		Pos = NewPos;
		
		MPG_Vel_Filtered = Change1 * MPG_LOW_PASS_K + MPG_Vel_Filtered * (1.0f-MPG_LOW_PASS_K);

		if (ReadBit(33))  // is X0.01 selected?
			Factor = 0.01;
		else if (ReadBit(34))  // is X0.1 selected?
			Factor = 0.1;
		else if (ReadBit(31))  // is X1 selected?
			Factor = 1.0;
		else if (ReadBit(32))  // is X100 selected?
			Factor = 75.0;
		else                   // must be X10 then
			Factor = 10.0;

		if (ReadBit(28))  // is x selected?
			Axis=0;
		else if (ReadBit(29))  // is y selected?
			Axis=1;
		else if (ReadBit(30))  // is z selected?
			Axis=2;

		// check if the Axis just changed or we have been 
		// converging to the target for a long time
		if (Axis != LastAxis || 
			(InMotion && Time_sec() > LastChangeTime+FINAL_TIME))
		{
			if (InMotion)
				Move(LastAxis,Target);  //finalize any motion
	
			LastAxis = Axis;
			InMotion = FALSE;
		}
		
		if (Change1) // did we move?
		{
			if (!InMotion) Target = chan[Axis].Dest;
			Target += Change1 * Factor * (1.0+MPG_ACCEL*fast_fabs(MPG_Vel_Filtered));
			MoveExp(Axis,Target,TAU);  // note: contains a WaitNextTimeSlice
			LastChangeTime = Time_sec();
			InMotion=TRUE;
		}
		else
		{
			WaitNextTimeSlice();
		}		
	}	

    return 0;
}

Пример для подъема по Z на безопасное расстояния при отключения шпинделя или остановке программы (полезно для фрезеров) - SafeZ_SpindleOff.c

Код: Выделить всё

#include "KMotionDef.h"

#define SPINDLE_BIT 46
#define ZAXIS 2
#define SAFE_Z_HEIGHT 10000.0

main()
{
	if (ReadBit(SPINDLE_BIT)) // only move up if Spindle was on
	{
		ClearBit(SPINDLE_BIT);   //spindle off
		Move(ZAXIS,SAFE_Z_HEIGHT);
		while (!CheckDone(ZAXIS));
		printf("SafeZ\n");
	}
}

В версии 4.33q исправлена перезагрузка kflop в консоли, теперь не нужно отключать питание.
Добавлено несколько полезных функций для токарного режима.
Ускоренное перемещение можно установить как рабочая подача, или же регулировать отдельно (чего раньше не хватало).
И, еще несколько полезный настроек :good:
kflop_new3.jpg (2635 просмотров) <a class='original' href='./download/file.php?id=58419&mode=view' target=_blank>Загрузить оригинал (339.61 КБ)</a>
kflop_new.jpg (2636 просмотров) <a class='original' href='./download/file.php?id=58417&mode=view' target=_blank>Загрузить оригинал (303.81 КБ)</a>
kflop_new2.jpg (2636 просмотров) <a class='original' href='./download/file.php?id=58418&mode=view' target=_blank>Загрузить оригинал (194.9 КБ)</a>
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

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

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

Atom42 писал(а):kMotionCNC показывает скорость, например, 15000 мм/мин, но двигатель очевидно крутится намного медленнее 3000 об/мин
Как это?
Энкодер заведен в кфлоп?
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

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

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

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

Atom42 писал(а):Энкодер заведен в кфлоп!
Atom42 писал(а):kMotionCNC показывает скорость, например, 15000 мм/мин, но двигатель очевидно крутится намного медленнее 3000 об/мин
Такое возможно в трех случаях:
- количество импульсов из сервы неправильно настроено;
- количество имп/дюйм в КмоушнСНС неверно указано
- или всё вместе.
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

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

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

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

Atom42 писал(а):Pn202- 4 Electronic Gear Ratio (Numerator)
Ставь в 1-цу
И 41615,36 имп/дюйм тоже измени в 4 раза.
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

В обед смотаюсь с работы в гараж, попробую. Спасибо!
Тут еще кое что нарыл, попробую, если результат будет расскажу, а то мои изыскания, в этой области, как правило ни очем :hehehe: .
Неважно, как быстро Ты идешь, главное- не останавливаться.
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

ukr-sasha писал(а):Ставь в 1-цуИ 41615,36 имп/дюйм тоже измени в 4 раза.
:cry:
Ничего хорошего не получилось... При шаговом перемещении 4 оборота стало на 5мм :) и все. А, и по jog fast дергается на месте... но не крутится.
Atom42 писал(а):Тут еще кое что нарыл, попробую, если результат будет расскажу, а то мои изыскания, в этой области, как правило ни очем .
Результата не дало, но все равно раскажу:
Параметр Pn300 по умолчанию стоит 600 (как я понимаю 6В)
В Омроновском мануале написано, что 10В значение равно 1000.
Безымянный.jpg (2559 просмотров) <a class='original' href='./download/file.php?id=58460&mode=view' target=_blank>Загрузить оригинал (63.44 КБ)</a>
Решил я померить мультиметром напряжение на выходе из кфлопа при команде G0
На проблемном ch0 1,7В, когда на нармально рабочих осях при G0 6В :wik:
Может кфлоп чего тупит?
Может быть фазы энкодера напутано, хотя наверное кфлоп не инициализировал бы ось?
Неважно, как быстро Ты идешь, главное- не останавливаться.
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2181
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

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

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

Подай из консоли на выход вручную разные напряжения и посмотри реакцию сервы.
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

ukr-sasha писал(а):Подай из консоли на выход вручную разные напряжения и посмотри реакцию сервы.
Саша, огромное спасибо тебе за помощь, я так и сделал как только добрался.
Если одним словом, то "ВЫЛЕЧИЛ" недуг, если можно это так назвать. Дело было не в настройках...
Подключал я разные батарейки, прикол был в том, что постепенно падали обороты сервы, как будто батарейка садится постепенно. Думаю-что за нафиг ну не должно такого быть, причем от кроны 1400 оборотов и потом постепенно до 400 сползают. Решил подключить блок питания которым кфлоп питаю, 5В нашел, подключил, а серва вроде как ожила прям такая :)
И вдруг знакомый запах (в своей теме писал о подключении шнура к CN3 :hehehe: ), сразу вспомнил
Сергей Саныч писал(а):
Atom42 писал(а):я уже не ищу решений по этому вопросу
Хороший дым наружу выйдет :) (c)народное
Понятное дело все вырубил, отключил блок питания, включил привод и с батарейкой к нему :) , а он нормально так крутится. Думаю ну нужно привод разбирать и смотреть. что там так воняет. Открутил CN1 разглядываю и понимаю, что воняет от разъема со шнуром а не из привода. На вид все нормально, разобрал разъем, там с виду тоже все целое как и было, а запах то есть. Начал прозванивать и вот вам причина- 5 пин vref накоротко с пинами 2,3,4, вот так вот :pssdoff: Не нужные(2,3,4) пины я выдернул как не нужные :oops:
Теперь все работает как нужно и с кфлопом в том числе :cheesy: :good:

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

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

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

Может и порт целый?
Аватара пользователя
Atom42
Мастер
Сообщения: 721
Зарегистрирован: 07 июл 2014, 11:55
Репутация: 286
Настоящее имя: Денис
Откуда: Кемерово
Контактная информация:

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

Сообщение Atom42 »

ukr-sasha писал(а):Может и порт целый?
Может и целый, но я уже что-то боюсь экспериментировать.
Неважно, как быстро Ты идешь, главное- не останавливаться.
Ответить

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