Страница 29 из 70

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

Добавлено: 03 янв 2016, 13:55
Александр_
собственно, джойстики-то найти нетрудно (кстати - резисторы в этом случае только 10КОм?). Вопрос больше в том не нужно ли будет перед тем, как двинуть ручку джойстика выбрать соответствующуу ось - это будет неудобно. Ну и второй вопрос как с подобными джойстиками и отсутствием маховичка МПГ организовать пошаговое перемещение (по сотым, десятым) - тут пока недодумал

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

Добавлено: 03 янв 2016, 17:41
Serg
Дешёвые "ардуинские" джойстики плохо работают, от радиоуправления в разы лучше.
На одном станке такой джойстик поставил на портал - можно взяться пальцами за "пимпочку" джойстика и "таскать" за неё портал весом почти 150 кг. :)

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

Добавлено: 03 янв 2016, 21:56
Predator
UAVpilot писал(а):можно взяться пальцами за "пимпочку" джойстика и "таскать" за неё портал весом почти 150 кг.
Джойстику-то какая разница, сколько весит портал? Хоть 1500 кг :)

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

Добавлено: 03 янв 2016, 22:08
Александр_
хочу вот такие приделать. 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

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

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

используем их больше 10 лет, несколько сотен машин. На ремонт возвращаются только с тяжелыми механическими повреждениями (типа после падения листа металла на пульт управления)

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

Добавлено: 13 янв 2016, 22:51
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 останавливается

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

Добавлено: 13 янв 2016, 23:28
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 и заново перенастройте, не трогая выходные каналы.

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

Добавлено: 14 янв 2016, 00:48
zudwa
Спасибо, завтра буду пробовать. Пол дня копал, не заметил. Самое странное, что файл создан на основе InitStepDir3Axis.с

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

Добавлено: 14 янв 2016, 19:27
zudwa
отрисовываю интерфейсную плату
на выходы осей HCPL2630 10мбит 4шт
на входы датчиков обратной связи тоже HCPL2630 6шт
на остальные входы выходы PC814 (по факту Omron EE-CF)
подскажите по подключению входов через оптопару
выход оптопар открытый коллектор, нужна подтяжка к +3.3v, какое номинал ставить? (вопрос не тривиальный его сопротивление влияет на форму сигнала)
если верить формуле Rp = (Vcc — 0.4)/3mA получается 960 ом
в мануале ничего не нашел
есть еще мысль не парить мозг и воткнуть ADUM1400 и не сношать себе мозг и скорость до 90мбит
кто что думает?

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

Добавлено: 18 янв 2016, 20:08
passer-by
Что означает оператор ch0-> в подобных выражениях

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

ch0->InputMode=ENCODER_MODE; 

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

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

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

ch0->InputMode=ENCODER_MODE; 
Канал (ось) № 0 обозначает эта запись. к-флоп поддерживает 8 осей (каналов), таким образом ch0 до ch7.

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

Добавлено: 18 янв 2016, 20:46
passer-by
То что это имеет отношение к определенной оси понятно, само назначение оператора, почему он не используется в других примерах?

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

Добавлено: 18 янв 2016, 21:04
AlexNikov
passer-by писал(а):То что это имеет отношение к определенной оси понятно, само назначение оператора, почему он не используется в других примерах?
Вопрос не понятен. В каких примерах вы хотите видеть оператор ch0 ? Если это Jog(0,0), то первое значение в скобках номер оси, второй скорость движения в импульсах; если это MoveAtVel(0,PX1,25000), то первое значение в скобках номер оси, второй позиция куда едем (в импульсах относительно нуля машинного) и с какой скоростью в импульсах и так далее.

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

Добавлено: 18 янв 2016, 21:24
passer-by
Имелось ввиду - других примерах из папки "C Programs", данный оператор ch(номер оси) встречается только в нескольких файлах "InitStepDir3Axis", "Define Step motor 0 and move" ,"Define Axis 0 and 1 simple steppers", как происходит конфигурирование в остальных? Хотелось бы понять его назначение , а не слепо переносить из шаблона.

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

Добавлено: 19 янв 2016, 06:10
Duhas
ch0 это не оператор, а объект по идее и его полям вы присваиваете значение. по терминологии мог соврать но общий смысл такой.

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

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

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

Добавлено: 19 янв 2016, 08:09
ukr-sasha
Попробуйте тут глянуть:
KMotionDef.h
(43.59 КБ) 982 скачивания
PC2.c
(23.53 КБ) 1005 скачиваний
PC-DSP.h
(17.03 КБ) 1018 скачиваний

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

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

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

ПС у меня kflop вероятно скоро появится, там можно будет поподробнее поговорить

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

Добавлено: 19 янв 2016, 22:08
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 - указатели
-> - оператор доступа к переменным структуры через указатели

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

Добавлено: 20 янв 2016, 14:34
Duhas
в общем - да, подробнее я не копенгаген )