orienting a spindle with a vfd

More
21 Jan 2018 03:43 #104756 by ihavenofish
hullo

this is more a hardware side question, not so much the orient function inside linuxcnc

how would one go about orienting a induction motor spindle - a 24000rpm little router spindle in this case. normally this is run by a regular vector vfd drive, from 0-10v. no encoders, or just an inductive 2 pulse per turn encoder to feed back the true speed.

I assume with no encoder at all, we cant do much. but if we have the basic inductive pulse encoder, is Linux able to treat the system as some form of closed loop? like, turn at low speed til a pulse is read, then stop / reverse if needed. in this case, we don't need much speed. if it takes a second or 2 to orient, its a non issue. it just needs to do it to do a tool change. we need to be within about 1 degree to line up the drive dogs with the tool.

if this works, then the question is, do more encoder pulses make it work a bit better? or is it really just looking for that one index point.

thanks!

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

More
21 Jan 2018 08:07 #104760 by Mike_Eitel
m5c
Before looking Info SW.
Is your VFD able to output f.x <1hz = 60rpm.
Witch in my eyes would still be a fast positioning of the spindle.
And in that one turn, what precision you need.
I wonder what control signal ( analog / pwm) has such resolution.
Mike

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

More
21 Jan 2018 09:45 #104761 by raglanlittlejohn
ihavenofish
I've posted a couple of questions recently about the orient function, but not had much response. I wonder if it's not used much. I think if you can run your spindle very slowly, as suggested by m5c, it might work. I've only got it working in either cw or ccw direction with a 400 pulse encoder, but it works ok like that. When the orient process starts, the pin motion.spindle-orient goes high. Hal needs setting up to drive the spindle at slow speed, and take the spindle encoder pulse to motion.spindle-is-oriented. When the pin motion.spindle-spindle-is-oriented goes high, the spindle stops in the correct position. I think the problem will be getting it to stop accurately enough for tool changing with one pulse.

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

More
21 Jan 2018 10:03 #104762 by Mike_Eitel
m5c = my five cents

Even for the "fast" 60 rpm you must command a 2.5 promille speed ! (1/400) !
I heavily doubt that you can position that way at all, even for only 45 degree steps.

Mike

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

More
21 Jan 2018 11:36 #104774 by andypugh

ihavenofish
I've posted a couple of questions recently about the orient function, but not had much response. I wonder if it's not used much.


I just tried to answer, but as I am working abroad I am a long way behind on the forums.

When the orient process starts, the pin motion.spindle-orient goes high. Hal needs setting up to drive the spindle at slow speed, and take the spindle encoder pulse to motion.spindle-is-oriented. When the pin motion.spindle-spindle-is-oriented goes high, the spindle stops in the correct position.


I think you have slightly misunderstood how orient and the orient component are meant to work.

The orient component gets an angle from the G-code (0 to 360 degrees). It scales that to be a 0 to 1 signal and adds it to the current spindle position HAL pin (the one that goes to motion.spindle-revs )
Imagine that the spindle has done 1000 revs before the orient and the orient command is 180 degrees. In that case the orient-position is 1000.5. This is passed to a PID component that outputs spindle speed and direction commands. The PID needs to be tuned to suit the dynamics of the spindle.

More importantly from the point of view of the original question, the system needs to know the spindle position to a good resolution. There is no way at all to achieve this with only a single sensor. You need an encoder on the spindle.

For a tool changer it is probably easier to use a stop-pin and a solenoid. Just energise the solenoid and rotate the spindle as slowly as it can go for a second or two until the pin drops in (a pin position sensor might be a nice addition).

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

More
21 Jan 2018 11:52 #104777 by raglanlittlejohn
Andy,

Thanks for the explanation. I do appreciate your help, and realize the time you must put in answering questions on the forum. I've been reseting the encoder with the index at each revolution. I guess thats why the mode 0 would not work, but mode 1 and 2 would. I'll have another go and let you know how I get on.

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

More
21 Jan 2018 14:48 #104789 by ihavenofish

from the point of view of the original question, the system needs to know the spindle position to a good resolution. There is no way at all to achieve this with only a single sensor. You need an encoder on the spindle.

For a tool changer it is probably easier to use a stop-pin and a solenoid. Just energise the solenoid and rotate the spindle as slowly as it can go for a second or two until the pin drops in (a pin position sensor might be a nice addition).


ok, I figured hat might be the case. I want to avoid the pin thing for the sake of simplicity. seems we need a real encoder, with at least 360 lines to do this right, which means finding a way to stick it on top of the motor, behind the fan. ugh. at some point it may become more practical to just have a 24000rpm ac servo custom wound that "just works". (this is for a production spindle, so custom is plausible)


hmmmmm

thanks!

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

More
21 Jan 2018 15:29 #104790 by andypugh
If the spindle is a brushless motor, and all you care about is always stopping at the _same_ place you could just send a fixed excitation to the motor coils. This wold need an extra sensor for a > 2 pole motor.
This won't work for an induction motor.

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

More
21 Jan 2018 15:41 #104791 by ihavenofish
it was meant to be an induction motor as mentioned in the first post. but if it becomes too much of an annoyance, I could see just going to a custom ac servo. the induction motors are cheap though, and perform well for their size at high speeds.

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

More
21 Jan 2018 16:08 #104792 by PCW
Replied by PCW on topic orienting a spindle with a vfd
Does the VFD have DC braking capability?
If this could be energized by LinuxCNC when in orient mode and when
the prox triggered it might be good enough if the spindle RPM was low enough
when doing the orient cycle.

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

Moderators: piasdom
Time to create page: 0.124 seconds
Powered by Kunena Forum