dchabot Posted February 27, 2013 Share Posted February 27, 2013 I have an piezo motor application that is displaying problematic behavior under closed-loop control for some (not all) axes. The system is a Geobrick LV (NSLS-II) outputting step/direction to six MiCos PMC-100, which drive nanopositioner stages (stick-slip piezo). Feedback is via a MicroE incremental linear encoders ( 0.005 um resolution). I myopically tuned all 6 axes of this system for small moves (0.25-5 um), as that is how it is used in practice. On further investigation, 3 of the 6 axes trip on fatal following error for longer moves, but only in one direction (Ixx11 = 32000) . The other direction is fine. The problematic axes trip on this error a fraction of a second after a commanded move (J+/J-, etc), regardless of Ixx22 setting (jog speed). Gravity is not an issue here as one of two of the vertical stages works fine in closed-loop. Is there any way to tune for this type of behavior? I'm kinda at a loss here... Thanks. Link to comment Share on other sites More sharing options...
Richard Naddaf Posted February 28, 2013 Share Posted February 28, 2013 One of the following could be true: - Friction or sticktion effect in one direction or the other. You may have to implement some gain scheduling (higher PID gains where needed). - You are exceeding the maximum speed dictated by the DC bus. - You are exceeding the maximum acceleration dictated by the current. - The last two are essentially what we call a servo effort. Violating the servo effort, in general in closed loop, will cause a fatal following error. That said, it seems like you are tripping on the acceleration section (Ixx19 for jog moves). Have you tried slower accelerations? I don't know how good your tuning is. But you might want to look into adding some friction feed forward (Ixx68). Link to comment Share on other sites More sharing options...
Faraday MC - Tony Posted March 1, 2013 Share Posted March 1, 2013 You could try commanding an open loop output in each direction and monitoring the velocity using the encoder. The velocity should be roughly the same in either direction. If it is very different it would point to a problem in the driver or the stage. Link to comment Share on other sites More sharing options...
dchabot Posted March 1, 2013 Author Share Posted March 1, 2013 One of the following could be true: - Friction or sticktion effect in one direction or the other. You may have to implement some gain scheduling (higher PID gains where needed). - You are exceeding the maximum speed dictated by the DC bus. - You are exceeding the maximum acceleration dictated by the current. - The last two are essentially what we call a servo effort. Violating the servo effort, in general in closed loop, will cause a fatal following error. That said, it seems like you are tripping on the acceleration section (Ixx19 for jog moves). Have you tried slower accelerations? I don't know how good your tuning is. But you might want to look into adding some friction feed forward (Ixx68). I think my tuning is ok. Step and ramp tuning results for one of the problematic axes are here I've tried adjusting velocity and acceleration, neither of which was successful. But, I will look into the adaptive control scheme you suggested (gain scheduling). I've also swapped drives between fully functional and problematic axes, and the problem follows the stage, not the drive. At this point, I'm fairly convinced it is a mechanical problem... Link to comment Share on other sites More sharing options...
dzrong Posted March 6, 2013 Share Posted March 6, 2013 As the tune picture,can you try PPI in Turbo PMAC. Set Ix96=2 to open it,and Ix34=0,and then to find a good value of Ix33. Link to comment Share on other sites More sharing options...
Recommended Posts