Arduino - Bộ sạc năng lượng mặt trời PV MPPT: 6 bước (có hình ảnh)
Arduino - Bộ sạc năng lượng mặt trời PV MPPT: 6 bước (có hình ảnh)
Anonim
Image
Image
Dụng cụ đổi tiền
Dụng cụ đổi tiền

Có rất nhiều bộ điều khiển phí có sẵn trên thị trường. các bộ điều khiển sạc giá rẻ thông thường không hiệu quả để sử dụng tối đa năng lượng từ các Bảng năng lượng mặt trời. Những cái hiệu quả thì rất tốn kém.

Vì vậy, tôi đã quyết định tạo bộ điều khiển sạc của riêng mình sao cho Hiệu quả và đủ thông minh để hiểu nhu cầu của pin và điều kiện năng lượng mặt trời. nó thực hiện các hành động thích hợp để thu hút tối đa năng lượng sẵn có từ năng lượng mặt trời và đưa nó vào bên trong pin một cách rất hiệu quả.

NẾU BẠN THÍCH NỖ LỰC CỦA TÔI HƠN HÃY BỎ QUA HƯỚNG DẪN NÀY.

Bước 1: MPPT là gì và tại sao chúng ta cần nó?

Các tấm pin mặt trời của chúng tôi rất ngu ngốc và không thông minh để hiểu các điều kiện của pin. Giả sử chúng ta có một bảng điều khiển năng lượng mặt trời 12v / 100 watt và nó sẽ cung cấp đầu ra giữa 18V-21V tùy thuộc vào nhà sản xuất, nhưng pin được đánh giá cho điện áp danh định 12v, ở điều kiện sạc đầy, chúng sẽ là 13,6v và sẽ là 11,0v khi đầy phóng điện. bây giờ hãy giả sử pin của chúng tôi đang sạc 13v, các tấm pin đang cho 18v, 5.5A ở hiệu suất làm việc 100% (không thể có 100% nhưng hãy giả sử). bộ điều khiển thông thường có bộ điều chỉnh điện áp PWM ckt làm giảm điện áp xuống 13,6, nhưng không đạt được dòng điện. nó chỉ cung cấp khả năng bảo vệ chống lại quá trình sạc quá mức và dòng điện rò rỉ đến các tấm pin vào ban đêm.

Vì vậy, chúng tôi đang có 13,6v * 5,5A = 74,8 watt.

Chúng tôi mất khoảng 25 watt.

Để gặp phải vấn đề này, tôi đã sử dụng bộ chuyển đổi smps buck. những loại chuyển đổi này có hiệu suất trên 90%.

Vấn đề thứ hai mà chúng tôi gặp phải là đầu ra phi tuyến tính của các tấm pin mặt trời. chúng cần được vận hành ở điện áp nhất định để thu được công suất khả dụng tối đa. Sản lượng của họ thay đổi trong ngày.

Để giải quyết vấn đề này, các thuật toán MPPT được sử dụng. MPPT (Theo dõi điểm điện tối đa) như tên cho thấy thuật toán này theo dõi công suất tối đa có sẵn từ các bảng và thay đổi các thông số đầu ra để duy trì điều kiện.

Vì vậy, bằng cách sử dụng MPPT, các tấm pin của chúng tôi sẽ tạo ra công suất tối đa khả dụng và bộ chuyển đổi buck sẽ đưa điện tích này vào pin một cách hiệu quả.

Bước 2: MPPT HOẠT ĐỘNG NHƯ THẾ NÀO?

Tôi, tôi sẽ không thảo luận chi tiết về điều này. Vì vậy, nếu bạn muốn hiểu nó, hãy xem liên kết này - MPPT là gì?

Trong dự án này, tôi đã theo dõi các đặc điểm V-I đầu vào và V-I đầu ra cũng vậy. bằng cách nhân V-I đầu vào và V-I đầu ra, chúng ta có thể có công suất tính bằng watt.

giả sử chúng ta đang có 17 V, 5 A tức là 17x5 = 85 watt vào bất kỳ thời điểm nào trong ngày. đồng thời đầu ra của chúng tôi là 13 V, 6A tức là 13x6 = 78 Watt.

Bây giờ MPPT sẽ tăng hoặc giảm điện áp đầu ra bằng cách so sánh với công suất đầu vào / đầu ra trước đó.

Nếu công suất đầu vào trước đó cao và điện áp đầu ra thấp hơn hiện tại thì điện áp đầu ra sẽ lại giảm xuống để trở lại mức công suất cao và nếu điện áp đầu ra cao thì điện áp hiện tại sẽ được tăng lên mức trước đó. do đó nó tiếp tục dao động xung quanh điểm công suất cực đại. dao động này được giảm thiểu bằng các thuật toán MPPT hiệu quả.

Bước 3: Triển khai MPPT trên Arduino

Đây là bộ não của bộ sạc này. Dưới đây là mã Arduino để điều chỉnh đầu ra và triển khai MPPT trong một khối mã duy nhất.

// Iout = đầu ra hiện tại

// Vout = điện áp đầu ra

// Vin = điện áp đầu vào

