Template:UgPositionController: Difference between revisions

From Phidgets Support
No edit summary
 
Line 4: Line 4:




{{UGExampleDescription}}
{{UGExampleDescription}}  


'''Controls:'''
'''Note: a video describing the use of this program is available below in the Technical Details section.'''
* Change the '''target position''' to select which position you want the motor to try to reach.
 
* Press the '''engage motor''' button to allow the motor to start, and press again to stop it.
'''Configuration'''
* You can '''zero position''' to return the motor's position to 0.
* It is recommended to set the ''Rescale Factor'' first. This will change the units of your controller. For information on the rescale factor, visit the technical details section below.
* Set the '''rescale factor''' to change the units of the motor's position. See the technical section of this user guide for more details.
* You can set the control parameters ''Kp, Ki and Kd'' in order to change the behavior of the control loop. You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the {{{1}}}, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).
'''Configurations:'''
* The ''Velocity Limit'' and '"Acceleration'' can be set in the top right. These values will be used to create a motion profile that the controller will try to track.
* Set the '''deadband''' to determine how exactly the controller will try to reach the target position. If the motor is oscillating around the target, try increasing the deadband by a small amount.
* Use the ''Deadband'' to determine how exactly the controller will try to reach the target position. View the API for a detailed description of how Deadband works.
* The target '''velocity''' can be set in the top right. The controller will use position and timing data to calculate and try to stay at the chosen velocity.
* Click on ''Show Other Motor Settings''' to access ''Stall Velocity''. This is a safety feature which protects your hardware. View the API for a detailed description of how Stall Velocity works.
* Set the '''acceleration''' to determine how fast the controller ramps up to the selected velocity.  
 
* You can set the control parameters '''(Kp, Ki and Kd)''' in order to change the behaviour of the control loop. See the technical section of this guide for more details.
'''Other'''
* You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the {{{1}}}, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer.)
* Change the ''Target Position'' to select which position you want the motor to try to reach.
* Click on '''show other motor settings''' to access '''Stall Velocity''', which is a safety setting to protect your hardware. See the technical section of this guide for more information.
* Press the ''Engage Motor'' button to allow the motor to start, and press again to stop it.
* You can ''Zero Position'' to add a position offset which will return the motor's position to 0.


'''Graph:'''
'''Graph:'''
* You can view the control data on the graph. The vertical axis is position and the horizontal axis is time. The green line is the selected target position, and the blue line is the motor's actual position. When the two lines meet, the motor will stop moving and attempt to hold that position, even if moved by an external force. You can '''clear''' the graph, and customize the number of data points shown at any given time.
* You can view the control data on the graph. The green line is the selected target position, and the blue line is the motor's actual position as reported by the Hall Effect sensors. When the two lines meet, the motor will stop moving and attempt to hold that position, even if moved by an external force. You can ''Clear'' the graph, and customize the number of data points shown at any given time.


<br clear="all">
<br clear="all">

Latest revision as of 17:40, 22 January 2018

Position Controller {{{3}}}

Double-click on the Position Controller object {{{2}}} in order to run the example: [[Image:{{{1}}}_Position_Example.jpg|center|link=]]


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

Note: a video describing the use of this program is available below in the Technical Details section.

Configuration

  • It is recommended to set the Rescale Factor first. This will change the units of your controller. For information on the rescale factor, visit the technical details section below.
  • You can set the control parameters Kp, Ki and Kd in order to change the behavior of the control loop. You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the {{{1}}}, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).
  • The Velocity Limit and '"Acceleration can be set in the top right. These values will be used to create a motion profile that the controller will try to track.
  • Use the Deadband to determine how exactly the controller will try to reach the target position. View the API for a detailed description of how Deadband works.
  • Click on Show Other Motor Settings' to access Stall Velocity. This is a safety feature which protects your hardware. View the API for a detailed description of how Stall Velocity works.

Other

  • Change the Target Position to select which position you want the motor to try to reach.
  • Press the Engage Motor button to allow the motor to start, and press again to stop it.
  • You can Zero Position to add a position offset which will return the motor's position to 0.

Graph:

  • You can view the control data on the graph. The green line is the selected target position, and the blue line is the motor's actual position as reported by the Hall Effect sensors. When the two lines meet, the motor will stop moving and attempt to hold that position, even if moved by an external force. You can Clear the graph, and customize the number of data points shown at any given time.