LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение a321 »

Внезапно (для меня) накатилось обновление LinuxCNC до версии 2.(7.18 или 8.Х? - уже не вспомню, мимолетно это было), в котором штатно предлагается возможность работы двух моторов по одной оси. Как пользоваться - пока не понял (не на чем, но на сносях то, "на чем"). Как пользоваться модулем выравания портала (здесь на форуме публиковалось в 2017г и мною куплен) - понял. Как я понимаю, с модулем выравнивания портала есть значимый недостаток - датчик на подчиненный мотор должен быть установлен в положение срабатывания так, чтобы портал выравнивался, т.е. в те же коодинаты, что и главный мотор. В штатном же решении LinuxCNC система видит главный и подчиненный моторы какждый со своим датчиком home, т.е. если с модулем выравнивания успех обеспечивается верным выставлением датчиков, то LinuxCNC 2.18 позволяет достигать успеха методом вычисления.

Вопрос - а как с реальным опытом? В хаутушке по настройке LinuxCNC пока по этому вопросу (вроде) тишина.
Последний раз редактировалось a321 20 июн 2019, 21:18, всего редактировалось 2 раза.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC 2.18 два мотора на ось или Модуль выравнивания

Сообщение Serg »

Какой может быть реальный опыт? Мы, в нашем времени, пока пользуемся версиями 2.7 и 2.8. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

Re: LinuxCNC 2.18 два мотора на ось или Модуль выравнивания

Сообщение a321 »

да ладно Вам, конечно я опечатался в номере версии. В прилетевшей 2.8 при первом же запуске клинируется старый конфиг и пишет про новации. Я же на неделе буду стоять перед выбором - как реализовать, через эту новацию или модуль выравнивания портала.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3101
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC 2.18 два мотора на ось или Модуль выравнивания

Сообщение MX_Master »

там настраивать от силы пол часа, доки изучать уже не принято?
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1733
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 199
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: LinuxCNC 2.18 два мотора на ось или Модуль выравнивания

Сообщение iMaks-RS »

23 марта разработчики Debian удалили репозитории Debian Wheezy в связи с окончанием поддержки.
Лекарство из этой статьи не помогает. ТС, какой у тебя линух установлен?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3101
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC 2.18 два мотора на ось или Модуль выравнивания

Сообщение MX_Master »

Вобще-то не удалили, а чутка поменяли адреса/пароли/явки..
https://unix.stackexchange.com/question ... repository
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

Re: LinuxCNC 2.18 два мотора на ось или Модуль выравнивания

Сообщение a321 »

iMaks-RS писал(а):Debian Wheezy в связи с окончанием поддержки.
Лекарство из этой статьи не помогает. ТС, какой у тебя линух установлен?
Он и установлен. Да, сложности с репами были - в дистрибутиве ни unison, ни geany не было, искал, ставил.

MX_Master писал(а):там настраивать от силы пол часа, доки изучать уже не принято?
"там" это где и что? Если речь о модуле, то вот полчаса не хватило - документации по нему меньше гулькиного носа, а изготовитель из темы "вышел". Если речь о http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=6959, то в хорошем случае достигшие просветления (обычно) резюмируют свои инструкции в шапке, первом сообщении, например, про расшрения центроискателя и т.п. Т.е. и здесь, конечно, есть отсылка на http://cncdevice.pro/devel/eaxis/egantry.txt, но я бы не отважился назвать это подробной инструкцией для непросветленных.

Как я вдруг получил LinuxCNC 2.8? - хоть убей, не помню. Был обычный apt-get upgrade, долетело куча всего - прочитав список было засомневался, но таки разрешил (и пожалел). Потом откатился, всей системой, благо дело не сложное.
Последний раз редактировалось a321 20 июн 2019, 21:18, всего редактировалось 2 раза.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC 2.Х два мотора на ось или Модуль выравнивания

Сообщение Serg »

