​ ​

Форум клана ЧПУшников

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Проблемы с Kflop

Сообщений 1 страница 55 из 55

1

Всем доброго дня.
Имею в штате несколько станков с ЧПУ с контроллером Kflop/
Самые первые контролеры (2шт) построил на базе Kflop и Kanalog. Все работало  без проблем и можно сказать я был доволен как слон. Работаю из под KMotionCNC.
Затем решил сделать апгрейд на других станках, но используя только Kflop.
Казалось бы все проще простого, один Kflop и просто шаговики.

В результате я столкнулся с огромными 2мя проблемами:

1.Станок останавливается во время работы и выдает следующее сообщение

http://s4.uploads.ru/t/8cvja.jpg

В результате заготовка потерянна((((
Этот "перл" контроллер выкидывает только на файлах больших размеров!
Где общее время работы превышает 4 и более часа.

прикол в том, что этот глюк вылезает в одном и том же месте на разных 2х станках!

http://s5.uploads.ru/t/PUHs9.jpg

На станке где стоит Kanalog  с таким глюком не разу не сталкивался.

2.При переходах от одной зоны обработки к другой, станок теряет все координаты и выезжает
за зону рабочего хода((

В результате чего был потерян дорогой японский шпиндель NSK и пару раз вылетали шарики из подшипников (нет сепоратора там  )
Эта проблема вообще напрягает сильно.
пару раз стоял возле станка и смотрел что он вытворяет, там где происходит сбой.
Станок допиливает нужный контур (вектор) затем происходит как бы пауза, строчки кода не бегут!!!!, затем резко
станок подрывается черт знает куда ( в любую сторону) координаты к чертям и продолжает пилить как ни в чем не бывало или воздух или оснастку((

Бывало что только уходил по оси X а ось Z оставалась в нулях.
А бывало что и все оси .............

http://s4.uploads.ru/t/Hf5ws.jpg

На фото с правой стороны видно что станок не переместился на часть кольца, а уехал влево и стал пилить нержу((

Что происходит с ним не знаю. :canthearyou:
ИПБ стоят.
Шаговые драйвера ims 483
Компьютер Dell 745
Операционная система Windows XP SP3


Конфигурационный файл выглядит так:

Код:
#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=12000;
	ch0->Accel=4e+006;
	ch0->Jerk=2e+006;
	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=0x0;
	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=12000;
	ch1->Accel=4e+006;
	ch1->Jerk=2e+006;
	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=0;
	ch1->OutputChan0=1;
	ch1->OutputChan1=0;
	ch1->MasterAxis=-1;
	ch1->LimitSwitchOptions=0x0;
	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=8000;
	ch2->Accel=4e+006;
	ch2->Jerk=2e+006;
	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=0;
	ch2->OutputChan0=2;
	ch2->OutputChan1=0;
	ch2->MasterAxis=-1;
	ch2->LimitSwitchOptions=0x0;
	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=8000;
	ch3->Accel=2e+006;
	ch3->Jerk=1e+006;
	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=3;
	ch3->InputChan1=0;
	ch3->OutputChan0=3;
	ch3->OutputChan1=0;
	ch3->MasterAxis=-1;
	ch3->LimitSwitchOptions=0x0;
	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);


   DefineCoordSystem(0,1,2,3);
   
   return 0;

    

	
}

Отредактировано aleksandr_999 (05-09-2013 12:20:02)

0

2

Сначала долго грешил на  ArtCam (была тут темка про его косяки)
Но дело не в нем точно, так как эти глюки вылетали и из под RhinoCam

постпроцессоры использовал тоже разные
вот те с которыми работаю:
ModelMaster 3Axis
Mach 3MM

На других станках они работают стабильнее не куда))

Где то на форуме Dynomotion читал, мол не использовать флешки -
все УП сбрасываются по сети на Хард компьютера - безрезультатно(

Пробовал менять версии KMotion CNC:
4.29  4.30  4.31d

Из под Mach3 был тоже глюк, не помню какой но был!
Дальше уже не стал с ним эксперементировать.

Отредактировано aleksandr_999 (05-09-2013 12:39:34)

0

3

Немного о станках:
Все шаговые моторы исправные.
Все каретки перемещаются плавно, без каких либо там подклиниваний -
крутятся от руки без напряга.
Пара винт - гайка все идеально.

Сбои происходят стабильно на одних и тех же местах!
В одних и тех же файлах!!!!!!!!!!!

Но эти же файлы на самом примитивном контролере от Geko отрабатываются на ура. :cool:

Пожалуйста помогите((((

0

4

Не знаю нужно это или нет для анализа
но выкладываю некоторые скрины

http://s5.uploads.ru/t/6iC3e.jpg
Здесь думаю все понятно, показывает кол-во импульсов.
Во вкладке Position пусто так как без ОС

Вкладка IO

http://s4.uploads.ru/t/nIDyA.jpg

Ну и настройки самого KMotionCNC

http://s4.uploads.ru/t/3qDOm.jpg

0

5

Может быть стоит купить USB кабель получше - с ферритовыми кольцами и витой парой на сигнальной шине (маловероятно, но не повредит).
Может быть проблема в XP или проблемах с производительностью компьютера,
Win7 все же значительно более стабильная система и не подвисает, не подтормаживает.

В настройках планировщика вижу пару нехороших моментов - Break Angle лучше уменьшить (лучше - до 15°), а то у меня на были проблемы после арткама, что станок проходил такие углы с заметными ударами. Были даже срывы.
В чем причина - пока точно не знаю. Но предполагаю, что проблема в том, что контроллер пытается пройти данный угол не сбрасывая скорости, строит скругление, но из за недостаточной длины стыкующихся сегментов - не может построить скругление требуемого радиуса... Ну или что-то там в этом духе.... Не знаю... Но у меня были удары и срывы.

Corner Tolerance - лучше уменьшить, т.к. 0,762 мм это довольно значительное отклонение от траектории.

И главное - сделайте FacetAngle побольше (1 - 1,5°), иначе, контроллер при построении скруглений разбивает их на ооочень мелкие сегменты, и для передачи такой траектории программе просто не хватает пропускной способности шины USB или производительности процессора.
Учитывая то что у вас большое значение порогового угла, большое значение допустимого отклонения и мелкий угол разбиения - получается очень значительное увеличение вычислительной нагрузки на компьютер и значительное увеличение объема передаваемых данных в контроллер.

Разницы между углом в 1° и 0,5° вы все равно никогда не заметите. А компьютер это разгрузит очень сильно.

0

6

Добрый день.
Спасибо что откликнулись на письмо.
Семерку залью сегодня - это не проблема, за кабель понял тоже.
Настройки поменяю, хотя уменьшение угла приводило к более медленной работе станка,
станок как будто отрабатывал там какие то никому не нужные поверхности!!!
А при увеличении угла станок стал работать резвее)) и плавно

возможно это влияет на остановку станка, но что происходит когда он не приезжает в заданную точку в другой вектор?????

Кстати сейчас вспомнил, он выкидывал мне ошибку и там было написано что то про буфер! Мол переполнен и все
Но скрин я не сделал((

Отредактировано aleksandr_999 (05-09-2013 14:41:59)

0

7

Случаем не такую ошибку выдаёт ?

http://s4.uploads.ru/t/2Qoxh.jpg

0

8

Она!!!!!!!!!
))))))
Нашел в корзине

Отредактировано aleksandr_999 (05-09-2013 15:15:04)

0

9

aleksandr_999 написал(а):

Настройки поменяю, хотя уменьшение угла приводило к более медленной работе станка,

Я буквально вчера понял, почему у меня так происходило - вот в этой теме http://cnc.userforum.ru/viewtopic.php?id=2748 в 29 и 37 сообщениях описал проблему и решение.
У меня тоже медленнее работал и я не мог понять - почему?
Но при угле больше 20° на траекториях созданных арткамом были серьезные проблемы - сильные удары и срывы. Эту проблему я до сих пор не понял, но решил на всякий случай обойти ее таким способом.

Как исправить постпроцессор - могу написать, если нужно. В самом арткаме тоже стоит увеличить точность расчета траектории.
Для обработки рельефов может стать только хуже. Обещать ничего не могу. Тут может оказаться, что арткам просто готовит плохую траекторию.

aleksandr_999 написал(а):

возможно это влияет на остановку станка, но что происходит когда он не приезжает в заданную точку в другой вектор?????

Такого не должно случаться. А если происходит с дуговыми сегментами УП - то KMotionCNC выдает ошибку.

aleksandr_999 написал(а):

Кстати сейчас вспомнил, он выкидывал мне ошибку и там было написано что то про буфер! Мол переполнен и все

А это как раз из за мелкого угла дробления (который у вас 0,5°) - компьютер не успевал обсчитывать и передавать в контроллер столь мелко раздробленную траекторию.
У меня тоже такое случалось. Но я довольно быстро сообразил в чем причина.

0

10

Про угол понял и уже исправил.
По поводу точности расчета в ArtCam - значение Tolerance = 0.001
С постпроцессором я возился немного, в результате УП стал легче, но баги остались((

Код:
;
DESCRIPTION = "3Axis_Flat_ (*.nc)"
FILE_EXTENSION = "nc"
UNITS = MM
END_OF_LINE = "[13][10]"
LINE_NUM_START     = 0
LINE_NUM_INCREMENT = 1
LINE_NUM_MAXIMUM   = 10000000
FORMAT = [N|@|N|1.0]
FORMAT = [S|@|S|1.0]
FORMAT = [F|#|F|1.1]
FORMAT = [X|#|X|1.3]
FORMAT = [Y|#|Y|1.3]
FORMAT = [Z|#|Z|1.3]
FORMAT = [XH|@|X|1.3]
FORMAT = [YH|@|Y|1.3]
FORMAT = [ZH|@|Z|1.1]
FORMAT = [I|@|I|+1.3]
FORMAT = [J|@|J|+1.3]
START = "%"
START = "(------------------------------)"
START = "([TOOLDESC])"
START = "(X MIN:[XMIN]  Y MIN:[YMIN]   Z MIN:[ZMIN])"
START = "(X MAX:[XMAX]  Y MAX:[YMAX]   Z MAX:[ZMAX])"
START = "(FEED RATES IN MM PER MINUTE) "
START = "(CUTTING FEED RATE:[FC])"
START = "(PLUNGE FEED RATE :[FP])"
START = "(RAPID FEED RATE  :[FR])"
START = "(------------------------------)"
START = "[N]G40G17G80G49"
START = "[N]T1M6"
START = "[N]G90G54"
START = "[N]G0[ZH]"
START = "[N]G0[XH][YH][S]M3"
RAPID_RATE_MOVE        = "[N]G0[X][Y][Z]"
FIRST_FEED_RATE_MOVE   = "[N]G1[X][Y][Z][F]"
FEED_RATE_MOVE         = "[N][X][Y][Z]"
END = "G0[ZH]"
END = "G0X0Y0"
END = "M30"
END = "%"

0

11

aleksandr_999 написал(а):

Про угол понял и уже исправил.
По поводу точности расчета в ArtCam - значение Tolerance = 0.001
С постпроцессором я возился немного, в результате УП стал легче, но баги остались((

На сколько я понял michael-yurov увеличил точность вывода координат в постпроцессоре (если у него при 4-х знаках после запятой происходило торможение на угле в 15гр.). То у Вас стоит 3 знака после запятой.
До скольких он увеличил - ? спросите у него...
И у Вас нет в постпроцессоре круговой интерполяции. (хотя значения центра дуги J и I определены...)

0

12

Я не знаю - стоит ли увеличивать точность в аркаме, но я на всякий случай это сделал - сделал 4 знака после запятой, вместо 3.

Попробуйте мой постпроцессор - он поддерживает дуги, и быстрые переходы заменены командой G1

Код:
; 06.01.2013 постпроцессор откорректирован - добавлена поддержка дуговых сегментов
; это значительно улучшает качество расчета программой скоростей и ускорений при движении по кривым.
; Михаил Юров    michael-yurov@ya.ru
; 
; G - Code для NC-Studio  - по сути это тот-же CREATION.con , только для удобства переобозван 
; проверен на ФуЯнгах, Creaton Pcun (c 6й версией NC-Studio) и ряде других станков
; 
;
DESCRIPTION = "KFlop Arc (*.nc)"
;
FILE_EXTENSION = "nc"
;
UNITS = MM
;
; Cariage return - line feed at end of each line
;
END_OF_LINE = "[13][10]"
;
; Block numbering 
;
LINE_NUM_START     = 0
LINE_NUM_INCREMENT = 10
LINE_NUM_MAXIMUM   = 999999
;
; Set up default formating for variables
;
; Line numbering
FORMAT = [N|@|N|1.0]
; Spindle Speed
FORMAT = [S|@|S|1.0]
; Feed Rate
FORMAT = [F|#|F|1.1]
; Tool moves in x,y and z
FORMAT = [X|#|X|1.4]
FORMAT = [Y|#|Y|1.4]
FORMAT = [Z|#|Z|1.4]
; Arc Center Coords
FORMAT = [I|@|I|1.4]
FORMAT = [J|@|J|1.4]
; Home tool positions 
FORMAT = [XH|@|X|1.4]
FORMAT = [YH|@|Y|1.4]
FORMAT = [ZH|@|Z|1.4]
;
; Set up program header
;
START = "%"
START = "T1M6"
START = "G0[ZH]"
START = "G0[XH][YH][S]M3"
;
; Program moves
;
RAPID_RATE_MOVE        = "G1[X][Y][Z]F25000"
FIRST_FEED_RATE_MOVE   = "G1[X][Y][Z][F]"
FEED_RATE_MOVE         = "[X][Y][Z]"
;
FIRST_CW_ARC_MOVE      = "G2 [X] [Y] [i] [J] [F]"
CW_ARC_MOVE            = "G2 [X] [Y] [i] [J]"
;
FIRST_CCW_ARC_MOVE     = "G3 [X] [Y] [i] [J] [F]"
CCW_ARC_MOVE           = "G3 [X] [Y] [i] [J]"
;
; End of file
;
END = "G0[ZH]"
END = "G0X0Y0"
END = "M30"
bort747 написал(а):

На сколько я понял michael-yurov увеличил точность вывода координат в постпроцессоре (если у него при 4-х знаках после запятой происходило торможение на угле в 15гр.).

Там я говорил про PowerMill. Там - увеличил до 5 знаков. А здесь, не вижу особого смысла.

Отредактировано michael-yurov (05-09-2013 15:58:22)

0

13

michael-yurov написал(а):

Попробуйте мой постпроцессор - он поддерживает дуги, и быстрые переходы заменены командой G1

А, это зачем? Быстрые перемещения должны устанавливаться в настройках... :huh:

0

14

michael-yurov написал(а):

Попробуйте мой постпроцессор - он поддерживает дуги, и быстрые переходы заменены командой G1

А, это зачем? Быстрые перемещения должны устанавливаться в настройках... :huh:

michael-yurov написал(а):

Там я говорил про PowerMill. Там - увеличил до 5 знаков. А здесь, не вижу особого смысла.

Смысл есть, т. к. принцип тот же... :glasses:

------------

Блин, ...... почему-то продублировалось.... :mad:

Отредактировано bort747 (05-09-2013 16:07:33)

0

15

быстрые переходы заменены командой G1

у меня в старом посте холостые переходы G00
а в новом G01 вроде как)

может ему не нравиться эти коды? хотя бред - он их понимает :disappointed:

Помню была УП примитивная
вот скрин

http://www.pixic.ru/i/G0R0M2D461C8i4M8.jpg

там УП весит 2MB

а время обработки 40мин

Так он отработав 1ый вектор, переместился черт знает куда ( во время перемещения иногда происходил рывок)
и потеряв координаты спокойно продолжал пилить воздух!
самое интересное то, что в нули его уже не отправить! Координаты он берет хер знает откуда.
Пелил раза 3ри(( пока по отдельности не запустил УП - не мог сделать модель.

michael-yurov
Спасибо за постпроцессор, сегодня обязательно попробую.

Отредактировано aleksandr_999 (05-09-2013 16:19:04)

0

16

bort747 написал(а):

А, это зачем? Быстрые перемещения должны устанавливаться в настройках...

А тут есть такой момент, что быстрые перемещения килофлоп осуществляет с S ускорениями. Это классная штука, но для расчета перемещения ему требуется некоторое время, и еще он не рассчитывает заранее это перемещение, и получается небольшая пауза между G0 и G1 движениями.
Мне это не понравилось и я убрал G0.
Я писал об этом разработчику, он понял проблему и обещал попытаться улучшить ситуацию. Но мне проще было заменить на G1.
Вот здесь видно, как контроллер задумывается до и после G0 http://www.youtube.com/watch?v=dYKdF5R53e0

bort747 написал(а):

Смысл есть, т. к. принцип тот же...

Только у Powermill траектории плавные, и там это важно, а у арткама - все равно ломаные, и им повышение точности ничего не даст.

aleksandr_999 написал(а):

у меня в старом посте холостые переходы G00
а в новом G01 вроде как)

Что-то я этого не заметил.

aleksandr_999 написал(а):

Помню была УП примитивная

Если бы вы мне дали бы проблемную УП - я бы у себя попробовал на станке.

aleksandr_999, а может быть у вас нестыковка прошивки контроллера и версии программы?

Отредактировано michael-yurov (05-09-2013 16:46:25)

0

17

aleksandr_999, а может быть у вас нестыковка прошивки контроллера и версии программы?

а как проверить?
сейчас стоят версии 4.29

0

18

Вот такой вариант можна попробовать .
http://s4.uploads.ru/t/EywNk.jpg
    У меня ошибка которую я показал више появлялась из-за наводок от частотника, которые ловили датчики положения , а уже от них и плата управления . В одном случае решилось когда заэкранировали все датчики , а на новом станке кроме экрана нужно было и гасящие конденсаторы поставить , также и саму плату разнесли от силовой части и заэкранировали . Вобщем у меня эта ошибка связана была с наводками .
  О...вспомнил один нюанс когда выскакивает ошибка , держите открытой консоль и посмотрите возможно там будет сообщение , мне там как раз про датчики и писало .

michael-yurov , вот спасибо за объяснения про паузу между  G0 и G1 , тоже не мог понять в чём причина .

Отредактировано Abarmot (05-09-2013 16:47:52)

0

19

Abarmot написал(а):

michael-yurov , вот спасибо за объяснения про паузу между  G0 и G1 , тоже не мог понять в чём причина .

Вот здесь хорошо видно:

http://s5.uploads.ru/t/5VT67.jpg

Отредактировано michael-yurov (05-09-2013 16:52:55)

0

20

Abarmot
Версию проверил!
Вроде все ок.

http://www.pixic.ru/i/n0t08294117931q2.jpg

Да и не может вроде быть по другому!

Abarmot
За наводки от частотника я сомневаюсь.
у меня NSK шпинделя и там все у них по уму, да и находиться частотник вдали от кафлопа.
Но за консоль спасибо, буду держать руку на пульсе)

Отредактировано aleksandr_999 (05-09-2013 17:47:15)

0

21

Может быть стоит установить поновее версию?
А то этой уже почти два года...

Вот здесь новые версии: http://www.dynomotion.com/Software/
последняя - KMotion431j.exe 27-Aug-2013

В общем то можно и настройки сохранить от предыдущей,
но прошивку, конечно, придется менять.

0

22

michael-yurov
Это самое первое, что я начал пробывать!
Но!!!
4,31d сразу бракнула всю ночную работу и я в расстроенных чувствах ее снес))

0

23

Я несколько версий ставил, и у меня все они хорошо работали.

У меня было такое, что программа зависала, но это когда я пытался запустить скрипт, который требовал от программы подождать своего завершения, и в то же время пытался изменить координаты, т.е. передавал программе (которая ожидала завершения скрипта) команды.
В итоге это дело зависало.

Может быть у вас тоже какой-то конфликт выполняющихся в контроллере программ?

В общем - пришлите какую-нибудь вашу проблемную уп мне попробовать. Дальше посмотрим.

Отредактировано michael-yurov (05-09-2013 18:09:58)

0

24

В принципе я долго ломал голову, и за землю и за наводки и все остальное!
Смотрел механику, движки и т.д.
Думал на АртКам до последнего, но один раз был выпад и со стороны РиноКама, и я уже совсем взгрустнул))

Если с ошибкой буфера и первой проблемой Runtime Error я столкнулся после того? как менял настройки, а лазил я именно в параметрах угла,
на 99% уверен, что мне дал ответ michael-yurov, обязательно отпишусь на днях, как только прогоню файл часов на 10.

Но вот как быть с переходами? Я не могу забить рамки размерами 120х90 - просто у меня нет свободных шпинделей NSK :surprise:

Единственное что я не менял комп!
И возможно нужно пробовать др. постпроцесор, так как этот глюк очень ПОСТОЯНЕН и ОЖИДАЕМ.

michael-yurov
Обязательно попробую ваш постпроцессор завтра или даже сегодня!

Файл могу выслать, только из последнего - где ошибка RunTime,
но там 7 или 8 часов!!!
Я постараюсь найти старые файлы с глюками где переходы!

Отредактировано aleksandr_999 (05-09-2013 18:18:22)

0

25

Про рамки и размеры не понял. Полагаю - речь про значительные сбои.

Комп менять не стоит. А вот Windows я бы переставил бы...

И арткам - может проблемный? мне нравится версия 2008 SP5. Как мне показалось - самая стабильная и безпроблемная.

Не расстраивайтесь сильно. Этот килофлоп должен нормально работать. Для таких сбоев должна быть причина.

Может быть и правда - ошибки при передаче данных от помех, и у него башню сносит?

Хотя, раз вы говорите, что в одном и том же месте...

В общем будет проблемный файл - пришлите мне, а я попробую, как он будет работать.

0

26

michael-yurov
Рамки - это большая оснастка в которой крепится заготовка больших размеров.
Так как я работаю с мелкими деталями, то набираю в рамку от 10- 30 деталей если влазит!
Ну хотелось бы так((

Кстати сейчас вспомнил еще один грустный момент))

Было УП с автопереворотом.
Машина нормально отработала лицевую сторону, а затем
поднимаясь по Z в безопасную зону поперла куда то в космос)
соответственно пропустила шаги после того как уперлась в упорный подшипник оси Z
Ну а дальше я успел выключить, так как услышал плохой звук от шпинделя, который уже выламывал воск опускаясь ниже нужного.

Что у него за клиника с этими перемещениями бл(((((((((((((((((((((

0

27

Может быть у вас просто неправильно что-то настроено для холостых перемещений, которые в конфигурационном скрипте?
Мне, если честно - лень разбираться, я уже не помню что там и как.

0

28

michael-yurov
Вы имеете ввиду скорость ускорение и рывок?
Да вроде там все ок.
Буду сейчас пробовать.
Отпишусь сразу.

Спасибо за помощь.

0

29

aleksandr_999, что-то мне сильно не нравятся настройки вашего файла инициализации...
Там какие-то уж очень большие значения...
Не перепутали дюймы с миллиметрами?
Какие у вас допустимые скорости у станка, какие ускорения, какой микрошаг, и какой шаг винтов?
Вот, для сравнения мой файл:

Код:
#include "KMotionDef.h"

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

int main() 
{
	ch0->InputMode=NO_INPUT_MODE;
	ch0->OutputMode=STEP_DIR_MODE;
	ch0->Vel=150000.000000;
	ch0->Accel=1000000.000000;
	ch0->Jerk=10000000.000000;
	ch0->P=0.000000;
	ch0->I=0.010000;
	ch0->D=0.000000;
	ch0->FFAccel=0.000000;
	ch0->FFVel=0.000000;
	ch0->MaxI=200.000000;
	ch0->MaxErr=1000000.000000;
	ch0->MaxOutput=200.000000;
	ch0->DeadBandGain=1.000000;
	ch0->DeadBandRange=0.000000;
	ch0->InputChan0=1;
	ch0->InputChan1=0;
	ch0->OutputChan0=1;
	ch0->OutputChan1=0;
	ch0->LimitSwitchOptions=0x0;
	ch0->InputGain0=1.000000;
	ch0->InputGain1=1.000000;
	ch0->InputOffset0=0.000000;
	ch0->InputOffset1=0.000000;
	ch0->invDistPerCycle=1.000000;
	ch0->Lead=0.000000;
	ch0->MaxFollowingError=1000000000.000000;
	ch0->StepperAmplitude=20.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=0.000769;
	ch0->iir[2].B1=0.001538;
	ch0->iir[2].B2=0.000769;
	ch0->iir[2].A1=1.920810;
	ch0->iir[2].A2=-0.923885;
    EnableAxisDest(0,0);

	ch1->InputMode=NO_INPUT_MODE;
	ch1->OutputMode=STEP_DIR_MODE;
	ch1->Vel=150000.000000;
	ch1->Accel=1000000.000000;
	ch1->Jerk=10000000.000000;
	ch1->P=0.000000;
	ch1->I=0.010000;
	ch1->D=0.000000;
	ch1->FFAccel=0.000000;
	ch1->FFVel=0.000000;
	ch1->MaxI=200.000000;
	ch1->MaxErr=1000000.000000;
	ch1->MaxOutput=200.000000;
	ch1->DeadBandGain=1.000000;
	ch1->DeadBandRange=0.000000;
	ch1->InputChan0=2;
	ch1->InputChan1=0;
	ch1->OutputChan0=2;
	ch1->OutputChan1=0;
	ch1->LimitSwitchOptions=0x0;
	ch1->InputGain0=1.000000;
	ch1->InputGain1=1.000000;
	ch1->InputOffset0=0.000000;
	ch1->InputOffset1=0.000000;
	ch1->invDistPerCycle=1.000000;
	ch1->Lead=0.000000;
	ch1->MaxFollowingError=1000000000.000000;
	ch1->StepperAmplitude=20.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=0.000769;
	ch1->iir[2].B1=0.001538;
	ch1->iir[2].B2=0.000769;
	ch1->iir[2].A1=1.920810;
	ch1->iir[2].A2=-0.923885;
    EnableAxisDest(1,0);

	ch2->InputMode=NO_INPUT_MODE;
	ch2->OutputMode=STEP_DIR_MODE;
	ch2->Vel=150000.000000;
	ch2->Accel=1000000.000000;
	ch2->Jerk=10000000.000000;
	ch2->P=0.000000;
	ch2->I=0.010000;
	ch2->D=0.000000;
	ch2->FFAccel=0.000000;
	ch2->FFVel=0.000000;
	ch2->MaxI=200.000000;
	ch2->MaxErr=1000000.000000;
	ch2->MaxOutput=200.000000;
	ch2->DeadBandGain=1.000000;
	ch2->DeadBandRange=0.000000;
	ch2->InputChan0=0;
	ch2->InputChan1=0;
	ch2->OutputChan0=0;
	ch2->OutputChan1=0;
	ch2->LimitSwitchOptions=0x0;
	ch2->InputGain0=1.000000;
	ch2->InputGain1=1.000000;
	ch2->InputOffset0=0.000000;
	ch2->InputOffset1=0.000000;
	ch2->invDistPerCycle=1.000000;
	ch2->Lead=0.000000;
	ch2->MaxFollowingError=1000000000.000000;
	ch2->StepperAmplitude=20.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=0.000769;
	ch2->iir[2].B1=0.001538;
	ch2->iir[2].B2=0.000769;
	ch2->iir[2].A1=1.920810;
	ch2->iir[2].A2=-0.923885;
	EnableAxisDest(2,0);

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

	FPGA(STEP_PULSE_LENGTH_ADD) = 24;
	

    double Tau = 0.002; // seconds for Low Pass Filter Time Constant
    KLP = exp(-TIMEBASE/Tau);
    //printf("Tau=%f KLP=%f\n",Tau,KLP);
    
	
	if (ch0->Enable ||  ch1->Enable  || ch2->Enable)
    
	   {SetBitDirection(3,0);
    ClearBit(3);
    SetBitDirection(4,0);
    ClearBit(4);
    SetBitDirection(5,0);
    ClearBit(5);}
    else
       {SetBitDirection(3,1);
    SetBit(3);
    SetBitDirection(4,1);
    SetBit(4);
    SetBitDirection(5,1);
    SetBit(5);}
	
    return 0;

}

Отредактировано michael-yurov (05-09-2013 18:48:17)

0

30

Винты по осям XY шаг 2,5мм винт двухзаходной
Ось Z шаг 2мм
Микрошаг 3200 шагов на оборот
Скорость больше 1200мм/мин не гонял и то фрезой 2мм больше нет смысла
В основном фреза 0.1мм так что больше 700-800 мм/мин не поднимаю.

Так в вашем файле скорость больше

у вас ch0->Vel=150000.000000;

у меня ch0->Vel=12000.000000;

FPGA(STEP_PULSE_LENGTH_ADD) = 24;
Кстати это у вас длина импульса?

Отредактировано aleksandr_999 (05-09-2013 18:59:18)

0

31

Да, че-то я напутал.
Но у меня микрошаг 1/48 т.е. в 3 раза мельче.

И все же у вас ускоерния намного выше -
у вас  ch0->Accel=4 000 000;
а у меня ch0->Accel=1 000 000;, но! у меня то микрошаг в 3 раза мельче, поэтому, если не смотреть на шаг винта - ускоерния шаговых моторов в 12 раз отличаются. И у вас ускорение больше.
Это точно может приводить к срывам.

Может быть с моим постпроцессором, где G0 присутствует только в начале и конце файла - проблем не будет?

А еще - не пойму, почему у вас такие цифры странные в количестве импульсов на дюйм.
У вас там должно быть 3200/5*25,4 = 16256, а на фотографии почему-то 16785, или я не разглядел, или шаг ресьбы не совсем 5 мм?

aleksandr_999 написал(а):

FPGA(STEP_PULSE_LENGTH_ADD) = 24;
Кстати это у вас длина импульса?

Да, чтобы максимальльную частоту увеличить.

Там в файл еще есть настройки фильтра Tau = 0.002 - должно быть помягче, чем по умолчанию.
Можно было бы Tau = 0.003; сделать, тогда еще мягче было бы, но это уже не важные тонкости.

Отредактировано michael-yurov (05-09-2013 19:14:41)

0

32

michael-yurov

А еще - не пойму, почему у вас такие цифры странные в количестве импульсов на дюйм.

Да все верно вы видите.
Дело в том что там стоят тефлоновые винты компании HaydonKerk шаг по каталогу 2,54
с безлюфтовой гайкой VHD
При значении 16256  размер тестового файла не соответствовал заданным.
Просто брал и вырезал куб 20х20мм и промерял до .00 2х знаков после запятой
в итоге получились вот такие цифры.
а по оси Z винты шлифованные и там все четко по формуле - как то так.

По ускорению попробую опустить на 30%
Просто я ставил значения в StepRespound и они не показались мне большими на графике, да и моторы вроде все отрабатывали без срывов.

Отредактировано aleksandr_999 (05-09-2013 19:25:09)

0

33

aleksandr_999 написал(а):

По ускорению попробую опустить на 30%

Так не на 30, а на 96%, или что-то около того.

У вас в планировщике ускорение 10 дюймов / сек², т.е. 167850 микрошагов / сек²
А для холостых переездов - 4 000 000 микрошагов / сек²
Это же в 25 раз больше!!!!

Вас спасало то, что Jerk относительно низкий, и поэтому ускорение при тестах не успевало возрастать до высоких значений.
А когда расстояние холостого перехода достаточное - ускорение переваливает допустимое.

0

34

Саня, вот что я вчера обнаружил на своем монстре - по команде G0 оказывается у меня  оси Y и Z летают со скоростью 32м/мин. Скорость отображалась в окошке с надписью FRO. Естественно, ось не сразу стартует, она сперва разгоняется.  Попробуй отведи каждую ось вручную на максимально возможное расстояние, затем введи команду, например G0 X0  и тд. для каждой оси. Вот там и увидишь, можешь даже на всякий случай индикатором проверить. Может у тебя чересчур большие ускорения выставлены и по G0 как раз с этого места, где сбой произошел тупо происходит сбой шагов.. Точнее, как бы это правильно мысль выразить: контроллер я так понимаю, многопотоковый и по G1 проц обрабатывает один поток, по G0 другой - когда куча данных буферизуется, контроллер не успевает очищать буфер памяти, либо же происходит конфликт потоков из-за большого значения Лукахед.  Общая мысль такая - ускорения немного уменьшить, лукахед тоже...

0

35

michael-yurov
:blush:
Круто
Т.е. мне в коде 4e+006 опустить до 1e+006?
А планировщик тоже опускать?

0

36

aleksandr_999 написал(а):

michael-yurov
 
Круто
Т.е. мне в коде 4e+006 опустить до 1e+006?
А планировщик тоже опускать?

Не, в планировщике все нормально.
А опускать не до 1e+006 (1 000 000), а до 160 000,
ну или хотя бы до 200 000

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

А про буферы - ничего не прокоментирую. Я никаких проблем ни разу не замечал. Там оперативной памяти дофига, я ради пробы ставил большой lookAhead (больше 10 секунд), и никаких проблем не встречал, но смылсла ставить больше нескольких секунд не вижу, т.к. станов все равно может остановиться быстрее.

0

37

Огромное спасибо за инфу! :cool:
Пошел пробовать.
Завтра отпишусь.

0

38

aleksandr_999, не торопись, я пока всю тему в голове держу.
На недельку хватит.

Лучше не спеша все сделать аккуратно.

Съездишь купишь USB провод какой-нибудь поприличнее,
Может быть Win7 поставишь, если время будет,
Может новую версию килофлопа заодно установишь...
Эта штука точно рабочая, просто нужно все обдумать, проверить, аккуратно настроить и все будет  :cool:

0

39

Прогнал я программу, которую дал ТС, предварительно увеличив у себя скорости и ускорения в 100 раз.
Ошибок при настройках, которые на скрине, не было. А вот если ускорения увеличивал еще в 10 раз, то выпадала ошибка о переполнении буфера.
http://s5.uploads.ru/t/LGs5Y.jpg

Отредактировано ukr-sasha (05-09-2013 22:19:34)

0

40

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

0

41

Осадок остался нехороший.
Т.С.-у люди пытались помочь, а от него "ни ответа, ни привета"...

Отредактировано ukr-sasha (08-09-2013 00:04:54)

0

42

Ну, еще подождем до вечера понедельника..

0

43

ukr-sasha
Да вы что парни)) Я ни куда не пропал.
Пока прогнал текучку - день пролетел не заметно

Зарядил на следующий день две машины по полной. Одна на 34 часа, вторая на 42!!!!!!
С одной все уже снял - полет нормальный))))
Вторая пока пилит/, там сложный рельеф, скорость не высокая.
Ставил все с автопереворотами - все ок.
Огромное спасибо michael-yurov ( с меня вискарик)) видимо и правда дело в ломовом ускорении было.
В жизнь бы не подумал там искать((, как говориться учите матчасть.

Остается попробовать файл, где очень много вектором т.е. холостых перемещений, но думаю все будет ок - отпишусь на неделе.
Всем откликнувшимся большое спасибо, а то уже руки опускались - закажу еще 2 кафлопа))

Отредактировано aleksandr_999 (08-09-2013 10:55:17)

0

44

michael-yurov
Попробовал залить Ваш постпроцесор - ругается АртКам!
Я кстати вспомнил почему у меня в посте нет круговой интерполяции - он на нее ругался и я ее убрал!
Возможно моя версия АртКама не поддерживает ее.
Найду ту, что вы порекомендовали и попробую поставить.

0

45

aleksandr_999 написал(а):

Найду ту, что вы порекомендовали и попробую поставить.

ищите DELCAM ARTCAM 2008 SP3 MAGNiTUDE (а обновление там же есть, просто про него в названии не написано).
Пока еще не прикрыли главное хранилище файлов...

Отредактировано michael-yurov (08-09-2013 13:58:31)

0

46

aleksandr_999 написал(а):

видимо и правда дело в ломовом ускорении было.

Странно всё это. У меня ускорение порядка 10 в седьмой-восьмой, а рывок 10 в девятой-десятой. Такой проблемы не было.
Правда программы не многочасовые и юзаю всего вторую неделю пока в холостую без инструмента.
Надо бы докопаться до конкретных причин, т.к. глюк очень нехороший, мягко говоря.

Кстати, в маче с плагином геймпада полная несовместимость. Джойстиком начинает ехать и не останавливается не только на e-stop, но и если мач вообще вырубить.
Остановка происходит только при повторном запуске мача. Но это скорее еще один гвоздь в гроб мача.

0

47

DEHiCKA написал(а):

Странно всё это. У меня ускорение порядка 10 в седьмой-восьмой,

А микрошаг какой? Какой винт?, какой редуктор?, и сколько конкретно?

0

48

10000 ppmm, 1605, cервы.

0

49

10 000 000 для серв с шагом 10 000 имп на оборот - это нормальное ускорение.
А если у вас обратная связь через килофлоп - то вообще никаких проблем не будет, т.к. сервы просто физически не смогут превысить разумные ускорения, и, соответственно никаких выходов за рамки разумного не будет.
И уж тем более сервы не будут срываться в "пропуск шагов".

Отредактировано michael-yurov (10-09-2013 21:40:12)

0

50

Добрый день кафлоповцы , случилась у меня беда вчера . При подачи питания на плату через разъем JR1( компьютерной ), забыли перемычку снять J3 и как следствие насколько я понимаю спалили плату , так как после снятия джампера и повторной подачи питания признаков жизни нету. Может кто знает , что там можна перепаять чтоб ожиала красота эта ))) , а то не сносить мне головы ....
P.S. Подключал не я , пришёл а штекерки уже все поключены ....

0

51

Посмотреть на плату не могу (есть только фото: http://cnc-club.ru/forum/viewtopic.php? … 100#p60323)
Но судя по тому, что я вижу - сгореть не должно было.
Перемычка просто для того, чтобы питание +5В не попало на USB.
Может быть USB разъем в компьютере отключился?

Либо, все таки что-то наподключали, и не сознаются,
и плату выбило статикой, или питание вверх ногами воткнули, подав 12 В, вместо 5.

Хотя, как я понимаю, на плате стоит стабилизатор на 3,3 В, и самое-то главное на плате не должно было сгореть, если только полярность питания не перепутали.

+1

52

michael-yurov , Вы как всегда правы , плата в порядке , напутали с шлейфом который идёт к кросплате , вместо прямого кросовый получился . Вот такая глупая ошибка , с утра "голую " плату к юсб включил всё заработало  ;)

+1

53

aleksandr_999
День добрый Александр.Накрылся KFLOP. При нажатии кнопки  INIT появляется надпись No KMotion devices available.Питание на Kflop подается.Индикаторы(зелёные) не горят,Индикаторы на плате PMDX 122 горят. USB и кабель проверили,поменяли микросхему после USB поставили FT245R результат нулевой.Электронщику что бы определить неисправнсть нужен работающий экземпляр(на днях буду заказывать) ,тогда по выходящим сигналам он грозился найти неисправность.Собственно сам вопрос - на ноуте в KMotionCNC все настройки остались,нужно ли на новом контроллере дополнительное программирование или достаточно просто подключить?С важением Дмитрий.

0

54

aleksandr_999можно ли  узнать у вас про воск где вы его покупаете

0

55

nk_cvetkov написал(а):

aleksandr_999можно ли  узнать у вас про воск где вы его покупаете

Воск литевой, ювелирный.
http://www.ruta.ru/products/voski/

0

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»