AG250CNC

Тяжелые фрезерные станки по металлу.
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Неужели никто не знает?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

botcman писал(а):Еще вопрос- станок с конфигурацией осей как 676 фрезере- откуда идет отсчет осей, где минимум и максимум у каждой из осей?
лично у меня оси сделаны так
все положения говорю когда стоишь лицом к станку
Х это самая длинная ось , средняя , вдоль перемещения стола , мах оси расположен когда стол сдвинут в крайнее левое положения , фреза находится над столом в крайнем правом положении
У самая верхняя ось мах оси расположен когда хобот полностью вдвину,
Z минимальное!!! значение когда стол полностью опучен , расстояние между фрезой и столом максимальное ,
Чтобы ось остановилась на датчике хом , сигнал датчика хом в хел файле должена быть типа такой строки
net xhome-x => axis.0.home-sw-in
net xhome-x <= parport.0.pin-11-in-not
где датчик хом подсоединен к 11 выводу лпт
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Правильно ли я понял- начало отсчета строго не регламентировано и можно делать как удобно? Строго правила начала отсчета не существует?
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Еще вопрос- подскажите, как запустить шпиндель из меню ЦНЦ, без гкодов? Провода управления частотником присоединил, направлени вращением тоже подключил. Как заставить его вращаться?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

botcman писал(а):Строго правила начала отсчета не существует
задания начального значения отсчета влияет только на машинные координаты Ж53 ну и выполнение Ж кодов которые связаны с машинными координатами
botcman писал(а):Еще вопрос- подскажите, как запустить шпиндель из меню ЦНЦ, без гкодов? Провода управления частотником присоединил, направлени вращением тоже подключил. Как заставить его вращаться?
в правом верхнем углу ахсис есть помощь , там описаны быстрые кнопки ,
у меня реверс шпинделя не подключен , а так шпиндель включается по Ф10
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Спасибо!
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Хоуминг осей победил. Не могу разобраться со шпинделем. При нажатии кнопок направления вращения сигналы проходят, вплоть до частотника, но управляющий сигнал не идет при нажатии Ф9/Ф10. При подаче напряжения от батарейки частоник начинает работать- двигатель вращается. Что не так?
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

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

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES


# My driver
loadrt to_pci
loadrt pid names=pid.x,pid.z,pid.y
loadrt oneshot count=1
loadrt or2 count=1
loadrt and2 count=2
loadrt timedelay count=2
loadrt not count=2

# ################################################
# THREADS
# ################################################

addf to_pci.1.update		       	servo-thread

addf motion-command-handler             servo-thread
addf motion-controller                  servo-thread
addf pid.x.do-pid-calcs 		servo-thread  
addf pid.z.do-pid-calcs 		servo-thread  
addf pid.y.do-pid-calcs 		servo-thread
addf oneshot.0                          servo-thread
addf or2.0                              servo-thread
addf and2.0                             servo-thread
addf timedelay.0                        servo-thread
addf not.0                              servo-thread
addf timedelay.1                        servo-thread
addf not.1                              servo-thread
addf and2.1                             servo-thread
 
#   -------E-STOP--------
net estop-ext iocontrol.0.emc-enable-in    <=  iocontrol.0.user-enable-out


#  ---motion control signals---

net in-position                               <=  motion.in-position
net machine-is-enabled                        <=  motion.motion-enabled

# external output signals

net machine-is-enabled                            to_pci.1.pins.pin-00-out


# external input signals

# --- MAX-X ---
net max-x     <=  to_pci.1.pins.pin-00-in-n

# --- MIN-X ---
net min-x     <=  to_pci.1.pins.pin-01-in-n

# --- HOME-X ---
net home-x     <=  to_pci.1.pins.pin-02-in-n

# --- MAX-Y ---
net max-y     <=  to_pci.1.pins.pin-03-in-n

# --- MIN-Y ---
net min-y     <=  to_pci.1.pins.pin-04-in-n

# --- HOME-Y ---
net home-y     <=  to_pci.1.pins.pin-05-in-n

# --- MAX-Z ---
net max-z     <=  to_pci.1.pins.pin-06-in-n

# --- MIN-Z ---
net min-z     <=  to_pci.1.pins.pin-07-in-n

# --- HOME-Z ---
net home-z     <=  to_pci.1.pins.pin-08-in-n



# rail lube on/off #

# смазка при включении длительностью 10 секунд
setp oneshot.0.width 10
net machine-is-on oneshot.0.in
net delay oneshot.0.out => or2.0.in0
net timer-delay => or2.0.in1
net rail-lube => or2.0.out
net rail-lube => to_pci.1.pins.pin-01-out

# интервал смазки 600 секунд длительностью 10 секунд
setp timedelay.0.on-delay 600
setp timedelay.0.off-delay 10
net machine-is-on => and2.0.in0
net timer-in => and2.0.in1
net timer-in-1 => and2.0.out
net timer-in-1 => timedelay.0.in
net timer-delay => timedelay.0.out
net timer-delay => not.0.in
net timer-in <= not.0.out

