สารบัญ:

ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0): 26 ขั้นตอน (พร้อมรูปภาพ)
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0): 26 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0): 26 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0): 26 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: DIY How to make a Solar Charge Controller 2024, พฤศจิกายน
Anonim
Image
Image
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0)
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0)
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0)
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0)

[เล่นวีดีโอ]

หนึ่งปีที่แล้ว ฉันเริ่มสร้างระบบสุริยะของตัวเองเพื่อจ่ายพลังงานให้กับบ้านในหมู่บ้านของฉัน ตอนแรกฉันสร้างตัวควบคุมการชาร์จที่ใช้ LM317 และเครื่องวัดพลังงานสำหรับตรวจสอบระบบ ในที่สุดฉันก็สร้างตัวควบคุมการชาร์จ PWM ในเดือนเมษายน 2014 ฉันโพสต์การออกแบบตัวควบคุมการชาร์จพลังงานแสงอาทิตย์ PWM บนเว็บ ซึ่งกลายเป็นที่นิยมอย่างมาก ผู้คนมากมายทั่วโลกได้สร้างขึ้นมาเอง นักเรียนจำนวนมากได้ทำโครงงานของวิทยาลัยโดยได้รับความช่วยเหลือจากฉัน ฉันได้รับอีเมลหลายฉบับทุกวันจากผู้ที่มีคำถามเกี่ยวกับการดัดแปลงฮาร์ดแวร์และซอฟต์แวร์สำหรับแผงโซลาร์เซลล์และแบตเตอรี่ที่แตกต่างกัน อีเมลส่วนใหญ่เกี่ยวข้องกับการปรับเปลี่ยนตัวควบคุมการชาร์จสำหรับระบบสุริยะ 12 โวลต์

คุณสามารถค้นหาโครงการทั้งหมดของฉันได้ที่

อัปเดตเมื่อ 25.03.2020:

ฉันได้อัพเกรดโปรเจ็กต์นี้และสร้าง PCB แบบกำหนดเองสำหรับมัน คุณสามารถดูโครงการเต็มในลิงค์ด้านล่าง:

ARDUINO PWM คอนโทรลเลอร์ชาร์จพลังงานแสงอาทิตย์ (V 2.02)

เพื่อแก้ปัญหานี้ ฉันได้สร้างตัวควบคุมการชาร์จเวอร์ชันใหม่นี้เพื่อให้ทุกคนสามารถใช้งานได้โดยไม่ต้องเปลี่ยนฮาร์ดแวร์และซอฟต์แวร์ ฉันรวมทั้งเครื่องวัดพลังงานและตัวควบคุมการชาร์จไว้ในการออกแบบนี้

ข้อมูลจำเพาะของตัวควบคุมการประจุรุ่น 2:

1.ตัวควบคุมการชาร์จและเครื่องวัดพลังงาน2. การเลือกแรงดันแบตเตอรี่อัตโนมัติ (6V/12V)3.อัลกอริทึมการชาร์จ PWM พร้อมการตั้งค่าการชาร์จอัตโนมัติตามแรงดันไฟฟ้าของแบตเตอรี่4.ไฟ LED แสดงสถานะการชาร์จและสถานะโหลด5. จอแสดงผล LCD ขนาด 20x4 ตัวสำหรับแสดงแรงดันไฟฟ้า กระแสไฟ กำลัง พลังงาน และอุณหภูมิ6.การป้องกันฟ้าผ่า7.การป้องกันกระแสไฟย้อนกลับ

8.ป้องกันไฟฟ้าลัดวงจรและโอเวอร์โหลด

9. การชดเชยอุณหภูมิสำหรับการชาร์จ

ข้อกำหนดทางไฟฟ้า:1. Rated Voltage= 6v /12V2. Maximum current = 10A3. Maximum load current =10A4. Open Circuit Voltage = 8-11V for 6V system /15 -25V for 12V system

ขั้นตอนที่ 1: อะไหล่และเครื่องมือที่จำเป็น:

ชิ้นส่วนและเครื่องมือที่จำเป็น
ชิ้นส่วนและเครื่องมือที่จำเป็น

อะไหล่:

1. Arduino Nano (อเมซอน / Banggood)

2. P-MOSFET (Amazon / IRF 9540 x2)

3.พาวเวอร์ไดโอด (Amazon / MBR 2045 สำหรับ 10A และ IN5402 สำหรับ 2A)

4. Buck Converter (อเมซอน / Banggood)

5.อุณหภูมิ เซนเซอร์ (Amazon / Banggood)

6. Current เซนเซอร์ (Amazon / Banggood)

7. TVS ไดโอด (Amazon / P6KE36CA)

8.ทรานซิสเตอร์ (2N3904 หรือ Banggood)

9.ตัวต้านทาน (100k x 2, 20k x 2, 10k x 2, 1k x 2, 330ohm x 5): Banggood

10.ตัวเก็บประจุแบบเซรามิก (0.1uF x 2): Banggood

11.ตัวเก็บประจุแบบอิเล็กโทรไลต์ (100uF และ 10uF): Banggood

12. 20x4 I2C LCD (Amazon / Banggood)

13. RGB LED (อเมซอน / Banggood)

14.ไฟ LED สองสี (อเมซอน)

15.สายจัมเปอร์/สาย(บางกู๊ด)

16.หมุดส่วนหัว (Amazon / Banggood)

17.ฮีทซิงค์ (Amazon / Banggood)

18.ฟิวส์และฟิวส์ (Amazon / eBay)

19. ปุ่มกด (Amazon / Banggood)

20. กระดานเจาะรู (Amazon / Banggood)

21.สิ่งที่ส่งมาด้วยโครงการ (บางกู๊ด)

22.ขั้วต่อสกรู (3x 2pin และ 1x6 pin): Banggood

23.น๊อต/สกรู/น๊อต (บางกู๊ด)

24.ฐานพลาสติก

เครื่องมือ:

