===Servo Dither/Hunting - (oscillation around zero error)===
<div class="yiv2818182665class" style="color: #000000; font-size: 13.3333px; font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; background-color: transparent; font-style: normal;"></div>
<div class="yiv2818182665class" style="color: #000000; font-size: 13.3333px; font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; background-color: transparent; font-style: normal;"></div><div class="yiv2818182665class" style="color: #000000; fontServos have high accuracy because they are always actively trying to make corrections and drive the error to zero. Unfortunately this can sometimes cause annoying dither or position hunting around zero when not moving. This is a very complex non-size: 13linear effect dependent on the dynamics of the mechanics.3333px; font Because of the highly non-family: HelveticaNeuelinear quantization effects of single "steps" in the encoder position, Helvetica Neuestiction, Helveticabacklash, Arialetc. it follows different rules and is harder to analyze than normal servo tuning/stability in the larger magnitude more linear regime. For example attempting to apply "Damping" is unlikely to work.<br /><br />Lowering gains will usually help at the expense of performance. However in many cases more than acceptable performance can be achieved with lower gains so one should consider if the higher gains are really needed.<br /><br />KFLOP has a Deadband Gain and Range feature that can basically be used to tell the servo to not attempt to correct small errors (treat the errors as zero), Lucida Grande, sans-serif; background-color: transparent; font-styleor to try to correct them less aggressively (with a Gain less than 1.0). See [http: normal;//dynomotion.com/Help/StepScreen/StepScreen.htm#Dead_Band here for more information]<br /><br />Unfortunately adding Deadband doesn't always help the servo "sit still" and may actually increase the size of the dither depending on the dynamics.<br />Note that when the servo is commanded to a non integer position ie 999999.7 encoder counts without deadband the servo will always be making corrections. The best the servo can do is dither between encoder positions 999999.0 and 1000000.0. With an error of either -0.7 or +0.3. A servo with Integrator gain will guarantee the average is 999999.7<br /><br />If dither is still a major problem a C Program might be used to monitor things and change settings under certain conditions to reduce dither. See the example AntiServoDither__ALL.c which monitors for small errors for a period of time and if so reduces or turns off Integrator gain.<br /><br /> </div>
===Noisy GCode - Trajectory Planner Smoothing===
<div class="yiv2818182665class" style="color: #000000; font-size: 13.3333px; font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; background-color: transparent; font-style: normal;">An analysis of Quantization Noise in GCode and Trajectory Planner Settings to generate smooth motion.<br />[[File:GCode_Noisy_Path.png|none|link=|432x432px]]</div>