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

NGHIÊN cứu NGHỊCH lưu hòa lưới điện mặt TRỜI CÔNG SUẤT NHỎ hơn 500w

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 (7.07 MB, 111 trang )

BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG
ĐỀ TÀI:

NGHIÊN CỨU NGHỊCH LƯU HÒA LƯỚI
ĐIỆN MẶT TRỜI CÔNG SUẤT NHỎ HƠN 500W

GVHD: TS. QUÁCH THANH HẢI
SVTH: Lê Cao Ngọc Phúc
16341019
Bùi Thành Đạt
16341008

Tp. Hồ Chí Minh - 1/2018


BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------

ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG
ĐỀ TÀI:



NGHIÊN CỨU NGHỊCH LƯU HÒA LƯỚI
ĐIỆN MẶT TRỜI CÔNG SUẤT NHỎ HƠN 500W

GVHD: TS. QUÁCH THANH HẢI
SVTH: Lê Cao Ngọc Phúc
16341019
Bùi Thành Đạt
16341008

Tp. Hồ Chí Minh - 1/2018
i


TRƯỜNG ĐH.SƯ PHẠM KỸ THUẬT TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Tp.HCM, ngày 15 tháng 1 năm 2018

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên:
Chuyên ngành:
Hệ đào tạo:
Khóa:

Lê Cao Ngọc Phúc
Bùi Thành Đạt
Kỹ thuật Điện - Điện tử
Đại học chính quy

2016

MSSV:16341019
MSSV:16341008
Mã ngành: 41
Mã hệ:
3
Lớp:
163410A

I. TÊN ĐỀ TÀI: “NGHIÊN CỨU NGHỊCH LƯU HÒA LƯỚI ĐIỆN MẶT TRỜI
CÔNG SUẤT NHỎ HƠN 500W”.
II. NHIỆM VỤ
1. Các số liệu ban đầu:
Các tài liệu và thông số cần thiết về bộ nghịch lưu, điều chế PWM, mạch DC-DC
và nguyên lý đồng bộ lưới điện…
2. Nội dung thực hiện:
Nội dung 1: Phân tích Bộ nghịch lưu 1 pha PWM sử dụng bán dẫn công suất
Nội dung 2: Nghiên cứu bộ biến đổi điện áp một chiều.
Nội dung 3: Thiết kế mạch nghịch lưu 1 pha.
Nội dung 4: Thiết kế bộ tăng áp DC/DC.
Nội dung 5: Lập trình điều khiển.
Nội dung 6: Chạy thử nghiệm, đánh giá kết quả và khắc phục sự cố.
III. NGÀY GIAO NHIỆM VỤ:

10/10/2017

IV. NGÀY HOÀN THÀNH NHIỆM VỤ:

15/1/2018


V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN:

TS. QUÁCH THANH HẢI

CÁN BỘ HƯỚNG DẪN

BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

ii


TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH
Tp.HCM, ngày 15 tháng 1 năm 2018

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Bùi Thành Đạt
Lớp:
163410A
MSSV: 16341008
Họ tên sinh viên 2: Lê Cao Ngọc Phúc
Lớp:
163410A
MSSV: 16341019
Tên đề tài: Nghiên Cứu Nghịch Lưu Hòa Lưới Điện Mặt Trời Công Suất Nhỏ Hơn
500W.
Tuần/ngày

1, 2 & 3

Xác nhận
GVHD

Nội dung
Tìm và đọc hiểu các tài liệu liên quan:
Tài liệu điện tử công suất (linh kiện bán dẫn,
nguyên lí mạch boots điện áp, nghịch lưu 1 pha)

4, 5 & 6

Mô phỏng mạch boots điện áp đơn giản.
Tìm hiểu tạo xung PWM.

7 &8

Thiết kế sơ đồ nguyên lí mạch boots DC-DC.
Thiết kế sơ đồ nguyên lí nghịch lưu cầu 1 pha.
Lập trình mô phỏng.

