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

KFlop, KStep, KAnalog, KMotion...

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

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

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

Александр_
Мастер
Сообщения: 1743
Зарегистрирован: 24 дек 2013, 17:47
Репутация: 122
Контактная информация:

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

Сообщение Александр_ »

собственно, джойстики-то найти нетрудно (кстати - резисторы в этом случае только 10КОм?). Вопрос больше в том не нужно ли будет перед тем, как двинуть ручку джойстика выбрать соответствующуу ось - это будет неудобно. Ну и второй вопрос как с подобными джойстиками и отсутствием маховичка МПГ организовать пошаговое перемещение (по сотым, десятым) - тут пока недодумал
Заходите в гости: www.pandicon.net www.graver36.ru
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Дешёвые "ардуинские" джойстики плохо работают, от радиоуправления в разы лучше.
На одном станке такой джойстик поставил на портал - можно взяться пальцами за "пимпочку" джойстика и "таскать" за неё портал весом почти 150 кг. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

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

Сообщение Predator »

UAVpilot писал(а):можно взяться пальцами за "пимпочку" джойстика и "таскать" за неё портал весом почти 150 кг.
Джойстику-то какая разница, сколько весит портал? Хоть 1500 кг :)
Александр_
Мастер
Сообщения: 1743
Зарегистрирован: 24 дек 2013, 17:47
Репутация: 122
Контактная информация:

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

Сообщение Александр_ »

хочу вот такие приделать. http://www.chipmaker.ru/uploads/monthly ... 378361.jpg
правда, они на 4,7КОм, не знаю, можно ли без замены резисторов.
спросил у Тома, ответ пока не на 100% понял.

Connecting Joystick potentiometers to KFLOP + Kanalog should be possible. But you will need a User C Program read the ADC inputs and to command Jogs.

The first step would be to connect the pots to Kanalog and observe what ADC values you see when you move the Joysticks.

Can the pots handle being connected to +10V and -10V (20V)? If they are 4.7K that would be:

V^2 / R = 10^2 / 4.7K = 21mw
Заходите в гости: www.pandicon.net www.graver36.ru
Аватара пользователя
mycnc
Мастер
Сообщения: 913
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 623
Контактная информация:

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

Сообщение mycnc »

Для промышденного исполнения и если позволяет бюджет - ставьте типа такого -
http://www.aliexpress.com/item/OM800-H5 ... eb201560_6

используем их больше 10 лет, несколько сотен машин. На ремонт возвращаются только с тяжелыми механическими повреждениями (типа после падения листа металла на пульт управления)
zudwa
Новичок
Сообщения: 14
Зарегистрирован: 31 мар 2013, 12:23
Репутация: 2
Настоящее имя: Леонид
Откуда: Королёв
Контактная информация:

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

Сообщение zudwa »

Приветствую
подскажите по настройкам кфлопа

Имеем kflop, станок 6720вф2, сервопаки yaskawa x 400вт y 400вт z 750вт, редуктора x 1:10 y 1:10 z 1:4+3:5 швп 5мм, пк Атом525 1,5гб оперативки.
В сервопаке настроен электронный редуктор задание на всех осях 0,0001мм.
Управление по степ дир (линеек нет, денег на них и на Kanalog пока тоже).

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

#include "KMotionDef.h"

// Defines axis 0, 1, 2 as simple step dir outputs
// enables them
// sets them as an xyz coordinate system for GCode

