Moto 1.0 Encoder PID
Last Modified: 2006-08-16
find:

basket

Acroname Robotics PDF webpage version Moto 1.0 Encoder PID PDF

Related
Products

Product image for BrainStem Moto 1.0 Module
BrainStem Moto 1.0 Module

Contents

About Encoder PID Mode

Encoder PID mode makes adjustments to the position of a motor based on the feedback from an encoder.  In working with robotics motion control, you need to be able to account for inertia, resistance, and other variables.  Factored together, the terms in the PID formula determine how much PWM is applied over time to reach and maintain the desired position.  Careful selection of the PID gain constants can minimize oscillation and overcompensation. 

Image of the Moto 1.0 Application in Encoder PID mode.
The Moto 1.0 Application in Encoder PID mode.

You can manipulate 10 variables in Encoder PID Mode:

P Term

PID Proportional Term - gain constant for the current error. 

I Term

PID Integral Term - gain constant for the accumulated error.  The longer the position varies from the set point, the greater the error. 

D Term

PID Derivative Term - gain constant for the change in the error.  This term affects how quickly the system responds to new input. 

Input Offset

The input offset is added to the encoder input to enable a centering offset adjustment.  With encoders, this is not typically needed and the value is usually set to zero.  In other modes, this can be used to adjust the neutral input setting to zero. 

PWM Rail

This setting can vary between 0 and 32767 and puts a limit on the maximum PWM output allowed.  You can use this value to:

  • Set a maximum speed
  • "Window" the PWM output voltage to keep it within your motor's ratings

The default for this value is no limit or 32767 (the PWM maximum). 

Period

The period is how many timer increments (0.1 ms) pass between encoder measurements.  This input is an absolute distance measurement as its units are encoder ticks. 

PWM Frequency

This value represents the PWM frequency in Hz.  The default is 39,062 Hz, which is a reasonable starting point.  To get maximum efficiency from your system, we recommend a frequency above 20 kHz.  This value is out of the audible range (for humans) so it also provides quiet motor operation.  When entering a new PWM frequency, you may not get the exact value you entered.  The controller generates a fixed number of different PWM frequencies and the program must select a frequency that is the closest match. 

Invert Input

Checking this box inverts the encoder input.  This enables you to match the signs of the PWM output and encoder input.  A positive output should produce a positive input and a negative output should produce a negative input.  If the output and input have opposite signs, the motion control algorithms agressively seek the farthest position from the set point, rather than trying to settle into it. 

Invert Output

Checking this box inverts the PWM output signal.  This reverses the motor direction.  You may want to reverse a motor when using two motors on a differential-drive robot so that positive PWM values mean forward motion for both motors. 

Delta

How far you want the motor to move. 

Image of the basic logic flow of the Encoder PID mode of operation.
The basic logic flow of the Encoder PID mode of operation.
Note

The control loop (the darker arrows) is circular; Encoder PID provides closed-loop control. 

BrainStem
Resources

 

Related Links:

Concepts: Description of Pulse Width Modulation (PWM)

Articles: PID Motion Control Basics

voice: 720-564-0373, email: sales@acroname.com, address: 4822 Sterling Dr., Boulder CO, 80301-2350, privacy
© Copyright 1994-2010 Acroname, Inc., Boulder, Colorado. All rights reserved.