Страница 65 из 70
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 12 ноя 2019, 11:32
Brestden
mial писал(а): Brestden будет, там подтяжка к земле 150 Ом. Но я бы сделал по другому. По входу оптопара в привычном режиме, резистор в цепи коллектора, эмиттер на GND. Далее с коллектора на вход инвертируещего триггера Шмитта, к примеру 74LVC14AD. Будет надежно, и более помехоустойчиво.
Спасибо, буду пробовать.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 12 ноя 2019, 18:19
Duhas
почитайте, блин, документацию!
https://www.dynomotion.com/Help/Schemat ... analog.htm чуть ниже середины ...
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 12 ноя 2019, 22:16
megablast3000
Не надо нервничать. Документацию читал, этот момент мне непонятен, поэтому спросил тут.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 13 ноя 2019, 07:23
Duhas
если вот эта картинка непонятна и нет желания закупать железки по несколько раз советую подтянуть свои знания перед тем как продолжить.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 13 ноя 2019, 07:48
vershininv
У меня другой вопрос. Откуда у SnapAmp такая чувствительность к наводкам что даже клацанье релюшкой порождает инкремент энкодера которого на том канале физически нет?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 13 ноя 2019, 07:56
ukr-sasha
megablast3000 писал(а):Не надо нервничать. Документацию читал, этот момент мне непонятен, поэтому спросил тут.
8) 24V @ 1Amp relay FET Switch Outputs are available on Kanalog mapped as Output Bits 152-159. When activated (checked on or with state "1") the FET Switches make a connection to ground.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 13 ноя 2019, 09:39
megablast3000
Спасибо за ответы. Нефига не понятно, но буду разбираться). Спалить, конечно желания нет. Выкладываю пару схем по подключению Каналога, если не затруднит, посмотрите, корректно ли там подключен JP8.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 13 ноя 2019, 12:01
Duhas
не нужны вам масштабные схемы сейчас, научитесь подключать по 1 устройству 1 типа.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 13 ноя 2019, 13:55
ukr-sasha
megablast3000 писал(а): Нефига не понятно, но буду разбираться).
Гугл переводчик говорит:
8) Выходы переключателя FET реле 24 В при 1 А на Kanalog отображаются как выходные биты 152-159. При активации (проверено или в состоянии «1»)
переключатели FET подключаются к земле.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 14 ноя 2019, 07:47
megablast3000
Все заработало как надо. Едрить я бестлочь! Всем спасибо.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 22 ноя 2019, 10:23
Alex63
Добрый день!
Возник вопрос. На шлифовальном станке надо сделать программную коррекцию геометрии (Z в зависимости от Х), гуляет на пару соток на длинне подачи, а для шлифовки это много. Знаю, что в KMotion такая возможность есть (хотя как создать файл с измеренными величинами неясно).
Но основная работа идет в ручном режиме, когда по X ездит заготовка, а рабочий вручную по микрону - два подводит шпиндель по Z , т е управляет с пульта в режиме маятника и собственно KMotion и ее планировщик траектории не работает. А хочется чтобы шпиндель кривизну подрабатывал сам по таблице.
Вариант в лоб - написать очередную программу в Кфлоп, где будет измеряться позиция по Х , сравниваться с таблицей, вводится коррекция Z, подрабатывает шпиндель... Логика понятна, неясно только какой величины таблицу переварит контроллер, у него КЭШ не бесконечен и время вычисления ограничено.
Есть у кого нибудь такой опыт, или хотя бы мысли на тему?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 22 ноя 2019, 21:46
ukr-sasha
GeoTable работает и при ручных перемещениях.
Если память не подводит.

Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 23 ноя 2019, 11:17
Alex63
как конкретно можно задать в гео таблицу коррекции?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 23 ноя 2019, 13:05
ukr-sasha
Alex63 писал(а):как конкретно можно задать в гео таблицу коррекции?
Тут есть информация:
https://dynomotion.com/Help/KMotionCNC/ ... ection.htm
Нужно только инструментальными методами измерить отклонения.
Вот данные с реального станка:
Код: Выделить всё
5,5
50,50
0,0
0,0,0.00000,0.00000,0
0,1,50.00000,-0.05875,0
0,2,100.00000,-0.12250,0
0,3,150.00000,-0.17825,0
0,4,200.00000,-0.23500,0
1,0,0.00000,50.00000,0
1,1,50.00000,49.94125,0
1,2,100.00000,49.87750,0
1,3,150.00000,49.82175,0
1,4,200.00000,49.76500,0
2,0,0.00000,100.00000,0
2,1,50.00000,99.94125,0
2,2,100.00000,99.87750,0
2,3,150.00000,99.82175,0
2,4,200.00000,99.76500,0
3,0,0.00000,150.00000,0
3,1,50.00000,149.94125,0
3,2,100.00000,149.87750,0
3,3,150.00000,149.82175,0
3,4,200.00000,149.76500,0
4,0,0.00000,200.00000,0
4,1,50.00000,199.94125,0
4,2,100.00000,199.87750,0
4,3,150.00000,199.82175,0
4,4,200.00000,199.76500,0
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 28 ноя 2019, 06:50
Alex63
Спасибо,
подсказки реально помогают, поскольку в документации есть ошибки и неточности!
Как я понял приведенный пример ,
первая строка - это число столбцов (первое число) и число строк (второе),
вторая - общий размер корректируемой площади.Сразу вопрос - в дюймах, как только и понимает планировщик, или в мм, если они выставлены на главной странице KMotion?
третья - координаты точки 0,0 таблицы
дальше измеренные значения реальных точек по осям. При стольких знаках после запятой видимо в дюймах

