Thông tin tài liệu
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ PHAN THANH NHI TỐI ƯU CÔNG SUẤT HỆ THỐNG PIN MẶT TRỜI NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 S K C0 7 Tp Hồ Chí Minh, tháng 10/2012 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ PHAN THANH NHI TỐI ƯU CÔNG SUẤT HỆ THỐNG PIN MẶT TRỜI NGÀNH: KỸ THUẬT ĐIỆN TỬ MÃ NGÀNH: 605270 Tp Hồ Chí Minh, tháng 10/2012 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ PHAN THANH NHI TỐI ƯU CÔNG SUẤT HỆ THỐNG PIN MẶT TRỜI NGÀNH: KỸ THUẬT ĐIỆN TỬ MÃ NGÀNH: 605270 Hướng dẫn khoa học:TS NGUYỄN THANH PHƯƠNG Tp Hồ Chí Minh, tháng 10/2012 LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƯỢC Họ & tên: Phan Thanh Nhi; Giới tính: Nam Ngày, tháng, năm sinh: 1979; Nơi sinh: Tiền Giang Quê quán: Tiền Giang; Dân tộc: Kinh Chức vụ, đơn vị công tác trước học tập, nghiên cứu: Giảng viên, Trường Cao Đẳng Nghề Tiền Giang, Tiền Giang Chỗ riêng địa liên lạc: 227 Phan Thanh Giản, Phường 2, Thành phố Mỹ Tho, Tiền Giang Điện thoại quan: 0733.851.588; Điện thoại nhà riêng: 0972.736.246 Fax: E-mail: thanhnhicdn@gmail.com II QUÁ TRÌNH ĐÀO TẠO Cao đẳng: Hệ đào tạo: Chính quy; Thời gian đào tạo từ 10/1998 đến 03/2001 Nơi học (trường, thành phố): Đại học Sư phạm Kỹ thuật Tp.HCM Ngành học: Kỹ thuật điện - điện tử Tên đồ án, luận án môn thi tốt nghiệp: Thi tốt nghiệp Đại học: Hệ đào tạo: Chính quy; Thời gian đào tạo từ 08/2006 đến 08/2008 Nơi học (trường, thành phố): Đại học Cơng Nghệ Sài Gịn Ngành học: Kỹ thuật điện - điện tử Tên đồ án, luận án môn thi tốt nghiệp: Thiết kế thi cơng mơ hình bãi đậu xe Ngày & nơi bảo vệ đồ án, luận án thi tốt nghiệp: 07/2008 Đại học Cơng Nghệ Sài Gịn Người hướng dẫn: Th.s Trần Quang Đạo Thạc sĩ: i Hệ đào tạo: Chính quy; Thời gian đào tạo từ 03/2010 đến 03/2012 Nơi học (trường, thành phố): Đại học Sư phạm Kỹ thuật Tp.HCM Ngành học: Kỹ thuật điện tử Tên luận văn: Tối ưu công suất hệ thống pin mặt trời Ngày & nơi bảo vệ luận văn: Tháng 10 năm 2012 Đại học Sư phạm Kỹ thuật Tp.HCM Người hướng dẫn: TS Nguyễn Thanh Phương Trình độ ngoại ngữ : Tiếng Anh-mức độ:B Học vị, học hàm, chức vụ kỹ thuật thức cấp; số bằng, ngày & nơi cấp: Bằng Kỹ sư Điện tử, cấp Trường Đại Học Cơng Nghệ Sài Gịn III Q TRÌNH CƠNG TÁC CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC Thời gian 03/08 – Nơi công tác Công việc đảm nhiệm Trường Cao Đẳng Nghề Tiền Giảng viên, Khoa Điện-Điện Giang tử ii CHÂN THÀNH CẢM TẠ Tác giả xin gửi lời tri ân chân thành đến: - Ban Giám Hiệu, Khoa Điện – Điện tử, Phòng ban liên quan thuộc Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh tạo điều kiện học tập nghiên cứu tốt cho toàn thể Học viên - Toàn thể Cán giảng dạy truyền đạt kiến thức trang bị cho Học viên nhiều kỹ làm việc quý giá - Ban Giám Hiệu, Khoa Điện-Điện tử Trường Cao Đẳng Nghề Tiền Giang tạo điều kiện tốt giúp thân hồn thành khóa học - Tiến sĩ Nguyễn Thanh Phương – nguyên Trưởng khoa Cơ - Điện - Điện tử Trường Đại học Kỹ Thuật Cơng Nghệ Thành phố Hồ Chí Minh tận tâm trình truyền đạt hướng dẫn sâu rộng nhiệt tình, đầy trách nhiệm suốt thời gian thực thi Luận văn tốt nghiệp - Tất người thân yêu Gia đình, thân hữu gần xa động viên tinh thần, giúp đỡ mặt suốt hai năm học tập nghiên cứu - Tất bạn Học viên khóa có nhiều ý kiến đóng góp lúc, kịp thời giúp Luận văn hoàn thành Trân trọng Thành phố Hồ Chí Minh, tháng 10/2012 Học viên thực Phan Thanh Nhi iii LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày …tháng … năm 2012 ( Ký tên ghi rõ họ tên ) Phan Thanh Nhi iv MỤC LỤC Trang tựa Trang Quyết định giao đề tài Lý lịch khoa học i Lời cảm tạ iii Lời cam đoan iv Tóm tắt v Abstract vi Mục lục vii Danh sách hình xi Danh sách bảng xvi CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Các thuật toán 1.2.1 Phương pháp P&O 1.2.2 Phương pháp INCond : 1.3 Cách tiếp cận phương pháp nghiên cứu: 1.4 Nhiệm vụ giới hạn đề tài vii 1.4.1.Nhiệm vụ đề tài 1.4.2.Giới hạn đề tài 1.5.Dự kiến kết đạt CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1.Tình hình lượng mặt trời: 2.1.1.Tình hình chung: 2.1.2 Ứng dụng lượng mặt trời Việt nam: 2.2.Năng lượng mặt trời : 10 2.2.1 Phổ Của Mặt Trời : 10 2.2.2 Định nghĩa tỷ số AM : 13 2.2.3 Hiệu suất vật liệu quang điện: 14 2.3.Pin quang điện PV: 15 2.3.1 Sơ đồ mạch đơn giản pin PV: 16 2.3.2 Sơ đồ mạch PV có tính đến tổn hao: 17 2.3.3 Array PV ảnh hưởng tác động: 19 2.4 Điểm làm việc có cơng suất cực đại (MPP) điều khiển MPPT 24 2.4.1 Điểm làm việc có cơng suất cực đại (MPP) 24 2.4.2 Các thuật tốn dị tìm điểm cơng suất cực đại (MPPT) 26 2.4.2.1 Thuật toán quan sát nhiễu loạn P&O 26 2.4.2.2 Thuật toán độ dẫn (Incremental Conductance): 29 viii CHƯƠNG THIẾT KẾ HỆ THỐNG XOAY THEO HƯỚNG MẶT TRỜI 3.1.Giới thiệu sơ đồ khối 31 3.2 Hệ thống khí 32 3.3 Hệ solar tracking 34 3.3.1 Thiết kế cảm biến ánh sáng 34 3.3.2 Điều khiển động 36 3.3.3 Mạch điều khiển trung tâm 37 3.4 Giải thuật chương trình điều khiển 38 3.4.1 Giải thuật chương trình 39 3.4.2 Chương trình điều khiển 39 CHƯƠNG SỬ DỤNG LOGIC MỜ ĐIỀU KHIỂN TỐI ƯU CƠNG SUẤT 4.1 Thuật tốn logic mờ 40 4.1.1 Phương pháp điều khiển 40 4.1.2 Giải thuật: 41 4.1.3 Biến mờ…………………………………… 42 4.3 Qui tắc điều khiển mờ…………………… 46 4.4 4.1.5 Giải mờ……………………………… 49 4.2 Mơ hình hóa kết mơ thành phần hệ thống: 50 4.2.1 Pin qunag điện:……………… 50 ix lcd_putsf("OK next OK"); l1=1; delay_ms(500) ; while(l1) { if (NO==0) {while(!NO);mode=0;l1=0;l2=0;} if (YES==0){while(!YES);mode=1;l1=0;l2=0;} if (ME==0){while(!ME);l1=0; l2=1;} } if (l2==1) { lcd_gotoxy(0,0); lcd_putsf("4h-5h "); lcd_gotoxy(0,1); lcd_putsf("EXIT next OK"); delay_ms(500) ; gio=4; ap=read_adc(1); //ap la adc-1 gio=4-17 while(l2) {ap=read_adc(1); lcd_gotoxy(7,0); sprintf(buff,"%d",alpha[gio]); lcd_puts(buff); lcd_putsf(" "); lcd_gotoxy(12,0); sprintf(buff,"%d",ap); lcd_puts(buff); lcd_putsf(" "); if (NO==0) {while(!NO);l2=0;} if (YES==0){while(!YES);save_T(); lcd_gotoxy(6,0);lcd_putsf("SAVED!");} if (ME==0) {while(!ME);gio=gio+1; if (gio>17){gio=4;}lcd_gotoxy(0,0); sprintf(buff,"%d",gio); lcd_puts(buff);lcd_putsf("h-");sprintf(buff,"%d",gio+1); lcd_puts(buff); lcd_putsf("h "); lcd_putsf(" ");delay_ms(300);} } } } } void doi_goc(unsigned x) { if (LIMIT>200) {goc=LIMIT/7.1;} if (LIMIT>330) {goc=LIMIT/6.6;} if (LIMIT>340) {goc=LIMIT/6.2;} if (LIMIT>350) {goc=LIMIT/5.83;} if (LIMIT>360) {goc=LIMIT/5.14;} if (LIMIT>380) {goc=LIMIT/4.75;} if (LIMIT>415) {goc=LIMIT/4.70;} //90 if (LIMIT>460) {goc=LIMIT/4.65;} if (LIMIT>480) {goc=LIMIT/4.5;} //4.8 if (LIMIT>500) {goc=LIMIT/4.4;} if (LIMIT>520) {goc=LIMIT/4.35;} if (LIMIT>535) {goc=LIMIT/4.3;} if (LIMIT>550) {goc=LIMIT/4.2;} if (LIMIT>560) {goc=LIMIT/4.15;} } // Timer overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here PORTB.3=!PORTB.3; i=i+1; scan_key(); if (mode==0) { if (i>500) { m=m+1; //4-R4 5-R3 6-R2 7-R1 if (m==8) {m=4;} read_adc(m); //doc gia tri ADC tren kenh toi R[m]=ADCW; //gan gia tri ADC ghi ADCW vao Rm (m thay doi tu 47) if (m==7) {n=0;} if (m==6) {n=4;} if (m==5) {n=8;} if (m==4) {n=12;} lcd_gotoxy(0,0); lcd_putsf(" S1 S2 S3 S4 "); read_adc(1); LIMIT=ADCW; doi_goc(LIMIT); lcd_gotoxy(4,0); sprintf(buff,"%d",goc); lcd_puts(buff); lcd_putsf(" "); read_adc(2); MN=ADCW; read_adc(3); SEN=ADCW/2.5; lcd_gotoxy(8,0); sprintf(buff,"%d",SEN); lcd_puts(buff); lcd_putsf(" "); lcd_gotoxy(n,1); sprintf(buff,"%d",R[m]); lcd_puts(buff); lcd_putsf(" "); i=0; s1=0;s2=0;s3=0;s4=0; //left right if (R[7]>R[5]) { if (R[7]>(R[5]+SEN)) } //left right if (R[5]>R[7]) { {s1=1;} if (R[5]>(R[7]+SEN)) {s3=1;} } // UP DOWN if (R[6]>R[4]) { if (R[6]>(R[4]+SEN)) {s2=1;} } if (R[4]>R[6]) { if (R[4]>(R[6]+SEN)) } } } if (mode==1) { if (i>10000) { rtc_get_time(&h,&p,&s); lcd_gotoxy(0,0); lcd_putsf("TIME: "); // delay_ms(1); lcd_putchar(0x30+h/10); lcd_putchar(0x30+h%10); // delay_ms(1); lcd_putsf(":"); lcd_putchar(0x30+p/10); lcd_putchar(0x30+p%10); // delay_ms(1); lcd_putsf(":"); lcd_putchar(0x30+s/10); {s4=1;} lcd_putchar(0x30+s%10); lcd_putsf(" "); lcd_putsf(" "); // delay_ms(1) ; rtc_get_date(&nA,&t,&y); lcd_gotoxy(0,1); lcd_putsf("DATE: "); // delay_ms(1) ; lcd_putchar(0x30+nA/10); lcd_putchar(0x30+nA%10); // delay_ms(1) ; lcd_putsf(":"); lcd_putchar(0x30+t/10); lcd_putchar(0x30+t%10); // delay_ms(1) ; lcd_putsf(":20"); lcd_putchar(0x30+y/10); lcd_putchar(0x30+y%10); i=0; read_adc(1); LIMIT=ADCW; doi_goc(LIMIT); read_adc(2); MN=ADCW; } } } void up() { switch (x) { case 0: M1=1;M2=0;M3=0;M4=0; x=1; delay_ms(10); break; case 1: M1=1;M2=1;M3=0;M4=0; x=2; delay_ms(10); break; case 2: M1=0;M2=1;M3=0;M4=0; x=3; delay_ms(10); break; case 3: M1=0;M2=1;M3=1;M4=0; x=4; delay_ms(10); break; case 4: M1=0;M2=0;M3=1;M4=0; x=5; delay_ms(10); break; case 5: M1=0;M2=0;M3=1;M4=1; x=6; delay_ms(10); break; case 6: M1=0;M2=0;M3=0;M4=1; x=7; delay_ms(10); break; case 7: M1=1;M2=0;M3=0;M4=1; x=0; delay_ms(10); break;} } void down() { switch (x) { case 0: M1=0;M2=0;M3=0;M4=1; x=7; delay_ms(10); break; case 7: M1=0;M2=0;M3=1;M4=1; x=6; delay_ms(10); break; case 6: M1=0;M2=0;M3=1;M4=0; x=5; delay_ms(10); break; case 5: M1=0;M2=1;M3=1;M4=0; x=4; delay_ms(10); break; case 4: M1=0;M2=1;M3=0;M4=0; x=3; delay_ms(10); break; case 3: M1=1;M2=1;M3=0;M4=0; x=2; delay_ms(10); break; case 2: M1=1;M2=0;M3=0;M4=0; x=1; delay_ms(10); break; case 1: M1=1;M2=0;M3=0;M4=1; x=0; delay_ms(10); break;} } void right() { switch (u) { case 0: MA=1;MB=0;MC=0;MD=0; u=1; delay_ms(20); break; case 1: MA=1;MB=1;MC=0;MD=0; u=2; delay_ms(20); case 2: break; MA=0;MB=1;MC=0;MD=0; u=3; delay_ms(20); break; case 3: MA=0;MB=1;MC=1;MD=0;u=4; delay_ms(20); break; case 4: MA=0;MB=0;MC=1;MD=0;u=5; delay_ms(20); break; case 5: MA=0;MB=0;MC=1;MD=1;u=6; delay_ms(20); break; case 6: MA=0;MB=0;MC=0;MD=1; u=7; delay_ms(20); break; case 7: MA=1;MB=0;MC=0;MD=1; u=0; delay_ms(20); break; } } void left() { switch (u) { case 0: MA=0;MB=0;MC=0;MD=1; u=7; delay_ms(20); break; case 7: MA=0;MB=0;MC=1;MD=1; u=6; delay_ms(20); break; case 6: MA=0;MB=0;MC=1;MD=0; u=5; delay_ms(20); break; case 5: MA=0;MB=1;MC=1;MD=0; u=4; delay_ms(20); break; case 4: MA=0;MB=1;MC=0;MD=0; u=3; delay_ms(20); break; case 3: MA=1;MB=1;MC=0;MD=0; u=2; delay_ms(20); break; case 2: MA=1;MB=0;MC=0;MD=0; u=1; delay_ms(20); break; case 1: MA=1;MB=0;MC=0;MD=1; u=0; delay_ms(20); break;} } // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; PORTB.3=0; DDRB.3=1; // Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; DDRC=0xFF; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; PORTD.2=1; DDRD.2=0; PORTD.3=1; DDRD.3=0; PORTD.4=1; DDRD.4=0; PORTD.5=1; DDRD.5=0; // Timer/Counter initialization // Clock source: System Clock // Clock value: 8000.000 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x01; TCNT0=0x00; OCR0=0x00; // Timer/Counter initialization // Clock source: System Clock // Clock value: Timer Stopped // Mode: Normal top=FFFFh // OC1A output: Discon // OC1B output: Discon // Noise Canceler: Off // Input Capture on Falling Edge // Timer Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter initialization // Clock source: System Clock // Clock value: Timer Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; // USART initialization // Communication Parameters: Data, Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x33; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 125.000 kHz // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: None ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x86; // I2C Bus initialization i2c_init(); delay_ms(500); // LCD module initialization lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("SOLAR AUTO DETECT"); lcd_gotoxy(0,1); lcd_putsf("DESIGN BY MR.NHI"); delay_ms(1000); // Global enable interrupts lcd_clear(); #asm("sei") mode=1; //0-auto detect 1-realtime detect while (1) { if (SW==1) { if (MN>800) {left();} if (MN800) {if (LIMIT=4)&&(h
Ngày đăng: 08/12/2021, 06:44
Xem thêm: