Here is a bit more info on the wiki machine.. https://web.archive.org/web/20080324200724/http://jmkasunich.com/cgi-bin/blosxom/shoptask/wichita-trip-02-20-08.html
On Thu, Jan 1, 2026, 8:44 AM johnd <[email protected]> wrote: > No idea why the phone strips out theCRLFSent from my Samsung S10 > -------- Original message --------From: gene heskett <[email protected]> > Date: 2026-01-01 3:39 a.m. (GMT-06:00) To: > [email protected] Subject: Re: [Emc-users] setting up dual > PID loops for servo encoders > andscales On 12/31/25 23:44, johnd wrote:> Cool! Will look at it in > more detail in the next week or so. Three glasses of wine at the Puerto > Vallarta Yacht club New Years party means my head isn't working as well as > it usually does.Although to be truthful I went the Andy Pugh way with a > harmonic drive AC servo. One day I might even cast the pattern for the > frame.One of my 42 projects...Sent from my Samsung S10This is hard to read > without any LF's or CR/s.> -------- Original message --------From: andrew > beck <[email protected]> Date: 2025-12-31 8:51 p.m. (GMT-06:00) > To: "Enhanced Machine Controller (EMC)" <[email protected]> > Subject: Re: [Emc-users] setting up dual PID loops for servo encoders > and> scales thanks johni found this which might be enough to make it > work for mei just need to sit down and get my head around the cascading PID > loopshttps:// > forum.linuxcnc.org/10-advanced-configuration/29851-combining-two-feedback-devices-rotary-axisOn > Thu, Jan 1, 2026 at 11:58 AM johnd <[email protected]> wrote:> > Sounds interesting. Do report on what you find out.JohnSent from my> > Samsung S10> -------- Original message --------From: andrew beck <> > [email protected]> Date: 2025-12-31 4:12 p.m. (GMT-06:00) To:> > "Enhanced Machine Controller (EMC)" <[email protected]>> > Subject: [Emc-users] setting up dual PID loops for servo encoders and> > scales hey guysjust looking for a config example if possible for a mesa> > card from someonethat has this nested PID loop setup.internal PID loop > uses> servo motor encoder and the outer Pid loop only usesthe Intergral > value> with the scale and then they get summed together todrive the motorI > found> this link here on the forum and want to try set it uphttp://> > wiki.linuxcnc.org/cgi-bin/wiki.pl?Combining_Two_Feedback_Devices_On_One_AxisThis> > page shows how to combine two position feedback devices into two PID'sfor> > the tuning and positioning of one axis. 1. This example has one high> > resolution linear scale on the axis table and one rotary encoder on the> > axis drive motor. 2. This could also be a rotary encoder on the > ballscrew> and a rotary encoder on the motor 3. This assumes the PID's > are loaded> and connected to the servo thread 4. linear scale position > feedback> connects to the input of the pid.4 PID 1. net > X-linear-pos-fb 'linear> position feedback' pid.4.feedback 5. motor > encoder position feedback> connects to the feedback input of the pid.0 > PID 1. net> X-motor-pos-fb 'axis motor position feedback' > pid.0.feedback 6. position> command signal from LinuxCNC axis connects to > both PID command> inputs 1. net Xpos-cmd axis.0.motor-pos-cmd > pid.0.command> pid.4.command 7. bit signals from LinuxCNC axis connnects > to> enable/disable both PID loops 1. net Xenable > axis.0.amp-enable-out> pid.0.enable pid.4.enable 8. set PID loop output > limits as specified in> ini file 1. setp pid.0.maxoutput > [AXIS_0]PID_MAX_VEL 2. setp> pid.4.maxoutput [AXIS_0]PID_MAX_VEL 9. > set the motor encoder PID loop> gains 10. NOTE - I gain is set to zero - > it would fight the other> PID 1. setp pid.0.Pgain [AXIS_0]P 2. > setp pid.0.Igain 0 3.> setp pid.0.Dgain [AXIS_0]D 4. setp > pid.0.bias [AXIS_0]BIAS 5.> setp pid.0.FF0 [AXIS_0]FF0 6. setp > pid.0.FF1 [AXIS_0]FF1 7. setp> pid.0.FF2 [AXIS_0]FF2 8. setp > pid.0.deadband [AXIS_0]DEADBAND 9.> setp ppmc.0.DAC.00.scale > [AXIS_0]OUTPUT_SCALE 11. set the linear scale> PID loop gains 12. NOTE > - it has only I gain - all other gains are set to> zero 1. setp > pid.4.Pgain 0 2. setp pid.4.Igain [AXIS_0]I 3.> setp pid.4.Dgain > 0 4. setp pid.4.bias 0 5. setp pid.4.FF0 0> 6. setp pid.4.FF1 > 0 7. setp pid.4.FF2 0 8. setp pid.4.deadband> [AXIS_0]DEADBAND > 13. connect both PID output signals to sum2.4 inputs> 14. sum the outputs > of pid.0 and pid.4 15. pid.0 is using motor encoder> feedback 16. pid.4 > is using linear scale feedback 1. net> Xoutput-motor pid.0.output > sum2.4.in0 2. net Xoutput-linear> pid.4.output sum2.4.in1 17. the > summed PID output is connnected to the> DAC input signal 1. net > Xoutput sum2.4.out 'DAC input' 18. repeat as> necessary for more> > axes_______________________________________________Emc-users mailing> > [email protected]://> > lists.sourceforge.net/lists/listinfo/emc-users> > _______________________________________________> Emc-users mailing list> > [email protected]> > https://lists.sourceforge.net/lists/listinfo/emc-users>_______________________________________________Emc-users > mailing [email protected]:// > lists.sourceforge.net/lists/listinfo/emc-usersLet me suggest a different > solution. On that I have found quite useful as so far 8 axises on various > machines have been converted. Toss the conventional PID's, drivers and > motors in the bin and replace them with closed loop stepper/servo's. Feed > the drivers directly from the TP, no PID's to allow any error in what is > sent. I am doing exactly that, converting both my linuxcnc machines and my > 3d printers. The motors contain an encoder that feeds back ONLY to the > drivers, LinuxCNC is not aware of these encoders, which in turn controls > the motors much more precisely.3 Huge advantages ensue.1. The motors are > fed only as much power as it takes to do the job, so they run 60C cooler in > most cases.2. the control is much faster in that if a motor overshoots > getting stopped, its reversed and backed up to the correct position, or if > it falls behind, the driver turns up the current until the motor has caught > up. This is full time active by the microsecond control, does not depend on > low latency in the OS.3. Speeds are multiplied, bringing steppers into > servo speed responses if the supply voltage is turned up to overcome motor > inductance faster.On 72 volts, 3000 or more rpms can be had with total > control. No loss of "home" has occurred.All this is at a cost increase of > maybe $25 per axis. This translates to 3d printers that can move 10x > faster than OOTB, can engrave text on the sides of half nuts w/o any Input > Shaper tomfoolery. Currently the Hanpose LC42 and LC57 drivers are the > only problem, in 3d printers the 5 volt logic overdrives the step/dir opto > couplers (6N137's) leading to their early failure, so I've added 150 to > 190 ohm current limiters in those 2 inputs using the signals delivered to > the stepstick sockets on the BTT octopus-pro V1.1 controller cards I use > for all my printer rebuilds. My power supply's are 72 volts. Hanpose has > been advised of the problem. Where the logic signals are 3.3 volts, like > much of the mesa stuff, no problem.> > _______________________________________________> Emc-users mailing list> > [email protected]> > https://lists.sourceforge.net/lists/listinfo/emc-usersCheers, Gene > Heskett, CET.-- "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order."-Ed Howdershelt > (Author, 1940)If we desire respect for the law, we must first make the law > respectable. - Louis D. BrandeisDon't poison our oceans, interdict drugs > at the src._______________________________________________Emc-users mailing > [email protected]:// > lists.sourceforge.net/lists/listinfo/emc-users > _______________________________________________ > 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
