Hello motor drivers forum, I had to write my own trajectory generator (the S-curve) that uses DRV8825 IC. I programmed the DRV8825EVM from CCS 5.3 using MSP-FET430UF, but ran into the motor "growling" problem. I wrote a simple program to reproduce the problem with a constant pulse rate (attached in the bottom of the email).
* To play around with the A/BVREF, I set JP2 to use the POT for AVREF, ahd set JP1 to AVREF (BVREF = AVREF).
* If I set the DECAY to slow, the motor starts shaking even when I don't move at all. It doesn't even seem to matter what I set AVREF to. Even near 0 V, the motor shakes.
* That said, the motor does move.
* If I change DECAY to fast, the growl is gone, but depending on the AVREF, I still hear a high pitch. The motor moves OK at about AVREF = 200 mV, but there seems to be only a narrow window where the motor moves. Too high AVREF will just make the motor vibrate again (although not as badly as when DECAY is slow).
* The problem when DECAY is fast is that the motor has hardly any torque. I can grab it so lightly with my finger, and the motor starts slipping! I don't know how to drive the DECAY to mixed, because on DRV8825EVM, DECAY pin is tied to GPIO; it's going to be either high or low, right?
The problem is reproducible with 2 different kinds of steppers, and at VM = 6 V, 9 V, 12 V, 15 V, 18 V. I read the DRV8825 datasheet over and over, and can't think of any pin I am not driving. Can someone at TI please tell me what I am doing wrong?