AN1362 STMicroelectronics, AN1362 Datasheet

no-image

AN1362

Manufacturer Part Number
AN1362
Description
SWITCHED RELUCTANCE MOTOR CONTROL BY ST FIVE
Manufacturer
STMicroelectronics
Datasheet
ABSTRACT
This application note proposes a solution to drive the Switched Reluctance Motor (SRM) by using a low
cost 8-bit microcontroller. This work has been developed for a vacuum cleaner application in order to
reach a high rotational speed and low acoustic and electrical emissions.
Keywords: SRM, Switched Reluctance Motor, Synchronous Motor.
INTRODUCTION
Although SRM motors have been well known for a long time, only today’s industry is paying attention to
these kinds of electrical machines. The decreasing costs of microcontrollers and inverter stages, the need
of compliance with EMI standards, together with the simplicity in motor assembly are driving the home-
appliance market’s attention to synchronous motors, such as Permanent Magnet Brushless DC and
Switched Reluctance. These machines, that belong to the group of Electrically Commuted Motors, need
rotor position sensors in order to know where the rotor poles are located in the space during rotor
revolution. Good starting torque, wide speed range, absence of brushes and of expensive magnetic
material make SRM motors very interesting electromechanical drivers for the consumer market.
SRM OVERVIEW
A SRM can be considered as a big step-motor where both the stator and the rotor present salient poles.
In the SRM no permanent magnets are used therefore the magnetic flux is produced by the stator coils
(Unique Flux Synchronous Machine). The rotor is composed of laminated iron sheets, which are stacked
on the shaft. Two bearing-ball ends allow the rotor shaft to rotate. The stator is a typical N-phase motor
and presents a pair of salient poles for each phase coil.
Fig.1 shows a transversal section of the motor. Typical pole configurations are: 4stator/2rotor poles, 6/4,
8/6, 12/8,
Figure 1. SRM SCHEME
AN1362
Rotor pole
Rotor pole
Phase winding
Phase winding
Switched Reluctance Motor Control by ST FIVE
B
B
C
C
A
A
A
A
Torque
Torque
B
B
APPLICATION NOTE
C
C
Stator pole
Stator pole
AUTHOR: N. ABBATE
AN1362
1/26

Related parts for AN1362

AN1362 Summary of contents

Page 1

... Fig.1 shows a transversal section of the motor. Typical pole configurations are: 4stator/2rotor poles, 6/4, 8/6, 12/8, … Figure 1. SRM SCHEME Phase winding Phase winding Rotor pole Rotor pole AN1362 APPLICATION NOTE Torque Torque AN1362 AUTHOR: N. ABBATE Stator pole Stator pole 1/26 ...

Page 2

... AN1362 Generally, the equation between stator poles Ns and rotor poles Nr is the following: where q is the number of phases. Due to the pole saliency, the magnetic path is different during the rotor motion since the reluctance is minimal when stator and rotor poles are aligned and maximum when poles are not aligned. Formally, the inductance can be written as follows: with N number of coils and rotation angle of the motor shaft ...

Page 3

... Encoder #2 Encoder #2 Encoder #3 Encoder #3 Encoder #3 direction direction No Pre-phase Firing No Pre-phase Firing No Pre-phase Firing G1=E1&E2 G1=E1&E2 G1=E1&E2 G2=E2&E3 G2=E2&E3 G2=E2&E3 G3=E3&E1 G3=E3&E1 G3=E3&E1 Pre-phase Firing: Pre-phase Firing: Pre-phase Firing: G1=E1n&E2n G1=E1n&E2n G1=E1n&E2n G2=E2n&E3n G2=E2n&E3n G2=E2n&E3n G3=E3n&E1n G3=E3n&E1n G3=E3n&E1n Acceleration Pre-phase Speed AN1362 3/26 ...

Page 4

... AN1362 INVERTER TOPOLOGY The SRM motor is driven by a six switch board in a typical 2N-switch topology, with N indicating the number of motor phases. Each motor phase is connected to an asymmetric half bridge consisting of two power switches and two diodes. The complete DC voltage can be used to energize and de-energize a phase in chopping mode. ...

Page 5

... The current in a motor phase winding is measured directly by a current/voltage converter current sense resistor connected in series with the phase. The current is compared with the reference current, obtaining an error signal. The current error is compensated by the control law, and an appropriate control action is taken. Figure 7. V AND I PHASE WAVEFORM AN1362 5/26 ...

Page 6

... AN1362 Figure 8. CURRENT MODE MODULATION AND INSERTION OF OVER-CURRENT PROTECTION Some hardware protections are implemented on board to prevent drivers and switches from damage caused by over-current on Bus. The previous picture shows how to protect them. The current sensing resistor, which is printed on-board, enables to detect the Bus current by using one channel of the micro A/ D, the same one used for the current mode modulation. In the picture, the gate signal “ ...

