On Sun, 30 Dec 2012, Viesturs L?cis wrote: > Date: Sun, 30 Dec 2012 21:46:41 +0200 > From: "[UTF-8] Viesturs L?cis" <viesturs.la...@gmail.com> > Reply-To: "Enhanced Machine Controller (EMC)" > <emc-users@lists.sourceforge.net> > To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net> > Subject: Re: [Emc-users] Pid saturated, was: Servo error > > 2012/12/30 Peter C. Wallace <p...@mesanet.com>: >> >>> >>> Any ideas, why does pid output get saturated as soon as I try to jog >>> the motor? I just retried and it is still the same. >> >> Too high acceleration? > > I specially changed PID settings down to P=0.1 (from 4.9) and all the > other parameters to 0 to make it really gentle. > > Acceleration already was set very low: 60 mm/s^2; for testing purposes > I set it to 6 mm/s^2 (both default and max accel in [TRAJ] section of > INI file) and it is still the same, so I think it is something else. > > > 2012/12/30 Peter C. Wallace <p...@mesanet.com>: >> >> Also what is your servo thread period? with an 8 pole motor you may need 2 to >> 4 KHz to avoid significant commutation phase lag > > Currently servo thread is running at default 1 kHz and I sometimes > already receive realtime delay warnings. > I set it to 2 kHz and went through the lead-angle check again. > I set with 141, where there is little asymmetry - motor does not reach > current limit in one direction and reaches 2940 RPM at value = -0.8 > and 2530 RPM at value +0.8 and fault led starts to blink, when I go > over +0.82...+0.83, but that is just bare motor and planetary reducer. > I expect that in real machine these speeds might be little lower. > Anyway, thanks for the advice, I do not really understand, how does > servo period length affect this, but there certainly is considerable > improvement after doubling servo-thread update rate.
So looks like the problem is mainly servo thread rate caused phase delay in the commutation What I would do is this 1. Set lead back to 90 and run on a system that can accomodate a 4 KHz or so thread rate (best) 2. Live with a 1 KHz or so thread rate but advance the lead.lag based on speed (take 90 as the 0 speed starting point for lead and add an amount proportional to speed (abs velocity) so you get about 126 at 3000 RPM) This needs the abs and scale comps Heres how I got these numbers: at 1 KHz the commutation is applied for 1 ms but at 3000 RPM (200 Hz with 8 pole motor), 1 ms is 72 electrical degrees so I want to center the error by leading by 36 degrees at the beginning of the period so the error is only 36 at the end. This is not ideal at the voltage steps will tend to trigger current limiting. > > -- > Viesturs > > If you can't fix it, you don't own it. > http://www.ifixit.com/Manifesto > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnmore_123012 > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your (")_(") signature to help him gain world domination. ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_123012 _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users