Tải bản đầy đủ (.pdf) (148 trang)

Nghiên cứu điều khiển động cơ từ trở (SRM - swiched reluctance machines) Lê long hồ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.05 MB, 148 trang )

HUTECH

Mu nhãn đa CD-ROM:





Anh/Ch hc viên các lp 10SQT, 10SMT và 10SM đã bo v
lun vn Thc s thành công vui lòng xem file đính kèm.

Sau khi bo v Lun vn Thc s, hc viên phi chnh sa ni
dung quyn Lun vn theo ý kin ca Hi đng đánh giá Lun
vn Thc s, và thc hin 01 bn cam đoan nhng ni dung đã
chnh sa (theo mu - không đóng chung vào cun lun vn)
đ trình cho cán b Hng dn khoa hc ký xác nhn đã chnh
sa. Sau đó np 01 quyn Lun vn hoàn chnh vi bìa cng
màu xanh lá cây, ch nh vàng (theo mu đính kèm)
+ Nhãn đa CD - ROM phi cha đy đ các thông tin theo mu
đính kèm .

và 01
đa CD-ROM.

HUTECH
+ Ni dung đa CD - ROM phi cha đy đ ni dung quyn
Lun vn Thc s di dng file word, file pdf và file power
point bài báo cáo, file bài báo đã đc chnh sa. Cht lng
đa CD - ROM phi đm bo s dng đc và đa phi đc
đng trong hp nha cng.



Hn cui np cun Lun vn hoàn chnh v cho Phòng QLKH -
TSH:

11/08/2012
HUTECH
B GIÁO DC VÀ ÀO TO
TRNG I HC K THUT CÔNG NGH TP. HCM



LÊ LONG H


NGHIÊN CU IU KHIN MÁY IN T
TR THAY I
(SRM : SWITCHED RELUCTANCE
MACHINES)


LUN VN THC S


Chuyên ngành : Thit b mng và nhà máy đin
Mã s ngành : 60 52 50


TP. H CHÍ MINH, tháng 06 nm 2012
HUTECH





PH LC

5.1 Chng trình ng dng điu khin SRM


#include "p30F4011.h"
#define FCY 29491200 // // Fosc = 7.3728 MHz , XT_PLL16
7.3728*E6*16/4=29491200 7.2MHz FCY=28800000
#define PTPERvalue 922 // FPWM = 16 KHz(920) 7.2MHz 20KHz(720)
,[(Fcy/16K)/2]
#define RED_button FLTACON //¸}
#define change_direction PORTDbits.RD0
#define DIR_change_direction TRISDbits.TRISD0
#define RELAY_OPEN LATFbits.LATF4
#define DIR_RELAY_OPEN TRISFbits.TRISF4
#define PWM4L LATFbits.LATF0
#define PWM4H LATFbits.LATF1
#define DIR_PWM4L TRISFbits.TRISF0
#define DIR_PWM4H TRISFbits.TRISF1

#define change_2Phase PORTDbits.RD1
#define DIR_change_2Phase TRISDbits.TRISD1
#define change_3Phase PORTDbits.RD2
#define DIR_change_3Phase TRISDbits.TRISD2
#define change_4Phase PORTDbits.RD3
#define DIR_change_4Phase TRISDbits.TRISD3
#define hall_W PORTBbits.RB6

#define INPUT 1
#define OUTPUT 0


//

//

_FOSC(CSW_FSCM_OFF & XT_PLL16); // XT with 4xPLL oscillator ,
Failsafe clock off
_FWDT(WDT_OFF); // Watchdog timer disabled
// _FBORPOR(PBOR_OFF & MCLR_EN & PWMxH_ACT_HI &
PWMxL_ACT_HI); //Brown-out reset disabled , MCLR reset enabled
HUTECH




_FBORPOR(PBOR_OFF & MCLR_EN & PWMxH_ACT_LO &
PWMxL_ACT_LO); //Brown-out reset disabled , MCLR reset enabled , PWM
Active Low
// _FBORPOR(PBOR_OFF & MCLR_EN);
_FGS(CODE_PROT_OFF); //Code protect disabled


void InitMCPWM(void); // Init PWM Module to drive the Inverter
void InitADC10(void); // A/D Init Subroutine to Read POT.
void InitCN(void); // Change Notification for Hall Effect Sensors

