Back to top
Detecting A Jam with AKD Motion Tasking Drive
This article assumes the AKD drive is in position mode using Motion Tasking for indexing.
How do I detect a jam or create a fault in the event the drive’s current ( output torque ) exceeds a set value in the AKD Motion Tasking drive?
There is no convenient way in the Motion Tasking drive to detect a current level and generate a fault.
In general, the Limits screen in Workbench allows you to set current, speed, position, and accel/decel limits. It is the user’s responsibility to ensure settings that prevent system damage.
Assuming the drive is in position mode, the maximum position error can be set sufficiently low to detect a jam, hardstop, axis is pushed out of position by external force, axis runs into something else, etc.
The drive will then fault on following error. The best way to determine a level that will not produce nuisance faults is to use the Scope in Workbench and look at your PL.ERR during cycling ( worse-case scenario ). You can use that as a baseline to set the level above that but sufficiently low in order to trip if the position error is too large. If the drive is not in position mode then this method will not work. The current limits should be set such the motion can be achieved based on your cycle and load but limited such in the case of a jam, runaway condition, run into a hardstop, etc. so damage will be prevented to your mechanics and machine.
The drive will attempt to foldback in these cases where the motor is “working too hard” and the RMS current is higher than the continuous for too long. Once it hits the fault level the drive will trip on a Foldback fault. Since the Foldback mechanism is current level and time based it isn’t necessarily the fastest for detecting the jam. However, the User Fault Level can be set on the Foldback screen:
The User Fault Level isn’t shown below but it works the same way: A high level causes the foldback fault to occur faster and a lower level causes the foldback fault to either occur later or not at all ( User Fault Level = MOTOR.ICONT or 0 to not use the user fault ). The default value for the User Fault Level is the DRV.IPEAK ( i.e. 9A for a 3A continuous drive, etc. ).