1.หัวแร้ง (อเมซอน)

2.เครื่องตัดและปอกสายไฟ (Amazon)

3.ไขควง (อเมซอน)

4.สว่านไร้สาย (อเมซอน)

5.เดรเมล (อเมซอน)

6.ปืนกาว (อเมซอน)

7.มีดงานอดิเรก (อเมซอน)

ขั้นตอนที่ 2: วิธีการทำงานของตัวควบคุมการชาร์จ:

วิธีการทำงานของตัวควบคุมการชาร์จ
วิธีการทำงานของตัวควบคุมการชาร์จ

หัวใจของตัวควบคุมการชาร์จคือบอร์ด Arduino nano Arduino MCU ตรวจจับแผงโซลาร์เซลล์และแรงดันแบตเตอรี่ ตามแรงดันไฟฟ้าเหล่านี้จะกำหนดวิธีการชาร์จแบตเตอรี่และควบคุมโหลด

ปริมาณของกระแสไฟชาร์จถูกกำหนดโดยความแตกต่างระหว่างแรงดันแบตเตอรี่และแรงดันไฟที่ตั้งไว้ของประจุ คอนโทรลเลอร์ใช้อัลกอริธึมการชาร์จสองขั้นตอน ตามอัลกอริธึมการชาร์จ จะให้สัญญาณ PWM ความถี่คงที่ไปยัง p-MOSFET ด้านแผงโซลาร์เซลล์ ความถี่ของสัญญาณ PWM คือ 490.20Hz (ความถี่เริ่มต้นสำหรับพิน-3) รอบการทำงาน 0-100% ถูกปรับโดยสัญญาณผิดพลาด

ตัวควบคุมจะให้คำสั่ง HIGH หรือ LOW แก่ p-MOSFET ด้านโหลดตามช่วงค่ำ/รุ่งอรุณและแรงดันแบตเตอรี่

แผนผังแบบเต็มแนบมาด้านล่าง

คุณสามารถอ่านบทความล่าสุดของฉันเกี่ยวกับการเลือกตัวควบคุมการชาร์จที่เหมาะสมสำหรับระบบ Solar PV ของคุณ

ขั้นตอนที่ 3: หน้าที่หลักของ Solar Charge Controller:

ตัวควบคุมการชาร์จได้รับการออกแบบโดยดูแลประเด็นต่อไปนี้

1. ป้องกันการชาร์จแบตเตอรี่เกิน: เพื่อจำกัดพลังงานที่แผงโซลาร์เซลล์จ่ายให้กับแบตเตอรี่เมื่อแบตเตอรี่ชาร์จเต็ม สิ่งนี้ถูกนำไปใช้ใน charge_cycle() ของรหัสของฉัน

2. ป้องกันไม่ให้แบตเตอรี่หมด: เพื่อถอดแบตเตอรี่ออกจากโหลดไฟฟ้าเมื่อแบตเตอรี่มีประจุเหลือน้อย สิ่งนี้ถูกนำไปใช้ใน load_control() ของรหัสของฉัน

3. จัดเตรียมฟังก์ชันการควบคุมโหลด: เพื่อเชื่อมต่อและตัดการเชื่อมต่อโหลดไฟฟ้าโดยอัตโนมัติตามเวลาที่กำหนด โหลดจะเปิดเมื่อพระอาทิตย์ตกและปิดเมื่อพระอาทิตย์ขึ้น สิ่งนี้ถูกนำไปใช้ใน load_control() ของรหัสของฉัน

4. การตรวจสอบพลังงานและพลังงาน: เพื่อตรวจสอบกำลังโหลดและพลังงานและแสดงผล

5. ป้องกันจากสภาวะผิดปกติ: เพื่อป้องกันวงจรจากสภาวะผิดปกติต่างๆ เช่น ฟ้าผ่า แรงดันไฟเกิน กระแสเกิน และไฟฟ้าลัดวงจร เป็นต้น

6. Indicating and Displaying: เพื่อระบุและแสดงพารามิเตอร์ต่างๆ

7. Serial Communication: เพื่อพิมพ์พารามิเตอร์ต่างๆในมอนิเตอร์แบบอนุกรม

ขั้นตอนที่ 4: การตรวจจับแรงดัน กระแส และอุณหภูมิ:

การตรวจจับแรงดัน กระแส และอุณหภูมิ
การตรวจจับแรงดัน กระแส และอุณหภูมิ
การตรวจจับแรงดัน กระแส และอุณหภูมิ
การตรวจจับแรงดัน กระแส และอุณหภูมิ

1. เซ็นเซอร์แรงดัน:

เซ็นเซอร์แรงดันไฟฟ้าใช้เพื่อตรวจจับแรงดันไฟฟ้าของแผงโซลาร์เซลล์และแบตเตอรี่ มันถูกใช้งานโดยใช้วงจรแบ่งแรงดันสองวงจร ประกอบด้วยตัวต้านทานสองตัว R1=100k และ R2=20k สำหรับตรวจจับแรงดันไฟของแผงโซลาร์เซลล์ และในทำนองเดียวกัน R3=100k และ R4=20k สำหรับแรงดันแบตเตอรี่ เอาต์พุตจาก R1 และ R2 เชื่อมต่อกับ Arduino analog pin A0 และเอาต์พุตจาก R3 และ R4 เชื่อมต่อกับ Arduino analog pin A1

2.เซ็นเซอร์ปัจจุบัน:

เซ็นเซอร์ปัจจุบันใช้สำหรับวัดกระแสโหลด ต่อมากระแสนี้จะใช้ในการคำนวณกำลังโหลดและพลังงาน ฉันใช้เซ็นเซอร์กระแสเอฟเฟกต์ฮอลล์ (ACS712-20A)

3.เซ็นเซอร์อุณหภูมิ:

เซ็นเซอร์อุณหภูมิใช้เพื่อตรวจจับอุณหภูมิห้อง ฉันใช้เซ็นเซอร์อุณหภูมิ LM35 ซึ่งได้รับการจัดอันดับในช่วง -55°C ถึง +150°C

