Discussion:
[Emc-users] spindle-at-speed being ignored
Gene Heskett
2017-06-23 00:59:22 UTC
Permalink
Greetings everybody;

This same file ran on TLM just fine about 8 months back as I was making x
drive parts for this Sheldon.

But on the Sheldon, it pauses at the beginning of the g33.1 motion as if
its waiting on motion.spindle-at-speed to go true, when in fact its been
true all along.

So my question then is, does motion.spindle-at-speed need an initial
false input to "arm" its sensitivity to getting z motion started when it
does go true?

Thanks folks.

Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
Gene Heskett
2017-06-23 02:23:08 UTC
Permalink
Post by Gene Heskett
Greetings everybody;
This same file ran on TLM just fine about 8 months back as I was
making x drive parts for this Sheldon.
But on the Sheldon, it pauses at the beginning of the g33.1 motion as
if its waiting on motion.spindle-at-speed to go true, when in fact its
been true all along.
So my question then is, does motion.spindle-at-speed need an initial
false input to "arm" its sensitivity to getting z motion started when
it does go true?
And before someone asks, yes, encoder.00.position is hooked to
motion.spindle-revs, and I can see it marching along with a halmeter as
the spindle turns. The near module I used is set quite broad because
the motion.spindle.rps signal bears little relationship to the actual
speed because of the wide range of output speeds available with an 8
speed gearshift between the motor and the spindle.

That is yet another problem that needs sorted, as I'd like to develop a
slowdown if the motors phase slip angle gets too high because of a heavy
load and too high a frequency from the vfd since the torque does a
vanishing act when the frequency is above 120Hz with this motor. Coil
amperage falls off a cliff due to winding inductance then.
Post by Gene Heskett
Thanks folks.
Cheers, Gene Heskett
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
s***@empirescreen.com
2017-06-23 03:20:52 UTC
Permalink
It is waiting for an index..





On Thu, 22 Jun 2017 22:23:08 -0400
Post by Gene Heskett
Post by Gene Heskett
Greetings everybody;
This same file ran on TLM just fine about 8 months back as I was
making x drive parts for this Sheldon.
But on the Sheldon, it pauses at the beginning of the g33.1 motion as
if its waiting on motion.spindle-at-speed to go true, when in fact its
been true all along.
So my question then is, does motion.spindle-at-speed need an initial
false input to "arm" its sensitivity to getting z motion started when
it does go true?
And before someone asks, yes, encoder.00.position is hooked to
motion.spindle-revs, and I can see it marching along with a halmeter as
the spindle turns. The near module I used is set quite broad because
the motion.spindle.rps signal bears little relationship to the actual
speed because of the wide range of output speeds available with an 8
speed gearshift between the motor and the spindle.
That is yet another problem that needs sorted, as I'd like to develop a
slowdown if the motors phase slip angle gets too high because of a heavy
load and too high a frequency from the vfd since the torque does a
vanishing act when the frequency is above 120Hz with this motor. Coil
amperage falls off a cliff due to winding inductance then.
Post by Gene Heskett
Thanks folks.
Cheers, Gene Heskett
Cheers, Gene Heskett
--
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
https://lists.sourceforge.net/lists/listinfo/emc-users
Gene Heskett
2017-06-23 05:19:28 UTC
Permalink
Post by s***@empirescreen.com
It is waiting for an index..
Index signal from the encoder.00 right? Humm, shows in the board
registration as encoder.00.Index, but its not mentioned in the hal file.
Duh.

OTOH, the encoder man page says thats Phase-Z:
hm2/hm2_7i90.0: IO Pin 008 (P1-17): Encoder #0, pin Index (Input)

Which is the 3rd channel from the hall effects watching the 60 tooth gear
on the spindle.

From the man page:
motion.spindle-index-enable I/O BIT
For correct operation of spindle synchronized moves, this signal must be
hooked to the index-enable pin of the spindle encoder.

And from the encoder man page:
encoder.N.index-enable bit i/o
When true, counts and position are reset to zero on the
next rising edge of Phase-Z. At the same time, index-enable is reset to
zero to indicate that the rising edge has occurred.

None of the above is hooked up in this hal file.

