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.

DRV10983EVM: Problems tuning for my Maxon EC32 motor 226006

Part Number: DRV10983EVM
Other Parts Discussed in Thread: DRV10983

I have read and re-read slou395d.pdf which has been helpful but I am unable to control the speed of the motor effectively.

The motor parameters are as follows:

Item Number Operation Voltage Noof Poles Max speed (rpm) Max Current R (Phase- CT) Kt (ph-ph) LR Constant Intertia Time
Maxon EC32 24 8 4530 0.5 6.850 80 ? 304mS

I include a copy of the data available from Maxon below.

I have determined the Inertia T using the method recommended in the guide.

I do not have a current probe for my scope so havent been able to determine the LC constant.

In open loop mode I can start the motor and fan blades running but I don't seem to be able to reach my target speed which is 600 rpm.  The motor reaches 320 rpm and then changing the speed demand has no effect and varying parameters such as Kt and Phase resistance etc only increases the current from the PSU but does not increase the speed at all.

Similarly if I change the Open Loop/Align Current value from 0.4A to 0.8A the current consumption increases but the speed does not change.

What am I doing wrong?

Best regards

John

The motor configuration file is:

DRV10983 0x20 0x6D
DRV10983 0x21 0x2A
DRV10983 0x22 0x3B
DRV10983 0x23 0x0
DRV10983 0x24 0x40
DRV10983 0x25 0xFD
DRV10983 0x26 0x88
DRV10983 0x27 0x90
DRV10983 0x28 0xA9
DRV10983 0x29 0x49
DRV10983 0x2A 0x5
DRV10983 0x2B 0xD

  • John,

    It looks like the Rm is programmed quite right but that should be a big issue. I think 0x6B would be a better setting.

    Looking at the inductance and resistance value I'm not too concerned about the L/R constant.

    I see you have abnormal Kt lock disabled. Were you hitting this lock regularly and thus disabled?

    The one thing I can think of is maybe the advance angle/time isn't set correctly. What I do when trying to optimize the advance angle is I look at the display page of the GUI and have it do autorefresh of the Display area. This will give you an indication of what the IC is estimating the BEMF to be. I then adjust the advance angle until the IC estimate and the programmed value are roughly the same.

    A current measurement would definitely be helpful to debug. Could you at least provide a scope shot of FG and phase U voltage?

    Thanks,
    Brian
  • Hi Brian,

    Thanks for responding.

    I have updated the configuration so Rm is 0x6B 

    Also I re enable the kt and other locks which haven't had any effect.

    I am running open loop with IPD off and as a first step I am expecting to see the motor speed vary as I change the speed demand from 100 to 500 but what I find is that the motor starts, reaches a fixed speed which remains constant regardless of what I do to the speed demand.  I wonder I the algorithm ever leaves the startup setting state.

    DRV10983 0x20 0x6B
    DRV10983 0x21 0x2A
    DRV10983 0x22 0x3B
    DRV10983 0x23 0x0
    DRV10983 0x24 0x40
    DRV10983 0x25 0xFD
    DRV10983 0x26 0x88
    DRV10983 0x27 0xF0
    DRV10983 0x28 0xA9
    DRV10983 0x29 0xC9
    DRV10983 0x2A 0xD
    DRV10983 0x2B 0xD

    Please find attached a scope plot with Channel 1 showing phase U and Channel 2 showing FG. at a steady state and the display page from the gui.

  • John,

    I apologize for not looking closer at your settings. I missed that you have closed loop operation disabled. This will prevent you from going faster than the programmed open to closed loop threshold (which you have set at 25.6 Hz). Hence the reason the motor won't go faster.

    Enable closed loop operation and you should be able to drive the motor faster as you change the input command.

    Thanks,
    Brian
  • Brian,

    I enabled closed loop operation and then the motor will only run consistently when I un-check the Open Loop Stuck tickbox in the Advanced settings page. However I am still unable to vary the motor speed.

    I then adjusted the T Control Advance(s) all the way up to 2.88m and saw the BEMF (Motor Velocity Constant) drop from 75 to 58, but again it did not result in me being able to control the motor speed.
    The motor configuration settings I ended up with are attached below.

    Thanks,

    John

    DRV10983 0x20 0x6B
    DRV10983 0x21 0x2E
    DRV10983 0x22 0x79
    DRV10983 0x23 0x10
    DRV10983 0x24 0x40
    DRV10983 0x25 0xFD
    DRV10983 0x26 0x78
    DRV10983 0x27 0xF0
    DRV10983 0x28 0xA9
    DRV10983 0x29 0xB9
    DRV10983 0x2A 0x5
    DRV10983 0x2B 0xC
  • John,

    It still sounds like the BEMF is not being estimated correctly.

    Most motors I've worked with need and advance time of 100-800 us.

    Can you try the following:

    Increase the hand off frequency.

    Tell me what the speed command and speed buffer command are (these should be the same unless the system is limiting the command because of software current limit).

    Thanks,
    Brian
  • Brian,

    I increased the Open to Closed Loop Threshold from 12Hz to 25.6Hz.

    Set the T Control Advance to 600us

    All other settings as before.

    With the speed set to 100 I get

    Motor speed 1638Hz

    speed command 19%

    Speed cmd buf 23%

    with the speed set to 400 I get

    Motor speed 1638Hz

    speed command 78%

    Speed cmd buf 23%

    Thanks

    John

  • John,

    Just to make sure I understand - with the open loop stuck lock disabled the motor continues to spin, but will not increase in speed with higher speed command?

    Can you try programming Kt to be about half the value you have programmed?

    Thanks,
    Brian
  • Brian,

    >Just to make sure I understand - with the open loop stuck lock disabled the motor continues to spin, but will not increase in speed with higher speed command?   Yes

    I have tried Kt values of 51.3, 25.6 and 12.8, 18.3 each time changing the parameter, stopping the motor and then restarting.  The open loop stuck remains all the time and changing the speed control value has no effect on the actual speed.  

    I am using a 24V power supply and the current draw is 140mA, If I increase the Open Loop/Align Current from 0.4 to 0.8A the current increases to 500mA but the motor speed does not change.

    The only setting that affects the speed is the Open to Closed Loop Threshold,

    With Kt at 18.3, Rm 6.8.

    @ 38.4Hz FG frequency is 19.9Hz and the motor speed from a 2048 count encoder is 18KHz so 530rpm

    @ 25.6Hz, FG frequency is 11.8Hz and the motor speed is 350rpm

    @ 12Hz, FG frequency is 5.8Hz and the motor speed is 172rpm.

    See motor config values used below along with Display page with different values of Kt.

    John

    DRV10983 0x20 0x6B
    DRV10983 0x21 0x1A
    DRV10983 0x22 0x4F
    DRV10983 0x23 0x10
    DRV10983 0x24 0x40
    DRV10983 0x25 0xFD
    DRV10983 0x26 0x78
    DRV10983 0x27 0xF0
    DRV10983 0x28 0xA9
    DRV10983 0x29 0xA9
    DRV10983 0x2A 0x5
    DRV10983 0x2B 0x2C

    Kt = 25.6

    Kt=12.8

  • Brian,

    I came across a note saying that the ground line should not be connected to the motor. Once this was disconnected, so the only motor connection is the 3 phases, then the motor speed became controllable!
    The open loop stuck lock has cleared but I have a BEMF abnormal alert. When the BEMF lock is disabled I have my estimated Kt of 36.6mV/Hz and in the Display page is 80mV/Hz. I increased the T Advance all the way up to 2mS but that only reduced the BEMF level to 60mV/Hz.

    With the BEMF lock disabled when I set the speed demand to 75 I get my desired motor speed of 600rpm,

    With the T Advance at 1.76m and the Kt set to 51.3 then BEMF on the Display page is 67 and I have no lock flags.

    Can you suggest how I could improve the performance so that I am not operating so close to a lockout condition?

    Thanks very much for your help

    John

  • John,

    Thanks for the update! I didn't think to ask what you were doing with the common node of the motor.

    It looks like you already have the largest lock window programmed so we can change that.

    You can try changing the control coefficient to 0.75 to see if that helps. It's kind of a fudge factor in the algorithm, but may get the calculated and the programmed value to be closer to the same.

    The other knob you can turn is changing the Rm up or down a little to get the calculated Kt closer to the programmed value.

    Thanks,
    Brian
  • Brian,

    Thanks again for your update, the control is significantly better and working reliably, the only area that looks a little ragged is startup, when the motor pauses then rattles a little before accelerating up to speed.  Sometimes the motor heads off in the wrong direction for a 10 or 20 degrees before correcting itself.

    Based on your suggestions I found the following:

    Reducing the control coefficient to 0.75  reduces BEMF by a few mV/Hz and appears to have no negative effect, so I have left it at that setting.

    Increasing Rm above 10 does reduce the BEMF a little but then affects the startup performance, i.e. the motor starts and then stalls with BEMF lock.

    My settings are as follows, If you have any other recommendations that would be appreciated.

    DRV10983 0x20 0x6B
    DRV10983 0x21 0x2E
    DRV10983 0x22 0x5C
    DRV10983 0x23 0x4C
    DRV10983 0x24 0x44
    DRV10983 0x25 0xE3
    DRV10983 0x26 0x89
    DRV10983 0x27 0xFC
    DRV10983 0x28 0x73
    DRV10983 0x29 0xA9
    DRV10983 0x2A 0x1D
    DRV10983 0x2B 0x2E

    Best regards,

    John

  • John,

    Sorry for the delay. I've been out off office.

    I'm glad to hear that the system is working pretty good.

    Can you elaborate on the backward rotation? Is this during the open loop acceleration or prior to the open loop acceleration? I'm just trying to understand if there is any chance it is occurring during the IPD part of the operation.

    Previously you weren't using IPD if I'm comparing the settings correctly.

    Thanks,
    Brian