เหตุใดจึงต้องมีการตรวจวัดอุณหภูมิ

ปฏิกิริยาเคมีของแบตเตอรี่จะเปลี่ยนไปตามอุณหภูมิ เมื่อแบตเตอรี่ร้อนขึ้น แก๊สก็จะเพิ่มขึ้น เมื่อแบตเตอรี่เย็นลง จะทนทานต่อการชาร์จมากขึ้น สิ่งสำคัญคือต้องปรับการชาร์จตามการเปลี่ยนแปลงของอุณหภูมิ ทั้งนี้ขึ้นอยู่กับอุณหภูมิของแบตเตอรี่ที่แตกต่างกัน ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องปรับการชาร์จให้เหมาะสมกับผลกระทบของอุณหภูมิ เซ็นเซอร์อุณหภูมิจะวัดอุณหภูมิของแบตเตอรี่ และ Solar Charge Controller จะใช้อินพุตนี้เพื่อปรับจุดตั้งค่าการชาร์จตามต้องการ ค่าชดเชยคือ - 5mv /degC/cell สำหรับแบตเตอรี่ประเภทตะกั่ว-กรด (–30mV/ºC สำหรับ 12V และ 15mV/ºC สำหรับแบตเตอรี่ 6V) เครื่องหมายลบของการชดเชยอุณหภูมิบ่งชี้ว่าอุณหภูมิที่เพิ่มขึ้นต้องลดค่าที่ตั้งไว้

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการทำความเข้าใจและเพิ่มประสิทธิภาพการชดเชยอุณหภูมิแบตเตอรี่

ขั้นตอนที่ 5: การปรับเทียบเซ็นเซอร์

เซ็นเซอร์วัดแรงดันไฟ:

5V = จำนวน ADC 1024

1 จำนวน ADC = (5/1024)Volt= 0.0048828Volt

Vout=วิน*R2/(R1+R2)

Vin = Vout*(R1+R2)/R2 R1=100 และ R2=20

Vin= จำนวน ADC*0.00488*(120/20) โวลต์

เซ็นเซอร์ปัจจุบัน:

ตามข้อมูลผู้ขายสำหรับเซ็นเซอร์กระแส ACS 712

ความไวคือ =100mV / A =0.100V/A

ไม่มีกระแสทดสอบผ่านแรงดันขาออกคือ VCC / 2= 2.5

จำนวน ADC= 1024/5*Vin และ Vin=2.5+0.100*I (โดยที่ I=กระแส)

จำนวน ADC= 204.8(2.5+0.1*I) =512+20.48*I

=> 20.48*I = (ADC count-512)

=> ฉัน =(จำนวน ADC/20.48)- 512/20.48

ปัจจุบัน (I) =0.04882*ADC -25

ข้อมูลเพิ่มเติมเกี่ยวกับACS712

เซ็นเซอร์อุณหภูมิ:

ตามแผ่นข้อมูลของ LM35

ความไว=10 mV/°C

อุณหภูมิในองศา C =(5/1024)*จำนวน ADC*100

หมายเหตุ: เซ็นเซอร์ถูกปรับเทียบโดยสมมติว่า Arduino Vcc= 5V อ้างอิง แต่ในทางปฏิบัติไม่ใช่ 5V เสมอไป ดังนั้นอาจมีโอกาสได้รับค่าที่ไม่ถูกต้องจากค่าจริง สามารถแก้ไขได้โดยทำตามวิธีต่อไปนี้

วัดแรงดันไฟฟ้าระหว่าง Arduino 5V และ GND ด้วยมัลติมิเตอร์ ใช้แรงดันไฟฟ้านี้แทน 5V สำหรับ Vcc ในรหัสของคุณ กดแล้วลองแก้ไขค่านี้จนกว่าจะตรงกับค่าจริง

ตัวอย่าง: ฉันได้รับ 4.47V แทนที่จะเป็น 5V ดังนั้นการเปลี่ยนแปลงควรเป็น 4.47/1024=0.0043652 แทนที่จะเป็น 0.0048828

ขั้นตอนที่ 6: อัลกอริธึมการชาร์จ

อัลกอริทึมการชาร์จ
อัลกอริทึมการชาร์จ
อัลกอริทึมการชาร์จ
อัลกอริทึมการชาร์จ

1.จำนวนมาก: ในโหมดนี้ จำนวนกระแสคงที่สูงสุดที่ตั้งไว้ล่วงหน้า (แอมป์) จะถูกป้อนเข้าสู่แบตเตอรี่เนื่องจากไม่มี PWM ขณะกำลังชาร์จแบตเตอรี่ แรงดันไฟฟ้าของแบตเตอรี่จะค่อยๆ เพิ่มขึ้น

2. การดูดซับ: เมื่อแบตเตอรี่ถึงแรงดันไฟฟ้าที่ตั้งไว้จำนวนมาก PWM จะเริ่มเก็บค่าแรงดันไฟฟ้าให้คงที่ เพื่อหลีกเลี่ยงไม่ให้แบตเตอรี่ร้อนเกินไปและแก๊สเกิน กระแสไฟจะลดลงจนถึงระดับที่ปลอดภัยเมื่อแบตเตอรี่ชาร์จจนเต็มมากขึ้น3. ลอยตัว: เมื่อชาร์จแบตเตอรี่จนเต็ม แรงดันการชาร์จจะลดลงเพื่อป้องกันความร้อนหรือก๊าซของแบตเตอรี่

นี่คือขั้นตอนการชาร์จที่เหมาะสมที่สุด

บล็อกรอบการชาร์จปัจจุบันของรหัสไม่ได้ใช้งานการชาร์จ 3 ขั้นตอน ฉันใช้ตรรกะที่ง่ายกว่าใน 2 ขั้นตอน มันทำงานได้ดี