[code]int main() 
{
	ch0->InputMode=NO_INPUT_MODE;
	ch0->OutputMode=STEP_DIR_MODE;
	ch0->Vel=333333;
	ch0->Accel=2.8e+006;
	ch0->Jerk=2.8e+008;
	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=0;
	ch0->InputChan1=0;
	ch0->OutputChan0=0;
	ch0->OutputChan1=0;
	ch0->MasterAxis=-1;
	ch0->LimitSwitchOptions=0x120;
	ch0->LimitSwitchNegBit=0;
	ch0->LimitSwitchPosBit=0;
	ch0->SoftLimitPos=1e+030;
	ch0->SoftLimitNeg=-1e+030;
	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=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.000769;
	ch0->iir[2].B1=0.001538;
	ch0->iir[2].B2=0.000769;
	ch0->iir[2].A1=1.92081;
	ch0->iir[2].A2=-0.923885;
    EnableAxisDest(0,0);

	ch1->InputMode=NO_INPUT_MODE;
	ch1->OutputMode=STEP_DIR_MODE;
	ch1->Vel=333333;
	ch1->Accel=2.8e+006;
	ch1->Jerk=2.8e+008;
	ch1->P=1;
	ch1->I=0;
	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=1;
	ch1->OutputChan0=2;
	ch1->OutputChan1=3;
	ch1->MasterAxis=-1;
	ch1->LimitSwitchOptions=0x120;
	ch1->LimitSwitchNegBit=0;
	ch1->LimitSwitchPosBit=0;
	ch1->SoftLimitPos=1e+030;
	ch1->SoftLimitNeg=-1e+030;
	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=1;
	ch1->iir[2].B1=0;
	ch1->iir[2].B2=0;
	ch1->iir[2].A1=0;
	ch1->iir[2].A2=0;
    EnableAxisDest(1,0);

	ch2->InputMode=NO_INPUT_MODE;
	ch2->OutputMode=STEP_DIR_MODE;
	ch2->Vel=333333;
	ch2->Accel=2.8e+006;
	ch2->Jerk=2.8e+008;
	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=2;
	ch2->InputChan1=2;
	ch2->OutputChan0=2;
	ch2->OutputChan1=0;
	ch2->MasterAxis=-1;
	ch2->LimitSwitchOptions=0x120;
	ch2->LimitSwitchNegBit=0;
	ch2->LimitSwitchPosBit=0;
	ch2->SoftLimitPos=1e+030;
	ch2->SoftLimitNeg=-1e+030;
	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,0);

	DefineCoordSystem(0,1,2,-1);

SetBitDirection(0,1);
        for (;;)  //loop forever
   {
       WaitNextTimeSlice();
         if (ch0->Enable &&  ch1->Enable  && ch2->Enable)         
         SetBit(47);           
         else
         ClearBit(47);
    }
    return 0;
}
Х JP7-15,16 ездит отлично
Y JP7-17,18 не реагирует
Z JP7-19,20 сходит с ума

при попытке подвигать осью Y либо Z ось Z медленно ползет либо вниз либо вверх Y не шевелится вообще причем нажимаешь стоп Z останавливается
vektor_z
Мастер
Сообщения: 405
Зарегистрирован: 30 ноя 2014, 16:45
Репутация: 387
Настоящее имя: Василий
Откуда: Украина. Закарпатская обл.
Контактная информация:

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

Сообщение vektor_z »

zudwa писал(а):Х JP7-15,16 ездит отлично
Y JP7-17,18 не реагирует
Z JP7-19,20 сходит с ума
Не правильно настроены выходные каналы
Должно быть примерно так

Для оси Х

ch0->OutputChan0=0;
ch0->OutputChan1=0;

Для оси Y

ch1->OutputChan0=1;
ch1->OutputChan1=0;

Для оси Z

ch2->OutputChan0=2;
ch2->OutputChan1=0;

Или возьмите дефолтный конфигурационный файл InitStepDir3Axis и заново перенастройте, не трогая выходные каналы.
zudwa
Новичок
Сообщения: 14
Зарегистрирован: 31 мар 2013, 12:23
Репутация: 2
Настоящее имя: Леонид
Откуда: Королёв
Контактная информация:

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

Сообщение zudwa »

Спасибо, завтра буду пробовать. Пол дня копал, не заметил. Самое странное, что файл создан на основе InitStepDir3Axis.с
zudwa
Новичок
Сообщения: 14
Зарегистрирован: 31 мар 2013, 12:23
Репутация: 2
Настоящее имя: Леонид
Откуда: Королёв
Контактная информация:

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

Сообщение zudwa »

отрисовываю интерфейсную плату
на выходы осей HCPL2630 10мбит 4шт
на входы датчиков обратной связи тоже HCPL2630 6шт
на остальные входы выходы PC814 (по факту Omron EE-CF)
подскажите по подключению входов через оптопару
выход оптопар открытый коллектор, нужна подтяжка к +3.3v, какое номинал ставить? (вопрос не тривиальный его сопротивление влияет на форму сигнала)
если верить формуле Rp = (Vcc — 0.4)/3mA получается 960 ом
в мануале ничего не нашел
есть еще мысль не парить мозг и воткнуть ADUM1400 и не сношать себе мозг и скорость до 90мбит
кто что думает?
Аватара пользователя
passer-by
Кандидат
Сообщения: 74
Зарегистрирован: 18 мар 2012, 14:16
Репутация: 0
Контактная информация:

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

Сообщение passer-by »

Что означает оператор ch0-> в подобных выражениях

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

