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

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

Добавлено: 20 авг 2017, 16:41
Duhas
повторюсь, настройте одну ось для начала, нарисуйте как что подключено и конфиг сюда выложите, там поглядим по симптомам

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

Добавлено: 20 авг 2017, 18:12
olegprom19
почему в опросе нет вариантов
нет не имею, и не хочу приобрести
и имею но не хочу приобрести ещё
выбор без выбора

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

Добавлено: 20 авг 2017, 18:40
uralpt
ок, сделал на 2 оси, токарник.
Работает только одна ось, назначенная на DAC1. Выход на DAC0 пустой.
На всякий случай прикреплю принтскрин экрана и настройки.
S-ON на всех, пищат :)) ПИД настраивал отдельно на каждую ось, но не в нем суть. Моя проблема - не могу заставить крутиться хотя бы 2 оси. Любую отдельно из двух - пожалуйста.

Самое интересное то, что полгода назад настроил одну ось (приятно удивился, как легко это удалось сделать) - и запаковал Кфлоп в ящик, приделав к нему штеккеры для носибельности между домом и гаражом. Был уверен, что так легко и дальше пойдет. Ан нет...

(для просмотра содержимого нажмите на ссылку)
#include "KMotionDef.h"

main()
{
int BitA,Change1=0,Change2=0, DiffX2;
int PosNoWrap, NewPos, Pos=0, wraps;
double Factor=0;

SetBit(152);
SetBit(157);
SetBit(158);

ch0->InputMode=ENCODER_MODE;
ch0->OutputMode=DAC_SERVO_MODE;
ch0->Vel=409600;
ch0->Accel=4.096e+006;
ch0->Jerk=4.096e+007;
ch0->P=1;
ch0->I=0;
ch0->D=0;
ch0->FFAccel=0;
ch0->FFVel=0;
ch0->MaxI=2047;
ch0->MaxErr=10000;
ch0->MaxOutput=2047;
ch0->DeadBandGain=1;
ch0->DeadBandRange=0;
ch0->InputChan0=0;
ch0->InputChan1=0;
ch0->OutputChan0=0;
ch0->OutputChan1=0;
ch0->MasterAxis=-1;
ch0->LimitSwitchOptions=0x10f;
ch0->LimitSwitchNegBit=138;
ch0->LimitSwitchPosBit=139;
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=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.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;

ch1->InputMode=ENCODER_MODE;
ch1->OutputMode=DAC_SERVO_MODE;
ch1->Vel=409600;
ch1->Accel=4.096e+006;
ch1->Jerk=4e+007;
ch1->P=1;
ch1->I=0;
ch1->D=0;
ch1->FFAccel=0;
ch1->FFVel=0;
ch1->MaxI=2047;
ch1->MaxErr=10000;
ch1->MaxOutput=2047;
ch1->DeadBandGain=1;
ch1->DeadBandRange=0;
ch1->InputChan0=1;
ch1->InputChan1=1;
ch1->OutputChan0=1;
ch1->OutputChan1=1;
ch1->MasterAxis=-1;
ch1->LimitSwitchOptions=0x10f;
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;


EnableAxis(0);
EnableAxis(1);

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

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

Добавлено: 20 авг 2017, 19:14
uralpt
далее. Что делаю - меняю местами DAC1 и DAC0 (физически), меняю местами штеккеры энкодеров. Не работает ни одна ось.
Хорошо, все возвращаю в первоначальное состояние - и... снова ничего не работает. Ни на одной оси нет сигнала.
Уверен, что выключу-включу несколько раз питание, потом снова прошьюсь - и после получаса танцев с бубнами заработает. Но - только одна ось из двух!

Точно! На этот раз оказалось достаточно один раз просто сбросить питание Кфлопа - и сигнал на DAC1 есть! На DAC0 - нет. На этот раз обошлось без перепрошивки. KMotion в процессе не закрывал.
Сразу оговорюсь - все физические подключения, ессно, при выключенном Кфлоп.

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

Добавлено: 20 авг 2017, 19:15
Duhas
для начала - видите у вас на картинке одна ось зеленая, другие желтые? так вот активна только зеленая, остальные отключены.

ПС вы делаете все чего делать не нужно на данный момент..

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

Добавлено: 20 авг 2017, 19:26
uralpt
Duhas,
вижу. Иногда - две зеленые. Зависит от расположения звезд :)) а вовсе не от изменения кода программы. То есть сейчас перепрошьюсь - станут обе зеленые. Но сигнал будет только на одной.
EnableAxis - на 2 оси, листинг есть.
Что еще - коротышей нет. Может, разобрать "носибельный вариант", и начать все с ноля? А?

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

Добавлено: 20 авг 2017, 19:32
Duhas
блин, еще раз. перепрошиваться постоянно - это как делать ФГС каждый раз когда пищеварение чудит.