ฉันกำลังลองใช้ตรรกะต่อไปนี้สำหรับการชาร์จ 3 ขั้นตอน

การวางแผนในอนาคตสำหรับรอบการชาร์จ:

การชาร์จจำนวนมากเริ่มต้นเมื่อแรงดันแผงโซลาร์เซลล์มากกว่าแรงดันแบตเตอรี่ เมื่อแรงดันแบตเตอรี่ถึง 14.4V ค่าการดูดซึมจะถูกป้อน กระแสไฟชาร์จจะถูกควบคุมโดยสัญญาณ PWM เพื่อรักษาแรงดันแบตเตอรี่ไว้ที่ 14.4V เป็นเวลาหนึ่งชั่วโมง การชาร์จแบบลอยตัวจะเข้าสู่หลังจากผ่านไปหนึ่งชั่วโมง โฟลตสเตจสร้างประจุแบบหยดเพื่อให้แรงดันแบตเตอรี่อยู่ที่ 13.6V เมื่อแรงดันแบตเตอรี่ต่ำกว่า 13.6V เป็นเวลา 10 นาที รอบการชาร์จจะถูกทำซ้ำ

ฉันขอให้สมาชิกชุมชนช่วยเขียนโค้ดเพื่อนำตรรกะข้างต้นไปใช้

ขั้นตอนที่ 7: การควบคุมการโหลด

ในการเชื่อมต่อและตัดการเชื่อมต่อโหลดโดยอัตโนมัติโดยการตรวจสอบเวลาพลบค่ำ/รุ่งเช้าและแรงดันแบตเตอรี่ การควบคุมโหลดจะถูกใช้

จุดประสงค์หลักของการควบคุมโหลดคือการปลดโหลดออกจากแบตเตอรี่เพื่อป้องกันการคายประจุที่ลึก การคายประจุอย่างลึกอาจทำให้แบตเตอรี่เสียหายได้

ขั้วโหลด DC ออกแบบมาสำหรับโหลด DC พลังงานต่ำ เช่น ไฟถนน

แผงเซลล์แสงอาทิตย์ใช้เป็นเซ็นเซอร์วัดแสง

สมมติว่าแรงดันแผงโซลาร์เซลล์ >5V หมายถึงรุ่งเช้าและเมื่อ <5V พลบค่ำ

บนเงื่อนไข:

ในตอนเย็น เมื่อระดับแรงดัน PV ต่ำกว่า 5V และแรงดันแบตเตอรี่สูงกว่าการตั้งค่า LVD ตัวควบคุมจะเปิดโหลดและไฟ LED สีเขียวของโหลดจะสว่างขึ้น

ปิดเงื่อนไข:

โหลดจะถูกตัดออกในสองเงื่อนไขต่อไปนี้

1. ในตอนเช้าเมื่อแรงดัน PV มากกว่า 5v

2. เมื่อแรงดันแบตเตอรี่ต่ำกว่าการตั้งค่า LVD

ไฟ LED สีแดงติดแสดงว่าโหลดถูกตัดออก

LVD เรียกว่า Low Voltage Disconnect

ขั้นตอนที่ 8: พลังงานและพลังงาน

พลัง:

กำลังไฟฟ้าเป็นผลคูณของแรงดัน (โวลต์) และกระแส (แอมป์)

P=VxI

หน่วยของกำลังคือ วัตต์ หรือ KW

พลังงาน:

พลังงานเป็นผลคูณของกำลัง (วัตต์) และเวลา (ชั่วโมง)

E= Pxt

หน่วยของพลังงานคือวัตต์ชั่วโมงหรือกิโลวัตต์ชั่วโมง (kWh)

ในการตรวจสอบกำลังโหลดและพลังงานเหนือตรรกะนั้นถูกนำไปใช้ในซอฟต์แวร์และพารามิเตอร์จะแสดงใน LCD ขนาด 20x4 ถ่าน

ขั้นตอนที่ 9: การป้องกัน

1. การป้องกันขั้วย้อนกลับสำหรับแผงโซลาร์เซลล์

2. การป้องกันไฟเกิน

3. การป้องกันการปล่อยลึก

4. ไฟฟ้าลัดวงจรและป้องกันการโอเวอร์โหลด

5.ป้องกันกระแสไฟย้อนกลับในเวลากลางคืน

6. การป้องกันแรงดันไฟเกินที่อินพุตแผงโซลาร์เซลล์

สำหรับการป้องกันกระแสย้อนกลับและกระแสย้อนกลับ ฉันใช้พาวเวอร์ไดโอด (MBR2045) พาวเวอร์ไดโอดใช้สำหรับจัดการกับกระแสไฟจำนวนมาก ในการออกแบบก่อนหน้านี้ ฉันใช้ไดโอดปกติ (IN4007)

ซอฟต์แวร์ใช้การป้องกันการชาร์จเกินและการปล่อยลึก

การป้องกันกระแสเกินและไฟฟ้าเกินดำเนินการโดยใช้ฟิวส์สองตัว (ตัวหนึ่งที่ด้านแผงโซลาร์เซลล์และอีกตัวที่ด้านโหลด)

แรงดันไฟเกินชั่วคราวเกิดขึ้นในระบบไฟฟ้าด้วยเหตุผลหลายประการ แต่ฟ้าผ่าทำให้เกิดแรงดันไฟเกินที่รุนแรงที่สุด โดยเฉพาะอย่างยิ่งกับระบบ PV เนื่องจากตำแหน่งที่เปิดโล่งและสายเคเบิลเชื่อมต่อระบบ ในการออกแบบใหม่นี้ ฉันใช้ไดโอด TVS แบบสองทิศทาง 600 วัตต์ (P6KE36CA) เพื่อระงับฟ้าผ่าและแรงดันไฟฟ้าเกินที่ขั้ว PV ในการออกแบบก่อนหน้านี้ ฉันใช้ซีเนอร์ไดโอด คุณยังสามารถใช้ไดโอด TVS ที่คล้ายกันที่ด้านโหลดได้