unsigned int HallValue; // Variable containing the Hall Value from

PORTB

unsigned int srm2Phase;
unsigned int srm3Phase;
unsigned int srm4Phase;

/*************************************************************

*************************************************************/

unsigned int CW2phaseTable[]= {
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,

};
unsigned int CCW3phaseTable[]= { //
0x0000,
0x0110,
0x0220,
0x0400,
0x0400,
0x0220,


};


unsigned int CW3phaseTable[]= {
HUTECH




0x0000,
0x0220,
0x0400,
0x0110,
0x0110,
0x0400,

};


unsigned int CCW4phaseTable[]= { //
0x0000,
0x0000,
0x0000,
0x0000,
0x0400,
0x0220,
0x0800,
0x0110,

};

unsigned int CW4phaseTable[]= {
0x0000,

0x0000,
0x0000,
0x0000,
0x0800,
0x0400,

};

/****************************************************************
*****************************************************************/

void __attribute__((__interrupt__)) _CNInterrupt (void)

{
IFS0bits.CNIF = 0; // clear flag
HallValue = PORTB & 0x0070; // mask RB6 & 5 & 4 (W V
U)
HallValue = HallValue >> 4; // shift right 4 times ¦

HUTECH




/* HallValue = PORTBbits.RB0;
//hall_W
HallValue = (HallValue << 1) + PORTBbits.RB5; //hall_WV
HallValue = (HallValue << 1) + PORTBbits.RB4; //hall_WVU
HallValue = HallValue & 0X0007;
IFS0bits.CNIF = 0; // clear flag */


//

if(srm2Phase == 1)
{
OVDCON = CW2phaseTable[HallValue]; //
}

//


if(srm3Phase == 1)
{
if(change_direction == 1)
{
OVDCON = CW3phaseTable[HallValue]; //

switch(HallValue)
{
case 7:
PWM4L = 1;
PWM4H = 1;
break;
case 6:
PWM4L = 1;
PWM4H = 1;
break;
case 5:
PWM4L = 0;
PWM4H = 1;

break;
case 4:
PWM4L = 1;
PWM4H = 1;
break;
case 3:
PWM4L = 1;
HUTECH




PWM4H = 1;
break;
case 2:
PWM4L = 0;
PWM4H = 1;
break;
case 1:
PWM4L = 1;
PWM4H = 1;
break;
case 0:
PWM4L = 1;
PWM4H = 1;
break;
}
}
else
{

OVDCON = CCW3phaseTable[HallValue];
//
//

switch(HallValue)
{
case 7:
PWM4L = 1;
PWM4H = 1;
break;
case 6:
PWM4L = 1;
PWM4H = 1;
break;
case 5:
PWM4L = 1;
PWM4H = 1;
break;
case 4:
PWM4L = 0;
PWM4H = 1;
break;
c
ase 3:
PWM4L = 0;
PWM4H = 1;
HUTECH





break;
case 2:
PWM4L = 1;
PWM4H = 1;
break;
case 1:
PWM4L = 1;
PWM4H = 1;
break;
case 0:
PWM4L = 1;
PWM4H = 1;
break;
}


}
}

// ¤
//
if(srm4Phase == 1)
{
if(change_direction == 1)
{
OVDCON = CW4phaseTable[HallValue];

switch(HallValue)
{

case 7:
PWM4L = 1;
PWM4H = 1;
break;
case 6:
PWM4L = 1;
PWM4H = 1;
break;
case 5:
PWM4L = 0;
PWM4H = 1;
break;
case 4:
PWM4L = 1;
HUTECH




PWM4H = 0;
break;
case 3:
PWM4L = 1;
PWM4H = 1;
break;
case 2:
PWM4L = 1;
PWM4H = 1;
break;
case 1:

PWM4L = 1;
PWM4H = 1;
break;
case 0:
PWM4L = 1;
PWM4H = 1;
break;
}
}
else
{
OVDCON = CCW4phaseTable[HallValue];
//
//

switch(HallValue)
{

case 5:
PWM4L = 1;
PWM4H = 1;
break;
case 4:
PWM4L = 0;
PWM4H = 1;
break;
case 3:
PWM4L = 1;
PWM4H = 1;
break;

c
ase 2:
PWM4L = 1;
HUTECH




PWM4H = 1;
break;
case 1:
PWM4L = 1;
PWM4H = 1;
break;
case 0:
PWM4L = 1;
PWM4H = 1;
break;
}


}
}

}

