Сегодня проверил код, не работает условие. То есть хоть включен бит хоть выключен все равно включается задержка. Можно как то изменить код чтоб работало условие, а то когда выключен двигатель и включаю муфту то непонятно включил я её или нет, жду 5 сек чтоб убедится включилась или нет..ukr-sasha писал(а):Всё верно.vektor_z писал(а):Я правильно понял выполнение предоставленного вами кода?
Ввод в эксплуатацию ЧПУ системы на основе контроллера Kflop.
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Я конечно не специалист в кфлопе, но
Вместо SetBit(27) должна быть функция проверки состояния, так?ukr-sasha писал(а):if ( SetBit(27) )
{
ClearBit(27);
Delay_sec(5.0);
}
SetBit(28);
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Да, скорее всего: ReadBit.PKM писал(а):Вместо SetBit(27) должна быть функция проверки состояния, так?
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Вот это другое дело Работает как швейцарские часыPKM писал(а):Я конечно не специалист в кфлопе, ноВместо SetBit(27) должна быть функция проверки состояния, так?ukr-sasha писал(а):if ( SetBit(27) )
{
ClearBit(27);
Delay_sec(5.0);
}
SetBit(28);
Всем огромное спасибо за помощь!!!
Р.S. Наверное в ближайшее будущее займусь изучением языка Си+ )..
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
И я его не знаю. Мне бы тоже заняться изучением....vektor_z писал(а):Р.S. Наверное в ближайшее будущее займусь изучением языка Си+ )..
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Да... темный лес и для меня. Только по примеру могу чего-то написать.
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Помогите правильно настроить скорости и ускорения, а то я уже запарился. Как я понял в конфигурационном файле выставляются мах скорости для G0, в настройках КМоушин Axis parametrs -мах скорость для G1, а в Jog speeds - мах скорость для ручных переездов. Никак не могу правильно настроить все три скорости, если по G0 и ручным переездам вроде все нормально ездит, то G1 очень медленно, если увеличиваю скорость G1, то G0 улетает в космос и соответственно драйвер уходит в защиту.. Какие примерно должны быть значения скорости и ускорения в конфигурационном фале и в настройках Axis parametrs, если по ХYZ стоят ШВП 10мм, по оси А редуктор 1:50, по оси В редукция 1:58 и на всех осях стоит дробление шага 1/8.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Выложите скриншот настроек...
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Код: Выделить всё
#include "KMotionDef.h"
#define QA 26 // define to which IO bits the AB signals are connected
#define QB 27
main()
{
ch0->InputMode=NO_INPUT_MODE;
ch0->OutputMode=STEP_DIR_MODE;
ch0->Vel=25000;
ch0->Accel=1000000;
ch0->Jerk=1000000;
ch0->P=1;
ch0->I=0;
ch0->D=0;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=200;
ch0->MaxErr=1e+006;
ch0->MaxOutput=200;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=4;
ch0->InputChan1=0;
ch0->OutputChan0=4;
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=1;
ch0->Lead=0;
ch0->MaxFollowingError=100000;
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;
EnableAxisDest(0,ch0->Dest);
ch1->InputMode=NO_INPUT_MODE;
ch1->OutputMode=STEP_DIR_MODE;
ch1->Vel=25000;
ch1->Accel=1000000;
ch1->Jerk=1000000;
ch1->P=1;
ch1->I=0;
ch1->D=0;
ch1->FFAccel=0;
ch1->FFVel=0;
ch1->MaxI=600000;
ch1->MaxErr=1e+006;
ch1->MaxOutput=600000;
ch1->DeadBandGain=1;
ch1->DeadBandRange=0;
ch1->InputChan0=5;
ch1->InputChan1=0;
ch1->OutputChan0=5;
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;
EnableAxisDest(1,ch1->Dest);
ch2->InputMode=NO_INPUT_MODE;
ch2->OutputMode=STEP_DIR_MODE;
ch2->Vel=25000;
ch2->Accel=1000000;
ch2->Jerk=1000000;
ch2->P=1;
ch2->I=0;
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=6;
ch2->InputChan1=0;
ch2->OutputChan0=6;
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;
EnableAxisDest(2,ch2->Dest);
ch3->InputMode=NO_INPUT_MODE;
ch3->OutputMode=STEP_DIR_MODE;
ch3->Vel=25000;
ch3->Accel=1000000;
ch3->Jerk=1000000;
ch3->P=1;
ch3->I=0;
ch3->D=0;
ch3->FFAccel=0;
ch3->FFVel=0;
ch3->MaxI=200;
ch3->MaxErr=1e+006;
ch3->MaxOutput=200;
ch3->DeadBandGain=1;
ch3->DeadBandRange=0;
ch3->InputChan0=7;
ch3->InputChan1=0;
ch3->OutputChan0=7;
ch3->OutputChan1=0;
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=1;
ch3->Lead=0;
ch3->MaxFollowingError=1000000000;
ch3->StepperAmplitude=20;
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=0.000769;
ch3->iir[2].B1=0.001538;
ch3->iir[2].B2=0.000769;
ch3->iir[2].A1=1.92081;
ch3->iir[2].A2=-0.923885;
EnableAxisDest(3,ch3->Dest);
ch4->InputMode=NO_INPUT_MODE;
ch4->OutputMode=STEP_DIR_MODE;
ch4->Vel=25000;
ch4->Accel=1000000;
ch4->Jerk=1000000;
ch4->P=1;
ch4->I=0;
ch4->D=0;
ch4->FFAccel=0;
ch4->FFVel=0;
ch4->MaxI=200;
ch4->MaxErr=1e+006;
ch4->MaxOutput=200;
ch4->DeadBandGain=1;
ch4->DeadBandRange=0;
ch4->InputChan0=3;
ch4->InputChan1=0;
ch4->OutputChan0=3;
ch4->OutputChan1=0;
ch4->MasterAxis=-1;
ch4->LimitSwitchOptions=0x100;
ch4->LimitSwitchNegBit=0;
ch4->LimitSwitchPosBit=0;
ch4->SoftLimitPos=1e+009;
ch4->SoftLimitNeg=-1e+009;
ch4->InputGain0=1;
ch4->InputGain1=1;
ch4->InputOffset0=0;
ch4->InputOffset1=0;
ch4->OutputGain=1;
ch4->OutputOffset=0;
ch4->SlaveGain=1;
ch4->BacklashMode=BACKLASH_OFF;
ch4->BacklashAmount=0;
ch4->BacklashRate=0;
ch4->invDistPerCycle=1;
ch4->Lead=0;
ch4->MaxFollowingError=1000000000;
ch4->StepperAmplitude=20;
ch4->iir[0].B0=1;
ch4->iir[0].B1=0;
ch4->iir[0].B2=0;
ch4->iir[0].A1=0;
ch4->iir[0].A2=0;
ch4->iir[1].B0=1;
ch4->iir[1].B1=0;
ch4->iir[1].B2=0;
ch4->iir[1].A1=0;
ch4->iir[1].A2=0;
ch4->iir[2].B0=0.000769;
ch4->iir[2].B1=0.001538;
ch4->iir[2].B2=0.000769;
ch4->iir[2].A1=1.92081;
ch4->iir[2].A2=-0.923885;
EnableAxisDest(4,ch4->Dest);
DefineCoordSystem6(0,1,2,3,4,-1);
SetBitDirection(29,1); //set as output
SetBitDirection(30,1); //set as output
SetBitDirection(31,1); //set as output
SetBitDirection(33,1); //set as output
return 0;
}
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Василий, скажу так "хотелки" по скрости у вас ого-го!
А если серьезо, попробуйте посчитать, как я писал в сообщении №3 этой темы.
Если не получится, то обращайтесь.
А если серьезо, попробуйте посчитать, как я писал в сообщении №3 этой темы.
Если не получится, то обращайтесь.
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Дак, а что там ого-го? Вроде скромные хотелки, по расчетам получается около 10 метров/мин. Если в МДИ вводить то вроде все норм, а вот по программе иногда выкидывает фокусы. А так как раз по вашей инструкции и настаивал. Спасибо за статью, очень помогла)
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
vektor_z писал(а):Дак, а что там ого-го?
Код: Выделить всё
ch0->Accel=1000000;
ch0->Jerk=1000000;
И скорость 10дюймов/сек = 15 м/мин
Как по мне многовато для шаговика.
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Ну не 10, а больше 15.vektor_z писал(а):Дак, а что там ого-го? Вроде скромные хотелки, по расчетам получается около 10 метров/мин.
Ну, ускорение то еще нормальное, если механика позволяет, а вот скорость для шаговика, конечно, интересная, хотелось бы видео посмотреть.ukr-sasha писал(а):И ускорение 15 дюймов/сек2= 381мм/сек2
И скорость 10дюймов/сек = 15 м/мин
Как по мне многовато для шаговика.
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Походу я чего то не понимаю... Шаг ШВП 10мм, микрошаг 1/8 и того имеем 200*8/10=160*25,4=4064 импульс/дюйм, далее макс скорость G0 в конфиг. файле Vel=25000; - 25000/4064*25,4*60= 9375мм/мин, эт я про G0 так как фокусы со скоростью как раз на холостых и получаются... Может с ускорениями чуть перемудрил, но если уменьшаю, то как то вяло двигается ось. Мах разгоняются линейные оси до 15000мм/мин, но уменьшил до 10000, так как очень резво двигается, не успеваю за ним проследить...michael-yurov писал(а):Ну не 10, а больше 15.vektor_z писал(а):Дак, а что там ого-го? Вроде скромные хотелки, по расчетам получается около 10 метров/мин.
После завтра буду на работе, попробую заснять видео.ukr-sasha писал(а):И ускорение 15 дюймов/сек2= 381мм/сек2
И скорость 10дюймов/сек = 15 м/мин
Как по мне многовато для шаговика.
Ну, ускорение то еще нормальное, если механика позволяет, а вот скорость для шаговика, конечно, интересная, хотелось бы видео посмотреть.
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Моторы какие у вас?
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Мы говорим про то, что в KMotionCNC задано 10 дюймов в секунду, это 15240 мм/мин.
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Я так и понял, но в KMotionCNC выставляются G1 скорости, которые я в G коде выставляю 5-8м/мин, а в настройках как с начала выставил так и забыл изменить...michael-yurov писал(а):Мы говорим про то, что в KMotionCNC задано 10 дюймов в секунду, это 15 240 мм/мин.
http://cnc.prom.ua/p4057603-shagovyj-dvigatel-85nm.htmlukr-sasha писал(а):Моторы какие у вас?
- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
На ваш мотор не нашел график скорости/момента, но у аналогичного двигателя, уже на 10 000имп/сек момент меньше 10%. А на 25000 имп/сек тогда что?
http://darxton.ru/files/pdf/steppermotor/ST86-114.pdf
http://darxton.ru/files/pdf/steppermotor/ST86-114.pdf
-
- Мастер
- Сообщения: 405
- Зарегистрирован: 30 ноя 2014, 16:45
- Репутация: 387
- Настоящее имя: Василий
- Откуда: Украина. Закарпатская обл.
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
ukr-sasha писал(а):На ваш мотор не нашел график скорости/момента, но у аналогичного двигателя, уже на 10 000имп/сек момент меньше 10%. А на 25000 имп/сек тогда что?
http://darxton.ru/files/pdf/steppermotor/ST86-114.pdf
По законам физики шмель летать не должен, но он об этом не знает и всё равно летает
Не знаю, или аналогичный двигатель совсем не такой как у меня, или вы в чем то просчитались, но мой двигатель вполне себе уверенно вращается на этих скоростях. Наверное Кфлоп и драйвера Leadshine EM806 с питанием 70В справляются со своей задачей выжимать из двигателя все..- ukr-sasha
- Мастер
- Сообщения: 3401
- Зарегистрирован: 21 мар 2011, 07:47
- Репутация: 2180
- Настоящее имя: Украинец Александр Григорьевич
- Откуда: Киев, Украина
- Контактная информация:
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Я же не против.vektor_z писал(а):Наверное Кфлоп и драйвера Leadshine EM806 с питанием 70В справляются со своей задачей выжимать из двигателя все..
По вопросу: уменьшите скорость и ускорение, а потом постепенно добавляйте.
И еще, мне не понятно, как увеличение параметров по G1 влияют на G0?