On the Z for my Cinci I cheat by running the encoder off a small idler driven by the belt between the servo and the ball screw. Gets me about 5X number of counts. In more practical terms ~100K count/in. Encoders off the end of the ball screws are 40K/in. I pretty much standardize on Koyo 2500 cpr light duty encoders at about $90 a pop. Couplers are helicoil and I've lost a couple in 20 years of operation. Very careful alignment in mounting helps. Only way I know to do much better is to use the Fanuc 'red cap' encoders.

Dave

On 6/19/21 6:16 PM, Gene Heskett wrote:
On Saturday 19 June 2021 18:57:42 John Dammeyer wrote:

But doesn't the 7i92 FPGA deal with quadrature encoders and therefore
doesn't really need to deal with a sampling process but instead looks
at edges?  And because of the way quadrature works, with the A/B
phasing you don't get the same types of errors compared to polling a
bit level X times per second and trying to decide when it's high/low.

John
Sure the quadrature decoder is the best, but to avoid quantization noise,
it must count a large number of edges going by for each sample time it
records how many edges have gone by THIS time. My original home made
encoder wheel on the G0704 had 74 slots, which was about as fine as I
could machine in a 30 thou thick brass disk. Each slot had 2 edges, and
with the slot interruptors spaced to be about 90 degrees apart, that was
around 276 edges per revolution. So it was at 500 revs, and a 1 khz
sample rate, blessed with quantization noise such that it was hammering
the nylon gears, making it sound as if all the bearings had square balls
in them since the controller was slapping both faces of the gears trying
to do 600 revs on one sample and 400 revs on the next sample a
millisecond later.

So I drilled and tapped the back of the motor shaft and fitted an
extension to drive a $20 1000 line encoder I got from fleabay.
quantization noise dissapeared, and I now have to look at the spindle to
see if its running, even at 500 revs, its dead silent. A 1/4-28 tap
bites into steel and I get no audible loading indication with a Pgain
above 1000 until Jons servo amp current limits at about 18 amps, making
the motor iron chirp.  On the old encoder, Pgain above 3 went crazy.

Bottom line: within the limits of your bobs bandwidth, (by-pass the optos
in it) the more resolution you can put into the encoder, the smnoother
and quieter it will run. My SCALE_HIGH and SCALE_LOW are above 7100 and
14300 per revolution. In either case, quantization noise is down in the
very closely cropped grass, very close to invisible on the halscope.


-----Original Message-----
From: Chris Albertson [mailto:albertson.ch...@gmail.com]
Sent: June-19-21 3:21 PM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] Machining question

There are two kinds of noise,
1) electrical noise superimposed on the signal.
2) quantization noise from the sampling process.  What happens here
is that the computer counts the number of line crossings during a
given time.  it is just random luck when the time starts so on
average there is a plus or minus one count error.

So a one count error sounds small but lets say we have a 600 count
encoder and we are running at 500 RPM and sampling 100 times per
second. This works out to 50 counts per period.  a one count error
is a 2% error. You will see a larger percent error at slower speeds
or with a lower resolution encoder.

So even with perfect wires and perfect grounding and zero electrical
noise the RPM speed is going to jump around randomly over a 4 RPM
range because of unavoidable quantization error.

The solutions either the use a larger sample time apply a low-pass
DIGITAL filter to the signal.  No amount of analog filters on the
wires will work.

On Sat, Jun 19, 2021 at 2:55 PM Gene Heskett <ghesk...@shentel.net>
wrote:
On Saturday 19 June 2021 12:59:19 John Dammeyer wrote:
I need to do a couple of things.  For one the AC Servo makes a
lot of electrical noise.  The frame of the motor is connected to
earth through power line ground.  But my bench setup has the
control side 5V not isolated from the 'PC' side (optos are kind
of useless here) and although the Pi4 doesn't appear to have any
trouble the scope shows a pretty noisy encoder signal.
You are about to learn the star ground system I think.

Thats where all grounds go to a single bolt, and no other grounds
are allowed anyplace.

