3-Phase Brushless DC Motor Control with Hall Sensors

A brushless DC motor (BLDC), also known as an electronically commutated motor (ECM, EC motor) or a synchronous DC motor, is a synchronous motor powered by direct current through an inverter or switching power supply, which produces an alternating current to drive Each phase controls the motor through a closed loop controller. The controller provides current pulses to the motor windings that control the speed and torque of the motor.

A brushless DC motor (BLDC), also known as an electronically commutated motor (ECM, EC motor) or a synchronous DC motor, is a synchronous motor powered by direct current through an inverter or switching power supply, which produces an alternating current to drive Each phase controls the motor through a closed loop controller. The controller provides current pulses to the motor windings that control the speed and torque of the motor.

Compared to brushed motors, the advantages of brushless motors are high power-to-weight ratio, high speed and Electronic control. Brushless motors are used in computer peripherals (disk drives, printers), hand-held power tools, and vehicles ranging from model airplanes to automobiles.

This project describes how to use GreenPAK? to control a three-phase brushless DC motor.

Below we describe the steps required to understand how the solution is programmed to create a DC motor control. However, if you just want to get the programming results, XZGreenPAK Designer software looks at the finished GreenPAK Design file. Plug the GreenPAK Development Kit into your computer and click Program to design the device.

Construction and operation principle

The structure and operation of BLDC motors are very similar to AC induction motors and brushed DC motors. Like all other motors, a BLDC motor consists of a rotor and a stator (Figure 1).

3-Phase Brushless DC Motor Control with Hall Sensors

BLDC motor stators are made of laminated steel to carry the windings. The windings in the stator can be arranged in two patterns – star pattern (Y) or delta pattern (Δ). The main difference between the two modes is that the Y mode provides high torque at low RPM, while the ? mode provides low torque at low RPM. This is because in the ? configuration, half of the voltage is applied to the undriven windings, increasing losses, which in turn increases efficiency and torque. BLDC motors are controlled using an electrical loop. An electrical cycle has 6 states. The motor commutation sequence based on Hall sensor is shown in Figure 2.

3-Phase Brushless DC Motor Control with Hall Sensors

3-Phase Brushless DC Motor Control with Hall Sensors

The basic principle of operation of a BLDC motor is the same as that of a brushed DC motor. For brushed DC motors, feedback is achieved using mechanical commutators and brushes. In a BLDC motor, feedback is implemented using multiple feedback sensors. Z commonly used sensors are Hall sensors and optical encoders.

In three-phase BLDC, the number of teeth (poles) is a multiple of 3, and the number of magnets is a multiple of 2. Depending on the number of magnets and teeth, each motor has a different amount of cogging (i.e. magnetic attraction in the rotor and stator) in steps per revolution. To calculate the number of steps (N), we need to know how many teeth and how many magnets are used in the motor. The motor used in this project has 12 teeth (poles) and 16 magnets.

Therefore, to make 1 turn, we need to generate 48 electric steps.

design

The design has 2 inputs to control motor speed and direction. PIN#8 controls the direction; a high level on Pin#8 means the motor rotates clockwise, and a low level means counterclockwise rotation. PIN#2 is used to control the speed by entering the frequency. No frequency signal on this pin will turn off the driver and the motor will stop. Applying a frequency to this pin within the first 500 ms will start the motor. Using the input frequency allows us to control the motor speed very JQ. To calculate RPM, we need to know how many electric steps the motor contains:

The motor in this application has 48 steps, so at 5kHz the motor will run at 6250 RPM.

The design can be divided into 4 parts (Figure 5): the processing block for the Hall sensor, the gate driver block, the PWM control or speed control block, and the protection block

The processing modules of the Hall sensor include ACMP (ACMP0, ACMP3, ACMP4), deglitch filters (DLY1, DLY5, DLY6) and DFF (DFF6, DFF7, DFF8). The hall sensor used in this project has 4 pins; VDD, GND and 2 differential outputs connected to the IN and IN- inputs of the ACMP. The internal Vref component is set to 1.2 V, which is used as VDD for the Hall sensors. The filtered signal from the ACMP goes to the D input of the DFF. The input frequency clocks these DFFs and sets the rotational speed. The signals from these DFFs go to the gate drivers and a 3-bit LUT14 configured as XNOR. The result is that every time any Hall sensor changes its polarity, the output level alternates. Both edge detectors generate the actual speed frequency (Hall frequency), which is compared to the input frequency to generate a PWM signal to control the rotational speed.

