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.

MCF8316AEVM: Low speed and high torque rotation of low power motor

Part Number: MCF8316AEVM
Other Parts Discussed in Thread: MCF8316A, MCT8316Z

Hello,

I asked and solved the problem that the motor does not rotate well in the closed loop.
But I still have some problems.
(1) Motor does not rotate stably at low speed (30 [fps])
     When the speed drops below about 40 [fps], it often stops.
(2) If the torque load fluctuates, the motor cannot maintain its speed.

Especially low speed rotation is difficult with my low power motor.
My motor has an encoder, but it doesn't have A, B, C phase Hall sensors...

regs_220128_temp1.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"signature": "oneui-register-data",
"data": [
[
{
"idx": 0,
"id": "isd_config",
"value": "0x04638C20"
},
{
"idx": 1,
"id": "rev_drive_config",
"value": "0x283AF064"
},
{
"idx": 2,
"id": "motor_startup1",
"value": "0x0A8407D0"
},
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Thanks,
Tetsuya K

  • Hi Tetsuya-san,

    Can you tune the Speed loop PI controller at lower speeds to fix both issues?

    Regards,

    Vishnu  

  • Hi Vishnu,

    Thank you for your continued support.

    When I changed the Speed loop PI value, the motor was able to rotate at low speed.
    However, in today's conditions, the rotation was unstable when the motor speed was 30 [fps].
    I want to secure a little more margin.

    The torque did not change.

    Kp Ki @30[fps] Torque Note
    10 1 Stoped - Default
    30 3 Stoped No change
    6 1 Stoped No change
    5 1 Rotated unstable No change
    5 5 Rotated unstable No change
    5 30 Rotated unstable No change
    5 100 Rotated unstable No change
    10 100 Rotated unstable No change
    10 500 - - Not Startuped
    Over Current
    1 1 Rotated unstable No change

    Thanks,
    Tetsuya K

  • Hi Tetsuya-san,

    What is the current drawn by the motor at 30 fps? Can you disable Dynamic CSA gain and set the CSA gain to 1.2V/A at lower speeds? You should find both parameters under "System level configuration".

    Regards,

    Vishnu

  • Hi Vishnu,

    The motor current at 30 [fps] is about 270-350 [mA].

    I disabled Dynamic CSA gain and set CSA gain to 1.2 [V / A].
    But, it had no effect on the low speed stability and torque of the motor.

    Thanks,
    Tetsuya K

  • Hi Tetsuya,

    It is challenging to tune sensorless drivers at low speeds due to low BEMF. We provided steps to manually tune the speed loop Kp and Ki in the "Guided tuning" section. Can you check the manual tuning (Step A to step H) to tune speed loop Kp and Ki? Check below screenshot.

    Regards,

    Vishnu

  • Hi Vishnu,

    I've tried this manual tuning before, but at step F the motor didn't spin in a closed loop.

    Then I tried again based on the modified json file, but it still failed in step F.
    As a test, I changed [FORCE_IQ_REF_SPEED_LOOP_DIS] in the range of 600 to 1000, but the motor did not transition to the closed loop.

    As you say, I find it very difficult to control my low inductance motor without a sensor.
    If there is no effective solution, I would like to review the method of motor control.

    Thanks,
    Tetsuya K

  • Tetsuya,

    FORCE_IQ_REF_SPEED_LOOP_DIS in the range of 600 to 1000 is very high. You mentioned that the phase current at 30 fps is around  270-350 mA. Using the below equation,  FORCE_IQ_REF_SPEED_LOOP_DIS is 15. Can you try this value?

    Iq_ref = (FORCE_IQ_REF_SPEED_LOOP_DIS / 500) * 10

    Also, what is the speed variation % seen at lower speeds and how much is the expected variation?

    Regards,

    Vishnu

  • Hi Vishnu,

    Oh, I didn't understand the IQ equation.

    I can't test today, so I'll try it tomorrow.

    By the way, I also don't understand the equation of speed loop Kp in Step H.
    ・ Pole Pairs: 2
    ・ Maximum motor speed: 180 [fps]
    ∴ Maximum electrical speed: 360 [Hz]
    Using this value in the equation, Kp is 0 when Iq is 180 [A] or less.

    Thanks,
    Tetsuya K

  • Hi Tetsuya,

    Iq_ref is the actual phase current of the motor. FORCE_IQ_REF_SPEED_LOOP_DIS is an algorithm variable that is scaled to make algorithm computations much easier. In step H, you should be using the FORCE_IQ_REF_SPEED_LOOP_DIS which was calculated in the previous step.

    Regards,

    Vishnu. 

  • Hi Vishnu,

    I tried manual tuning again but couldn't rotate it well.
    The details of the implementation after step E are shown below.

    Step E and F
        I set [FORCE_IQ_REF_SPEED_LOOP_DIS] to 15, but in today's conditions the value was still high.
        I was able to rotate it in a closed loop by lowering it below 15.
    Step G
        I adjusted the register value so that the motor rotates at the maximum electric speed = 360 [Hz]. Its value is 8.
    Step H
        Divide this value (: 8) by the maximum speed (: 360 [Hz])
        Speed loop Kp = 0.
    Step I
        Speed loop Ki = 0.
    Step J
        I enabled the speed loop, but the motor didn't rotate and a large current flowed through it.

    Thanks,
    Tetsuya K

  • Tetsuya-san,

    Small correction. Iq reference that you plug in to the equation 6 should be the actual motor phase current that the motor draws at max speed and not the Force_iq. What is the phase current drawn by the motor at max speed?

    Regards,

    Vishnu,  

  • Vishnu, 

    The phase [A] current drawn by the motor at maximum speed was about 300 [mA] (= 0.3 [A]).
    After all, substituting this into equation (6), the Kp value is 0.

    Thanks,
    Tetsuya K

  • Hi Tetsuya-san,

    You mentioned in one of your post that the current drawn by the motor is 270-350 mA at 30 fps. Is 30 fps the max speed? At what speed is the motor speed unsable? 

    The motor current at 30 [fps] is about 270-350 [mA].

    Regards,

    Vishnu

  • Hi Vishnu, 

    Sure, I said so, but at step G, the top speed Phase A current was measured less than expected.
    I think this is due to manual tuning.

    If it is not manual tuning, it was measured as follows
    30 [fps]: 270-350 [mA]
    180 [fps] (maximum speed): 490-530 [mA]

    I also tried when Kp value: 1
    The motor did not rotate.

    Thanks,
    Tetsuya K

  • Hi Tetsuya-san,

    I will get back shortly!

  • Tetsuya-san,

    Can you try setting higher PWM output frequency? 

    Regards,

    Vishnu

  • Hi Vishnu,

    I'm sorry, I said yesterday that manual tuning reduced the phase current, but it seems a mistake.

    Last Friday, the motor broke down and I changed it to another one.
    I think the decrease in phase current is due to variations in motor characteristics.

    And after replacing the motor, it became difficult to rotate.
    In today's conditions it is not possible to rotate the motor manually.

    So without manual tuning, I increased the frequency of the output PWM.
    I raised it from 30 [kHz] to 50 [kHz], but it doesn't seem to affect the stability * of the motor.
    At frequencies above 50 [kHz], the motor could not rotate.

    * Stability
    Normally, the motor rotates at ± 5 [%] of the command speed.
    When the speed decreases, it exceeds ± 20 [%].

    Thanks,
    Tetsuya K

  • Tetsuya,

    Can you try setting PWM output frequency to 60 kHz and speed loop Kp and Ki to 1? 

    The R/L time constant of your motor is very high and the phase current at lower speeds is too low. This makes it really challenging for MCF8316A to spin your motor stably at lower speeds.  

    Regards,

    Vishnu

  • Vishnu,

    I can't test this week. I will test it early next week.

    I would need to consider another way to rotate my motor.

    Thanks,
    Tetsuya K

  • Tetsuya,

    Yes, please check and let us know next week. 

    Regards,

    Vishnu

  • Hi Vishnu,

    I set the output PWM frequency to 60 [kHz] and the speed loops Kp and Ki to 1.
    The motor did not rotate.
    When the speed loops Kp and Ki are 1, the motor can rotate if the output PWM frequency is 50 [kHz] or less.
    But, low speed stability was not obtained.

    Thanks,
    Tetsuya K

  • Tetsuya,

    How much percentage of the maximum speed is your low speed?

    Regards,

    Vishnu.

  • Vishnu,

    My low speed is 16.7 [%] of the maximum speed.
    Maximum speed: 180 [fps]
    Minimum speed: 30 [fps]

    Thanks,
    Tetsuya K

  • Tetsuya,

    I believe you are working on Pre-production samples. We made significant changes in our algorithm in production samples. Can you try tuning this motor using production samples?

    Regards,

    Vishnu

  • Vishnu,

    I found it very difficult to control the low inductance motor without sensors.
    My request will be difficult to fulfill, even if you make significant improvements to the algorithm.
    My motor has an encoder, so I think the feedback signal from the encoder will facilitate my development.

    Thanks,
    Tetsuya K

  • Tetsuya,

    Thanks for the update! We have MCT8316Z (trap control) which supports Hall sensors. Let me know if you are interested in this device.

    Regards,

    Vishnu. 

  • Vishnu,

    My motor has encoders, not phase A, B, C Hall sensors.
    However, in fact, the method of using the encoder signal as a feedback signal is not common.
    I will consider the best solution for my device specifications.

    If I come to the following conclusions, I need your help again.
    ・ Increase the inductance of the motor
    ・ Equipped with a Hall sensor on the motor

    Thank you for your long-term support,
    Tetsuya K