#spinle lube on/off#
 
# интервал смазки 900 секунд длительностью 10 секунд
setp timedelay.1.on-delay 900
setp timedelay.1.off-delay 10
net spindle-on => and2.1.in0
net timer-in => and2.1.in1
net timer-in-2 => and2.1.out
net timer-in-2 => timedelay.1.in
net timer-delay.1 => timedelay.1.out
net timer-delay.1 => not.1.in
net timer-in.1 <= not.1.out
net spindle-lube => to_pci.1.pins.pin-02-out

#*******************
#  AXIS X
#*******************

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT


net x-enable       => pid.x.enable
net x-output       => pid.x.output
net x-pos-cmd      => pid.x.command
net x-pos-fb       => pid.x.feedback

# --------fb--------------
setp  to_pci.1.feedback.enc_scale0 [AXIS_0]ENCODER_SCALE
net x-pos-fb       <=  to_pci.1.feedback.encoder0
net x-pos-fb       =>  axis.0.motor-pos-fb


# ------PWM Generator signals/setup--------

net x-enable     axis.0.amp-enable-out
net x-enable => to_pci.1.enable_drive


setp  to_pci.1.out_scale0 [AXIS_0]OUTPUT_SCALE

net x-output => to_pci.1.dcontrol0

net x-pos-cmd  <=  axis.0.motor-pos-cmd

# ---setup home / limit switch signals---

net home-x     =>  axis.0.home-sw-in
net min-x     =>  axis.0.neg-lim-sw-in
net max-x     =>  axis.0.pos-lim-sw-in



#*******************
#  AXIS Y
#*******************

setp   pid.y.Pgain     [AXIS_1]P
setp   pid.y.Igain     [AXIS_1]I
setp   pid.y.Dgain     [AXIS_1]D
setp   pid.y.bias      [AXIS_1]BIAS
setp   pid.y.FF0       [AXIS_1]FF0
setp   pid.y.FF1       [AXIS_1]FF1
setp   pid.y.FF2       [AXIS_1]FF2
setp   pid.y.deadband  [AXIS_1]DEADBAND
setp   pid.y.maxoutput [AXIS_1]MAX_OUTPUT


net y-enable       => pid.y.enable
net y-output       => pid.y.output
net y-pos-cmd      => pid.y.command
net y-pos-fb       => pid.y.feedback

# --------fb--------------
setp  to_pci.1.feedback.enc_scale1 [AXIS_1]ENCODER_SCALE
net y-pos-fb       <=  to_pci.1.feedback.encoder1
net y-pos-fb       =>  axis.1.motor-pos-fb


# ------PWM Generator signals/setup--------


net y-enable     axis.1.amp-enable-out

setp  to_pci.1.out_scale1 [AXIS_1]OUTPUT_SCALE

net y-output => to_pci.1.dcontrol1

net y-pos-cmd  <=  axis.1.motor-pos-cmd


# ---setup home / limit switch signals---

net home-y     =>  axis.1.home-sw-in
net min-y     =>  axis.1.neg-lim-sw-in
net max-y     =>  axis.1.pos-lim-sw-in



#*******************
#  AXIS Z
#*******************

setp   pid.z.Pgain     [AXIS_2]P
setp   pid.z.Igain     [AXIS_2]I
setp   pid.z.Dgain     [AXIS_2]D
setp   pid.z.bias      [AXIS_2]BIAS
setp   pid.z.FF0       [AXIS_2]FF0
setp   pid.z.FF1       [AXIS_2]FF1
setp   pid.z.FF2       [AXIS_2]FF2
setp   pid.z.deadband  [AXIS_2]DEADBAND
setp   pid.z.maxoutput [AXIS_2]MAX_OUTPUT


net z-enable       => pid.z.enable
net z-output       => pid.z.output
net z-pos-cmd      => pid.z.command
net z-pos-fb       => pid.z.feedback

# --------fb--------------
setp  to_pci.1.feedback.enc_scale2 [AXIS_2]ENCODER_SCALE
net z-pos-fb       <=  to_pci.1.feedback.encoder2
net z-pos-fb       =>  axis.2.motor-pos-fb


# ------PWM Generator signals/setup--------

net z-enable     axis.2.amp-enable-out
setp  to_pci.1.out_scale2 [AXIS_2]OUTPUT_SCALE
net z-output => to_pci.1.dcontrol2
net z-pos-cmd  <=  axis.2.motor-pos-cmd

# ---setup home / limit switch signals---

net home-z     =>  axis.2.home-sw-in
net min-z     =>  axis.2.neg-lim-sw-in
net max-z     =>  axis.2.pos-lim-sw-in


#_ _ _  SPINDLE _ _ _

net spindle-on             <=  motion.spindle-on
net spindle-cw             <=  motion.spindle-forward
net spindle-ccw            <=  motion.spindle-reverse
net spindle-enable         =>  motion.spindle-at-speed


#============== PWM Generator command SPINDLE================


