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]https://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]https://lists.sourceforge.net/lists/listinfo/emc-users
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to