สำหรับคำแนะนำการเลือกไดโอด TVS คลิกที่นี่

สำหรับการเลือกหมายเลขชิ้นส่วนที่ถูกต้องสำหรับไดโอด TVS คลิกที่นี่

ขั้นตอนที่ 10: ไฟ LED แสดงสถานะ

ไฟ LED
ไฟ LED

ไฟ LED แสดงสถานะการชาร์จ (SOC) ของแบตเตอรี่:

พารามิเตอร์สำคัญอย่างหนึ่งที่กำหนดปริมาณพลังงานของแบตเตอรี่คือสถานะการชาร์จ (SOC) พารามิเตอร์นี้ระบุว่ามีประจุเท่าใดในแบตเตอรี่

ไฟ LED RGB ใช้เพื่อระบุสถานะการชาร์จของแบตเตอรี่ สำหรับการเชื่อมต่อโปรดดูแผนผังด้านบน

LED แบตเตอรี่ ---------- สถานะแบตเตอรี่

สีแดง ------------------ แรงดันไฟต่ำ

สีเขียว ------------------ แรงดันไฟแข็งแรง

BLUE ------------------ ชาร์จเต็มแล้ว

โหลด LED:

ไฟ LED สองสี (แดง/เขียว) ใช้สำหรับแสดงสถานะการโหลด อ้างถึงแผนผังด้านบนสำหรับการเชื่อมต่อ

โหลด LED ------------------- สถานะโหลด

สีเขียว ----------------------- เชื่อมต่อแล้ว (เปิด)

สีแดง ------------------------- ตัดการเชื่อมต่อ (ปิด)

ฉันรวม led ที่สามเพื่อระบุสถานะแผงโซลาร์เซลล์

ขั้นตอนที่ 11: จอ LCD

จอ LCD
จอ LCD

ในการแสดงแรงดันไฟ กระแสไฟ พลังงาน พลังงาน และอุณหภูมิ ใช้จอ LCD I2C ขนาด 20x4 หากคุณไม่ต้องการแสดงพารามิเตอร์ ให้ปิดใช้งาน lcd_display() จากฟังก์ชัน void loop() หลังจากปิดการใช้งานคุณมีตัวบ่งชี้ที่นำไปสู่การตรวจสอบสถานะแบตเตอรี่และโหลด

คุณสามารถอ้างอิงคำแนะนำนี้สำหรับ I2C LCD

ดาวน์โหลดไลบรารี LiquidCrystal _I2C จากที่นี่

หมายเหตุ: ในโค้ด คุณต้องเปลี่ยนที่อยู่โมดูล I2C คุณสามารถใช้รหัสเครื่องสแกนที่อยู่ที่ระบุในลิงค์

ขั้นตอนที่ 12: การทดสอบ Bread Board

การทดสอบบอร์ดขนมปัง
การทดสอบบอร์ดขนมปัง

เป็นความคิดที่ดีเสมอที่จะทดสอบวงจรของคุณบนเขียงหั่นขนมก่อนที่จะบัดกรีเข้าด้วยกัน

หลังจากเชื่อมต่อทุกอย่างแล้วให้อัปโหลดรหัส รหัสที่แนบมาด้านล่าง

ซอฟต์แวร์ทั้งหมดถูกแบ่งออกเป็นบล็อกการทำงานขนาดเล็กเพื่อความยืดหยุ่น สมมติว่าผู้ใช้ไม่สนใจที่จะใช้จอ LCD และพอใจกับสัญญาณไฟ LED จากนั้นเพียงแค่ปิดการใช้งาน lcd_display() จาก void loop() นั่นคือทั้งหมดที่

ในทำนองเดียวกัน ตามความต้องการของผู้ใช้ เขาสามารถเปิดและปิดฟังก์ชันการทำงานต่างๆ ได้

ดาวน์โหลดรหัสจากบัญชี GitHub ของฉัน

ARDUINO-SOLAR-CHARGE-CONTROLLER-V-2

ขั้นตอนที่ 13: พาวเวอร์ซัพพลายและเทอร์มินัล:

พาวเวอร์ซัพพลายและเทอร์มินอล
พาวเวอร์ซัพพลายและเทอร์มินอล
พาวเวอร์ซัพพลายและเทอร์มินอล
พาวเวอร์ซัพพลายและเทอร์มินอล
พาวเวอร์ซัพพลายและเทอร์มินอล
พาวเวอร์ซัพพลายและเทอร์มินอล

เทอร์มินัล:

เพิ่มขั้วต่อสกรู 3 ตัวสำหรับการเชื่อมต่ออินพุตพลังงานแสงอาทิตย์ แบตเตอรี่ และขั้วต่อโหลด จากนั้นประสานมัน ฉันใช้ขั้วสกรูตรงกลางสำหรับเชื่อมต่อแบตเตอรี่ ด้านซ้ายสำหรับแผงโซลาร์เซลล์ และช่องด้านขวาสำหรับโหลด

พาวเวอร์ซัพพลาย:

ในเวอร์ชันก่อนหน้าของฉัน แหล่งจ่ายไฟสำหรับ Arduino นั้นมาจากแบตเตอรี่ 9V ในรุ่นนี้ใช้พลังงานจากแบตเตอรี่ชาร์จนั่นเอง แรงดันแบตเตอรี่ลดลงเหลือ 5V โดยตัวควบคุมแรงดันไฟฟ้า (LM7805)

เครื่องปรับแรงดันไฟฟ้า Solder LM7805 ใกล้กับขั้วแบตเตอรี่ จากนั้นประสานตัวเก็บประจุด้วยไฟฟ้าตามแผนผัง ในขั้นตอนนี้ ให้ต่อแบตเตอรี่เข้ากับขั้วสกรู และตรวจสอบแรงดันไฟฟ้าระหว่างพิน 2 และ 3 ของ LM7805 ควรอยู่ใกล้ 5V