/*******************************************************************
**
*******************************************************************
**/


void __attribute__((__interrupt__)) _ADCInterrupt (void)
{
IFS0bits.ADIF = 0; // Clear Interrupt Flag
/* if (ADCBUF0<200)
{
PDC1 = 0 ; // get value PTPERvalue 920*2.
PDC2 = PDC1; // and load all three PWMs
PDC3 = PDC1; // duty cycles
}
else*/
PDC1 = (ADCBUF0*0.00097)*1850 ; // get value PTPERvalue
920*2.
PDC2 = PDC1; // and load all three PWMs
PDC3 = PDC1; // duty cycles
if(hall_W == 1);
IFS0bits.CNIF = 1;
if(hall_W == 0);
IFS0bits.CNIF = 1;


HUTECH




srm2Phase = 0;

if(change_3Phase == 0)
{

srm2Phase = 0;
srm3Phase = 1;
srm4Phase = 0;
}
else
srm3Phase = 0;

if(change_4Phase == 0)
{
srm2Phase = 0;
srm3Phase = 0;
srm4Phase = 1;
}
else
srm4Phase = 0;

// if(change_direction == 1)
// IFS0bits.CNIF = 1; //
// if(change_direction == 0)
// IFS0bits.CNIF = 1; //

}

/*******************************************************************
**
*******************************************************************
**/

int main(void)
{

// DIR_change_direction = INPUT;
DIR_RELAY_OPEN = OUTPUT;
RELAY_OPEN = 0;
InitCN(); // Init CN for Hall effect sensor inputs
InitMCPWM(); // Init PWM for 16 kHz operation
InitADC10();
DIR_PWM4L = OUTPUT ;
DIR_PWM4H = OUTPUT ;

HUTECH





while(1);

}

/*******************************************************************
*******************************************************************
**/

void InitADC10(void)
{
ADPCFG = 0xFFF7; // all PORTB = Digital ; AN3 = analog
ADCON1 = 0x0064; // PWM starts conversion
ADCON2 = 0x0000; // simulataneous sample 1 channels

ADCHS = 0x0003; // Connect RB3/AN3

//as CH0 = pot
// ch1 = Vbus, Ch2 = Motor, Ch3 = pot
ADCON3 = 0x0013; // Tad = 10Tcy Tad>=300ns
IFS0bits.ADIF = 0;
IEC0bits.ADIE = 1;
ADCON1bits.ADON = 1;// turn ADC ON



return;
}

/*******************************************************************
*
*******************************************************************
**/

void InitMCPWM(void)
{
// RED_button = 0x0083 ; //¿ù»~¤Þ¸}
PTPER = PTPERvalue ;
PWMCON1 = 0x0777; // disable PWMs
OVDCON = 0x0000; // allow control using OVD
PDC1 = 0; // init PWM 1, 2 and 3 to 0%(Duty_cycle)
PDC2 = 0;
PDC3 = 0;
SEVTCMP = 0x0000;
HUTECH







PWM4H = 1;
PWM4L = 1;
return;
}

*******************************************************************
**/

void InitCN(void)
{
CNEN1 = 0x00C0; // Enable CN2(RB0) , CN3(RB1), CN4(RB2)
IFS0bits.CNIF = 0; // clear CNIF
IEC0bits.CNIE = 1; // enable CN interrupt

LATBbits.LATB8 = 1; //
TRISBbits.TRISB8 = 0; //
return;
}

HUTECH
i

LI CAM OAN
Tôi xin cam đoan đây là công trình nghiên cu ca riêng tôi.Các s liu, kt
qu nêu trong Lun vn là trung thc và cha tng đc ai công b trong bt k
công trình nào khác.

Tôi xin cam đoan rng mi s giúp đ cho vic thc hin Lun vn này đã
đc cm n và các thông tin trích dn trong Lun vn đã đc ch rõ ngun gc.
Hc viên thc hin Lun vn
(Ký và ghi rõ h tên)


Lê Long H












HUTECH
ii

