- Configuring LinuxCNC
- Advanced Configuration
- Rigid tapping/spindle synchronized motion with only motor encoder
Rigid tapping/spindle synchronized motion with only motor encoder
- underscore
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 25
- Thank you received: 0
18 Sep 2020 13:24 #182645
by underscore
Hello,
I am wondering (please let me know if it’s a crazy idea) if it is possible to do spindle synchronized motion with only a spindle motor encoder, but integer gear ratio.
More specifically, I would like to use my DMM servo for rigid tapping without having to add an additional encoder directly to the spindle. The pulley ratio is such that 1 motor rotation corresponds to two spindle rotations. I’m using a 7i76 to drive the servo.
Browsing through the man pages, it seems like it should be possible, except the index enable signal would only fire every two spindle rotation. Is that a problem?
Would I have to use a “Multiply by two, then modulo 1” component to scale the motor encoder to match the spindle position?
Curious to hear your opinions!
I am wondering (please let me know if it’s a crazy idea) if it is possible to do spindle synchronized motion with only a spindle motor encoder, but integer gear ratio.
More specifically, I would like to use my DMM servo for rigid tapping without having to add an additional encoder directly to the spindle. The pulley ratio is such that 1 motor rotation corresponds to two spindle rotations. I’m using a 7i76 to drive the servo.
Browsing through the man pages, it seems like it should be possible, except the index enable signal would only fire every two spindle rotation. Is that a problem?
Would I have to use a “Multiply by two, then modulo 1” component to scale the motor encoder to match the spindle position?
Curious to hear your opinions!
Please Log in or Create an account to join the conversation.
18 Sep 2020 13:40 - 18 Sep 2020 13:40 #182648
by PCW
Replied by PCW on topic Rigid tapping/spindle synchronized motion with only motor encoder
I suspect that it would work, LinuxCNC would just wait longer for the index when
starting a tapping cycle. I also don't think any additional components are needed
you would just need to scale the motor encoder correctly in counts per one spindle
rotation.
starting a tapping cycle. I also don't think any additional components are needed
you would just need to scale the motor encoder correctly in counts per one spindle
rotation.
Last edit: 18 Sep 2020 13:40 by PCW. Reason: motor rather than spindle encoder
Please Log in or Create an account to join the conversation.
- underscore
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 25
- Thank you received: 0
18 Sep 2020 18:02 #182670
by underscore
Replied by underscore on topic Rigid tapping/spindle synchronized motion with only motor encoder
I’m trying to find a reference, but I think I read that linuxcnc used to current rpm, acceleration etc. to ensure it is at a certain position at the next index pulse.
If that’s the case (in contrast to just using the index pulse as a start signal for the movement), wouldn’t estimate be off since it has to wait twice as long?
If that’s the case (in contrast to just using the index pulse as a start signal for the movement), wouldn’t estimate be off since it has to wait twice as long?
Please Log in or Create an account to join the conversation.
18 Sep 2020 18:08 #182671
by PCW
Replied by PCW on topic Rigid tapping/spindle synchronized motion with only motor encoder
No, because AFAIK LinuxCNC does not use index _except_ at the start of rigid
tapping and threading operations, and all the mentioned calculations would be
correct since they are based on the spindle position, independent of index.
tapping and threading operations, and all the mentioned calculations would be
correct since they are based on the spindle position, independent of index.
Please Log in or Create an account to join the conversation.
- underscore
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 25
- Thank you received: 0
18 Sep 2020 19:25 #182673
by underscore
Replied by underscore on topic Rigid tapping/spindle synchronized motion with only motor encoder
Would you happen to know where to look in the source code to find out the details?
Please Log in or Create an account to join the conversation.
18 Sep 2020 19:34 #182674
by PCW
Replied by PCW on topic Rigid tapping/spindle synchronized motion with only motor encoder
tp.c
Please Log in or Create an account to join the conversation.
- underscore
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 25
- Thank you received: 0
18 Sep 2020 19:56 #182675
by underscore
Replied by underscore on topic Rigid tapping/spindle synchronized motion with only motor encoder
Very interesting. It does look like the index is just to signal the start, as far as I can tell (which doesn’t mean much, since that’s the first time for me looking at the TP and I can only guess how it works).
Why do we need the index pulse at all? Shouldn’t spindle at speed be sufficient?
A related question (since you’re already answering): does anything bad happen when the encoder counter overflows?
Why do we need the index pulse at all? Shouldn’t spindle at speed be sufficient?
A related question (since you’re already answering): does anything bad happen when the encoder counter overflows?
Please Log in or Create an account to join the conversation.
18 Sep 2020 20:46 - 18 Sep 2020 20:47 #182681
by PCW
Replied by PCW on topic Rigid tapping/spindle synchronized motion with only motor encoder
The index is used to establish a reference position
(like home on a linear axis) You could do this by a
simple modulo encoder count but it would not be
repeatable, that is it would be volatile This is probably
fine for rigid tapping but no so great for threading
Encoder position overflow would take many years (since the position
is a double precision number), But you do lose precision if the spindle
position gets huge, but this does no happen with spindle synchronized
moves since the position is zeroed at index.
(like home on a linear axis) You could do this by a
simple modulo encoder count but it would not be
repeatable, that is it would be volatile This is probably
fine for rigid tapping but no so great for threading
Encoder position overflow would take many years (since the position
is a double precision number), But you do lose precision if the spindle
position gets huge, but this does no happen with spindle synchronized
moves since the position is zeroed at index.
Last edit: 18 Sep 2020 20:47 by PCW.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
18 Sep 2020 20:55 #182682
by Todd Zuercher
Replied by Todd Zuercher on topic Rigid tapping/spindle synchronized motion with only motor encoder
So when making multiple passes on a thread, They will all line up and start at the same point.
Not sure, but probably. Shouldn't be a problem though since it is a double precision float. (Spindle would have to turn for a ridiculous number of years before is a problem.)
Not sure, but probably. Shouldn't be a problem though since it is a double precision float. (Spindle would have to turn for a ridiculous number of years before is a problem.)
Please Log in or Create an account to join the conversation.
- underscore
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 25
- Thank you received: 0
18 Sep 2020 21:18 #182683
by underscore
Replied by underscore on topic Rigid tapping/spindle synchronized motion with only motor encoder
Good point about the index resetting the position. When I was messing with it yesterday, position was not reset on index, but I probably just mis-configured something.
The only question that's left is: What is going to happen if motion.spindle-revs (or spindle.N.revs) is going between 0..2 (instead of 0..1, if I understand the manual correctly)?
The only question that's left is: What is going to happen if motion.spindle-revs (or spindle.N.revs) is going between 0..2 (instead of 0..1, if I understand the manual correctly)?
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Advanced Configuration
- Rigid tapping/spindle synchronized motion with only motor encoder
Time to create page: 0.093 seconds