a321 писал(а):Если речь о viewtopic.php?f=15&t=6959, то в хорошем случае достигшие просветления (обычно) резюмируют свои инструкции в шапке, первом сообщении, например, про расшрения центроискателя и т.п. Т.е. и здесь, конечно, есть отсылка на http://cncdevice.pro/devel/eaxis/egantry.txt, но я бы не отважился назвать это подробной инструкцией для непросветленных.
Так в шапке имеется ясная приписка красным цветом о том, что "непросвётлённым" это не стоит использовать... :wik:
Всё, что нужно для подключения и использования egantry описано в egantry.txt. Извините, но ликбез по HAL и LinuxCNC включать туда я не планировал...
Поймите меня правильно - всё что я публикую в подобных темах сделано в первую очередь для себя и моих клиентов и эти публикации лишь попытка поделиться своим опытом в решении тех или иных задач. У меня нет необходимости в привлечении как можно большего числа людей к использованию моих наработок.
Это как грибы в лесу, хочешь - бери, не хочешь - проходи мимо, никто для тебя червяков из них выковыривать не будет. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

Re: LinuxCNC 2.Х два мотора на ось или Модуль выравнивания

Сообщение a321 »

UAVpilot писал(а):Всё, что нужно для подключения и использования egantry описано в egantry.txt.
На текущем этапе развития LinuxCNC, коих можно скачать и поставить не только 2.8, но даже и 2.9dev, вопрос, видимо, следут поставить чуть иначе - Ваша работа вошла в версию 2.8 или там иная реализация? К тому, что смотреть.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение Serg »

Там иная реализация, принципы тоже различаются.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

Re: LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение a321 »

Коллеги, поднимите пожалуйста тему подчиненной оси применительно LinuxCNC 2.8 (видимо?). Использование любой модификации Модулей выравнивания портала крайне неудобно с точки зрения корректировок, поскольку требует регулировки точки срабатывания датчиков главной и подчиненной. На уровне же программы мы всегда можем вычислить и изменить задаваемую координату хоминга одной из осей исходя из результатов контрольного изменения сторон калибровочного угольника (я публиковал файлик FreeCad для этого). В моем случае, коль я, как и некоторые коллеги, применил жертвенный слой из (..... нелюбимой березовой) фанеры, то выравняв сегодня портал на метр ширины под отклонение 25мкм через неделю, другую могу намерить и 0.5мм и каждый раз перед ответственными работами крутить концевики не хочется.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3101
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение MX_Master »

Если это поможет, вот конфиг для версии 2.8 c двумя моторами по Х

INI

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

[EMC]
MACHINE = XYZX_test
DEBUG = 0
VERSION = 1.0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 1mm 20mm 50mm 100mm 
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 200
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 200.00
DEFAULT_ANGULAR_VELOCITY = 10.00
MIN_ANGULAR_VELOCITY = 0
MAX_ANGULAR_VELOCITY = 20.00
INTRO_GRAPHIC = linuxcnc2.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files/
INCREMENTS = 5mm 1mm .5mm .1mm .05mm  

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYZX

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
PROGRAM_EXTENSION = .nc,.tap G-Code File
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
FEATURES=30
SUBROUTINE_PATH = macros

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 40000
SERVO_PERIOD = 1000000

[HAL]
HALFILE = XYZX_test.hal

[TRAJ]
COORDINATES =  X Y Z X
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 25.00
MAX_LINEAR_VELOCITY = 250.00

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

[AXIS_X]
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -3
MAX_LIMIT = 3120

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -3
MAX_LIMIT = 3120
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 937.5
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -15.500000
HOME_LATCH_VEL = 0.100000
HOME_SEQUENCE = -1
HOME_FINAL_VEL = 15.500000
HOME_IGNORE_LIMITS = YES

[AXIS_Y]
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -3
MAX_LIMIT = 2030

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -3
MAX_LIMIT = 2030
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 937.5
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -25.500000
HOME_LATCH_VEL = 1.0500000
HOME_SEQUENCE = 0
HOME_FINAL_VEL = 15.500000
HOME_IGNORE_LIMITS = YES

[AXIS_Z]
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 250.0
MIN_LIMIT = -320
MAX_LIMIT = 3

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -320
MAX_LIMIT = 3
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 937.5
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 5.000000
HOME_SEARCH_VEL = 25.500000
HOME_LATCH_VEL = -10
HOME_SEQUENCE = 0
HOME_FINAL_VEL = -2.500000
HOME_IGNORE_LIMITS = YES

