I can't thread when the spindle is higher than 600 rpm
13 Feb 2024 20:58 #293260
by vmihalca
I can't thread when the spindle is higher than 600 rpm was created by vmihalca
I have a spindle ABZ encoder with 1024ppr. I know that the actual resolution does not matter because it only considers the index pulse.
I tried threading at higher speeds, for example 1000 rpm for a 1.5mm pitch, but noticed that it does the first pass than it waits...If I decrease the speed with spindle override, once I go around 700, it starts doing passes but with irregular pauses in between.
Once I go to 600rpm and below, it threads fine without any noticeable time irregularities, so all passes start at equal time intervals.
Is this a limitation of linuxcnc? Is the pulse frequency too high? From my calculus at 600rpm the encoder index pulse frequency is 10hz and at 1000rpm would be 16.67hz
Is this too much for linuxcnc?
I am using a Mesa 7i97 analog servo interface.
I tried threading at higher speeds, for example 1000 rpm for a 1.5mm pitch, but noticed that it does the first pass than it waits...If I decrease the speed with spindle override, once I go around 700, it starts doing passes but with irregular pauses in between.
Once I go to 600rpm and below, it threads fine without any noticeable time irregularities, so all passes start at equal time intervals.
Is this a limitation of linuxcnc? Is the pulse frequency too high? From my calculus at 600rpm the encoder index pulse frequency is 10hz and at 1000rpm would be 16.67hz
Is this too much for linuxcnc?
I am using a Mesa 7i97 analog servo interface.
Please Log in or Create an account to join the conversation.
13 Feb 2024 21:14 #293262
by Mecanix
Replied by Mecanix on topic I can't thread when the spindle is higher than 600 rpm
Interesting. I'd be inclined to blame it on your encoder Z pulse duration being insufficient rather than Linuxcnc (wild guess mind you). I remember being able to thread 0.5mm finepitch at 1.5k rpm a few months ago (Omron E6B2 here). Unless something changed in the version perhaps?
What's your abz encoder type/make?
What's your abz encoder type/make?
Please Log in or Create an account to join the conversation.
13 Feb 2024 21:39 #293266
by vmihalca
Replied by vmihalca on topic I can't thread when the spindle is higher than 600 rpm
The encoder is Heidenhain, that's how it was from the factory, I just retrofitted the control.
Please Log in or Create an account to join the conversation.
13 Feb 2024 21:52 #293268
by Mecanix
Replied by Mecanix on topic I can't thread when the spindle is higher than 600 rpm
I doubt this is going to solve anything, but is there anyway for you to measure the duration of the Z pulse vs rpm (e.g. with a hardware oscope/logic analyzer)? I have a strange feeling it's not long enough.
With that in hand someone more knowledgeable of Linuxcnc's min/max timing requirement could potentially help in debugging this for you.
With that in hand someone more knowledgeable of Linuxcnc's min/max timing requirement could potentially help in debugging this for you.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19188
- Thank you received: 6432
13 Feb 2024 22:04 #293269
by tommylight
Replied by tommylight on topic I can't thread when the spindle is higher than 600 rpm
Measure the voltage going to encoder, so on the Mesa header, between + and -, if it is lower than 4.3-4.5V change the 5V supply.
Old Samsung phone chargers were really good, just mind the polarity.
And please do not use counterfeit Samsung chargers, those vary in output voltage wildly and have very bad voltage control and filtering.
Old Samsung phone chargers were really good, just mind the polarity.
And please do not use counterfeit Samsung chargers, those vary in output voltage wildly and have very bad voltage control and filtering.
Please Log in or Create an account to join the conversation.
13 Feb 2024 22:30 #293272
by vmihalca
Replied by vmihalca on topic I can't thread when the spindle is higher than 600 rpm
I will check the voltage, I had this problem in the past with a cheap power supply. Now I am using a MeanWell 5v power supply, so I am pretty sure this is isn't the cause. However I will check tomorrow.
Regarding the index pulse not being long enough.. What should be the minimum pulse width?
Can I somehow increase the sampling rate?
Regarding the index pulse not being long enough.. What should be the minimum pulse width?
Can I somehow increase the sampling rate?
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19188
- Thank you received: 6432
13 Feb 2024 23:42 #293278
by tommylight
Replied by tommylight on topic I can't thread when the spindle is higher than 600 rpm
You can also disable encoder filtering for spindle in hal, should improve a bit if the duration is the issue.
Be aware, i have never tested this, this is just from what i read on this forum (i still try to read everything...).
Be aware, i have never tested this, this is just from what i read on this forum (i still try to read everything...).
Please Log in or Create an account to join the conversation.
14 Feb 2024 02:51 #293290
by PCW
Replied by PCW on topic I can't thread when the spindle is higher than 600 rpm
7I97 encoders have a default sample rate of ~ 8 MHz
This means that the minimum detected pulse width
is ~1.8 usec with the filter on and ~360 ns with the filter off.
This translates to about 1.1 MHz maximum count rate with the
filter on and about 5.5 MHz with the filter off.
These numbers are far away from limiting the detection of A/B or index,
since at 1000 RPM A/B/Index pulse width will be about 30 usec, meaning
even with filtering on, 10K RPM should still be OK.
I suspect a faulty encoder or some electrical issue, I would verify
that the 7I97 is jumpered properly for the encoder interface
(single ended or differential) and the the signal levels are valid
(single ended measured relative to ground in both states and differential
measured across the + and - pins in both states)
This means that the minimum detected pulse width
is ~1.8 usec with the filter on and ~360 ns with the filter off.
This translates to about 1.1 MHz maximum count rate with the
filter on and about 5.5 MHz with the filter off.
These numbers are far away from limiting the detection of A/B or index,
since at 1000 RPM A/B/Index pulse width will be about 30 usec, meaning
even with filtering on, 10K RPM should still be OK.
I suspect a faulty encoder or some electrical issue, I would verify
that the 7I97 is jumpered properly for the encoder interface
(single ended or differential) and the the signal levels are valid
(single ended measured relative to ground in both states and differential
measured across the + and - pins in both states)
Please Log in or Create an account to join the conversation.
14 Feb 2024 16:53 #293323
by vmihalca
Replied by vmihalca on topic I can't thread when the spindle is higher than 600 rpm
The jumpers are all set to differential. I have a MeanWell 5V, 2A power supply, and I measure 5.02v on the power supply terminals, 4.9v on the mesa input terminals and 4.87v on the encoder power supply terminals.
Between GND and the differential channels, I was able to measure 3.24v and 0.38v
I have the same values for all channels.
I also have two MPG, and I had similar values for those pins.
I turned off the encoder filtering, but doesn't seem to make any difference.
Also what I noticed is that at higher rpm's, for example 1000 or 1500, when I start the threading, it does the first pass, then it waits. If I change the spindle override, for example from 100% to 105% or to 95%, it starts a new pass once I change the spindle override, but then it waits again.
Please tell me what else I should be checking on.
Between GND and the differential channels, I was able to measure 3.24v and 0.38v
I have the same values for all channels.
I also have two MPG, and I had similar values for those pins.
I turned off the encoder filtering, but doesn't seem to make any difference.
Also what I noticed is that at higher rpm's, for example 1000 or 1500, when I start the threading, it does the first pass, then it waits. If I change the spindle override, for example from 100% to 105% or to 95%, it starts a new pass once I change the spindle override, but then it waits again.
Please tell me what else I should be checking on.
Please Log in or Create an account to join the conversation.
14 Feb 2024 17:14 #293324
by Mecanix
Replied by Mecanix on topic I can't thread when the spindle is higher than 600 rpm
While you investigate electrons, swing the gcode you are having issues with my way and I'll go thread some air on my lathe to rule out a potential software limitation.
Please Log in or Create an account to join the conversation.
Moderators: piasdom
Time to create page: 0.086 seconds