View Single Post
  #21   Spotlight this post!  
Unread 24-02-2012, 11:39
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,089
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Help me understand PIDController::OnTarget()

Quote:
Originally Posted by jwakeman View Post
What is meant by continuous in this case?

Using my example of a shooter speed controller with minimum input of 0 and maximum input of 100 fps. Say I step my setpoint from 0 to 100. My error would be equal to 100 on the first iteration. So 100 is greater than (100 - 0) / 2 and 100 is greater than zero so m_error ends up being set equal to 100 - 100 + 0. So if I step my speed controller from zero to maximum the output will be computed as zero?!

Another scenario, I step the setpoint from 0 to 60. The error of 60 is greater than 50 and greater than zero so the m_error becomes 60 - 100 + 0 = -40. Now my positive error became negative error..I'm confused.
I don't know for sure, but I thought it was for rotary position control for continuous-rotation devices. i.e. 360 degrees is the same as 0 degrees.

For example, if your setpoint is 10 degrees and your process variable is 350 degrees, you want to rotate clockwise 20 degrees, not counterclockwise 340 degrees.

Reply With Quote