I think I can sort this tomorrow, if I'm not swimming, the talking heads
are saying 2 to 3", possible flooding. OTOH I'm a good 40 feet above
the river. So I should be dry. :)
Post by s***@empirescreen.com
On Thu, 22 Jun 2017 22:23:08 -0400
Post by Gene Heskett
Post by Gene Heskett
Greetings everybody;
This same file ran on TLM just fine about 8 months back as I was
making x drive parts for this Sheldon.
But on the Sheldon, it pauses at the beginning of the g33.1 motion
as if its waiting on motion.spindle-at-speed to go true, when in
fact its been true all along.
So my question then is, does motion.spindle-at-speed need an
initial false input to "arm" its sensitivity to getting z motion
started when it does go true?
And before someone asks, yes, encoder.00.position is hooked to
motion.spindle-revs, and I can see it marching along with a halmeter
as the spindle turns. The near module I used is set quite broad
because the motion.spindle.rps signal bears little relationship to
the actual speed because of the wide range of output speeds
available with an 8 speed gearshift between the motor and the
spindle.
That is yet another problem that needs sorted, as I'd like to
develop a slowdown if the motors phase slip angle gets too high
because of a heavy load and too high a frequency from the vfd since
the torque does a vanishing act when the frequency is above 120Hz
with this motor. Coil amperage falls off a cliff due to winding
inductance then.
Post by Gene Heskett
Thanks folks.
Cheers, Gene Heskett
Cheers, Gene Heskett
--
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
--------------------------------------------------------------------
---------- Check out the vibrant tech community on one of the world's
most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
https://lists.sourceforge.net/lists/listinfo/emc-users
----------------------------------------------------------------------
-------- Check out the vibrant tech community on one of the world's
most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
https://lists.sourceforge.net/lists/listinfo/emc-users
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
andy pugh
2017-06-23 08:41:39 UTC
Permalink
Post by Gene Heskett
Post by s***@empirescreen.com
It is waiting for an index..
Index signal from the encoder.00 right?
Not directly, it is waiting for the encoder counter to signal that an index
has been seen,

http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_synchronized_motion

(suitably modified for hm2)
--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
Gene Heskett
2017-06-23 10:47:10 UTC
Permalink
Post by andy pugh
Post by Gene Heskett
Post by s***@empirescreen.com
It is waiting for an index..
Index signal from the encoder.00 right?
Not directly, it is waiting for the encoder counter to signal that an
index has been seen,
http://linuxcnc.org/docs/html/examples/spindle.html#_spindle_synchroni
zed_motion
Oh goody. And sorting this for the differences in pin/signal names
between the above non-hostmot2 examples, and the hostmot2 names is left
as an exercise for the reader. hostmot2 doesn't have a position-scale
pin, just scale for instance. setp to 240 as thats the encoder edges for
on full turn. I have the index-pulse like this:

#######################################################
# for g33.1, motion.spindle-revs needs to be hooked to
# encoder.0.position output
net gee33dot1 <= hm2_[HOSTMOT2](BOARD).0.encoder.00.position =>
motion.spindle-revs
# and index-enable needs to be enabled
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-enable true
# and then hooked up bidirectional to motion.spindle-index-enable
net spindle-index hm2_[HOSTMOT2](BOARD).0.encoder.00.index-enable <=>
motion.spindle-index-enable #is false forever

but position is incrementing forever if fwd, decrementing forever in
reverse. So it appears the Index is being ignored if what I read about
how this works is true.
Post by andy pugh
(suitably modified for hm2)
What I've tried to do is essentially duplicate The Little Monsters
settings, which do work, but one is on a 5i25, the other on a 7i90.
The changes in naming of the two makes direct comparisons difficult to
translate error free. Same with the 3 axis G0704, which can do rigid
tapping just fine, running the g33.1 canned cycle in a loop for peck
mode, advancing a fixed amount per peck, usually around half a turn. But
again, thats a 5i25 interfaced machine. To switch it to a 5i25 driving a
7i90 is tempting as I am out of i/o and can't add a 4th axis to it that
it badly needs. And I am out of room in that monster box for a 7i90 and
its breakout boards, I'd have to make/buy yet another box to contain all
that. One project at a time please...

Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
andy pugh
2017-06-23 10:57:31 UTC
Permalink
Post by Gene Heskett
And sorting this for the differences in pin/signal names
between the above non-hostmot2 examples, and the hostmot2 names is left
as an exercise for the reader
Well, yes. Because an example for every Mesa card, Pico card, Motec card,
General Mechatronics card in the docs would be silly.
--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
andy pugh
2017-06-23 11:00:17 UTC
Permalink
Post by Gene Heskett
but position is incrementing forever if fwd, decrementing forever in
reverse. So it appears the Index is being ignored if what I read about
how this works is true.
This is correct.

No need to setp index_enable to true in the HAL (but it does no harm, and
would be helpful if you were doing spindle-orient)