Shielding in motor cables ends without touching the motor, only
connected to this same single bolt which is grounded. The common
line of any power supply is connected only to this bolt, and the
common grounds to every piece of pcb in the system comes from that
bolt. The used to be green static ground wire in any power cord is
rerouted to this bolt. And static grounds on a power supply are
fed from this single bolt. Because the psu case is usually bolted
down wherever its at, you may have to uncover the supply and
remove any connection from the earth labeled terminal, and the
psu's case. It may be a screw in the corner of a pcb, but it needs
to be removed.

Anything connected to ground at some other point in addition to
that bolt becomes an antenna, is called a ground loop, picking up
both magnetic and electrostatic noises. I had to learn that the
hard way while building the Sheldon, blowing two 7i90HD boards out
by picking up 80 volts p-p of switching noise that reached up to
the bandwidth limits of both of my 100mhz scopes. Hell on an fpga
with a 3 volt limit.  I killed the power and redid it to the
single bolt model, and that 80 volts of noise was reduced to under
100 millivolts. Took me about a week to find all the connections
that should not have been made. Even a small bypass capacitor to a
local ground instead of back to that bolt can become a lethal
weapon to the elecronics.  Its a noise injector in that case.

The whole idea is to make the ground, if it bounces from a
lightning strike on the can on the pole that powers your place,
which may make the whole system bounce 100+ kilovolts, and if you
are in that circuit at that instant it WILL get your attention.
BUT, everything tied to that bolt should bounce in unison, meaning
an individual board input will only see the difference signal its
being fed with, and it should survive that lightning strike with
no damage.

My soap box as a CET just collapsed, so I'll do an Andy Capp and
shudup.

===================== HAL code ===================
Second is some of the HAL parameters and reducing to 0.003 makes
the display more stable. #  Use ACTUAL spindle velocity from
spindle encoder
#  spindle-velocity bounces around so we filter it with lowpass
#  spindle-velocity is signed so we use absolute component to
remove sign #  ACTUAL velocity is in RPS not RPM so we scale it.

setp     scale.spindle.gain 60
setp     lowpass.spindle.gain 0.003
net spindle-vel-fb-rps        =>     scale.spindle.in
net spindle-fb-rpm               scale.spindle.out       =>
abs.spindle.in net spindle-fb-rpm-abs           abs.spindle.out
  =>   lowpass.spindle.in net spindle-fb-rpm-abs-filtered
lowpass.spindle.out
===================== end HAL code ===================

But I'm still using the original signal for at speed and the LED
never comes on nor does it know it's at speed.  I should
probably be filtering the RPS rather than RPM I think?

===================== HAL code ===================
net spindle-vel-fb-rps => spindle-near-speed.in1
net spindle-ramped => spindle-near-speed.in2

# ---Setup spindle at speed signals---
# the output from spindle-near-speed 'near' component is sent to
spindle.0.at-speed # and when this is true motion will start.
The LED in the pyvcp-panel.xml is renamed to be a LED. net
spindle-near-speed-led <= spindle-near-speed.out =>
spindle.0.at-speed ===================== end HAL code
===================

John

-----Original Message-----
From: andy pugh [mailto:bodge...@gmail.com]
Sent: June-19-21 2:48 AM
To: Enhanced Machine Controller (EMC)
Subject: Re: [Emc-users] Machining question

On Sat, 19 Jun 2021 at 07:11, John Dammeyer
<jo...@autoartisans.com>
wrote:
I'm finding the AXIS Spindle speed oscillates about +/- 5
RPM.   I thought that I was filtering it.
It generally needs to be filtered, but it is possible you are
filtering it, but not enough to get a steady reading.

For whatever reason encoder velocity does always seem to be a
bit noisy, despite the counters using timetamped edges and all
the other tricks that might help.

--
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, 1912


_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
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)
If we desire respect for the law, we must first make the law
respectable. - Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/gene>


_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users
--

Chris Albertson
Redondo Beach, California

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Cheers, Gene Heskett



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to