Page 7

... PRE-PHASE, HIGH SPEED ROUTINE (High-Speed) There are lots of sequences of the manipulated encoder signals aimed to drive the motor, each of them for a specific speed range. There are other two different sequences to get a speed of 20Krpm. There are AN1362 7/26 ...

Page 8

... AN1362 no logic combinations of the encoder to perform both the right pre-phase firing sequence and the timing, in order to obtain a speed higher than the previous one. The expected speed can be reached only by using a specific Timer peripheral to switch off the phase in advance. The Interrupt routine at high speed turns the phase off after that the logical function turns it on. ...

Page 9

... Figure 11. A/D AND TIMER 1 INTERRUPT ROUTINES A/D Interrupt (current mode modulation) Timer 1 Interrupt (Pre-phase) Figure 12. Visual FIVE: PHASE INJECTION ROUTINE Set PWM duty cycle High YES I sense< I Ref EXIT NO Set PWM Duty Cycle Low EXIT NO Phase is On YES Gate Signal Off AN1362 9/26 ...

Page 10

... AN1362 Figure 13. AD INTERRUPT ROUTINE CONCLUSION Thanks to the driving strategy adopted, the 25000rpm has been reached with a feeding of 230VAC and a BUS current of around 3A RMS by using a standard full-bridge driver and an 8 bit micro controller. The “smart” hardware performances of the ST Five micro controllers, and the efficient Visual FIVE tool have allowed the development of this application in a simple way ...

Page 11

... R11 Lin Pgnd 2 100 L33L QL3 5 to220diode CON2 Diag 6 D13 Cin L6386 D17 +15Vcc QL3 DO40 D18 STGP7NB60HD 1 bzx 15 600V POWER GND AN1362 E_grey E1 jellow blu red E_brown E3 jellow 3 O +5Vcc C12 + C13 220uF 0.1uF STTA506 D10 D11 J6 BRIDGE 1 C20 2 100uF ...

Page 12

... AN1362 APPENDIX B: ASM FIRMWARE ;********************************************************************************************************************* ; Author: N. Abbate 15/06/2001 ;This Project shows how to drive a Three Phase Switched Reluctance Motor. ;It uses a PWM signal on pin PC2/T1OUT with a frequency of 20kHz and a variable duty cycle. ;On pin PB0/Ain0, the internal peripheral A/D Converter reads the Bus current. ;The Timer0 peripheral measures the encoder signal in order to compute the speed of the motor. The frequency of the timer is 610 Hz. ...

Page 13

... Start procedure "main" AN1362 13/26 ...

Page 14

... AN1362 Start: Inizialization: ; ++++++++++++++++++++++++++++++ mdgi Config_PB_8_bit: ; Asm Block : Config_PB_8_bit ldrc 00000000b, 0x00 ldcr 12 30 ldrc 30 255 ; 11111111b, 0xFF ldcr 13 30 ldrc 00000011b, 0x03 ldcr 14 30 ldrc 00000000b, 0x00 ldcr 15 30 ldrc 00000000b, 0x00 ldcr 16 30 init: ldrc 00000000b, 0x00 ldrc 2 255 ...

Page 15

... Change_configuration_timer1: ; Asm Block : Change_configuration_timer1 ldrc 31 208 ; 11010000b, 0xD0 ldcr 8 31 ldrc 00100011b, 0x23 ldcr 9 31 soft_start_normal: Call0: call Analize_encoder Call3: call Low_speed Exit9: jp soft_start_normal_Exit soft_start_normal_Exit: Jump2: ; ++++++++++++++++++++++++++++++ mdgi ldrc 00000000b, 0x00 sub 2 16 jpnz End_If_26 megi ; ------------------------------ jp soft_start_normal End_If_26: AN1362 15/26 ...

Page 16

... AN1362 megi ; ------------------------------ enab_current_mode_and_pre_phase: Enable_current_mode_pre_phase: ; IrqEnableMask ; Enable: AD_Converter PwmTimer2 ; Disable: PwmTimer0 PwmTimer1 External ; ++++++++++++++++++++++++++++++ mdgi ldrc 2 18 ldcr RegConf_00 = 00010010 megi ; ------------------------------ Exit10: jp enab_current_mode_and_pre_phase_ enab_current_mode_and_pre_phase_: Jump0: ; ++++++++++++++++++++++++++++++ mdgi ldrc 00000000b, 0x00 sub 2 10 jpnz End_If_27 megi ; ------------------------------ jp normal_mode End_If_27: megi ; ------------------------------ High_mode: Call5: call Analize_encoder ...

Page 17

... PWM_Timer0_0: ; PWM_0 Setting ldrc 2 92 ldcr RegConf_05 = 01011100 PWM_Timer0_1: ; PWM_0 Setting ldrc 2 93 ldcr RegConf_05 = 01011101 Exit1: jp speed_encoder_Exit speed_encoder_Exit: megi ; ------------------------------ Choice: ; ++++++++++++++++++++++++++++++ mdgi Jump21: ldrc 01010000b, 0x50 sub 2 29 jps End_If_3 jp High_Speed End_If_3: Low_Speed: ldrc 00000000b, 0x00 AN1362 17/26 ...

Page 18

... AN1362 Exit13: jp Choice_Exit High_Speed: ldrc 00000001b, 0x01 Jump12: ldrc 00001010b, 0x0A sub 2 29 jps End_If_4 jp Alu0 End_If_4: Jump15: ldrc 00010100b, 0x14 sub 2 29 jps End_If_5 jp Alu2 End_If_5: Jump16: ldrc 00011110b, 0x1E sub 2 29 jps End_If_6 jp Alu3 End_If_6: Jump19: ldrc 2 40 ...

Page 19

... Read_6: ldpe 5 (2) jp Exit14 Alu0: ldrc 00000000b, 0x00 ldrr 3 28 ldrc 00010010b, 0x12 add 2 3 pgset 0 Read_7: ldpe 5 (2) jp Exit14 Choice_Exit: megi ; ------------------------------ RetI1: reti PwmTimer1: ; ********** Start procedure "PwmTimer1" Jump8: ; ++++++++++++++++++++++++++++++ mdgi ldrc 00000000b, 0x00 sub 2 24 jpnz End_If AN1362 19/26 ...

Page 20

... AN1362 megi ; ------------------------------ jp timer_soft_start End_If: megi ; ------------------------------ Off_phase: ; ++++++++++++++++++++++++++++++ mdgi Send2: ldrc 00000000b, 0x00 ldpr 0 2 PWM_Timer2_2: ; PWM_2 Setting ldrc 2 212 ldcr RegConf_10 = 11010100 Exit17: jp Off_phase_Exit Off_phase_Exit: megi ; ------------------------------ RetI2: reti timer_soft_start: ; ++++++++++++++++++++++++++++++ mdgi Assembler2: ; Asm Block : Assembler2 inc 30 Jump14: ldrc 00000101b, 0x05 ...

Page 21

... Exit2: jp Normal_Exit cross_conduction_control_L3: ldrc 00000001b, 0x01 sub 2 15 jpnz End_If_16 jp Exit19 End_If_16: L1_L2_enable2: ldrc 00000000b, 0x00 ldrc 00000000b, 0x00 ldrc 00000001b, 0x01 ldrc 00000001b, 0x01 L3_burning: ldrc 00000100b, 0x04 ldpr Exit2 Exit19: AN1362 21/26 ...

Page 22

... AN1362 jp Normal_Exit cross_conduction_control_L2: ldrc 00000001b, 0x01 sub 2 14 jpnz End_If_17 jp Exit18 End_If_17: L1_L3_enable1: ldrc 00000000b, 0x00 ldrc 00000001b, 0x01 ldrc 00000000b, 0x00 ldrc 00000001b, 0x01 L2_burning: ldrc 00000010b, 0x02 ldpr Exit2 Exit18: jp Normal_Exit cross_conduction_control_L1: ldrc 2 1 ...

Page 23

... End_If_24 jp Exit15 End_If_24: L2_L3_enable1: ldrc 00000001b, 0x01 ldrc 00000000b, 0x00 ldrc 00000000b, 0x00 ldrc 00000001b, 0x01 L1_burning1: ldrc 00000001b, 0x01 ldpr PWM_Timer1_2 Exit15: jp High_Exit High_Exit: megi ; ------------------------------ AN1362 23/26 ...

Page 24

... AN1362 Return1: ret Analize_encoder: ; ********** Start procedure "Analize_encoder" Folder2: read_encoder: ; ++++++++++++++++++++++++++++++ mdgi ; ------ldri 23 10 ldpr 1 0 ldri 23 10 megi ; ------------------------------ Filtering: ; ++++++++++++++++++++++++++++++ mdgi ldrc 2 224 ; 11100000b, 0xE0 and 23 2 megi ; ------------------------------ Exit7: jp Folder2_Exit Folder2_Exit: Return0: ret 24/26 ...

Page 25

... AN1362 25/26 ...

Page 26

... AN1362 Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specification mentioned in this publication are subject to change without notice ...

Related keywords