how to -- Homing two motors one axis
- kalio
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 0
26 Jul 2016 20:17 #78054
by kalio
how to -- Homing two motors one axis was created by kalio
I use two drives on the Y axis would like to connect them with the gantry modules. To avoid beveling gates have mounted on both sides of the two limit switches for homing. This servo-motors Stepper - so theoretically should not lose steps. Can you specify how to add homing procedure after starting the machine Before I set up referencing by stepconfa but here it does not work.
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23262
- Thank you received: 4927
27 Jul 2016 14:48 #78075
by andypugh
Replied by andypugh on topic how to -- Homing two motors one axis
You should probably consider using the Master (development) branch of LinuxCNC which has much better handling of gantry machines.
linuxcnc.org/docs/devel/html/getting-sta..._configuration_files
linuxcnc.org/docs/devel/html/getting-sta..._configuration_files
Please Log in or Create an account to join the conversation.
- kalio
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 0
01 Aug 2016 20:35 #78255
by kalio
Replied by kalio on topic how to -- Homing two motors one axis
Hello
I have compiled the latest sources , unfortunately, does not work for me it properly
I can not find in the code where it writes the offset for a given engine on one axis if it is done in the ini file or the other ? - I have two engines .
A strange thing is happening even after moving to the limit switch gate just begins to go alone with halved speed.
Tomorrow throw ini files and halls can brighten this thing and help me find the mistake
I have compiled the latest sources , unfortunately, does not work for me it properly
I can not find in the code where it writes the offset for a given engine on one axis if it is done in the ini file or the other ? - I have two engines .
A strange thing is happening even after moving to the limit switch gate just begins to go alone with halved speed.
Tomorrow throw ini files and halls can brighten this thing and help me find the mistake
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23262
- Thank you received: 4927
01 Aug 2016 22:10 - 01 Aug 2016 22:10 #78259
by andypugh
Which version did you compile?
Also, there is no need to compile, you can get a precompiled package:
buildbot.linuxcnc.org
Replied by andypugh on topic how to -- Homing two motors one axis
Hello
I have compiled the latest sources , unfortunately, does not work for me it properly
Which version did you compile?
Also, there is no need to compile, you can get a precompiled package:
buildbot.linuxcnc.org
Last edit: 01 Aug 2016 22:10 by andypugh.
Please Log in or Create an account to join the conversation.
- kalio
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 0
02 Aug 2016 07:17 #78281
by kalio
Replied by kalio on topic how to -- Homing two motors one axis
I use master version
# kinematics
loadrt trivkins
# trajectory planner
loadrt tp
# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD base_period_nsec=[EMCMOT]BASE_PERIOD num_joints=[KINS]JOINTS kins=trivkins tp=tp
loadrt picnc
#loadrt mux2 count=2
#loadrt encoder num_chan=1
loadrt gantry count=1 personality=2
#newinst gantry gantry.0 pincount=2
addf picnc.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf picnc.update servo-thread
addf picnc.write servo-thread
addf gantry.0.read servo-thread
addf gantry.0.write servo-thread
#loadrt thc
#addf thc servo-thread
loadrt not count=1
addf not.0 servo-thread
#addf not.1 servo-thread
#******************encoder*********************
setp halui.feed-override.count-enable true
setp halui.feed-override.direct-value true
setp halui.feed-override.scale 0.01
#net enc-a picnc.enc-a => encoder.0.phase-A
#net enc-b picnc.enc-b => encoder.0.phase-B
#net enc_s32 conv-s32-float.0.in <= encoder.0.counts
#net ext-fork0 mux2.0.in0 <= conv-s32-float.0.out
#net enc-btn picnc.enc-btn => mux2.0.sel
#net ext-fork halui.feed-override.counts <= encoder.0.counts
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-on
net coolant-flood <= iocontrol.0.coolant-flood
net coolant-mist <= iocontrol.0.coolant-mist #rafal
net coolant-flood => picnc.out1
net both-x <= picnc.axis.0.home
net home-y <= picnc.axis.1.home
net home-y1 <= picnc.in1
net home-y2 <= picnc.in2
net both-z <= picnc.axis.2.home
net power picnc.in4 => picnc.out2
#net probe-in <= picnc.in.probe
net float-switch <= picnc.in.float
net net-estop-ext-not not.0.in <= picnc.in.stop
net estop-ext <= not.0.out
net torch-probe motion.probe-input picnc.in.probe
# spindle on starts the arc
net spindle-on motion.spindle-on => picnc.out0
#net spindle-on thc.torch-on
# starts the motion when the plasma arc has transfered to the work
net start-motion-input <= motion.digital-in-00 <= picnc.in.arc-ok
net spindle-on => picnc.float_as_stop
setp picnc.axis.0.scale [AXIS_0]SCALE
setp picnc.axis.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => picnc.axis.0.position-cmd
net xpos-fb picnc.axis.0.position-fb => axis.0.motor-pos-fb
net both-x => axis.0.neg-lim-sw-in
net both-x => axis.0.pos-lim-sw-in
net both-x => axis.0.home-sw-in
setp picnc.axis.1.scale [AXIS_1]SCALE
setp picnc.axis.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp picnc.axis.2.scale [AXIS_1]SCALE
setp picnc.axis.2.maxaccel [AXIS_1]STEPGEN_MAXACCEL
#setp gantry.0.search-vel [AXIS_1]HOME_SEARCH_VEL
net ypos-cmd gantry.0.position-cmd <= axis.1.motor-pos-cmd
net ypos-fb gantry.0.position-fb => axis.1.motor-pos-fb
net joint-cmd1 gantry.0.joint.00.pos-cmd => picnc.axis.1.position-cmd
net joint-cmd2 gantry.0.joint.01.pos-cmd => picnc.axis.2.position-cmd
net y1pos-fb picnc.axis.1.position-fb => gantry.0.joint.00.pos-fb
net y2pos-fb picnc.axis.2.position-fb => gantry.0.joint.01.pos-fb
net home-y axis.1.neg-lim-sw-in => axis.1.pos-lim-sw-in
net limit-y gantry.0.limit => axis.1.neg-lim-sw-in => axis.1.pos-lim-sw-in
#net home-yg gantry.0.home => axis.1.home-sw-in
net home-y1 => gantry.0.joint.00.home
net home-y2 => gantry.0.joint.01.home
# position command and feedback
# hijack position command and feed through thc
#net zpos-cmd thc.z-pos-in <= axis.2.motor-pos-cmd
#net thc-pos-cmd thc.z-pos-out => picnc.axis.3.position-cmd
#net zpos-fb axis.2.motor-pos-fb <= thc.z-fb-out
setp picnc.axis.3.scale [AXIS_2]SCALE
setp picnc.axis.3.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => picnc.axis.3.position-cmd
net zpos-fb picnc.axis.3.position-fb => axis.2.motor-pos-fb
net both-z => axis.2.neg-lim-sw-in
net both-z => axis.2.pos-lim-sw-in
net both-z => axis.2.home-sw-in
net estop-out <= iocontrol.0.user-enable-out
#net estop-out => iocontrol.0.emc-enable-in
net estop-ext => iocontrol.0.emc-enable-in
#setp picnc.out.enable 1
[EMC]
MACHINE = plasma
DEBUG = 1
[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.5
INTRO_GRAPHIC = start-linux.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/mk/Desktop/gcody/
INCREMENTS = 5mm 1mm .5mm .1mm .05mm
#PYVCP = adc.xml
#PYVCP = plasma.xml
[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
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000
[HAL]
HALFILE = MF70.hal
POSTGUI_HALFILE =
[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 100
MAX_LINEAR_VELOCITY = 400
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.010
TOOL_TABLE = tool.tbl
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 400.0
MAX_ACCELERATION = 1000
STEPGEN_MAXACCEL = 1200
SCALE = 88.52
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -1600.0
MAX_LIMIT = 1600.0
HOME_OFFSET = 0.0
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 400.0
MAX_ACCELERATION = 1000
STEPGEN_MAXACCEL = 1200
SCALE = 76.08
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -3100.0
MAX_LIMIT = 3100.0
HOME_OFFSET = 0.0
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 1250.0
STEPGEN_MAXACCEL = 1562.4
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -90000.0
MAX_LIMIT = 1400.0
HOME_OFFSET = 0.0
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23262
- Thank you received: 4927
02 Aug 2016 08:05 #78283
by andypugh
In that case do not use the gantry component.
linuxcnc.org/docs/devel/html/getting-sta..._configuration_files
Contains some information, and also look at the gantry sample configs:
Replied by andypugh on topic how to -- Homing two motors one axis
I use master version
In that case do not use the gantry component.
linuxcnc.org/docs/devel/html/getting-sta..._configuration_files
Contains some information, and also look at the gantry sample configs:
Please Log in or Create an account to join the conversation.
- kalio
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 0
02 Aug 2016 09:26 #78285
by kalio
Replied by kalio on topic how to -- Homing two motors one axis
I do not use the module kinematics did not work properly and I forever spillage . And unfortunately this example to the gate for me does not work
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23262
- Thank you received: 4927
02 Aug 2016 09:36 #78286
by andypugh
Replied by andypugh on topic how to -- Homing two motors one axis
Part of the whole _point_ of the major changes to Master is to make Gantry machines work properly.
Please can you describe exactly what goes wrong for you if you use the new trivkins xyyz format?
Please can you describe exactly what goes wrong for you if you use the new trivkins xyyz format?
Please Log in or Create an account to join the conversation.
- aleksamc
-
- Offline
- Platinum Member
-
Less
More
- Posts: 567
- Thank you received: 65
02 Aug 2016 09:50 #78287
by aleksamc
Replied by aleksamc on topic how to -- Homing two motors one axis
You should set tool in the position where you know your coordinates manually, for example X0 Y0 Z0.
Then in linuxcnc after manual homing you press "touch off" for every axis and write there what you need.
As for me, I work on two CNC-machines with stepper motors and complitly don't use homings and probes.
I do homing manually and error is in ~0.1mm.
Then in linuxcnc after manual homing you press "touch off" for every axis and write there what you need.
As for me, I work on two CNC-machines with stepper motors and complitly don't use homings and probes.
I do homing manually and error is in ~0.1mm.
Please Log in or Create an account to join the conversation.
Time to create page: 0.201 seconds