When using the BRKTRJ, the brake applies before the movement is complete. It gets close to the commanded position but not exact. When not using the BRKTRJ the motor will go to the exact position. Also, if the commanded position is only a few encoder counts away it won't move at all, it seems like there is a minimum move distance before it will move.
Are there any settings to change that will allow moves to finish and small moves while still using BRKTRJ?
It also seems like there are more errors than when using the BRKSRV setting. Are there other errors that BRKTRJ looks for other than the movement as compared to BRKSRV?
The administrator has disabled public write access.
Re: BRKTRJ doesn't get to exact position
4 years 10 months ago #1468
The commanded position(PC) can be different from actual position(PA) based on following error(EA). The brake engages based on the commanded trajectory... not the actual trajectory(PA-EA). EA is actual following error in encoder counts.
The best solution is to use BRKSRV so the motor can continuously correct it's position. This may not work for all applications.
The next best solution is to tune the motor tighter. The values programmed depend on whether you have a Class4 motor or a Class5 motor... it's frame size... and your specific application.
For a start... you can try doubling up the KP,KI,KD,KV gains ...add some KA... and see if positioning improves.
The defaults for a Class5 SM23165D series motor are...
If you have a Nema23 Class5 Smartmotor... I would try adding the following values(at the top of your program).. and work around from there....
KP=6000 'proportional gain
KI=500 'integral gain
KD=20000 'derivative gain
KA=3000 'acceleration feed forward
KV=3000 'velocity feed forward
F 'start using new PID values
Note: If it's a vertical axis... you may also want to add some KG(gravitational offset).