Is there any likelihood that a stepper motor would miss steps at low step rates when it runs without missing steps at high rates and during acceleration and deceleration? I am hoping that somebody knows of a logical reason why this should happen. Further details below.
The system is intended to swap the heads of a 3D printer and the main part is a NEMA11 stepper motor driving a 20:1 worm gearbox. Both ends of travel are limited by microswitches. The drive for the system is provided by a Pololu type A4988 stepper driver board, supplied 24V and current limited to 0.3A and used in a full step mode. The drive pulse and direction signals are provided by a PIC16F1824 and the program provides an initial function of determining the number of pulses from one limit switch to the other and then using this distance in operational moves to check for any loss of calibration. Measuring the distance is done by jigging out a short distance at a low speed (16 pulses at 80pps) and returning at the same speed until the microswitch is triggered - this establishes a start point. The motor is then accelerated over 265 pulses from the same low speed to a little over 10 times as fast, driven forward for about 1460 pulses and decelerated back to the low speed over 256 pulses. Following this the motor is driven forward at the low speed until the other microswitch is triggered. A second run returns the motor to its original position and the number of pulses from switch to switch in each direction is counted.
This is where it gets wierd:
A run from the clockwise position to the anticlockwise position and back to the clockwise position will count the same number of pulses each way plus or minus 1 pulse.
A run from the anticlockwise position to the clockwise position and back to the anticlockwise position again will again count the same number of pulses each way.
BUT the numbers starting from anticlockwise will not be the same as clockwise - typically from 30 to 40 counts different.
Although I have ordered an encoder to see if I can find the missing steps but it will be a week or so before it comes all I have at the moment is the following: during acceleration, fast movement and deceleration the sound is clean but during the final phase at low speed the sound is quite rough.
The program has been re-written several times and the move command is fed only the direction to go and the microswitch to look for.
So if anybody has an idea why this could be it will save an inofensive brick wall from being further pummeled by my head.
Mike
The system is intended to swap the heads of a 3D printer and the main part is a NEMA11 stepper motor driving a 20:1 worm gearbox. Both ends of travel are limited by microswitches. The drive for the system is provided by a Pololu type A4988 stepper driver board, supplied 24V and current limited to 0.3A and used in a full step mode. The drive pulse and direction signals are provided by a PIC16F1824 and the program provides an initial function of determining the number of pulses from one limit switch to the other and then using this distance in operational moves to check for any loss of calibration. Measuring the distance is done by jigging out a short distance at a low speed (16 pulses at 80pps) and returning at the same speed until the microswitch is triggered - this establishes a start point. The motor is then accelerated over 265 pulses from the same low speed to a little over 10 times as fast, driven forward for about 1460 pulses and decelerated back to the low speed over 256 pulses. Following this the motor is driven forward at the low speed until the other microswitch is triggered. A second run returns the motor to its original position and the number of pulses from switch to switch in each direction is counted.
This is where it gets wierd:
A run from the clockwise position to the anticlockwise position and back to the clockwise position will count the same number of pulses each way plus or minus 1 pulse.
A run from the anticlockwise position to the clockwise position and back to the anticlockwise position again will again count the same number of pulses each way.
BUT the numbers starting from anticlockwise will not be the same as clockwise - typically from 30 to 40 counts different.
Although I have ordered an encoder to see if I can find the missing steps but it will be a week or so before it comes all I have at the moment is the following: during acceleration, fast movement and deceleration the sound is clean but during the final phase at low speed the sound is quite rough.
The program has been re-written several times and the move command is fed only the direction to go and the microswitch to look for.
So if anybody has an idea why this could be it will save an inofensive brick wall from being further pummeled by my head.
Mike