LI CÁM N
Trong quá trình thc hin đ tài Lun vn, em đc s giúp đ ca quý thy
cô B môn đã tham gia ging dy lp chuyên ngành thit b mng và nhà máy đin
và phòng qun lý khoa hc công ngh nghành thit b đin trng H k thut
công ngh thành ph H Chí Minh và đc bit là s hng dn tn tình ca TS.
Nguyn Mnh Hùng, ngi đã giúp đ hng dn tn tình và đnh hng đ tài đ
em
hoàn thành đc lun vn này. iu này đã giúp em hoàn thành đc lun vn

đúng tin đ và tip thu đc kin thc quý giá.


LÊ LONG H


















HUTECH
iii

TÓM TT

Máy đin t tr thay đi SRM là mt trong nhng loi máy đin t tr thay đi, không
có cun dây trên rotor, cng nh không s dng nam châm vnh cu. Vi nhiu u
đim nh: khi đng vi mô men cao, hiu sut làm vic rt cao, tn hao thp, và có

th vn hành c hai ch đ đng c và máy phát. Và đc bit, SRM là loi máy đin có
th điu khin tc đ mn m
àng da vào b điu khin vi x lý. Vì vy, lun vn s tìm
hiu, phân tích các loi máy đin SRM, nguyên lý hot đng, và thit k b điu khin
cho các loi SRM; bên cnh đó, thut gii điu khin nhm nâng cao mô men, cng
nh công sut phát ra khi SRM vn hành  ch đ máy phát cng đc phân tích và
thc hin t m trong lun vn. ng dng ca đ tài là Nghiên cu đ to ra b điu
khin tc đ máy
đin t tr thay đi(SRM: Switched Reluctance Machines) gim
thiu ti đa đ nhp nhô môment (torque ripple) dùng cho xe đp đin , xe ôtô đin.
















HUTECH
iv

ABSTRACT



Switched Reluctance Machines is one of the electric motor does not use brushes, no
windings on the rotor, as well as not using permanent magnets. With many advantages
such as high torque start with, high performance, low loss, and can operate both the
engine and generator. And in particular, SRM is the power to control smooth speed
controller based on microprocessor. Thus, the thesis will explore and analyze the power
of SRM, operating principles, and design of controllers for the SRM; besides, the
control algorithm to improve torque, as well as SRM power output when operating in
generator mode is also analyzed and meticulously done in the thesis. Application of
research topics is to create the speed controller Switched reluctance Machines (SRM:
Switched reluctance Machines) minimizes torque ripple (torque ripple) for bikes, cars
electric cars.












HUTECH
v

MC LC
LI CAM OAN i

LI CM N ii
TÓM TT iii
ABSTRACT iv
MC LC v
DANH T VIT TT viii
DANH MC CÁC BNG ix
DANH MC CÁC BIU ,  TH, S , HÌNH NH x
Mđu 1
Tng quan 2

Chng1: TNG QUAN V CÁC MÁY IN T TR THAY I SRM 3
1.1. Cu to máy đin t tr thay đi 4
1.1.1.Cu to 4
1.1.2. Nguyên tc hot đng 6
Chng2: TNG QUAN V B VI X LÝ DSPIC30F4011 8
2.1.Gii thiu chung v h vi điu khin dspic30f4011 9
2.2.c đim chung ca vi điu khin dsPic30F4011 9
2.2.1.Khi x lý trung tâm CPU 9
2.2.2.B chuyn đi tng t s ADC
10
2.2.3.Các cng vào ra I/O Port và các ngoi vi 10
2.2.4.B x lý tín hiu s 10
2.2.5.Mt s đc đim khác 10
2.3.Cu trúc ca vi điu khin dsPic30F4011 11
2.3.1.Khi x lý trung tâm CPU 11
2.3.2.Khi to đa ch AGU 15
2.3.2.1.Ch đ đa ch lnh 15
2.3.2.2.Ch đ đo bit đa ch 17
HUTECH
vi


2.3.3.T chc b nh và b nh chng trình 18
2.3.3.1.Không gian đa ch chng trình 18
2.3.3.2.Truy xut d liu t b nh chng trình s dng các lnh bng 19
2.3.3.3.Truy xut d liu 20
2.3.4.Các cng vào ra I/O Port 22
2.3.5.Ngt và c ch ngt 24
2.3.6.Các b đnh thi 26
2.3.7.B chuyn đi tng t s ADC 30
2.3.7.1.B đm kt qu bin đi A/D 30
2.3.7.2 Các bc thc hin bin đi A/D
30
2.3.7.2.1 Thit lp cu hình Module A/D 30
2.3.7.2.2.Cu hình cho ngt ADC nu cn 30
2.3.7.2.3.Bt đu ly mu 31
2.3.7.2.4.i đ thi gian cn thit đ hoàn thành 31
2.3.7.2.5.Kt thúc ly mu, bt đu bin đi 31
2.3.7.2.6.i bin đi kt thúc bi mt trong hai điu kin sau 31
Chng3: NGHIÊN CU VÀ CH TO B IU KHIN MÁY IN T TR
THAY I SRM
32
3.1.Gii thiu chung v máy đin DC 33
3.2. Vn hành đng c DC 35
3.3. Vn hành máy phát DC 37
3.4.Máy đin t tr thay đi 39
3.4.1. Khái quát 39
3.4.2. Vn hành máy đin t tr thay đi SRM 58
3.4.3. Nhng thông s ca máy đin DC, SRM và b điu khin 63
3.4.4. o đc thông s k thut ca máy đin DC 65
3.4.5. o đc thông s k thut ca đng c DC

66
3.4.6. o đc thông s k thut ca máy phát DC 69
Chng4: THI CÔNG VÀ CÁC KT QU O T 72
HUTECH
vii

4.1.Phn cng 73
4.1.1. Các khi ngun 74
4.1.2. Khi các b lc thông thp 75
4.1.3. Khi bin đi DAC 75
4.1.3.1. Hot đng ca DAC và tính cht ca nó 75
4.1.3.2. Các tham s ca b chuyn đi DA 76
4.1.3.3. B chuyn đi DA theo kiu thang đin tr R-2R (R-2R ladder)
77
4.2. Khi x lý trung tâm 78
4.3. Thut toán điu khin máy đin t tr thay đi SRM 80
4.4.o đc thông s k thut ca máy đin
87
4.4.1.Mi quan h gia dòng đin pha các góc kích, đng c SRM 87
4.4.2. Mi quan h gia dòng đin pha các góc kích, máy phát SRM 95
4.5. So sánh máy đin DC vi SRM 103
4.5.1.Vn hành ch đ đng c 103
4.5.2.Vn hành ch đ máy phát 106
4.5.3.Tóm tt kt qu thc nghim 109
Chng5: KT LUN VÀ HNG PHÁT TRIN  TÀI 110
TÀI LIU THAM KHO 112
HUTECH
viii

DANH MC CÁC T VIT TT

SRM : ng c t tr thay đi
PC :chng trình - Program Counter
KÐTT : Mch Khuch i thut toán
CCKT: Cùng chiu kim đng h
NCKH: Ngc chiu kim đng h
FLTA: Lu đ thut gii điu khin góc
HUTECH
ix


DANH MC CÁC BNG
Bng 2.1 : Các ch đ đnh đa ch c bn đc h tr 15
Bng 2.2 : Bng vector ngt ca dsPIC30F3012 25
Bng 3.1: Trng thái các mostfet, trng hp 1 36
Bng 3.2: Trng thái các mostfet, trng hp 2 36
Bng 3.3: Trng thái Mosfet ,trng hp 1 38
Bng 3.4: Trng thái Mosfet trng hp 2 38
Bng 3.5: Trng thái đóng m ca mostfet điu khin đng c SRM, nckđh 52
Bng 3.6: Trng thái đóng m ca mostfet điu khin đng c SRM, cckđh
55
Bng 3.7: Thông s máy đin DC 64
Bng 3.8: Thông s máy đin SRM 4 phase 8/6 65
Bng 4.1: Kt qu thc nghim trên máy đin DCvà SRM 109

HUTECH
x

DANH MC CÁC BIU ,  TH, S , HÌNH NH
Hình1.1: Cu to đng c t tr thay đi 4 pha 4
Hình1.2.a, b: Cu to đng c t tr thay đi 6/4 cc, 8/6 cc, 10/8 cc 5

