1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời

125 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời(Luận văn thạc sĩ) Tối ưu công suất hệ thống pin mặt trời

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 hoà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 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 TÓM TẮT LUẬN VĂN Luận văn nghiên cứu phương pháp điều khiển tốt để tối ưu công suất hệ thống quang điện, điều kiện nhiệt độ cường độ sáng thay đổi Phương pháp sử dụng điều khiển logic mờ ứng dụng cho thiết bị chuyển đổi DCDC Trình tự bước thiết kế điều khiển mờ trình bày với mơ Kết mơ thu điều khiển mờ so sánh với điều khiển quan sát nhiễu loạn (P&O) Kết cho thấy điều khiển mờ làm việc với hiệu suất cao chắn Thi công hệ thống Solar Tracking hướng tới ứng dụng cho pano pin cố định xoay theo hướng mặt trời, nhằm giảm thiểu góc tới tia nắng pháp tuyến pin Điều làm tăng khả chuyển đổi quang – điện so với pin đặt cố định Một hệ tracking trục thực động bước kiểu lưỡng cực thông qua cấu truyền lực trục vít, bánh Tín hiệu điều khiển thực vi điều khiển AVR Atmelga16L nhằm xử lý liệu điện áp gửi từ cảm biến ánh sáng (LDR) từ pin Kết cho thấy công suất đạt tối ưu so với pano pin lượng mặt trời đặt cố định Tác giả Phan Thanh Nhi v ABSTRACT The thesis studies a good control method to improve the effectiveness of the maximum power point tracking (MPPT) of a photovoltaic system under variable temperature and insolation conditions A fuzzy logic controller (FLC) applied to a DC-DC converter device is used in the method The design process of this controller is presented together with its simulation The simulation results which are compared to those obtained by the perturbation and observation controller show that fuzzy controllers work with high performance and certainty The construction of solar tracking systems aims at the application of solar panels in the direction of the sun in order to decrease the angle between the light ray and the normal of solar panel It increases the ability of photo-electric transformation of tracking solar system in comparison with that of static solar panel The two-axes solar tracking system was operated by the two bipolar step motor with the mechanism of transfer force of screws and begel gears The control signals were done by the micro processor of AVR Atmelga16L to analyze the voltage levels obtained by light dependent resistors (LDR) and solar cell panels The results showed that the achieved performance is higher than that of the normal solar panel Author Phan Thanh Nhi vi 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 toá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 4.2.2 Bộ chuyển đổi DC – DC:……………………………………………… 54 4.2.2.1 Bộ chuyển đổi buck:………………………… 54 4.2.2.2 Bộ chuyển đổi Boost:……………………………………… 55 4.2.2.3 Bộ chuyển đổi Buck Boost 56 4.2.3 Mơ hình hóa điều khiển MPPT: 58 4.2.3.1 Phương pháp P&O: 58 4.2.3.2 Phương pháp FLC: 61 4.2.3.3 So sánh phương pháp P&O FLC: 64 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 5.1 Khảo sát chuyển động hoạt động tracking 70 5.1.1 Chế độ hoạt động tay (manual) 70 5.1.2 Đo điện áp pin với vị trí khác 70 5.1.3 Chế độ tự động (automatic) 73 5.2 Nạp điện từ solar cell 75 5.2.1 Nạp điện từ pin cố định (chưa tracking) 76 5.2.2 Nạp điện từ pin có tracking 79 5.2.3 Phân tích kết 79 CHƯƠNG KẾT LUẬN VÀ PHÁT TRIỂN 6.1 Kết luận 81 x 6.2 Hạn chế 81 6.3 Hướng phát triển 82 TÀI LIỆU THAM KHẢO 83 PHỤ LỤC 85 xi DANH SÁCH CÁC HÌNH VẼ HÌNH TRANG Hình 1.1 Đặc tính pin PV Hình 1.2 Sơ đồ khối điều khiển MPPT Hình 1.1 1.1 Lưu đồ giải thuật P&O Hình 1.2 Lưu đồ giải thuật cho phương pháp IncCond Hình 2.1 Phổ vật thể đen 11 Hình 2.2 Phổ mặt trời ngồi khí 12 Hình 2.3 Tỷ số AM 13 Hình Phổ mặt trời theo AM khác 14 Hình 2.5 Phổ lượng mặt trời có ích hao phí 15 Hình 2.6 Nguyên lý hoạt động pin quang điện 16 Hình 2.7 Sơ đồ mạch đơn giản pin PV 16 Hình 2.8 Dịng điện ngắn mạch điện áp hở mạch pin quang điện 16 Hình Mơ hình pin PV thực tế 17 Hình 10 P-V ảnh hưởng Rs 17 Hình 11 P-V ảnh hưởng Rs Rp 17 Hình 12 Module PV 18 Hình 13 Đường đặc tính Module PV 18 Hình 2.14 Nối nối tiếp nhiều module PV để tăng điện áp 19 xii 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: 25/12/2022, 07:38

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN