SPEED CONTROL
OF SWITCHED RELUCTANCE MOTOR
USING PWM
PREPARED BY:- JADAV KRISHNARAJSINH A. [email protected] Rajkot.
Introduction
A speed control algorithm is proposed for variable speed switched reluctance motor (SRM) drives taking into account the effects of mutual inductances.
The control scheme adopts two or more phase excitation: exciting two or more adjacent phases can overcome the problems associated with single-phase excitation such as large torque ripple, increased acoustic noise, and rotor shaft fatigues.
2 Phase
4 Stator pole, 2 Rotor pole
5 Phase
10 Stator pole, 8 Rotor pole
4 Phase
8 Stator pole, 6 Rotor pole
3 Phase
6 Stator pole, 4 Rotor pole
Multiphase SRM
Converter Configuration
Asymmetric bridge converter
Switching Strategy for Control Classical sequence:
Switching Strategy for Control Improved sequence:
Software Code &
Simulation
Microcontroller Programingo #include <reg51.h>o #define off 0o #define on 1o sbit pin7 = P1^7; // label pin7 is port 1 pin 7 a
phaseo sbit pin6 = P1^6; // label pin6 is port 1 pin 6 b
phaseo sbit pin5 = P1^5; // label pin5 is port 1 pin 5 c
phase
o void delay(void);o main()o {o TMOD = 0x01;o // timer 0 mode 1,o // TH0 TL0 = 16 bit registero while(1)// keep repeating the following sectiono {o pin5= off;o pin6= off;o pin7 = on;o // pin 7 to 5 volts, i.e. logic 1o // use timer 0 to generate delayo delay();o pin7 = off;
o // pin 7 to 0 vlts, i.e. logic 0o // repeat timer delayo pin6= on;o delay();o pin6= off;o pin5= on;o delay();o pin5= off;o }
o }
o void delay(void)//20 ms loopo {
o TH0 = 0xB9; // hex B9 into TH0o TL0 = 0x90; // hex 90 into TL0o TR0 = on; // start timero while(!TF0);// wait here until TF0 = 1o TR0 = off; // stop timero TF0 = off; // clear overflow flag
o }
Programing For improved sequence #include <reg51.h> #define off 0 #define on 1 sbit pin7 = P1^7; // label pin7 is port 1 pin 7 a
phase sbit pin6 = P1^6; // label pin6 is port 1 pin 6 b
phase sbit pin5 = P1^5; // label pin5 is port 1 pin 5 c
phase void delay(void); main() { TMOD = 0x01; // timer 0 mode 1, // TH0 TL0 = 16 bit register while(1)// keep repeating the following section { pin6=pin5=0; pin7=1; delay(); pin6=1; delay(); pin7=0;
delay(); pin5=1; delay(); pin6=0; delay(); pin7=1; delay();
} }
void delay(void)//20 ms loop { TH0 = 0xB9; // hex 6F into TH0 TL0 = 0x90; // hex FF into TL0 TR0 = on; // start timer while(!TF0);// wait here until TF0 = 1 TR0 = off; // stop timer TF0 = off; // clear overflow flag
}
Matlab Simulation Circuit
Improved Sequence
PROTEUS SIMULATION
THANK YOU