найдите причину почему у вас ось выключается, основная причина - выход за предельную ошибку, найдите сами этот параметр, мне правда сейчас лень.

ну и вы когда вал сервы шевелите у вас нормально циферки бегают в положении оси?

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

Добавлено: 20 авг 2017, 19:43
uralpt
Duhas,
да менял я значение ошибки, не помогает. Реально (при настройке ПИД) укладывался в 10`000, сейчас сделал ch0->MaxErr=100`000 - результат одинаков. имхо, дело не в ней.
Циферки бегают только по одной оси из двух.

Докладываю. Назначил на ось Х DAC2. Переставил проводок в DAC2. Внес единственное изменение в настройку - ch0->OutputChan0=2;
Скомпилировал, сделал "upload" осей.
Результат - в KMotionCNC ось Y на секунду становится зеленой, потом - снова желтой. А.... ведь я никаких настроек с осью Y не производил!
Ось Х по прежнему желтая.
Могу даже поспорить, что несколько раз выключу питание, потом прошьюсь - и ось Y позеленеет. Ни-че-го при этом более не меняя. Мне прошиваться не доставляет удовольствия, поверьте.

ps. ладно, не буду грузить своими проблемами. Осцилл уже принес, буду разбирать "переносной" вариант, пытать паяльником.

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

Добавлено: 20 авг 2017, 20:45
Smouk
uralpt писал(а):ps. ладно, не буду грузить своими проблемами. Осцилл уже принес, буду разбирать "переносной" вариант, пытать паяльником.
Скопируйте сюда с тэгом "code" Ваши файлы инициализации - сильно упростит задачу.

Смена цвета координат оси с зеленой на желтую - это отключении оси. Вызывается:
- программно;
- одна из возможных настроек наезда на концевик;
- выход оси за максимальное значение ошибки слежения(наиболее вероятно в данном случае).

Нет ли потока, что либо отслеживающего в бесконечном цикле?
Входа концевиков в настройках оси не в Z состоянии?
Какой выставлен параметр Max Following Error при инициализации оси?

П.С. Посмотрел еще раз сообщения, Вы зачем то меняете параметр MaxErr, а не MaxFollowingError, поэтому ось и выключается.
Параметр MaxErr отвечает за максимальное значение ошибки на входе интегратора и его значение выше максимального выхода(2047) не имеет никакого смысла. Этот параметр даже при наладке трогается в исключительных случаях - об этом в том числе указано в документации.
MaxFollowingError как раз следит за ошибкой рассогласования позиции и команды.

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