[AXIS_A]
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -3
MAX_LIMIT = 3120

[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -3
MAX_LIMIT = 3120
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 937.5
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -5.000000
HOME_SEARCH_VEL = -15.500000
HOME_LATCH_VEL = 0.100000
HOME_SEQUENCE = -1
HOME_FINAL_VEL = 15.500000
HOME_IGNORE_LIMITS = YES
HAL

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

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0 out"
loadrt stepgen step_type=0,0,0,0
loadrt pwmgen output_type=1

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 20000
setp pwmgen.0.offset 0.01
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed
net spindle-cw          <= motion.spindle-forward

net estop-out       => parport.0.pin-01-out
net xstep           => parport.0.pin-02-out
net xdir            => parport.0.pin-03-out
net ystep           => parport.0.pin-04-out
net ydir            => parport.0.pin-05-out
net zstep           => parport.0.pin-06-out
net zdir            => parport.0.pin-07-out
net astep           => parport.0.pin-08-out
net adir            => parport.0.pin-09-out
net spindle-cw      => parport.0.pin-14-out
net spindle-pwm     => parport.0.pin-16-out
net xenable         => parport.0.pin-17-out

net both-home-x          <= parport.0.pin-10-in-not
net both-home-y          <= parport.0.pin-11-in-not
net both-home-z          <= parport.0.pin-12-in-not
net both-home-a          <= parport.0.pin-13-in-not

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 30000
setp stepgen.0.dirsetup 30000
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net both-home-x => joint.0.home-sw-in
net both-home-x => joint.0.neg-lim-sw-in
net both-home-x => joint.0.pos-lim-sw-in

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 30000
setp stepgen.1.dirsetup 30000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable
net both-home-y => joint.1.home-sw-in
net both-home-y => joint.1.neg-lim-sw-in
net both-home-y => joint.1.pos-lim-sw-in

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 30000
setp stepgen.2.dirsetup 30000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable joint.2.amp-enable-out => stepgen.2.enable
net both-home-z => joint.2.home-sw-in
net both-home-z => joint.2.neg-lim-sw-in
net both-home-z => joint.2.pos-lim-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 1
setp stepgen.3.dirhold 30000
setp stepgen.3.dirsetup 30000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net astep <= stepgen.3.step
net adir <= stepgen.3.dir
net aenable joint.3.amp-enable-out => stepgen.3.enable
net both-home-a => joint.3.home-sw-in
net both-home-a => joint.3.neg-lim-sw-in
net both-home-a => joint.3.pos-lim-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
Аватара пользователя
vala
Почётный участник
Почётный участник
Сообщения: 490
Зарегистрирован: 08 окт 2013, 21:01
Репутация: 258
Откуда: Latvia
Контактная информация:

Re: LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение vala »

Версия 2.9 с двумя моторами по Х.
INI

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

# Generated by stepconf 1.1 at Sat Jun  8 00:03:53 2019
# If you make changes to this file, they will be
# overwritten when you run stepconf again

[EMC]
MACHINE = XXYZ_machine
DEBUG = 0
VERSION = 1.1

[DISPLAY]
GLADEVCP=-u spindle-vfd.py spindle-vfd-panel.glade
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 85
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 137.00
DEFAULT_ANGULAR_VELOCITY = 13.70
MIN_ANGULAR_VELOCITY = 0
MAX_ANGULAR_VELOCITY = 137.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/vz/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XXYZ kinstype=BOTH

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
PROGRAM_EXTENSION = .nc,.tap G-Code File
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
RS274NGC_STARTUP_CODE = G64 P0.025
PARAMETER_FILE = linuxcnc.var



[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 91240
SERVO_PERIOD = 1000000

[HAL]
HALFILE = XXYZ_machine.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal

[TRAJ]
COORDINATES =  X X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 13.70
MAX_LINEAR_VELOCITY = 137.00

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

[AXIS_X]
MAX_VELOCITY = 130.151249452
MAX_ACCELERATION = 525.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1560.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1560.0
MAX_VELOCITY = 130.151249452
MAX_ACCELERATION = 525.0
STEPGEN_MAXACCEL = 656.25
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -1
HOME_SEARCH_VEL = 40.000000
HOME_LATCH_VEL = 6.250000
HOME_SEQUENCE = -1


[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1560.0
MAX_VELOCITY = 130.151249452
MAX_ACCELERATION = 525.0
STEPGEN_MAXACCEL = 656.25
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -1
HOME_SEARCH_VEL = 40.000000
HOME_LATCH_VEL = 6.250000
HOME_SEQUENCE = -1

[AXIS_Y]
MAX_VELOCITY = 130.151249452
MAX_ACCELERATION = 525.0
MIN_LIMIT = -0.001
MAX_LIMIT = 610.0

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 610.0
MAX_VELOCITY = 130.151249452
MAX_ACCELERATION = 525.0
STEPGEN_MAXACCEL = 656.25
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -1
HOME_SEARCH_VEL = 40.000000
HOME_LATCH_VEL = 6.250000
HOME_SEQUENCE = 2

[AXIS_Z]
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 392.0
MIN_LIMIT = -110.0
MAX_LIMIT = 0.001

[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -110.0
MAX_LIMIT = 0.001
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 392.0
STEPGEN_MAXACCEL = 490.0
SCALE = 160.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 1
HOME_SEARCH_VEL = -30.000000
HOME_LATCH_VEL = 3.125000
HOME_SEQUENCE = 0


HAL

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

# Generated by stepconf 1.1 at Sat Jun  8 00:03:53 2019
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0x378 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0,0

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread

net spindle-on spindle.0.on
net spindle-forward spindle.0.forward
net spindle-reverse spindle.0.reverse



net spindle-cmd-rpm     <= spindle.0.speed-out
net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-cmd-rps     <= spindle.0.speed-out-rps
net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-at-speed    => spindle.0.at-speed

setp parport.0.pin-02-out-invert 1
net zstep           => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net zdir            => parport.0.pin-03-out

setp parport.0.pin-04-out-invert 1
net ystep           => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ydir            => parport.0.pin-05-out

setp parport.0.pin-06-out-invert 1
net xstep           => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net xdir            => parport.0.pin-07-out

setp parport.0.pin-08-out-invert 1
net x1step           => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
setp parport.0.pin-09-out-invert 1
net x1dir            => parport.0.pin-09-out

net home-x          <= parport.0.pin-10-in
net home-y          <= parport.0.pin-11-in
net home-z          <= parport.0.pin-12-in
net home-x1          <= parport.0.pin-13-in
net estop-ext       <= parport.0.pin-15-in

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 46000
setp stepgen.0.dirsetup 46000
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net home-x => joint.0.home-sw-in

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 46000
setp stepgen.1.dirsetup 46000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net x1pos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net x1pos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net x1step <= stepgen.1.step
net x1dir <= stepgen.1.dir
net x1enable joint.1.amp-enable-out => stepgen.1.enable
net home-x1 => joint.1.home-sw-in

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 46000
setp stepgen.2.dirsetup 46000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net ypos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net ypos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net ystep <= stepgen.2.step
net ydir <= stepgen.2.dir
net yenable joint.2.amp-enable-out => stepgen.2.enable
net home-y => joint.2.home-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 46000
setp stepgen.3.dirsetup 46000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable
net home-z => joint.3.home-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

Re: LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение a321 »

а как мирно обновиться с 2.7 на 2.8? или даже 2.9?
a321
Мастер
Сообщения: 574
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 66
Контактная информация:

Re: LinuxCNC 2.8 два мотора на ось или Модуль выравнивания

Сообщение a321 »

MX_Master писал(а):Если это поможет, вот конфиг для версии 2.8 c двумя моторами по Х

Если я правильно прочитал этот конфиг, равно как и следующий под 2.9, то два мотора по оси дл. 3120, имеют на каждый мотор раздельные настройки хоминга (в части скоростей, пауз это врядли разумно), но в обоих конфигах точка хоминга выставлена одинаково на обоих моторах, т.е. двухмотороное управление для выравнивания портала не используется?
Ответить

Вернуться в «LinuxCNC»