เมื่อฉันใช้แบตเตอรี่ 6V LM7805 ก็ทำงานได้อย่างสมบูรณ์ แต่สำหรับแบตเตอรี่ 12V มันจะร้อนขึ้นหลังจากผ่านไประยะหนึ่ง ดังนั้นฉันจึงขอใช้แผ่นระบายความร้อนสำหรับมัน

แหล่งจ่ายไฟที่มีประสิทธิภาพ:

หลังจากการทดสอบไม่กี่ครั้ง ฉันพบว่าตัวควบคุมแรงดันไฟฟ้า LM7805 ไม่ใช่วิธีที่ดีที่สุดในการจ่ายไฟให้กับ Arduino เนื่องจากเป็นการสิ้นเปลืองพลังงานจำนวนมากในรูปของความร้อน ดังนั้นฉันจึงตัดสินใจเปลี่ยนโดยใช้ตัวแปลงบั๊ก DC-DC ซึ่งมีประสิทธิภาพสูง หากคุณวางแผนที่จะสร้างคอนโทรลเลอร์นี้ ฉันแนะนำให้ใช้ตัวแปลงบั๊กแทนตัวควบคุมแรงดันไฟฟ้า LM7805

การเชื่อมต่อตัวแปลงบั๊ก:

ใน+ ----- BAT+

อิน- ------ แบต-

ออก+ --- 5V

ออก- --- GND

อ้างถึงภาพด้านบน

หาซื้อได้จากอีเบย์

ขั้นตอนที่ 14: ติดตั้ง Arduino:

เมานต์ Arduino
เมานต์ Arduino
เมานต์ Arduino
เมานต์ Arduino
เมานต์ Arduino
เมานต์ Arduino

ตัดแถบส่วนหัวตัวเมีย 2 อัน อันละ 15 พิน วางบอร์ดนาโนเพื่อใช้อ้างอิง ใส่ส่วนหัวทั้งสองตามพินนาโน ตรวจสอบว่านาโนบอร์ดพอดีกับมันหรือไม่ จากนั้นประสานกลับด้าน

ใส่ส่วนหัวของตัวผู้สองแถวที่ทั้งสองด้านของบอร์ด Nano สำหรับการเชื่อมต่อภายนอก จากนั้นเชื่อมจุดประสานระหว่างขา Arduino และหมุดส่วนหัว ดูภาพด้านบน

ตอนแรกฉันลืมเพิ่มส่วนหัว Vcc และ GND ในขั้นตอนนี้ คุณสามารถใส่ส่วนหัวที่มี 4 ถึง 5 พินสำหรับ Vcc และ GND

อย่างที่คุณเห็น ฉันเชื่อมต่อตัวควบคุมแรงดันไฟฟ้า 5V และ GND กับ nano 5V และ GND ด้วยสายสีแดงและสีดำ ต่อมาฉันถอดมันออกแล้วบัดกรีที่ด้านหลังเพื่อให้กระดานดูดีขึ้น

ขั้นตอนที่ 15: ประสานส่วนประกอบ

ประสานส่วนประกอบ
ประสานส่วนประกอบ
ประสานส่วนประกอบ
ประสานส่วนประกอบ
ประสานส่วนประกอบ
ประสานส่วนประกอบ

ก่อนทำการบัดกรีส่วนประกอบจะทำรูที่มุมเพื่อติดตั้ง

ประสานส่วนประกอบทั้งหมดตามแผนผัง

ใช้ฮีตซิงก์กับ MOSFET สองตัวและพาวเวอร์ไดโอด

หมายเหตุ: เพาเวอร์ไดโอด MBR2045 มีแอโนดสองตัวและแคโทดหนึ่งตัว ขั้วบวกทั้งสองสั้นมาก

ฉันใช้ลวดเส้นหนาสำหรับสายไฟและสายดินและสายเส้นเล็กสำหรับสัญญาณ ลวดหนาเป็นสิ่งจำเป็นเนื่องจากคอนโทรลเลอร์ได้รับการออกแบบสำหรับกระแสไฟที่สูงขึ้น

ขั้นตอนที่ 16: เชื่อมต่อเซ็นเซอร์ปัจจุบัน

เชื่อมต่อเซ็นเซอร์ปัจจุบัน
เชื่อมต่อเซ็นเซอร์ปัจจุบัน
เชื่อมต่อเซ็นเซอร์ปัจจุบัน
เชื่อมต่อเซ็นเซอร์ปัจจุบัน
เชื่อมต่อเซ็นเซอร์ปัจจุบัน
เชื่อมต่อเซ็นเซอร์ปัจจุบัน

หลังจากเชื่อมต่อส่วนประกอบทั้งหมดแล้ว ประสานลวดหนาสองเส้นเข้ากับท่อระบายน้ำของ MOSFET และขั้วต่อด้านบนของตัวยึดฟิวส์ด้านโหลด จากนั้นต่อสายไฟเหล่านี้เข้ากับขั้วต่อสกรูที่ให้มาในเซ็นเซอร์ปัจจุบัน (ACS 712)

ขั้นตอนที่ 17: สร้างแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ

ทำแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ
ทำแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ
ทำแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ
ทำแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ
ทำแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ
ทำแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ

ฉันได้แสดงสองผู้นำในแผนผังของฉัน แต่ฉันเพิ่มไฟ LED ที่สาม (สองสี) เพื่อระบุสถานะแผงโซลาร์เซลล์ในอนาคต

เตรียมบอร์ดเจาะรูขนาดเล็กตามภาพ จากนั้นทำรูสองรู (3.5 มม.) โดยเจาะด้านซ้ายและขวา (สำหรับติดตั้ง)

ใส่ไฟ LED และประสานเข้ากับด้านหลังของบอร์ด

ใส่หัวต่อตัวเมีย 3 พินสำหรับเซ็นเซอร์อุณหภูมิแล้วบัดกรี

