Hi there,
We are using two DRV8828 drivers to control a 2 phase stepper motor connected to a ball screw in order to achieve some sort of linear motion.
In the final application, the movement of the motor needs to be as smooth as possible, so we decided to implement a VRef microstepping control with 4096 microsteps. The speed of the motor is quite slow. It varies from 0.1 rpm to 600 rpm.
We have used a external DAC in order to achieve the VRef control and all the input lines of the DRV8828 are controlled by the GPIO of a F28069 microcontroller.
In the default configuration, we are using the Mixed Decay mode and the internal microstepping (I0 to I4 lines) set to 100%.
Well, following this brief description of the system, I describe the issue we are having:
The microstepping control seems to work pretty well. The movement between steeps is very smooth and the rotation speed is quite constant. However, we have noticed that every time that one of the phases changes, the motor stops for a little bit and then continues with a smooth movement. This is dramatic for us, particularly running at very low speeds, because we need the linear motion speed as constant as we can.
In the first place, we though that the mechanics of the systems may be causing the problem. so we decided to test it just with the stepper motor itself. the result was the same. The movement of the motor is great until one of the phases changes.
We have checked the VRef and Rsense voltages and everything seems to be fine:
This is the picture of both Vref signals:
As you can see the half-sine waveforms are quite nice and not noisy.
These are the signal at Rsense:
They also look fine...
And here is a little video of the behaviour of the motor (my apologies, it is the best I can do at the minute)
We tried fast and slow decay modes but still the same...
Is there any way to solve this issue or it is inherent to the driver/motor?
Thank you very much for your help