setp  to_pci.1.out_scale3 [SPINDLE]OUTPUT_SCALE
net   spindle-output  to_pci.1.dcontrol3

net spindle-cw      => to_pci.1.pins.pin-08-out
net spindle-ccw      => to_pci.1.pins.pin-09-out


#----------- SIGNALS ---------------
#net buton_test => to_pci.1.feedback.index_en0
net buton_test => to_pci.1.pins.pin-10-out
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

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

# Generated by PNCconf at Sun May 22 23:57:42 2016
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again

[EMC]
MACHINE = mill
DEBUG = 0

[DISPLAY]
PYVCP = Panel.xml
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/q/Рабочий стол/Программы
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 5.0000
MAX_LINEAR_VELOCITY = 80.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyz

[FILTER]
PROGRAM_EXTENSION = *,.png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000

[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i20

[HAL]
HALUI = halui
HALFILE = stanok.hal
POSTGUI_HALFILE = custom_postgui.hal



[HALUI]

[TRAJ]
AXES = 3
COORDINATES = X Y Z 
MAX_ANGULAR_VELOCITY = 360.00
DEFAULT_ANGULAR_VELOCITY = 36.00
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 8
MAX_LINEAR_VELOCITY = 60.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 40
MIN_FERROR = 1
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 200.0
P = 4.0
I = 0.0
D = 0.02
FF0 = 0.0
FF1 = 0.065
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 10
ENCODER_SCALE = 1000
OUTPUT_SCALE = 1.0
MIN_LIMIT = 0.0
MAX_LIMIT = 400.0
HOME_OFFSET = 0.0


HOME_SEARCH_VEL = -15
HOME_LATCH_VEL = -5
HOME_FINAL_VEL = 5
HOME_USE_INDEX = no
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = no



#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 40
MIN_FERROR = 1
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 200
P = 4.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 0.03
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 10
ENCODER_SCALE = 1000
OUTPUT_SCALE = -1.0
MIN_LIMIT = 0
MAX_LIMIT = 300.0
HOME_OFFSET = 0.0


HOME_SEARCH_VEL = 15
HOME_LATCH_VEL = 0.1
HOME_FINAL_VEL = 5
HOME_USE_INDEX = yes
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = no




#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 40
MIN_FERROR = 0.1
MAX_VELOCITY = 50
MAX_ACCELERATION = 200
P = 4.0
I = 0.0
D = 0.02
FF0 = 0.0
FF1 = 0.065
FF2 = 0.0
BIAS = 0
DEADBAND = 0.0
MAX_OUTPUT = 10
ENCODER_SCALE = 1000
OUTPUT_SCALE = 1.0
MIN_LIMIT = -400
MAX_LIMIT = 0
HOME_OFFSET = 0.0


HOME_SEARCH_VEL = 15
HOME_LATCH_VEL = 5
HOME_FINAL_VEL = 5
HOME_USE_INDEX = no
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = no




#********************
# Spindle 
#********************
[SPINDLE]
P = 0
I = 0
D = 0
FF0 = 1
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 2000
OUTPUT_SCALE = 1.0
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

возможно выходы которые управляют частотником сделаны с открытым коллектор, по этому на эти выводы надо подключить подтягивающий резистор от 500 Ом до 1кОм с +5В питания , или в частотнике есть перемычка которую нужно переставить в положение когда будет подключен резистор к входу управления
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Выходы точно такие же как и на управление моторами осей. Единственный нюанс- частотник управляется 0-10В
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

а че пид на частотнике не настроен в частности Р=0
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Какими должны быть коэффициенты?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

да постав 1 ли 10 скока хош , потом все равно настраивать просто если Р=0 то тогда задание "управление всегда равно "0"
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

наверное я написал глупости на счет шпинделя , я шпиндель с регулировкой ШИМ не когда не настраивал по этому воздержусь от советов , но обычно я поступаю так
запускаю степ конфиг и создаю новую конфигурацию станка в которой настраиваю управление шпинделем через лпт порт , сохраняю эту конфигурацию , и потом открываю новый хел файл и от туда все, что связано со шпинделем копирую в свой хал , а дальше уже нада смотреть на ошибки если будут и править , я бегло посмотрел мануал на LinuxCNC так там для шпинделя с ШИМ пид ваще не нужен ,
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: AG250CNC

Сообщение solo »

Re: Настраиваем контроллер to_pci. #32
вот здесь лежит конфиг в нем есть настройка шпинделя
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Посмотрел конфиг. Возник вопрос- как быть с энкодером? Его нет на шпинделе.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: AG250CNC

Сообщение Serg »

botcman писал(а):Посмотрел конфиг. Возник вопрос- как быть с энкодером? Его нет на шпинделе.
А PID тогда тебе зачем?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

Re: AG250CNC

Сообщение botcman »

Ок, если я уберу из инифайла все строчки, связанные с пидом шпинделя, то ничего не останется. Будет ли работать такой конфиг? А с халфайлом все нормально касаемо шпинделя?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: AG250CNC

Сообщение Serg »

Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «Фрезерные станки по металлам»