ch0->InputMode=ENCODER_MODE; 
Аватара пользователя
AlexNikov
Мастер
Сообщения: 1212
Зарегистрирован: 05 янв 2014, 20:09
Репутация: 721
Настоящее имя: Алексей
Откуда: Томск
Контактная информация:

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

Сообщение AlexNikov »

passer-by писал(а):Что означает оператор ch0-> в подобных выражениях

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

ch0->InputMode=ENCODER_MODE; 
Канал (ось) № 0 обозначает эта запись. к-флоп поддерживает 8 осей (каналов), таким образом ch0 до ch7.
Аватара пользователя
passer-by
Кандидат
Сообщения: 74
Зарегистрирован: 18 мар 2012, 14:16
Репутация: 0
Контактная информация:

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

Сообщение passer-by »

То что это имеет отношение к определенной оси понятно, само назначение оператора, почему он не используется в других примерах?
Аватара пользователя
AlexNikov
Мастер
Сообщения: 1212
Зарегистрирован: 05 янв 2014, 20:09
Репутация: 721
Настоящее имя: Алексей
Откуда: Томск
Контактная информация:

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

Сообщение AlexNikov »

passer-by писал(а):То что это имеет отношение к определенной оси понятно, само назначение оператора, почему он не используется в других примерах?
Вопрос не понятен. В каких примерах вы хотите видеть оператор ch0 ? Если это Jog(0,0), то первое значение в скобках номер оси, второй скорость движения в импульсах; если это MoveAtVel(0,PX1,25000), то первое значение в скобках номер оси, второй позиция куда едем (в импульсах относительно нуля машинного) и с какой скоростью в импульсах и так далее.
Аватара пользователя
passer-by
Кандидат
Сообщения: 74
Зарегистрирован: 18 мар 2012, 14:16
Репутация: 0
Контактная информация:

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

Сообщение passer-by »

Имелось ввиду - других примерах из папки "C Programs", данный оператор ch(номер оси) встречается только в нескольких файлах "InitStepDir3Axis", "Define Step motor 0 and move" ,"Define Axis 0 and 1 simple steppers", как происходит конфигурирование в остальных? Хотелось бы понять его назначение , а не слепо переносить из шаблона.
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

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

Сообщение Duhas »

ch0 это не оператор, а объект по идее и его полям вы присваиваете значение. по терминологии мог соврать но общий смысл такой.
Аватара пользователя
passer-by
Кандидат
Сообщения: 74
Зарегистрирован: 18 мар 2012, 14:16
Репутация: 0
Контактная информация:

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

Сообщение passer-by »

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

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

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

Попробуйте тут глянуть:
KMotionDef.h
(43.59 КБ) 981 скачивание
PC2.c
(23.53 КБ) 1004 скачивания
PC-DSP.h
(17.03 КБ) 1017 скачиваний
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

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

Сообщение Duhas »

passer-by писал(а): где-то же он должен объявляться и вообще хотелось бы найти его описание? И почему не вовсех файлах используется, там где его нет, как происходит присвоение значений параметрам конфигурации осей.
смотрите что инклудите, там и должно быть..

примеры пожалуйста где вы еще "хотите видеть" ch0 и т.д.

ПС у меня kflop вероятно скоро появится, там можно будет поподробнее поговорить
Аватара пользователя
passer-by
Кандидат
Сообщения: 74
Зарегистрирован: 18 мар 2012, 14:16
Репутация: 0
Контактная информация:

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

Сообщение passer-by »

Не очень разбираюсь в Си, правльно ли понял

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

typedef struct
{   
    int ChanNumber;                 // channel number 0-3
    int Enable;                     // enables feedback
    int InputMode;                  // sets position input mode (See Axis Input Modes)
    int OutputMode;					// sets servo/motor mode    (See Axis Output Modes)
   
}CHAN;

extern CHAN chan[N_CHANNELS];   // the axes channel related structures
extern CHAN *ch0;               // global pointer to axis 0 
extern CHAN *ch1;               // global pointer to axis 1 
extern CHAN *ch2;               // global pointer to axis 2 
extern CHAN *ch3;               // global pointer to axis 3 
extern CHAN *ch4;               // global pointer to axis 4 
extern CHAN *ch5;               // global pointer to axis 5 
extern CHAN *ch6;               // global pointer to axis 6 
extern CHAN *ch7;               // global pointer to axis 7 

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

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

Сообщение Duhas »

в общем - да, подробнее я не копенгаген )
Ответить

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