Hình1.2.c: Stator và rotor ca đng c t tr thay đi 6
Hình1.3: V trí thng hàng và không thng hàng ca Roto so vi Stator 6
Hình1.4: Hình thuyt minh nguyên lý hot đng c bn 6
Hình2.1: S đ khi DsPic30F4011 13
Hình2.2: Các thanh ghi ca khi x lý trung tâm 14
Hình2.3: Mt ví d v đo bit đa ch 17
Hình2.4: Bn đ không gian b nh chng trình
18
Hình2.5: Truy cp d liu t không gian chng trình 21
Hình2.6: Ánh x không gian d liu vào không gian chng trình 22
Hình2.7: Các cng I/O ca dsPic30F4011 23
Hình 2.8: S đ khi ca mt cng I/O dùng chung vi ngoi vi khác 24
Hình2.9: Các vector by li24 26
Hình2.10: S đ khi Timer 1 và Timer 2 28
Hình2.11: S đ khi Timer 3 29
Hình2.12: S đ khi Timer 2/3 - 32bit 29
Hình2.13: S đ khi c bn ca ADC 10-bit 31
Hình3.1: Thành phn chính ca máy đin DC 33
Hình3.2: S đ mch điu khin đng c DC
35
Hình3.3: (a) Chiu dòng đin phase khi Q1tác dng cnh lên, (b)Chiu dòng đin
phase khi Q1tác dng cnh xung 35
Hình3.4: (a) Chiu dòng đin phase khi Q2 tác dng cnh lên, (b) Chiu dòng đin
phase khi Q2tác dng cnh xung 36
Hình3.5: S đ mch điu khin máy phát DC 37
Hình3.6: (a) Chiu dòng đin phase khi Q2 tác dng cnh lên (b) Chiu dòng đin
phase khi Q2 tác dng cnh xung 37
HUTECH
xi


Hình3.7: (a) Chiu dòng đin phase khi Q1 tác dng cnh lên (b) Chiu dòng đin
phase khi Q1 tác dng cnh xung 38
Hình3.8: Thành phn chính ca máy đin SRM đc s dng trong lun 39
Hình3.9: Quan h gia đin cm, moment và v trí ca rotor, dòng đin pha không
đi 40
Hình3.10: S đ ni dây gia stator và b điu khin 41
Hình 3.11: S đ mch tng đng cho 1 pha SRM 44
Hình3.12: in cm L, tín hiu các cm bin hall (H1, H
2),xung PWM tng pha
49
Hình 3.13: S đ mch điu khin, vn hành đng c SRM (Q1: PWM, Q2: ON)-
chuyn mch cho motor hot đng  ch đ [11] (a) Mch điu khin tnh , (b)
Chiu dòng đin pha khi Q1tác dng cnh lên thì dòng đin chy qua phn ng theo
hình b, (c) Chiu dòng đin pha khi Q1tác dng cnh xung xut hin dòng chuyn
mch xoay t do theo hình c, (d) Chiu dòng đin pha khi Q1 và Q2  trng thái

OFF 50
Hình 3.14: in cm tng pha, xung PWM tng pha, tín hiu cm bin hall (H1,
H2) và tín hiu chuyn mch tun t cho motor quay ngc chiu kim đng h 51
Hình3.15: Th t kích mostfet, ngc chiu kim đng h 53
Hình 3.16: in cm L, tín hiu các cm bin hall (H1, H2), xung PWM tng pha,
đng c hot đng cckđh 54
Hình3.17: Th t cp ngun cho các pha, cckđh 56
Hình3.18: Dòng đin phase, đin cm, t thông móc vòng, PWM
57
Hình3.19: in cm, tín hiu cm bin hall, PWM khi vn hành  ch đ máy 58
Hình3.20: in cm, PWM, t thông móc vòng và dòng đin phase[14] 59
Hình3.21: S đ mch điu khin, vn hành máy phát SRM (Q1: PWM, Q2: ON)-
chuyn mch cho motor hot đng  ch đ [11] (a) Mch điu khin chuyn mch
tnh, (b) Chiu dòng đin phase khi Q1 tác dng cnh lên, (c) Chiu dòng đin

phase khi Q1tác dng cnh xung, (d) Chiu dòng đin phase khi
Q1 và Q2  trng
thái OFF 60

×