ONE spindle motor+drive to use with Spindle And C-Axis (vel and pos mode)

More
28 Jun 2017 15:53 #95109 by snujcnc
Hi All

I am working on turn mill machine
i have 1 drive (danfoss30kw) connected to Fanuc Motor 22kw
connected to linuxcnc with Ethercat fieldbus...
i can run spindle alone and tested threading on machine (velocity control)
i can run c axis with same motor and same drive with some configuration change (position control)

i want to use (motion.spindle-speed-out) and (pid.c.output) connected to danfoss drives reference command pdo
but not allowed by linuxcnc because both value is float out and both goes to same pin of danfoss drive(ref command)

my requirement is to switching between spindle and c axis with some plc logic or some hal configuration

if some one give me idea for this work please make comment ....

how to switch between c axis and spindle in case both command is float out(spindle and c axis) and goes to one pin of drive(ref command) ?

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

More
28 Jun 2017 16:07 - 28 Jun 2017 16:08 #95110 by Todd Zuercher
Use a mux hal component to switch between the connection of the two hal output pins.
linuxcnc.org/docs/2.7/html/man/man9/mux2.9.html
Last edit: 28 Jun 2017 16:08 by Todd Zuercher.
The following user(s) said Thank You: snujcnc

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

More
28 Jun 2017 16:10 #95111 by snujcnc
i will try now and revert back

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

More
28 Jun 2017 17:06 #95116 by snujcnc
Thanks

Its working now

one more question rise after this setting works

only on encoder is mounted on spindle and used for both spindle and c axis feedback

when i try to run c axis its work fine but when i switched axis is mux2 sel pin
and try to rotate spindle it shows c-axis following error

i also try to disable pid for c axis but when encoder rotate without c-axis command it show c-axis following error

can you give me some idea

or i can use same mux2 component for encoder

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

More
28 Jun 2017 17:31 #95122 by Todd Zuercher
I'm not sure what the best solution to that problem would be. Hopefully someone with some real experience with this subject will chime in.

One that might sort of work would be to short circut the feedback loop for the c-axis, by connecting the c-axis position command out directly to the c-axis position command feedback (but leave the PID alone).

This will stop the c-axis following errors when running in spindle mode. But I have no idea exactly what will happen when you switch back to position mode, and the drive is sent a large step in position command.

It might be helpful for you to post a copy of your hal file so we can see some of the details of how the command and feedback are connected.
The following user(s) said Thank You: snujcnc

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

More
28 Jun 2017 18:34 #95132 by snujcnc
after short axis feedback and command pid become unstable

if there is idea to reset encoder count when enable pid i can do something

or if some has idea please share

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

More
28 Jun 2017 19:22 #95143 by Todd Zuercher
One thing that may help, if you haven't already you may need to configure the C-axis as a wrapped rotary.

Is it possible to configure the drive so it's position feedback to Linuxcnc does similarly?
How is the feedback of the c-axis handled? Is the drive sending a float signal to a hal pin, or is Linuxcnc reading the encoder pulses directly via a software encoder counter?

You may also need to limit one or more of the pid's maxerrors, to prevent windup.
linuxcnc.org/docs/devel/html/man/man9/pid.9.html

What exactly is your pid controling, the velocity or position?

Seeing your configuration files would be helpful.

Why do you think you even need a c-axis spindle? Linuxcnc can do rigid tapping without it. (Is this a lathe with live tooling?)

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

More
28 Jun 2017 20:03 #95148 by snujcnc
My machine is turn mill machine with live tooling

Spindle encoder is mounted on spindle

Spindle motor and actual spindle is connected with gear box

Spindle encoder actual output read by ethercat master via ethercat encoder pulse reader slave.

My spindle drive talk to linuxcnc on ethercat bus and motor and motor encoder connected internally , so we only send command and read spindle status and some information from drive

We are not using spindle drive encoder feedback or any simulated encoder feedback , we connect actual feedback to linuxcnc ,

For wrapped rotary axis I can try tomorrow ,it's 2 am in india now ,

Can you explain me what you want to tell me about warped rotary ( I use this warped rotary in past but not try on this machine)

I am actually looking for two float output from one float input ....

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

More
28 Jun 2017 21:35 - 28 Jun 2017 21:36 #95151 by rodw

I am actually looking for two float output from one float input ....


Something like this will do what you want. There is no limit to how many pins it can be sent to.
net curvolt <= thcad10.torch-volts
net curvolt => plasma.hal-lbl-cur-volt 
net curvolt => zo.feedback
Last edit: 28 Jun 2017 21:36 by rodw.
The following user(s) said Thank You: snujcnc

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

More
29 Jun 2017 15:21 #95177 by snujcnc
thanks for reply
please do one favor tell me how to use this thcad10 with linuxcnc version 2.5.3

if possible send me detailed procedure how to use
net curvolt <= thcad10.torch-volts
net curvolt => plasma.hal-lbl-cur-volt
net curvolt => zo.feedback

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

Time to create page: 0.096 seconds
Powered by Kunena Forum