// Pin = công suất đầu vào, Pin_previous = công suất đầu vào cuối cùng

// Vout_last = điện áp đầu ra cuối cùng, Vout_sense = điện áp đầu ra hiện tại

void điều hòa (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_previous && Vout_sense <Vout_last) || (PinVout_last)))

{

if (duty_cycle> 0)

{

duty_cycle - = 1;

}

analogWrite (buck_pin, duty_cycle);

}

else if ((VoutVout_last) || (Số Pi

{

if (duty_cycle <240)

{duty_cycle + = 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = Ghim;

Vin_last = Vin;

Vout_last = Vout;

}

Bước 4: Công cụ chuyển đổi Buck

Tôi đã sử dụng MOSFET kênh N để làm bộ chuyển đổi buck. thông thường người ta chọn MOSFET kênh P để chuyển đổi bên cao và nếu họ chọn MOSFET kênh N cho cùng mục đích với IC điều khiển sẽ được yêu cầu hoặc ckt đóng đai khởi động.

nhưng tôi đã sửa đổi ckt bộ chuyển đổi buck để có một chuyển đổi bên thấp bằng cách sử dụng MOSF kênh N. i, m sử dụng kênh N vì đây là những kênh có chi phí thấp, xếp hạng công suất cao và công suất tiêu thụ thấp hơn. dự án này sử dụng MOSFET cấp logic IRFz44n, vì vậy nó có thể được điều khiển trực tiếp bằng một chân PWM của arduino.

đối với dòng tải cao hơn, người ta nên sử dụng một bóng bán dẫn để áp dụng 10V tại cổng để có được mosfet vào bão hòa hoàn toàn và giảm thiểu sự tiêu tán điện, tôi cũng đã làm như vậy.

như bạn có thể thấy trong ckt ở trên, tôi đã đặt điện áp mosfet on -ve, do đó sử dụng + 12v từ bảng điều khiển như mặt đất. cấu hình này cho phép tôi sử dụng MOSFET kênh N cho bộ chuyển đổi buck với các thành phần tối thiểu.

nhưng nó cũng có một số nhược điểm. vì bạn có điện áp hai bên được tách biệt, bạn không có điểm tham chiếu chung nữa. vì vậy việc đo điện áp rất phức tạp.

tôi đã kết nối Arduino tại các thiết bị đầu cuối đầu vào Năng lượng mặt trời và sử dụng dòng -ve của nó làm mặt đất cho arduino. chúng tôi có thể dễ dàng đo điện áp đầu vào tại thời điểm này bằng cách sử dụng ckt bộ chia điện áp theo yêu cầu của chúng tôi. nhưng không thể đo điện áp đầu ra quá dễ dàng vì chúng ta không có điểm chung.

Bây giờ để làm điều này có một mẹo nhỏ. thay vì đo điện áp tụ đầu ra accros, tôi đã đo điện áp giữa hai dòng. sử dụng năng lượng mặt trời -ve làm mặt đất cho arduino và đầu ra -ve làm tín hiệu / điện áp cần đo. giá trị mà bạn có được với phép đo này phải được trừ đi từ điện áp đầu vào được đo và bạn sẽ nhận được điện áp đầu ra thực trên tụ điện đầu ra.

Vout_sense_temp = Vout_sense_temp * 0.92 + float (raw_vout) * volt_factor * 0.08; // đo volatge trên gnd đầu vào và gnd đầu ra.

Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // thay đổi hiệu điện thế giữa hai cơ sở thành điện áp đầu ra..

Đối với các phép đo hiện tại, tôi đã sử dụng mô-đun cảm biến dòng ACS-712. Chúng đã được cung cấp bởi arduino và kết nối với gnd đầu vào.

bộ định thời nội bộ được sửa đổi để đạt được PWM 62,5 Khz tại chân D6. được sử dụng để điều khiển mosfet. một diode chặn đầu ra sẽ được yêu cầu để cung cấp bảo vệ chống rò rỉ ngược và phân cực ngược, sử dụng diode schottky có định mức dòng mong muốn cho mục đích này. Giá trị của cuộn cảm phụ thuộc vào yêu cầu về tần số và dòng điện đầu ra. bạn có thể sử dụng máy tính chuyển đổi buck có sẵn trực tuyến hoặc sử dụng tải 100uH 5A-10A. không bao giờ vượt quá dòng điện đầu ra tối đa của cuộn cảm 80% -90%.

Bước 5: Chỉnh sửa lần cuối -

Image
Image

bạn cũng có thể thêm các tính năng bổ sung vào bộ sạc của mình. như của tôi có màn hình LCD quá hiển thị các thông số và 2 công tắc để lấy đầu vào từ người dùng.

Tôi sẽ cập nhật mã cuối cùng và hoàn thành sơ đồ ckt rất sớm.

Bước 6: CẬP NHẬT: - Sơ đồ mạch thực tế, BOM & Mã

Cuộc thi ánh sáng 2017
Cuộc thi ánh sáng 2017

CẬP NHẬT:-

Tôi đã tải lên mã, bom và mạch. nó, hơi khác so với của tôi, bởi vì nó, dễ dàng hơn để làm một cái này.