This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I was experiencing some weird harmonic noise with the steppers being driven by my new DRV8711 circuit. When scoping the current wave-forms it is clear that there is an issue with one of the phases that ends up causing a resonant wobble in our mechanical armature. Does anyone know what could be causing this? I have reproduced similar results with all of our prototype boards which leaves me to believe it is a design/configuration issue. I am configuring the drivers as follows: 0x0C41, 0x1145, 0x2030, 0x31FF, 0x4510, 0x6055 (I am leaving STALL as default for now).
Phase A (BAD):
Phase B (OK):
The issue becomes more noticeable at higher uStepping resolutions. This is 1/256, Phase A again:
Any help/hints/guesses would be much appreciated.
Thanks,
Galen
Hi Rick,
Thanks for the response. Those suggestions were very helpful. Following those guidelines I have been able to dial-in the TDECAY and TOFF Settings to get a pretty decent waveform on both phases. Right now I have 0x4 at 0x0104 (2uS) and I increased the spread on the TOFF to 0x55 (42.5uS). I also brought TBLANK down to 0x55 (2.7uS) and enabled ABT, i.e. 0x3 = 0x0155. This has given me pretty good results (workable) when running at 1/128 uStepping. There is still a noticeable "hiccup" just before zero-crossings on the waveform though. My control function implements an acceleration profile and the hiccup is almost non-existent at speed (Steady-State) but much more noticeable at the slower speeds in acceleration and deceleration. attached are some plots for reference:
Phase A at speed (1/128 uStepping):
Phase B at speed (1/128 uStepping):
Phase A in deceleration (1/128uStepping):
Phase B in deceleration (1/128 uStepping):
If I increase uStepping to 1/256 the issue is again amplified. Phase A in deceleration (1/256 uStepping):
Just as a reference to anyone else. I was able to clean this up more by taking a look at the circuit layout. I realized the current sense circuit for B (the better channel) had a much cleaner route from R_SESN_B to the pins BISENP and BISENN, then R_SENS_A and AISENP and AISENN did. Specifically, the return path AISENN was using relying on the ground plane rather then its own trace for a large section. Cutting that and jumping around it with a discrete wire straight from the sens resistor to the pin has given me a much cleaner wave-form. ...hopefully a PCB Rev will clean it up even more.