Haven't addressed noise issues by going fully differential yet or mucking with grounds and shields but the encoder feedback appears to be working and I've even run a tap cycle with all sorts of RPM and thread pitch. Very cool. What was driving me nuts was that it would stop at the G33.1 and wait.
More digging into old forum postings led me to this: forum.linuxcnc.org/20-g-code/34936-rigid-tapping-help?start=20 Where Andy suggested checking if M3 has the encoder counting up and M4 counting down. I changed my encoder scale from 400 to -400 and now tapping works as expected. On a different thread BigJohnT posted the python code to a dialog that sets up the parameters for tapping and generates the G-Code. https://forum.linuxcnc.org/31-cad-cam/26859-mill-tapping-g-code-generator He mentioned if using AXIS it can be called from within AXIS. How does one do that? Thanks John > -----Original Message----- > From: dave engvall [mailto:[email protected]] > Sent: June-20-21 7:55 AM > To: [email protected] > Subject: Re: [Emc-users] Machining question > > 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:[email protected]] > >>> 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 <[email protected]> > > 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:[email protected]] > >>>>>> 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 > >>>>>> <[email protected]> > >>>> 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 > >>>>>> [email protected] > >>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users > >>>>> _______________________________________________ > >>>>> Emc-users mailing list > >>>>> [email protected] > >>>>> 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 > >>>> [email protected] > >>>> https://lists.sourceforge.net/lists/listinfo/emc-users > >>> -- > >>> > >>> Chris Albertson > >>> Redondo Beach, California > >>> > >>> _______________________________________________ > >>> Emc-users mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/emc-users > >> _______________________________________________ > >> Emc-users mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/emc-users > > > > Cheers, Gene Heskett > > > > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
