Other Parts Discussed in Thread: DRV8824
Hi TI,
We've been using the driver for a few years now to control a stepper motor in full step mode. Recently we've encountered an issue with resonance and would like to implement microstepping to minimize the effect. After reviewing both the datasheet as well as slva416.pdf: "High Resolution Microstepping Driver With the DRV88xx Series", it's not completely clear to us how to do this.
For full steps, very simply, we write these 16-bit control words to the drv8823 via the SPI interface:
u16 gMotorPhaseBits[4]= // PHASEBITS to be written to drv8823 stepper motor driver
{
0b1111101011100000, // 1 111 0 111
0b1011101011100000, // 0 111 0 111
0b1011101111100000, // 0 111 1 111
0b1111101111100000, // 1 111 1 111
}
I assume I can expand this table to interleave the microsteps between each phase bit change, but not clear if I'm supposed to increase the current and then decrease before moving to the next phase; increase one while decreasing the other? Here is a new table, for what I assume I should do to microstep in 1/2 steps. Can you please tell me if I'm on the right track?
u16 gMotorPhaseBits[8]= // PHASEBITS to be written to drv8823 stepper motor driver
{
0b1100001000000000, // 1 000 0 000
0b1111101011100000, // 1 111 0 111
0b1000001000000000, // 0 000 0 000
0b1011101011100000, // 0 111 0 111
0b1000001100000000, // 0 000 1 000
0b1011101111100000, // 0 111 1 111
0b1100001100000000, // 1 000 1 000
0b1111101111100000, // 1 111 1 111
}
In addition, with respect to resonance, is it better to use slow decay vs fast decay mode? Any other information you can provide regarding microstepping and resonance is appreciated.
Thanks,
Gordon S.