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.

DRV8711: Tuning DRV8711

Part Number: DRV8711

Good day!

We are developing a high pressure laboratory pump, drived by DRV8711 and external MOSFETS (we selected SUD50N04-8m8P MOSFETS). The motor is POWERMAX II p22nrxc-lnn-ns-02 (According to datasheet, rated current 3.1A per winding, winding resistanse 1.56Ohm, winding inductivity 3.9 mH). Supply voltage is 24V.

Current sensing resistors is 0.05Ohm, and there are 100Ohm series resistors in low side gate nets, according to datasheet.

I am facing a problem with torque of motor - when I am rising current, motor starts to overheat, but torque is not increased, and is not enough.

I am not familliar with theory of stepper motors, and tuning of driver is not clear for me. Could you, please, help me with tuning?

One thing is fery confusing for me - I do not see any sinusoidal signal on my scope on current sensing resistors.

Schematics are attached.

rs485-pump.pdf

  • Hi Oleg,

    What are the register settings?

    Can you provide a scope capture of the current sense resistor through 4 X microstepping rate steps. So for 1/32 microsteps, please show the sense resistor for 128 steps.
  • Hello, and thank you for answer.

    Indeed, I've done some experimenting today, and realized that TOFF setting should be adjusted according the rotation speed. Thus, I set 0x20 for low speed rotation, for about 3000 ticks step period (using 16MHz base clock, assuming the motor hat 1-to-3 reducing gear, so it has 600 full steps per rotation, and 1/64 microstep setting), and 0x00 for 250 ticks step period is good enough for work. Also, TDECAY is reduced to about 0.5us. 

    With these settings I acheved acceptable performance with continuous rotation speed, as pump constantly work with 3000psi pressure on low speed and 2200psi on high speed. But with rotation speeds above 250 ticks per step motor begin stalling even without any pressure.

    Unfortunaterly, I cannot display any exact register values now, as I left my office already as it is evening here, but will do it tomorrow, and so about scope waveforms.

    One thing I see is very unpredictable behaviour of system - I can achieve very high torque, but waveform becomes sharply saw-like and motor sound is very high, and also noises in the board becomes crytical, or I can achieve thery smooth an noiseless operation with smaller torque (anyway, the torque is lowest when waveform becomes sinusoidal). Anyway, the key parameter here is TOFF, which whould be small enougth to make good torque, but big enough to make smaller noice and sound.

    I have no idea on good settings in DRIVE register, so I left it in default state.

    The problem that register adjusting is required online for good operation. The single-head plunger pump require complex non-linear speed profile for best performance, i.e. the refill phase require very high moving speed (but it helped with spring), but pumping phase should be slow. So, in ideal, the step period should be adjusted with each step, and I'm afraid SPI transaction could be too slow to make it on each step. Also the pump is externally controlled, so speed (flow rate, in fact) can be changed in any moment.

    I'll provide current register settings and scope shots tomorrow (but Moscow time, which is GMT+4).

    Thank you again!

  • As I read datasheet, I realized that chosen MOSFETs (which have total gate charge of 16 nC, and Qgd 4.5 nC) is not a good choice due to very small gate charge. I should choose MOSFETS with gate charge about 50 nC, am I right?
  • Best results aquired with:

    MODE = 2

    DTIME = 3

    TBLANK = 0x20

    TDECAY = 0x10 (default, not tuned)

    DECMOD = 5

    TOFF = 0x05

    TDRIVEN = TDRIVEP = IDRIVEN = IDRIVEP = 0

    waveform on high speed:

    Medium speed:

    low speed: