Hi Phil, Lots of people run the closed loop with the spindle and pwm and encoder. If you add P and it runs away odds are your encoder polarity on A/B is backwards. Switch A for B and then try it.
As I understand the LinuxCNC approach to threading (unlike MACH3 and my ELS which use 1PPR) the index is used to 'know' where the start of the thread is and the A input of the encoder tracks the spindle speed to ensure the leadscrew and spindle stay synchronized. I would imagine if you have both A and B connected that then the direction of the spindle is known and if it's going the wrong way (from the LinuxCNC perspective) nothing will work. Not sure I'd agree with the term semi-closed loop between motor and drive. If the motor has an encoder and the drive uses that then it's fully closed loop. The tuning is then done with the PID and FF pins inside the drive. Adding another control loop outside that may well result in an unstable or very difficult to tune system. As it is PID can be difficult to tune. I have HP_UHU drivers on my DC Brushed servos. They have all the bells and whistles for things like following error etc and a fault output that will shut down motion if the encoder exceeds the encoder count range. I don't think that it can be improved upon by adding LinuxCNC control. Here's a short article on them. https://www.henriksplace.se/cnc/abene_4_3.html Henrik has since also created a PIC based clone of the original ATMEL processor with the ability to handle much higher resolution encoders etc. It plugs into the ATMEL processor socket My Knee has a 750W Bergerda AC Servo with 3.2:1 pulleys and can run 150 ipm which is way too fast for the heavy knee, bevel gears and ACME leadscrew. I've designed a rotating ball screw arrangement but it's way down the todo list; project #42. And I'm running the STMBL AC servo drive on the Harmonic Drive Rotary axis. This still needs finishing and is also project #42. John > -----Original Message----- > From: Feral Engineer [mailto:[email protected]] > Sent: June-26-21 9:17 AM > To: Enhanced Machine Controller (EMC) > Subject: Re: [Emc-users] About the 7i76E and possible DB25 expansion cards > > Hey John, > > I guess i should've explained better, I was half awake when I asked that. > I'm running dmm servos on my mill, which are currently driven on a 7i76e > with step/dir and are only semi closed loop (closed loop from the motor to > the drive, but not to LinuxCNC). I'm Curious if it's possible to use the > external encoder feedback from the dyn4 to LinuxCNC to create a full closed > loop arrangement using that encoder and step/dir or do the servos have to > be controlled via analog signal and pid tuning to get the encoder feedback > to be closed loop? > > Also, I'm looking for the secret sauce to get full closed loop from my vfd > to LinuxCNC if anyone has pointers on that. I have encoder feedback to > LinuxCNC, but i feel like I'm missing a key element to get the pid working > properly. Most of the adjustments I've made to pid never result in LinuxCNC > compensating for the error (i.e. G97 S200 = S210 actual with p =0, changing > P results in a runaway in most cases). I'm wondering what the magic net > command might be to get everything working so I could thread on my lathe. > > Phil T. > The Feral Engineer > > Check out my LinuxCNC tutorials, machine builds and other antics at > www.youtube.com/c/theferalengineer > > Help support my channel efforts and coffee addiction: > www.patreon.com/theferalengineer > > On Sat, Jun 26, 2021, 11:46 AM John Dammeyer <[email protected]> wrote: > > > > That being said, anyone ever use a 7i95 for full closed loop to LinuxCNC > > > using step dir and encoders? I know a lot of guys are using the 7i77 that > > > way with analog and there's the 7i97 that would be fun to check out as > > well > > > for analog setups. Curious if there's any kind of weirdness that happens > > > using step pulse with encoder vs just using analog signal. > > > > > > > > > Phil T. > > > The Feral Engineer > > > > Hi Phil, > > On the bench I have the Pi4 driving the Bergerda AC Servo spindle with > > step/dir (smaller motor for bench testing) with an encoder coupled back > > for feedback. At the moment I have P=0 and FF1=0 so I'm not using closed > > loop control because it would probably fight with the Bergerda which has > > its own set of PID parameters. > > > > I not sure you can really do that with a real stepper motor because at > > high speeds once the motor loses position it locks up and you need to slow > > down the step rate to get it to mechanically synchronize. For final > > positioning though, since a stepper is only accurate to the nearest full > > step position, an encoder could be used with LinuxCNC to add/subtract > > micro-steps until the motor turned to the encoder expected position. > > > > The closed loop servo-steppers work slightly differently I believe. > > (Haven't checked). I think they treat the two stepper windings as a two > > phase AC motor with the AC waveforms recreated matching the encoder > > resolution. Or if they are really clever they, like the Gecko, would > > switch to full step square waves after the resonance point to raise the > > torque from 0.707 of name plate to full. And they too would adjust the two > > phase waveform when stopped to the expected encoder position based on step > > count input. > > > > John Dammeyer > > > > > > > > > > _______________________________________________ > > 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 _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
