Mori Seiki TV30 tool carousel setup problem.

More
5 years 3 months ago #214266 by Varang1an
Yes first orient spindle, then move Z axis in to position and then home ATC. I have set NO_FORCE_HOMING=1

I suddenly noticed this: halui.joint.N.home bit in so maybe I could use that to home atc at later stage.... have to try it out

Please Log in or Create an account to join the conversation.

More
5 years 3 months ago #214270 by Aciera
Yes that should work.
You could connect halui.joint.N.home to motion.digital-out-nn and create an Mcode remap that orients the spindle, moves the Z axis into position and issues M64 Pnn to initiate homing of the ATC.

Please Log in or Create an account to join the conversation.

More
5 years 3 months ago #214286 by dm17ry
as far as i remember the toolchanger uses a MDS-A-SVJ-06 servo drive with HA-ME73 servo motor. it is an oldish motor equipped with an incremental encoder, so it has to be homed each startup.
i suggested to add a joint to it and use linuxcnc's built it homing, but then realized that it's impossible without adding a corresponding axis...
the drive is position controlled. so my approach would be to implement a hal component with pins:

speed limit
acceleration limit
home input
homed output
target position input
at-position output

then at startup you would assert "home", wait for "homed". and then set "target position" and wait for "at-position" when needed...

Please Log in or Create an account to join the conversation.

More
5 years 3 months ago #214322 by Varang1an
Yes exactly that setup. I may have to tinker on what you mentioned, but I am not sure how I can drive that axis to home it if it requires position commands? or is there any examples how to do it which I could take a look of? currently I am kind counting position one "step" forward and checking if limit switch has engaged during that step and if not it continues to increment position command value.

Please Log in or Create an account to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #214327 by dm17ry
i would implement the component as a state machine. from the idle it would check the "home" pin and if true, move to, say, home1 state.
mimic the linuxcnc homing behavior. you'll have home_search_velocity and home_latch velocity. something like

target_velocity = home_search_velocity;
dv = (target_velocity - current_velocity);
if (dv / fperiod > max_accel) dv = max_accel * fperiod
else if (dv / fperiod < -max_accel) dv = -max_accel * fperiod;
current_velocity += dv;
output_pos += current_velocity * fperiod;

you can have a look how linuxcnc does it:  github.com/LinuxCNC/linuxcnc/blob/master.../emc/motion/homing.c
Last edit: 5 years 3 months ago by dm17ry.

Please Log in or Create an account to join the conversation.

More
5 years 3 months ago #214456 by andypugh
Is the "carousel" HAL component any help here?

linuxcnc.org/docs/2.8/html/man/man9/carousel.9.html

That can be configured to home itself on the first tool request, for example.

Please Log in or Create an account to join the conversation.

Time to create page: 0.155 seconds
Powered by Kunena Forum