9 & 10

Thiết kế sơ đồ nguyên lí cho các khối cần thiết
(mạch nguồn ±15VDC, hồi tiếp…)
Tìm hiểu mạch kích và cách ly.
Thi công board mạch, kết nối linh kiện và các
khối lại với nhau.
Tìm hiểu Card điều khiển DSP TMS320F28335.


10 & 11

12 & 13

Chạy thử nghiệm hệ thống.
Kiểm tra sai sót.
Viết báo cáo.

14 & 15

Chạy hệ thống lấy kết quả thực nghiệm.
Viết báo cáo.
Bảo vệ đồ án

GV HƯỚNG DẪN
(Ký và ghi rõ họ l Engineering & Technology (IJEET), Volume 6, Sep-Oct, 2015,
pp.63-76.
[8] Trần Thu Hà, “Giáo trình Điện tử cơ bản”, Đại học Sư Phạm Kỹ Thuật TP.HCM
2013.
Website tham khảo:
[9] Trang chủ cung cấp thông số về Card DSP TMS320F28335:
/>[10] Trang chủ cung cấp thông số của pin mặt trời:
/>
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

89


PHỤ LỤC


PHỤ LỤC
Code chương trình của Card DSP TMS320F28335:
/*********************************************************************
************
// This code is created by SimCoder Version 9.1 for TI F28335 Hardware Target
//
// SimCoder is copyright by Powersim Inc., 2009-2011
//
// Date: January 10, 2018 09:29:24
*********************************************************************
*************/
#include
<math.h>
#include
"PS_bios.h"
typedef float DefaultType;
#define
GetCurTime() PS_GetSysTimer()
interrupt void Task();
interrupt void Task_1();
interrupt void Task_2();
DefaultType fGblSCOPE3_A = 0.0;
DefaultType fGblV8 = 0.0;
DefaultType fGblSSCB12 = 0.0;
DefaultType fGblSCOPE122_A = 0.0;
DefaultType fGblUDELAY1 = 0;
DefaultType fGblUDELAY2 = 0;
DefaultType fGblUDELAY3 = 0;
DefaultType fGblUDELAY4 = 0;
DefaultType fGblUDELAY6 = 0;

DefaultType fGblUDELAY7 = 0;
DefaultType fGblUDELAY8 = 0;
DefaultType fGblFCNM1 = 0.0;
DefaultType fGblSCOPE5_A = 0.0;
DefaultType fGblSCOPE7_A = 0.0;
DefaultType fGblSCOPE6_A = 0.0;
DefaultType fGblFCNM4 = 0.0;
typedef struct {
unsigned long tmLow;
unsigned long tmHigh;
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

90


PHỤ LỤC

}

_CBigTime;

_CBigTime GetBigTime(void)
{
static _CBigTime tm = {0,0};
unsigned long curTime = GetCurTime();
if (curTime < tm.tmLow)
tm.tmHigh++;
tm.tmLow = curTime;
return tm;
}


interrupt void Task()
{
DefaultType fTI_ADC1, fZOH1, fTI_ADC1_1, fZOH2, fTI_ADC1_2, fZOH3,
fVSAW2, fSSCB1, fSSCB1_1;
DefaultType fSSCB1_2, fSSCB1_4, fSSCB1_3, fSSCB122, fSSCB122_1,
fSSCB122_2, fSSCB122_3;
DefaultType fSSCB122_4, fUDELAY1, fUDELAY2, fUDELAY3,
fUDELAY4, fUDELAY6, fUDELAY7, fUDELAY8;
DefaultType fFCNM3, fCOMP1;
PS_EnableIntr();
fUDELAY1 = fGblUDELAY1;
fUDELAY2 = fGblUDELAY2;
fUDELAY3 = fGblUDELAY3;
fUDELAY4 = fGblUDELAY4;
fUDELAY6 = fGblUDELAY6;
fUDELAY7 = fGblUDELAY7;
fUDELAY8 = fGblUDELAY8;

fTI_ADC1 = PS_GetDcAdc(0);
fTI_ADC1_1 = PS_GetDcAdc(1);
fTI_ADC1_2 = PS_GetDcAdc(2);
fZOH1 = fTI_ADC1;
fZOH2 = fTI_ADC1_1;
fZOH3 = fTI_ADC1_2;
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

91



PHỤ LỤC

{
static unsigned long period = (unsigned long)(150000000L / 50);
static float fPeriod = ((float)50) / 150000000L;
static _CBigTime tmCarrierStart = {0, 0};
_CBigTime tm = GetBigTime();
unsigned long tmp1, tmp2;
tmp1 = tm.tmLow - tmCarrierStart.tmLow;
tmp2 = tm.tmHigh - tmCarrierStart.tmHigh;
if (tm.tmLow > tmCarrierStart.tmLow)
tmp2++;
if (tmp2 || (!tmp2 && (tmp1 >= period))) {
tmp1 = tmCarrierStart.tmLow + period;
if ((tmp1 < tmCarrierStart.tmLow) || (tmp1 < period))
tmCarrierStart.tmHigh++;
tmCarrierStart.tmLow = tmp1;
}
tmp1 = tm.tmLow - tmCarrierStart.tmLow;
fVSAW2 = 100 * tmp1 * fPeriod;
}
{
double u1, u2, u3, temp, c, delayt, uref, gocY;
u1=fZOH3-2.01;
u2=fUDELAY4;
u3=fUDELAY3;
delayt=fUDELAY2;
if (fUDELAY2<1)
{
delayt=0*(fVSAW2<5)+10*(fVSAW2>=5);

}
if (delayt>0)
{
if (u2!=0)

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

92


PHỤ LỤC

{
temp=(u1+u3)/(2*u2);
}
if (temp<=1)
{
gocY=acos(temp);
c=(10000/(3.14*2))*gocY;
uref=u1/sin(gocY);
}
}
fSSCB1=u1;
fSSCB1_1=u2;
fSSCB1_2=u3;
fSSCB1_4=delayt;
fSSCB1_3=c;

}
#ifdef _DEBUG

fGblSCOPE3_A = fSSCB1;
#endif
{
double ck, a, status, d, c, b, anpha, goctang, status0;
double pi2=6.2832;
a=fSSCB1*413.33;
c=fUDELAY6;
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

93


PHỤ LỤC

ck=200;
if (fSSCB1_3>0)
{
ck=(10000/fSSCB1_3);
}
goctang=(360/(ck));//*(ck>0)+1.8*(ck==-2);
status0=fUDELAY7;
status=1*(a>=0)+0*(a<0);
if ((status>0)*(status0<1))
{
c=-1;
}

anpha=c+1;
if ((status>0)*((c+5)*goctang>360))
{

anpha=0;
}
b=fUDELAY8;
if ((anpha*goctang<271)*(anpha*goctang>269))
{
b=-a/1.4142;
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

94


PHỤ LỤC

}
anpha=anpha;
d=pi2*((anpha)*goctang)/360;
fSSCB122=0.866*sin(d)+1;
fSSCB122_1=anpha;
fSSCB122_2=b;
fSSCB122_3=status;
fSSCB122_4=b;

}
#ifdef _DEBUG
fGblV8 = fSSCB122;
#endif
{
double Upindo,Vtaido, udk, ei, ev, Vtairef, Vpin;
Upindo=fZOH1*100;
Vtairef=fSSCB122_2;

Vpin=36.88;
Vtaido=fZOH2*400;
ev=Vtaido-Vtairef;
udk=fUDELAY1;
ei=Upindo-Vpin-1;
udk=udk+0.00001*ei-0.000001*ei*(ev>0)-0.00001*ev/100;
udk=0.1*(udk<0.1)+0.8*(udk>0.8)+udk*(udk<=0.8)*(udk>=0.1);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

95


PHỤ LỤC

fGblSSCB12=udk;

}
#ifdef _DEBUG
fGblSCOPE122_A = fGblSSCB12;
#endif
fGblUDELAY1 = fGblSSCB12;
fGblUDELAY2 = fSSCB1_4;
fGblUDELAY3 = fSSCB1_1;
fGblUDELAY4 = fSSCB1;
fGblUDELAY6 = fSSCB122_1;
fGblUDELAY7 = fSSCB122_3;
fGblUDELAY8 = fSSCB122_4;
fGblFCNM1 = 1-fSSCB1*1.1;
fFCNM3 = fSSCB1;
#ifdef _DEBUG

fGblSCOPE5_A = fFCNM3;
#endif
fCOMP1 = (fFCNM3 > 0) ? 1 : 0;
#ifdef _DEBUG
fGblSCOPE7_A = fCOMP1;
#endif
#ifdef _DEBUG
fGblSCOPE6_A = fGblFCNM1;
#endif
fGblFCNM4 = 1+fSSCB1*1.1;
(fCOMP1 == 0) ? PS_ClearDigitOutBitB((Uint32)1 << (33 - 32)) :
PS_SetDigitOutBitB((Uint32)1 << (33 - 32));
PS_ExitTimer1Intr();
}
interrupt void Task_1()
{
PS_EnableIntr();
PS_SetPwm2Rate(fGblSSCB12);
PS_ExitPwm2General();
}
interrupt void Task_2()
{
PS_EnableIntr();
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

96


PHỤ LỤC


PS_SetPwm3Rate(fGblFCNM1);
PS_SetPwm4Rate(fGblFCNM4);
PS_ExitPwm3General();
}

void Initialize(void)
{
PS_SysInit(30, 10);
PS_StartStopPwmClock(0);
PS_InitTimer(0, 0xffffffff);
PS_InitPwm(2, 1, 5000*1, (0e-6)*1e6, PWM_TWO_OUT, 2827);
waveType, frequency, deadtime, outtype
PS_SetPwmPeakOffset(2, 1, 0, 1.0/1);
PS_SetPwmIntrType(2, ePwmNoAdc, 1, 0);
PS_SetPwmVector(2, ePwmNoAdc, Task_1);
PS_SetPwm2Rate(0);
PS_StartPwm(2);

// pwnNo,

PS_InitPwm(3, 1, 3000*1, (4e-6)*1e6, PWM_TWO_OUT, 7683);
waveType, frequency, deadtime, outtype
PS_SetPwmPeakOffset(3, 1, 0, 1.0/1);
PS_SetPwmIntrType(3, ePwmNoAdc, 1, 0);
PS_SetPwmVector(3, ePwmNoAdc, Task_2);
PS_SetPwm3Rate(0);
PS_StartPwm(3);

// pwnNo,


PS_InitPwm(4, 1, 3000*1, (4e-6)*1e6, PWM_TWO_OUT, 7683);
waveType, frequency, deadtime, outtype
PS_SetPwmPeakOffset(4, 1, 0, 1.0/1);
PS_SetPwmIntrType(4, ePwmNoAdc, 1, 0);
PS_SetPwm4Rate(0);
PS_StartPwm(4);

// pwnNo,

PS_ResetAdcConvSeq();
PS_SetAdcConvSeq(eAdcCascade, 0, 1);
PS_SetAdcConvSeq(eAdcCascade, 1, 1);
PS_SetAdcConvSeq(eAdcCascade, 2, 1.0);
PS_AdcInit(0, !0);
PS_InitDigitOut(33);
PS_InitTimer(1,100);
PS_SetTimerIntrVector(1, Task);
PS_StartStopPwmClock(1);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

97


PHỤ LỤC

}
void main()
{
Initialize();
PS_EnableIntr(); // Enable Global interrupt INTM

PS_EnableDbgm();
for (;;) {
}
}

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

98



×