. С другой стороны, значения до 200 ед на таблицу, а во второй строке задано 50 на 50. не совсем ясно. Или вторая строка задает не размер всей площади в таблице, а размер одного шага по строке\столбцу?
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 28 ноя 2019, 07:48
Alex63
ОК, с таблицей практически все понятно!
В приведенном примере корректируется поворот оси при котором на ходе Х 50 см Y уходит примерно на 6 мм...
Как я понял, она подключается к KMotion и используется в планировщике траектории.
В нашей любимой программе Маятник, которую я делал для шлифовки, работают команды МоveExp & Move At Vel, ИМХО, они обрабатываются напрямую в Kflop, как и просто такие же команды энкодера и кнопок ручного пульта и планировщик траектории KMotion тут как может и не влиять...
Как бы это проверить? Например, на станке с введенной программой геокоррекции из поста выше - что будет в ручном режиме, т е при прогоне по Х маховичками или кнопками с ручного пульта - отработает коррекцию? К сожалению, мой станок все еще в полуразобранном состоянии (долечивается шпиндель) и проверить на нем не могу...
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 дек 2019, 23:04
megablast3000
Доброй ночи.
Занимаюсь настройкой осей. За основу взял шаблон InitAnalog3Axis.c из папки C Program.
Настроил ось X (ch0), рисунок 1. С осями Y, Z (ch1,2) сложнее, график выглядел как на рисунке 2, мигал значок FeedHold. Так как на оси Z двигатель пока не подключен к нагрузке, решил экспериментировать с ней, в файле настроек поменял полярность ch2->InputGain0=-1.000000; было 1, помогло, причем заработали обе оси, но значок FeedHold мигать не перестал. При этом, когда включил ось X (нажал Move), та стала дергаться, пришлось выключить. Я конечно могу и дальше переключать полярность InputGain, но наверно есть какой то более разумный способ? И еще, в шаблоне у Тома нет значений OutputGain – как их назначать?
Когда жму Move, моторы перед основным движением, немножко дергаются в обратном направлении, причем на всех осях. Проверил, люфта в опорах и швп нет. Было у кого-нибудь такое?
[youtube]
https://youtu.be/JAALQNB4pjE[/youtube]
(для просмотра содержимого нажмите на ссылку)#include "KMotionDef.h"
main()
{
SetBit(152); // enable AMPS
SetBit(153);
SetBit(154);
ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=150000.000000;
ch0->Accel=1500000.000000;
ch0->Jerk=15000000.000000;
ch0->P=0.860000;
ch0->I=0.001500;
ch0->D=0.000700;
ch0->FFAccel=0.000007;
ch0->FFVel=0.00415;
ch0->MaxI=2047.000000;
ch0->MaxErr=100000.000000;
ch0->MaxOutput=2047.000000;
ch0->DeadBandGain=1.000000;
ch0->DeadBandRange=0.000000;
ch0->InputChan0=0;
ch0->InputChan1=0;
ch0->OutputChan0=0;
ch0->OutputChan1=0;
ch0->LimitSwitchOptions=0x0;
ch0->InputGain0=1.000000;
ch0->InputGain1=1.000000;
ch0->InputOffset0=0.000000;
ch0->InputOffset1=0.000000;
ch0->invDistPerCycle=0.000250;
ch0->Lead=0.000000;
ch0->MaxFollowingError=100000.000000;
ch0->StepperAmplitude=100.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.000000;
ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=150000.000000;
ch1->Accel=1500000.000000;
ch1->Jerk=15000000.000000;
ch1->P=0.5500000;
ch1->I=0.000000;
ch1->D=0.000000;
ch1->FFAccel=0.000000;
ch1->FFVel=0.000000;
ch1->MaxI=2047.000000;
ch1->MaxErr=100000.000000;
ch1->MaxOutput=2047.000000;
ch1->DeadBandGain=1.000000;
ch1->DeadBandRange=0.000000;
ch1->InputChan0=1;
ch1->InputChan1=1;
ch1->OutputChan0=1;
ch1->OutputChan1=1;
ch1->LimitSwitchOptions=0x0;
ch1->InputGain0=1.000000;
ch1->InputGain1=1.000000;
ch1->InputOffset0=0.000000;
ch1->InputOffset1=0.000000;
ch1->invDistPerCycle=0.000250;
ch1->Lead=0.000000;
ch1->MaxFollowingError=100000.000000;
ch1->StepperAmplitude=100.000000;
ch1->iir[0].B0=1.000000;
ch1->iir[0].B1=0.000000;
ch1->iir[0].B2=0.000000;
ch1->iir[0].A1=0.000000;
ch1->iir[0].A2=0.000000;
ch1->iir[1].B0=1.000000;
ch1->iir[1].B1=0.000000;
ch1->iir[1].B2=0.000000;
ch1->iir[1].A1=0.000000;
ch1->iir[1].A2=0.000000;
ch1->iir[2].B0=1.000000;
ch1->iir[2].B1=0.000000;
ch1->iir[2].B2=0.000000;
ch1->iir[2].A1=0.000000;
ch1->iir[2].A2=0.000000;
ch2->InputMode=ENCODER_MODE;
ch2->OutputMode=DAC_SERVO_MODE;
ch2->Vel=500000.000000;
ch2->Accel=1000000.000000;
ch2->Jerk=10000000.000000;
ch2->P=0.100000;
ch2->I=0.000000;
ch2->D=0.000000;
ch2->FFAccel=0.000000;
ch2->FFVel=0.000000;
ch2->MaxI=200.000000;
ch2->MaxErr=20000.000000;
ch2->MaxOutput=2000.000000;
ch2->DeadBandGain=1.000000;
ch2->DeadBandRange=0.000000;
ch2->InputChan0=2;
ch2->InputChan1=2;
ch2->OutputChan0=2;
ch2->OutputChan1=2;
ch2->LimitSwitchOptions=0x0;
ch2->InputGain0=-1.000000; было 1
ch2->InputGain1=1.000000;
ch2->InputOffset0=0.000000;
ch2->InputOffset1=0.000000;
ch2->invDistPerCycle=0.000250;
ch2->Lead=0.000000;
ch2->MaxFollowingError=100000.000000;
ch2->StepperAmplitude=100.000000;
ch2->iir[0].B0=1.000000;
ch2->iir[0].B1=0.000000;
ch2->iir[0].B2=0.000000;
ch2->iir[0].A1=0.000000;
ch2->iir[0].A2=0.000000;
ch2->iir[1].B0=1.000000;
ch2->iir[1].B1=0.000000;
ch2->iir[1].B2=0.000000;
ch2->iir[1].A1=0.000000;
ch2->iir[1].A2=0.000000;
ch2->iir[2].B0=1.000000;
ch2->iir[2].B1=0.000000;
ch2->iir[2].B2=0.000000;
ch2->iir[2].A1=0.000000;
ch2->iir[2].A2=0.000000;
EnableAxis(0);
EnableAxis(1);
EnableAxis(2);
DefineCoordSystem(0,1,2,-1);
}
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 10 дек 2019, 23:23
donvictorio
megablast3000 писал(а):Когда жму Move, моторы перед основным движением, немножко дергаются в обратном направлении, причем на всех осях.
дергаются при переходе через ноль машинных координат? (галочка возле dro, g53/g54)
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 11 дек 2019, 10:05
megablast3000
Нет, это я Move в StepResponse при настройке осей, к KMoution я пока не лез.
Re: Ввод в эксплуатацию ЧПУ системы на основе контроллера Kf
Добавлено: 23 дек 2019, 09:16
megablast3000
По поводу дергания сервы Том ответил так: This is mainly a quirk with the way the Step Response Screen works in combination with the above issue. The "Move" button disables the axis, sets all the axis parameters, then re-enables the axis to a destination of where it originally was. If there was drift motion while the axis was disabled the axis will jump back to where it was. If you fix the amplifier enable issue it should drift less. Also the Step Response Screen and changing parameters will not happen in normal operation so I wouldn't worry about this.
Так же, как и многие столкнулся с дрейфом серв. После нажатия Stop в KMotion моторы начинают медленно вращаться.
Победил это так: настроил сервоусилители таким образом, что при включении они переходят в сразу импульсный режим, а при подаче сигнала S-ON переходят в режим скорости.
Выглядит это так: включаю силу -> включаю комп, Kflop, логику сервоусилителей -> сервы автоматом переходят импульсный режим и моторы встают в удержание -> загружаю KMotion, жму INIT -> активируется сигнал S-ON, сервы переходят в режим скорости, соответственно моторы снова держат позиции уже силами Kflop-а -> жму Stop -> сервы снова переходят в импульсный режим и удерживают позицию сами. Но это, конечно будет будет работать только у сервы которые могут работать в импульсном режиме...
(для просмотра содержимого нажмите на ссылку)for (;;) //loop forever
{
WaitNextTimeSlice();
if (ch0->Enable || ch1->Enable || ch2->Enable)
SetBit(152);
else
ClearBit(152);
WaitNextTimeSlice();
if (ch0->Enable || ch1->Enable || ch2->Enable)
SetBit(153);
else
ClearBit(153);
WaitNextTimeSlice();
if (ch0->Enable || ch1->Enable || ch2->Enable)
SetBit(154);
else
ClearBit(154);
}