หัวต่อมุมฉากบัดกรี 10 พินสำหรับการเชื่อมต่อภายนอก

ตอนนี้เชื่อมต่อขั้วขั้วบวก LED RGB กับเซ็นเซอร์อุณหภูมิ Vcc (pin-1)

ประสานขั้วแคโทดของไฟ LED สองสีสองสี

จากนั้นเชื่อมจุดบัดกรีที่ขั้ว LED ไปที่ส่วนหัว คุณสามารถติดสติกเกอร์ที่มีชื่อพินเพื่อระบุตัวตนได้ง่าย

ขั้นตอนที่ 18: การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ

การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ
การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ
การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ
การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ
การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ
การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ

เชื่อมต่อ Charge Controller กับแบตเตอรี่ก่อนเพราะจะทำให้ Charge Controller ได้รับการปรับเทียบไม่ว่าจะเป็นระบบ 6V หรือ 12V ต่อขั้วลบก่อนแล้วค่อยบวกเชื่อมต่อแผงโซลาร์เซลล์ (ลบก่อนแล้วจึงบวก) สุดท้ายให้เชื่อมต่อโหลด

ขั้วโหลดตัวควบคุมการชาร์จเหมาะสำหรับโหลด DC เท่านั้น

จะรันโหลด AC ได้อย่างไร?

หากคุณต้องการใช้เครื่องใช้ไฟฟ้า AC คุณต้องมีอินเวอร์เตอร์ เชื่อมต่ออินเวอร์เตอร์โดยตรงกับแบตเตอรี่ ดูภาพด้านบน

ขั้นตอนที่ 19: การทดสอบขั้นสุดท้าย:

การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย

หลังจากสร้างกระดานหลักและบอร์ดบ่งชี้แล้วให้เชื่อมต่อส่วนหัวด้วยสายจัมเปอร์ (หญิง - หญิง)

อ้างถึงแผนผังระหว่างการเชื่อมต่อนี้ การเชื่อมต่อที่ไม่ถูกต้องอาจทำให้วงจรเสียหายได้ ดังนั้นควรดูแลอย่างเต็มที่ในขั้นตอนนี้

เสียบสาย USB เข้ากับ Arduino แล้วอัปโหลดรหัส ถอดสาย USB หากคุณต้องการดูจอภาพแบบอนุกรมให้เชื่อมต่อไว้

คะแนนฟิวส์: ในการสาธิต ฉันได้ใส่ฟิวส์ 5A ลงในที่ยึดฟิวส์แล้ว แต่ในการใช้งานจริง ให้ใส่ฟิวส์ที่มีกระแสไฟลัดวงจร 120 ถึง 125%

ตัวอย่าง:แผงโซลาร์เซลล์ 100W ที่มี Isc=6.32A ต้องการฟิวส์ 6.32x1.25 = 7.9 หรือ 8A

วิธีการทดสอบ?

ฉันใช้ตัวแปลงบั๊กบูสต์และผ้าสีดำเพื่อทดสอบคอนโทรลเลอร์ ขั้วอินพุตตัวแปลงเชื่อมต่อกับแบตเตอรี่และเอาต์พุตเชื่อมต่อกับขั้วต่อแบตเตอรี่ของตัวควบคุมการประจุ

สถานะแบตเตอรี่:

หมุนโพเทนชิออมิเตอร์ของคอนเวอร์เตอร์ด้วยไขควงเพื่อจำลองแรงดันไฟฟ้าของแบตเตอรี่แบบต่างๆ เมื่อแรงดันไฟฟ้าของแบตเตอรี่เปลี่ยนไป ไฟ LED ที่เกี่ยวข้องจะปิดและเปิดขึ้น

หมายเหตุ: ในระหว่างกระบวนการนี้ ควรถอดแผงโซลาร์เซลล์ออกหรือปิดด้วยผ้าสีดำหรือกระดาษแข็ง

รุ่งอรุณ/พลบค่ำ: เพื่อจำลองรุ่งอรุณและพลบค่ำโดยใช้ผ้าสีดำ

กลางคืน: ปิดแผงโซลาร์เซลล์ทั้งหมด

วัน: นำผ้าออกจากแผงโซลาร์เซลล์

การเปลี่ยนแปลง: ชะลอการถอดหรือคลุมผ้าเพื่อปรับแรงดันไฟฟ้าแผงโซลาร์เซลล์ที่แตกต่างกัน

การควบคุมโหลด: ตามสภาพของแบตเตอรี่และสถานการณ์ตอนเช้า/มืด โหลดจะเปิดและปิด

การชดเชยอุณหภูมิ:

ถือเซ็นเซอร์อุณหภูมิเพื่อเพิ่มอุณหภูมิและวางสิ่งที่เย็นเช่นน้ำแข็งเพื่อลดอุณหภูมิ จะแสดงขึ้นบนหน้าจอ LCD ทันที

ค่าจุดตั้งค่าการชาร์จที่ชดเชยสามารถเห็นได้บนจอภาพแบบอนุกรม

ในขั้นตอนต่อไป ฉันจะอธิบายการสร้างกล่องหุ้มสำหรับตัวควบคุมการชาร์จนี้

ขั้นตอนที่ 20: การติดตั้งกระดานหลัก:

การติดตั้งกระดานหลัก
การติดตั้งกระดานหลัก
การติดตั้งกระดานหลัก
การติดตั้งกระดานหลัก
การติดตั้งกระดานหลัก
การติดตั้งกระดานหลัก

วางกระดานหลักไว้ในกล่องหุ้ม ทำเครื่องหมายตำแหน่งรูด้วยดินสอ

จากนั้นใช้กาวร้อนกับตำแหน่งการมาร์ก

วางฐานพลาสติกไว้เหนือกาว

จากนั้นวางกระดานบนฐานแล้วขันน็อต

ขั้นตอนที่ 21: สร้างพื้นที่สำหรับ LCD:

