orienting a spindle with a vfd
- ihavenofish
- Away
- Platinum Member
- Posts: 700
- Thank you received: 135
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.
- Mike_Eitel
- Offline
- Platinum Member
- Posts: 1128
- Thank you received: 184
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.
- raglanlittlejohn
- Offline
- Senior Member
- Posts: 76
- Thank you received: 9
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.
- Mike_Eitel
- Offline
- Platinum Member
- Posts: 1128
- Thank you received: 184
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.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
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.
- raglanlittlejohn
- Offline
- Senior Member
- Posts: 76
- Thank you received: 9
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.
- ihavenofish
- Away
- Platinum Member
- Posts: 700
- Thank you received: 135
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.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
This won't work for an induction motor.
Please Log in or Create an account to join the conversation.
- ihavenofish
- Away
- Platinum Member
- Posts: 700
- Thank you received: 135
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17870
- Thank you received: 4776
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.