Sensorless Control of Brushless or Permanent Magnet Synchronous Motors in Wide Speed Range

Introduction

Field-oriented control (FOC) of permanent magnet synchronous machines (PMSMs) or Brushless DC motors (BLDC) requires knowledge of the rotor’s angular position to ensure smooth operation and maintain the desired speed and power. The rotor’s angular position can be maintained by using different methods either by mounting a position sensor on the shaft of a Motor or by estimating the rotor position by measuring the voltage and current of the Motor in a sensorless fashion.
SOLO Motor Controller has developed two algorithms for the rotor’s angular position estimation to provide sensorless capability for PMSM and BLDC motors in a wide speed range.
To control the torque and speed of a PMSM or BLDC, we have three main operating zones: zero or near to zero-speed, low-speed, and high-speed zones. These zones are illustrated in Figure 1.

 

Field Weakening-Torque vs Speed Curve

Figure 1: operating zones of PMSMs

Accurate knowledge of the rotor’s angular position is essential for operating the motor effectively across all three zones. In the following, we will explore how SOLO’s new algorithms achieve this.

 

HSO Method (High-Speed Observer)

The High-Speed Observer (HSO) method solves the low-speed zone angle challenge by utilizing an artificial angle to feed the Field-Oriented Control (FOC); Once the motor goes above a specific speed (transition speed), a high-performance high-speed angle observer is used to determine the FOC angle. FOC algorithm block diagram using HSO method is shown in Figure 2.

 

Field Weakening-Torque vs Speed Curve

Figure 2: FOC algorithm using HSO method

The operating regions of the HSO method are illustrated in Figure 3.

Field Weakening-Torque vs Speed Curve

HSO Algorithm Parameters: There is only one HSO parameter, called “Transition Speed” This parameter is shown in Figure 3. Above this speed, the FOC (Field-Oriented Control) receives its feedback from the angle estimated by the High-Speed observer.

 

HSO Algorithm Tips

  • In zero-speed and low-speed zones, the HSO runs the motor using the maximum torque allowed by the current limit set by the user in the Motion Terminal.
  • Initial load disturbance might be challenging, so this method is suitable for applications with constant load.
  • Suitable for applications like Blowers, Compressors, Valves, Pumps, Fans, Drones, etc.

 

Use and Tune HSO Step by Step

  1. Consider your application, if your application doesn’t require continuous operation in zero-speed and low-speed zones and has minimal load variation while the Motor is below the Transition Speed (low-speed region), the HSO method is a suitable choice.
  2. In the Motion Terminal, set the current limit as high as possible for the Motor, This current will be used during startup to provide maximum torque to the motor.
  3. In the Motion Terminal, set the Transition Speed properly, as a rule of thumb, usually 20% of the nominal speed of the motor is a good starting point, after achieving acceptable results, you can reduce this transition speed even lower, for some motors is possible to reach down to 5% of the Nominal speed.
  4. Make sure you are considering some suitable Acceleration and Deceleration for the Motor.
  5. Once the motor passed the Transition Speed, it’s recommended to keep the Speed reference above the transition speed for the rest of the operation of the system.
    Below you can see some test cases done on various types of Motors.

High-Speed Sensorless on BLDC with Delta winding [+50,000Hrs life-time guaranteed]:

Sensorless BLDC motor Speed Control – FOC [Out Runner]:

Sensorless IPMSM control up to 6kW/130Amps – FOC under load:
Sensorless Constant Speed Under Heavy Load – PMSM with FOC:

ZSFT Method

The HSO method can become unstable during startup if the application has load variation. To solve this issue, SOLO motor controllers has recently developed the Zero Speed Full Torque (ZSFT) algorithm. This innovative algorithm utilizes signal injection into the motor coils to estimate the rotor’s initial angle and its position within zero-speed and low-speed zones. FOC algorithm by using ZSFT method is illustrated in Figure 4.

you can watch a video below showcasing how ZSFT is done in SOLO:

Extremely Low-Speed Sensorless control of BLDC/PMSM – High-Frequency Injection
Field Weakening-Torque vs Speed Curve

Figure 4: FOC algorithm by using ZSFT method

The ZSFT offers two key advantages:

  1. It can handle load variations during startup and preventing instability.
  2. It allows for continuous operation at zero-speed and low-speed zones. While direction reversal is still possible, continuous low-speed operation after transitioning to high-speed is generally not recommended.

The operating regions of the ZSFT method are illustrated in Figure 5.

Field Weakening-Torque vs Speed Curve

Figure 5: operating zones of PMSMs in ZSFT algorithm

ZSFT Algorithm Parameters

1- Angle Estimation Injection amplitude: It is a value between 0 to 0.55. Set the injection amplitude as high as possible to get the best accuracy, but not so high that it can damage the motor or create excessive noise.
Increase injection amplitude:
Pros:
– Improves the accuracy of angle estimation.
Cons:
Increases voltage and current distortion in the motor coils.
– Results in more electrical and audible noise.
– Increases vibration on motor case and coils.

2- Polarity Detection Injection Amplitude: It is a value between 0 to 0.55. before startup it is mandatory to know the magnetic polarity of rotor, to do this ZSFT algorithm injects a very short time signal onto motor coils in order to find the rotor magnetization direction. Set the injection amplitude as high as possible to get the best accuracy, but not so high that it damages the motor or creates excessive noise. The motion terminal feedback helps you find the best value.

3- Injection Frequency Counter (IFCNT): It is a number between 0 to 10. Set injection frequency as below:

IFCNT
Injection Frequency (KHz)
0
10.0
1
5.0
2
4.0
3
3.3
4
2.9
5
2.5
6
2.2
7
2.0
8
1.8
9
1.7
10
1.5

4- Transition Speed: Above this speed, the FOC (Field-Oriented Control) receives its feedback from the angle estimated by the High-Speed algorithm. Set this value in RPM and it must be as low as possible.

ZSFT Algorithm Tips

  • Use a Lab power supply with limited current during calibration and setting parameters.
  • This algorithm works best with motors with saliency. In permanent magnet synchronous motors (PMSMs), saliency refers to the asymmetry in the magnetic properties between the machine’s d-axis and q-axis. PMSMs can have salient poles on the rotor, which creates a naturally higher magnetic permeability along the d-axis compared to the q-axis. These are called salient-pole motors (Most types of outrunners BLDCs, IPMSM motors, and some of the inrunner BLDC motors) and lead to lower inductance in d-axis (Ld) compared to q-axis (Lq). By utilizing this property, the ZSFT algorithm estimates rotor’s angular position.
  • While direction reversal is still possible, continuous low-speed operation after transitioning to high-speed is generally not recommended.

Use and Tune ZSFT Step by Step

  1. Choose a PMSM with enough saliency. A saliency ratio greater than 5% is a good rule of thumb for selecting a PMSM with sufficient saliency for the ZSFT algorithm.
  2. Consider your application, if your application has load variation during startup, the ZSFT method is a suitable choice.
  3. Choose a power supply with limited current for initial tests.
  4. Connect motor and power supply to the driver.
  5. In Motion Terminal, set a low value for the angle estimation injection amplitude. A good starting point is 0.15 and then proceed to the next steps.
  6. Run motor in ZSFT Mode. When running the motor in ZSFT mode, you can reverse the direction on the fly. However, keep in mind that ZSFT is not designed for continuous operation in Zero-Speed and Low-Speed Zones. Our goal in future will be to allow going back to very low speed after transition is done.

 

Share This

Share This

Share this post with your friends!