สร้างพื้นที่สำหรับ LCD
สร้างพื้นที่สำหรับ LCD
สร้างพื้นที่สำหรับ LCD
สร้างพื้นที่สำหรับ LCD
สร้างพื้นที่สำหรับ LCD
สร้างพื้นที่สำหรับ LCD

ทำเครื่องหมายขนาด LCD ที่ฝาครอบด้านหน้าของตัวเครื่อง

ตัดส่วนที่ทำเครื่องหมายออกโดยใช้เดรเมลหรือเครื่องมือตัดอื่นๆ หลังจากตัดเสร็จโดยใช้มีดงานอดิเรก

ขั้นตอนที่ 22: เจาะรู:

เจาะรู
เจาะรู
เจาะรู
เจาะรู
เจาะรู
เจาะรู

เจาะรูสำหรับติดตั้ง LCD, แผงไฟ LED, ปุ่มรีเซ็ต และขั้วต่อภายนอก

ขั้นตอนที่ 23: ติดตั้งทุกอย่าง:

ติดตั้งทุกอย่าง
ติดตั้งทุกอย่าง
ติดตั้งทุกอย่าง
ติดตั้งทุกอย่าง
ติดตั้งทุกอย่าง
ติดตั้งทุกอย่าง

หลังจากทำรูยึดแผงแล้ว ขั้วต่อสกรู 6 พิน และปุ่มรีเซ็ต

ขั้นตอนที่ 24: เชื่อมต่อเทอร์มินัลภายนอก 6 พิน:

เชื่อมต่อขั้วต่อภายนอก 6 พิน
เชื่อมต่อขั้วต่อภายนอก 6 พิน
เชื่อมต่อเทอร์มินัลภายนอก 6 พิน
เชื่อมต่อเทอร์มินัลภายนอก 6 พิน
เชื่อมต่อเทอร์มินัลภายนอก 6 พิน
เชื่อมต่อเทอร์มินัลภายนอก 6 พิน
เชื่อมต่อเทอร์มินัลภายนอก 6 พิน
เชื่อมต่อเทอร์มินัลภายนอก 6 พิน

สำหรับการเชื่อมต่อแผงโซลาร์เซลล์ ใช้แบตเตอรี่และโหลดขั้วต่อสกรู 6 พินภายนอก

เชื่อมต่อขั้วภายนอกกับขั้วที่สอดคล้องกันของกระดานหลัก

ขั้นตอนที่ 25: เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต:

เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต
เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต
เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต
เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต

เชื่อมต่อแผงไฟแสดงสถานะและ LCD เข้ากับกระดานหลักตามแผนผัง (ใช้สายจัมเปอร์หญิง-หญิง)

ขั้วหนึ่งของปุ่มรีเซ็ตไปที่ RST ของ Arduino และอีกขั้วหนึ่งไปที่ GND

หลังจากการเชื่อมต่อทั้งหมด ปิดฝาครอบด้านหน้าแล้วขันให้แน่น

ขั้นตอนที่ 26: แนวคิดและการวางแผน

ไอเดียและการวางแผน
ไอเดียและการวางแผน
ไอเดียและการวางแผน
ไอเดียและการวางแผน

วิธีการพล็อตกราฟแบบเรียลไทม์?

เป็นเรื่องที่น่าสนใจมากหากคุณสามารถพล็อตพารามิเตอร์จอภาพแบบอนุกรม (เช่น แบตเตอรี่และแรงดันไฟฟ้าจากแสงอาทิตย์) ลงบนกราฟบนหน้าจอแล็ปท็อปของคุณได้ สามารถทำได้ง่ายมากถ้าคุณรู้เพียงเล็กน้อยเกี่ยวกับการประมวลผล

หากต้องการทราบข้อมูลเพิ่มเติม โปรดดูที่ Arduino และการประมวลผล (ตัวอย่างกราฟ)

จะบันทึกข้อมูลนั้นได้อย่างไร?

สามารถทำได้ง่ายโดยใช้การ์ด SD แต่มีความซับซ้อนและค่าใช้จ่ายมากกว่า เพื่อแก้ปัญหานี้ ฉันค้นหาผ่านอินเทอร์เน็ตและพบวิธีแก้ปัญหาที่ง่าย คุณสามารถบันทึกข้อมูลในแผ่นงาน Excel

สำหรับรายละเอียด คุณสามารถอ้างอิงการเห็น-เซ็นเซอร์-วิธีการ-มองเห็น-และ-บันทึก-arduino-sensed-data

รูปภาพด้านบนดาวน์โหลดจากเว็บ ฉันแนบมาเพื่อทำความเข้าใจว่าฉันต้องการทำอะไรและคุณสามารถทำอะไรได้บ้าง

การวางแผนในอนาคต:

1. การบันทึกข้อมูลระยะไกลผ่านอีเทอร์เน็ตหรือ WiFi

2. อัลกอริธึมการชาร์จที่ทรงพลังยิ่งขึ้นและการควบคุมโหลด

3.เพิ่มจุดชาร์จ USB สำหรับสมาร์ทโฟน/แท็บเล็ต

หวังว่าคุณจะสนุกกับคำแนะนำของฉัน

กรุณาแนะนำการปรับปรุงใด ๆ แสดงความคิดเห็นหากมีข้อผิดพลาดหรือข้อผิดพลาด

ติดตามฉันสำหรับการอัปเดตเพิ่มเติมและโครงการใหม่ที่น่าสนใจ

ขอบคุณ:)

การแข่งขันเทค
การแข่งขันเทค
การแข่งขันเทค
การแข่งขันเทค

รองชนะเลิศในการแข่งขันเทค

การประกวดไมโครคอนโทรลเลอร์
การประกวดไมโครคอนโทรลเลอร์
การประกวดไมโครคอนโทรลเลอร์
การประกวดไมโครคอนโทรลเลอร์

รองชนะเลิศการประกวดไมโครคอนโทรลเลอร์

แนะนำ: