Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Behavior of User PID vs Basic PID Algorithm on Hardware over travel limits

I was hoping you could shed some light on the main differences between the user defined servo algorithm and the basic pid algorithm, specifically when a hardware over travel limit switch is hit.

Our setup allows for closed loop control when the switch is triggered so that we have a controlled deceleration.

Here are my questions.
1. When an over travel limit is triggered, does the basic PID remain in position control (calculates a distance target over the requested deceleration time) or does it switch over to a velocity OR acceleration based control

2. With all of the above do you place a limit on the applied torque so that the vector is only in the direction of deceleration. I.e. the mass cannot be re accelerated further past the limit switch. Is this different to the user defined servo ?
The action on hitting an overtravel limit is handled outside of the servo algorithm, and so is independent of whether a built-in or user-custom servo algorithm is being used. These limit-handling routines are automatic, but user-configurable.

You can choose whether the motor is brought to a controlled closed-loop stop (aborted) or disabled (killed) when a hardware limit is hit. If bit 2 (value 4) of Motor[x].FaultMode is 0 (the default), the motor is aborted, with the commanded deceleration profile to a positioning stop set by Motor[x].AbortTa and AbortTs. These parameters can specify deceleration times if positive, or (inverse) rates if negative. Whatever position servo algorithm is used tries to make the actual profile match this commanded profile.

If bit 2 of Motor[x].FaultMode is set to 1, the motor is killed if it hits a hardware overtravel limit and it has not already exceeded a software overtravel limit. (It is always aborted on exceeding a software limit.) The idea here is that the software limits should catch the cases where the motor was simply commanded outside its legal range and a controlled stop is feasible. However, if the HW limit is hit when the SW limit has not already been hit, then the system does not know where it is, typically due to a feedback error, and a controlled stop is not possible.

When a controlled stop has occurred due to a HW or SW limit, commanded moves are in the direction going out of the limit, but not in the direction going farther into the limit.

Forum Jump:

Users browsing this thread: 1 Guest(s)