Добавлено: 24 авг 2017, 19:35
smart4on
Здравствуйте, прошу помощи в параметрирование KFLOP для ШД.
- подключаю сигналы Step- и Dir- к 15,16 контактам разъема JP7
Step+ и Dir+ подключаю к +5V (контакт 24 разъема JP7);
- подключаю KFLOP к питанию 5V. (проверяю мультиметром, на разъеме платы висит 5В);
- Снимаю ждампер (J3), отключения питания от USB порта. Подключаю Kflop к ПК;
- Вкладка Console - Version - Send, убеждаюсь что связь установлена и что версия ПО соответствует аппаратно железу;
- C Program - Open - InitStepDir3Axis.c - этот файл сразу пере сохраняю на свой (к примеру называем Mydak.c;
- Config&Flash - Chanel 0 - Import All from Open C Program - Input No Input - Output Step Dir - Output Channels 0-1-0 - Export All to Open C Program;
- C Program меняю значение ch0->Vel=128000; так как деление шага 1х32
ch0->Accel=128000;
ch0->Jerk=128000;
ch0->P=1;
Больше здесь ничего не трогаю. Просто сохраняю (Save);

По идеи если сейчас открыть программу Kmotion CNC добавив во вкладке User Buttons адрес куда сохранил файл. И в параметрах оси выставить свои расчетные значения, то двигатель должен начать вращаться. Но он не крутиться.

В чем я ошибаюсь?

Замерял напряжение на клемах драйвера. Между Step + и Step- висит 1.56V при нажатии на движение - 1.27V.
Между Dir+ и Dir - висит 4.29V и при нажатой кнопки перемещения 1.3V

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

Добавлено: 25 авг 2017, 15:19
Smouk
smart4on писал(а):Здравствуйте, прошу помощи в параметрирование KFLOP для ШД.
1. Зачем установка/снятие J3? Если есть внешнее питание 5В через Molex - джампер следует снять и больше не трогать.
2. Почему к 15,16 контактам разъема JP7 подключены отрицательные входа драйвера? Сомнительно, что там двунаправленная оптопара, что за драйвер? На выходе JP7 15,16 либо 0, либо +5В. На мой взгляд + следует подключить к 15,16, а "-" к GND KFLOP.

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

Добавлено: 25 авг 2017, 16:22
smart4on
Smouk писал(а):
smart4on писал(а):Здравствуйте, прошу помощи в параметрирование KFLOP для ШД.
1. Зачем установка/снятие J3? Если есть внешнее питание 5В через Molex - джампер следует снять и больше не трогать.
2. Почему к 15,16 контактам разъема JP7 подключены отрицательные входа драйвера? Сомнительно, что там двунаправленная оптопара, что за драйвер? На выходе JP7 15,16 либо 0, либо +5В. На мой взгляд + следует подключить к 15,16, а "-" к GND KFLOP.

1. Джампер снят.
2. Изначально я так и пробовал подключать, но по совету разработчика изменил схему подключения.
Можно по подробнее по поводу подключения, и параметрирования в программе?

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

Добавлено: 25 авг 2017, 16:26
Smouk
Если открыть документацию (http://www.leadshine.com/UploadFile/Down/DM556m.pdf) на этот драйвер, то видно, что на "+" надо подавать положительное напряжение, что логично.
Поэтому выводы 15,16 однозначно подключаются к "+". Оба "-" драйвера должны быть подключены к GND KFLOP.

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

Добавлено: 25 авг 2017, 16:44
smart4on
Smouk писал(а):Если открыть документацию (http://www.leadshine.com/UploadFile/Down/DM556m.pdf) на этот драйвер, то видно, что на "+" надо подавать положительное напряжение, что логично.
Поэтому выводы 15,16 однозначно подключаются к "+". Оба "-" драйвера должны быть подключены к GND KFLOP.

Подключил как вы сказали. ШД не крутиться... Измеряю напряжение на сигнале Step+- = 0.15В. Когда задаю перемещение через программу, на Step+- = 0В.

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

Добавлено: 25 авг 2017, 21:13
Smouk
Дело в том, что измеряете Вы видимо мультиметром, шаг таким образом заметить можно только косвенно. Дабы не засорять тут ветку написал в личку.

П.С. В данном случае проблема решилась установкой номера канала на 8, что означает выходы LVTTL - Step/Dir.

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

Добавлено: 27 авг 2017, 09:03
smart4on
Благодаря Smouk решил свою проблему.
Чтобы долго не описывать что делал, снял видео:
https://youtu.be/9AtnZKWUFNU

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

Добавлено: 27 авг 2017, 11:56
tommygun
smart4on писал(а):Чтобы долго не описывать что делал, снял видео:
Все бы хорошо, только вот изменяющаяся тональность голоса в видео...))

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

Добавлено: 27 авг 2017, 14:47
smart4on
tommygun писал(а):
smart4on писал(а):Чтобы долго не описывать что делал, снял видео:
Все бы хорошо, только вот изменяющаяся тональность голоса в видео...))

Иначе длинное видео получилось бы. Хотелось бы не утомлять смотрящих. ;)

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

Добавлено: 29 авг 2017, 10:56
Al4nse
Здравствуйте. Есть желание отключать серводрайверы при каждой остановке оси(Деактивацией оптовыхода на KAnalog, на который подключен S-ON с драйвера) и включать перед каждым движением. можно ли это в C файле запрограммировать? Никаких структур, функций, для работы с G кодом я не нашёл. (может плохо искал?)
Либо, может есть такой постпроцессор, в котором можно автоматом перед/после каждого движения добавить свои команды M100-M119.

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

Добавлено: 29 авг 2017, 13:18
Smouk
Al4nse писал(а): Есть желание отключать серводрайверы при каждой остановке оси(Деактивацией оптовыхода на KAnalog, на который подключен S-ON с драйвера) и включать перед каждым движением. можно ли это в C файле запрограммировать? Никаких структур, функций, для работы с G кодом я не нашёл. (может плохо искал?)
Есть функция CheckDone<N> определяющая, что ось выполнила задание:
https://dynomotion.com/Help/Cmd.htm#CheckDone, либо CheckDoneBuf - что все оси выполнили задания.

В бесконечном цикле Вам необходимо прописать контроль за этим состоянием и нужную функцию. Например, для канала номер 0:

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

if (CheckDone(0) == 1)
{
 ClearBit(x);
} else {
 SetBit(x);
}
Но надо смотреть по ситуации, так как Вы уверены, что драйвера будут успевать включаться и нормально отрабатывать начало траектории? Если с драйвера есть выход готовности это сильно упростит задачу - так как можно дожидаться его ответа.
Al4nse писал(а):Либо, может есть такой постпроцессор, в котором можно автоматом перед/после каждого движения добавить свои команды M100-M119.
Можно делать и так, но на мой взгляд некорректно, так как раздувает G-код. M100-M119 в данном случае можно не использовать - это только усложняет. Kflop допускает использование в G-коде команд SetBitBuf(https://dynomotion.com/Help/GCodeScreen/GCodeScreen.htm) и т.д.

П.С. Если Вы озвучите задачу, возможно ее можно будет решить проще.