The gate driver module includes 12 3-bit LUTs that commutate external transistors based on feedback from the Hall sensors. Among them, 6 LUTs (3-bit LUT8 C 3-bit LUT13) are used for CW direction, and the other 6 (3-bit LUT1 C 3-bit LUT6) are used for switching to CCW direction. The module also includes three 2-bit LUTs (2-bit LUT4, 2-bit LUT5, and 2-bit LUT6) to mix the signal of each phase PMOS transistor with PWM to ensure that the speed is independent of the load.

PWM control includes PWM2 component, counter CNT8, finite state machine FSM1, 3-bit LUT15, 2 DFFs (DFF0 and DFF1), rising edge detector PDLY0 and inverter INV0. DFF0 and DFF1 work together as a frequency comparator; when the input frequency is higher than the Hall frequency, the DFF0 nQ output goes low; when the input frequency is lower than the Hall frequency, the DFF1 nQ output goes low. When the ” ” input is low, the PWM2 OUT output will generate a PWM signal with a duty cycle range of 256/256 to 1/256. When the “-” input is low, PWM2 OUT will generate a PWM with a duty cycle varying from 1/256 to 256/256. The PWM frequency is about 100 kHz, and the IC’s duty cycle is set to 0% at startup. The motor stops until the input frequency applied to PIN2. After applying the frequency to PIN2, the DFF0 nQ output will go low and the PWM will increase the duty cycle from 0 to 99.6%. The motor will continue to rotate until the hall sensor exceeds the input frequency. At this point, the DFF0 nQ output will go high and the DFF1 nQ output will go low. This inversion causes the PWM duty cycle to drop to an acceptable value at the instant VDD and load seen on the motor. The system will work continuously to balance the PWM duty cycle. This reversal of the functions of FSM1, CNT8, 3-bit LUT15 and PWM2 causes the PWM duty cycle to drop to an acceptable value immediately at VDD and motor load. The system will work continuously to balance the PWM duty cycle. This reversal of the functions of FSM1, CNT8, 3-bit LUT15 and PWM2 causes the PWM duty cycle to drop to an acceptable value at the instant VDD and load seen on the motor. The system will work continuously to balance the PWM duty cycle. The functions of FSM1, CNT8, 3-bit LUT15 and PWM2 are described in application note AN-1052.

The protection block consists of 2 delays (DLY2 and DLY9), a counter CNT0 and a 2-bit LUT0 configured as an XOR gate. This part is designed to protect the motor and external FET from burning out. If the motor is stuck or won’t start, the Hall sensors will not provide the feedback needed to shut down the motor. If no feedback is received after 100 ms, the DLY2 output will go low and the 2-bit LUT0 will shut down the motor. If this happens, CNT0 and DLY9 will try to start the YC motor every 500 ms for 8 ms. This time is enough to start the motor, but not enough to cause damage to the motor.

in conclusion

This project describes how to control a three-phase brushless DC motor using the SLG46620 GreenPAK IC and Hall-effect sensors. The SLG46620 also contains other functions that can be used for this project. For example, instead of using the input frequency, the ADC in GreenPAK can interpret the input DC voltage and generate PWM pulses based on that value.

Previously, if designers wanted to control a BLDC motor, they would be limited by the electrical specifications and capabilities of a dedicated off-the-shelf IC solution. This forces designers to choose fixed-function and potentially overkill or expensive solutions, which often limit the IO of their systems.

Dialog GreenPAK reverses this design process by putting configurability back in the hands of the designer. By using this GreenPAK application as a universally applicable (though also WY configurable) three-phase BLDC motor control scheme, designers can choose the pinout and external FETs that meet their project’s unique electrical specifications. Also, even taking into account external FETs, Dialog GreenPAK solutions.

The Links:   2MBI600XHA120-50 NL8060BC31-02

Related Posts