index_enable is only set true once at the beginning of each spindle-synch
move. Most of the time it sits at false and the spindle-revs pin increases
by 1.0 per rev.
--
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
Gene Heskett
2017-06-23 15:36:09 UTC
Permalink
Post by andy pugh
Post by Gene Heskett
but position is incrementing forever if fwd, decrementing forever in
reverse. So it appears the Index is being ignored if what I read
about how this works is true.
This is correct.
No need to setp index_enable to true in the HAL (but it does no harm,
and would be helpful if you were doing spindle-orient)
index_enable is only set true once at the beginning of each
spindle-synch move. Most of the time it sits at false and the
spindle-revs pin increases by 1.0 per rev.
By playing with the setp values for the near (named close-enough) module,
I now have its output, sent to spindle-at-speed, flicking on and and
off, off for a short time after changing speed. This has similar
inputs, currently scaled for 1st gear, rigged such that it should be
true once the motor has assumed the speed commanded, so it wouldn't be
sensitive to other than the load and slip angle that imply's. But, its
sensitive to the gear change, so getting the proper scaling when the
gear is changed is YTBD.

Now, to go and observe it to see if I've still missed something. I think
I have, but first a fresh printout so I can better track WTHeck I'm
doing. This hal file, from the examples, that I started with was less
than 150 LOC then, but is past 600 LOC now. The jogging additions are
around half of it. I had no clue when I started out to make those work,
that it was going to take that much hal code. But its working quite well
with excellent repeatability.

Another item I am fighting with is the following error, I've found that
it must bet set higher than the backlash else it errors on the backlash
moves, either axis. Should this be happening?

Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
sam sokolik
2017-06-23 15:52:29 UTC
Permalink
Backlash comp is added to the motion move. So - If you are accelerating
+ backlash comp - you could get 2X the acceleration for the duration of
backlash.

You want to have 2X the acceleration set in stepgen headroom. Seems to
work well. (steppers at that low rpm (aprox 0) have quite a bit of
extra torque. Normally doesn't seem to have problem with 2X your normal
acceleration. In this screen shot you can see the backlash is applied
during reversal. Following error is non-existent because I have 2X
acceleration in stepgen.

sam
Post by Gene Heskett
Post by andy pugh
Post by Gene Heskett
but position is incrementing forever if fwd, decrementing forever in
reverse. So it appears the Index is being ignored if what I read
about how this works is true.
This is correct.
No need to setp index_enable to true in the HAL (but it does no harm,
and would be helpful if you were doing spindle-orient)
index_enable is only set true once at the beginning of each
spindle-synch move. Most of the time it sits at false and the
spindle-revs pin increases by 1.0 per rev.
By playing with the setp values for the near (named close-enough) module,
I now have its output, sent to spindle-at-speed, flicking on and and
off, off for a short time after changing speed. This has similar
inputs, currently scaled for 1st gear, rigged such that it should be
true once the motor has assumed the speed commanded, so it wouldn't be
sensitive to other than the load and slip angle that imply's. But, its
sensitive to the gear change, so getting the proper scaling when the
gear is changed is YTBD.
Now, to go and observe it to see if I've still missed something. I think
I have, but first a fresh printout so I can better track WTHeck I'm
doing. This hal file, from the examples, that I started with was less
than 150 LOC then, but is past 600 LOC now. The jogging additions are
around half of it. I had no clue when I started out to make those work,
that it was going to take that much hal code. But its working quite well
with excellent repeatability.
Another item I am fighting with is the following error, I've found that
it must bet set higher than the backlash else it errors on the backlash
moves, either axis. Should this be happening?
Cheers, Gene Heskett
Todd Zuercher
2017-06-23 03:56:17 UTC
Permalink
I think most "good" VFDs can do that automatically.

----- Original Message -----
From: "Gene Heskett" <***@shentel.net>
To: emc-***@lists.sourceforge.net
Sent: Thursday, June 22, 2017 10:23:08 PM
Subject: Re: [Emc-users] spindle-at-speed being ignored
Post by Gene Heskett
Greetings everybody;
This same file ran on TLM just fine about 8 months back as I was
making x drive parts for this Sheldon.
But on the Sheldon, it pauses at the beginning of the g33.1 motion as
if its waiting on motion.spindle-at-speed to go true, when in fact its
been true all along.
So my question then is, does motion.spindle-at-speed need an initial
false input to "arm" its sensitivity to getting z motion started when
it does go true?
And before someone asks, yes, encoder.00.position is hooked to
motion.spindle-revs, and I can see it marching along with a halmeter as
the spindle turns. The near module I used is set quite broad because
the motion.spindle.rps signal bears little relationship to the actual
speed because of the wide range of output speeds available with an 8
speed gearshift between the motor and the spindle.

That is yet another problem that needs sorted, as I'd like to develop a
slowdown if the motors phase slip angle gets too high because of a heavy
load and too high a frequency from the vfd since the torque does a
vanishing act when the frequency is above 120Hz with this motor. Coil
amperage falls off a cliff due to winding inductance then.
Post by Gene Heskett
Thanks folks.
Cheers, Gene Heskett
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users
Continue reading on narkive:
Loading...