สารบัญ:
- ขั้นตอนที่ 1: อะไหล่และเครื่องมือที่จำเป็น:
- ขั้นตอนที่ 2: วิธีการทำงานของตัวควบคุมการชาร์จ:
- ขั้นตอนที่ 3: หน้าที่หลักของ Solar Charge Controller:
- ขั้นตอนที่ 4: การตรวจจับแรงดัน กระแส และอุณหภูมิ:
- ขั้นตอนที่ 5: การปรับเทียบเซ็นเซอร์
- ขั้นตอนที่ 6: อัลกอริธึมการชาร์จ
- ขั้นตอนที่ 7: การควบคุมการโหลด
- ขั้นตอนที่ 8: พลังงานและพลังงาน
- ขั้นตอนที่ 9: การป้องกัน
- ขั้นตอนที่ 10: ไฟ LED แสดงสถานะ
- ขั้นตอนที่ 11: จอ LCD
- ขั้นตอนที่ 12: การทดสอบ Bread Board
- ขั้นตอนที่ 13: พาวเวอร์ซัพพลายและเทอร์มินัล:
- ขั้นตอนที่ 14: ติดตั้ง Arduino:
- ขั้นตอนที่ 15: ประสานส่วนประกอบ
- ขั้นตอนที่ 16: เชื่อมต่อเซ็นเซอร์ปัจจุบัน
- ขั้นตอนที่ 17: สร้างแผงตัวบ่งชี้และเซ็นเซอร์อุณหภูมิ
- ขั้นตอนที่ 18: การเชื่อมต่อสำหรับตัวควบคุมการชาร์จ
- ขั้นตอนที่ 19: การทดสอบขั้นสุดท้าย:
- ขั้นตอนที่ 20: การติดตั้งกระดานหลัก:
- ขั้นตอนที่ 21: สร้างพื้นที่สำหรับ LCD:
- ขั้นตอนที่ 22: เจาะรู:
- ขั้นตอนที่ 23: ติดตั้งทุกอย่าง:
- ขั้นตอนที่ 24: เชื่อมต่อเทอร์มินัลภายนอก 6 พิน:
- ขั้นตอนที่ 25: เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต:
- ขั้นตอนที่ 26: แนวคิดและการวางแผน
วีดีโอ: ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน 2.0): 26 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
[เล่นวีดีโอ]
หนึ่งปีที่แล้ว ฉันเริ่มสร้างระบบสุริยะของตัวเองเพื่อจ่ายพลังงานให้กับบ้านในหมู่บ้านของฉัน ตอนแรกฉันสร้างตัวควบคุมการชาร์จที่ใช้ 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 แสดงสถานะการชาร์จ (SOC) ของแบตเตอรี่:
พารามิเตอร์สำคัญอย่างหนึ่งที่กำหนดปริมาณพลังงานของแบตเตอรี่คือสถานะการชาร์จ (SOC) พารามิเตอร์นี้ระบุว่ามีประจุเท่าใดในแบตเตอรี่
ไฟ LED RGB ใช้เพื่อระบุสถานะการชาร์จของแบตเตอรี่ สำหรับการเชื่อมต่อโปรดดูแผนผังด้านบน
LED แบตเตอรี่ ---------- สถานะแบตเตอรี่
สีแดง ------------------ แรงดันไฟต่ำ
สีเขียว ------------------ แรงดันไฟแข็งแรง
BLUE ------------------ ชาร์จเต็มแล้ว
โหลด LED:
ไฟ LED สองสี (แดง/เขียว) ใช้สำหรับแสดงสถานะการโหลด อ้างถึงแผนผังด้านบนสำหรับการเชื่อมต่อ
โหลด LED ------------------- สถานะโหลด
สีเขียว ----------------------- เชื่อมต่อแล้ว (เปิด)
สีแดง ------------------------- ตัดการเชื่อมต่อ (ปิด)
ฉันรวม led ที่สามเพื่อระบุสถานะแผงโซลาร์เซลล์
ขั้นตอนที่ 11: จอ 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:
ตัดแถบส่วนหัวตัวเมีย 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 ที่ฝาครอบด้านหน้าของตัวเครื่อง
ตัดส่วนที่ทำเครื่องหมายออกโดยใช้เดรเมลหรือเครื่องมือตัดอื่นๆ หลังจากตัดเสร็จโดยใช้มีดงานอดิเรก
ขั้นตอนที่ 22: เจาะรู:
เจาะรูสำหรับติดตั้ง LCD, แผงไฟ LED, ปุ่มรีเซ็ต และขั้วต่อภายนอก
ขั้นตอนที่ 23: ติดตั้งทุกอย่าง:
หลังจากทำรูยึดแผงแล้ว ขั้วต่อสกรู 6 พิน และปุ่มรีเซ็ต
ขั้นตอนที่ 24: เชื่อมต่อเทอร์มินัลภายนอก 6 พิน:
สำหรับการเชื่อมต่อแผงโซลาร์เซลล์ ใช้แบตเตอรี่และโหลดขั้วต่อสกรู 6 พินภายนอก
เชื่อมต่อขั้วภายนอกกับขั้วที่สอดคล้องกันของกระดานหลัก
ขั้นตอนที่ 25: เชื่อมต่อ LCD, แผงไฟแสดงสถานะ และปุ่มรีเซ็ต:
เชื่อมต่อแผงไฟแสดงสถานะและ LCD เข้ากับกระดานหลักตามแผนผัง (ใช้สายจัมเปอร์หญิง-หญิง)
ขั้วหนึ่งของปุ่มรีเซ็ตไปที่ RST ของ Arduino และอีกขั้วหนึ่งไปที่ GND
หลังจากการเชื่อมต่อทั้งหมด ปิดฝาครอบด้านหน้าแล้วขันให้แน่น
ขั้นตอนที่ 26: แนวคิดและการวางแผน
วิธีการพล็อตกราฟแบบเรียลไทม์?
เป็นเรื่องที่น่าสนใจมากหากคุณสามารถพล็อตพารามิเตอร์จอภาพแบบอนุกรม (เช่น แบตเตอรี่และแรงดันไฟฟ้าจากแสงอาทิตย์) ลงบนกราฟบนหน้าจอแล็ปท็อปของคุณได้ สามารถทำได้ง่ายมากถ้าคุณรู้เพียงเล็กน้อยเกี่ยวกับการประมวลผล
หากต้องการทราบข้อมูลเพิ่มเติม โปรดดูที่ Arduino และการประมวลผล (ตัวอย่างกราฟ)
จะบันทึกข้อมูลนั้นได้อย่างไร?
สามารถทำได้ง่ายโดยใช้การ์ด SD แต่มีความซับซ้อนและค่าใช้จ่ายมากกว่า เพื่อแก้ปัญหานี้ ฉันค้นหาผ่านอินเทอร์เน็ตและพบวิธีแก้ปัญหาที่ง่าย คุณสามารถบันทึกข้อมูลในแผ่นงาน Excel
สำหรับรายละเอียด คุณสามารถอ้างอิงการเห็น-เซ็นเซอร์-วิธีการ-มองเห็น-และ-บันทึก-arduino-sensed-data
รูปภาพด้านบนดาวน์โหลดจากเว็บ ฉันแนบมาเพื่อทำความเข้าใจว่าฉันต้องการทำอะไรและคุณสามารถทำอะไรได้บ้าง
การวางแผนในอนาคต:
1. การบันทึกข้อมูลระยะไกลผ่านอีเทอร์เน็ตหรือ WiFi
2. อัลกอริธึมการชาร์จที่ทรงพลังยิ่งขึ้นและการควบคุมโหลด
3.เพิ่มจุดชาร์จ USB สำหรับสมาร์ทโฟน/แท็บเล็ต
หวังว่าคุณจะสนุกกับคำแนะนำของฉัน
กรุณาแนะนำการปรับปรุงใด ๆ แสดงความคิดเห็นหากมีข้อผิดพลาดหรือข้อผิดพลาด
ติดตามฉันสำหรับการอัปเดตเพิ่มเติมและโครงการใหม่ที่น่าสนใจ
ขอบคุณ:)
รองชนะเลิศในการแข่งขันเทค
รองชนะเลิศการประกวดไมโครคอนโทรลเลอร์
แนะนำ:
ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02): 25 ขั้นตอน (พร้อมรูปภาพ)
ARDUINO PWM SOLAR CHARGE CONTROLLER (V 2.02): หากคุณกำลังวางแผนที่จะติดตั้งระบบพลังงานแสงอาทิตย์แบบ off-grid พร้อมแบตเตอรีแบตเตอรี คุณจะต้องมี Solar Charge Controller เป็นอุปกรณ์ที่วางอยู่ระหว่างแผงโซลาร์เซลล์และแบตเตอรีแบงค์เพื่อควบคุมปริมาณพลังงานไฟฟ้าที่ผลิตโดยโซล่า
"ปิดการใช้งาน" หรือการถอดไมโครโฟนใน FireTV Controller เวอร์ชัน 2: 3 ขั้นตอน
"การปิดใช้งาน" หรือการถอดไมโครโฟนในตัวควบคุม FireTV เวอร์ชัน 2: เนื่องจากไม่มีวิธีแก้ไขที่ชัดเจนในการปิดใช้งานไมโครโฟนในตัวควบคุม FireTV โดยการตั้งค่าซอฟต์แวร์ อีกทางเลือกเดียวคือการถอดไมโครโฟนออกทางร่างกาย สำหรับ FireTV เวอร์ชันแรก controller โซลูชั่นอื่นสามารถช่วย, ท่า
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน-1): 11 ขั้นตอน (พร้อมรูปภาพ)
ARDUINO SOLAR CHARGE CONTROLLER (เวอร์ชัน-1): [เล่นวิดีโอ] ในคำแนะนำก่อนหน้าของฉัน ฉันได้อธิบายรายละเอียดเกี่ยวกับการตรวจสอบพลังงานของระบบสุริยะนอกกริด ฉันยังชนะการแข่งขันวงจร 123D สำหรับสิ่งนั้น คุณสามารถเห็น ARDUINO ENERGY METER นี้ .ในที่สุด ฉันโพสต์การเรียกเก็บเงินเวอร์ชัน -3 ใหม่ของฉัน
IOT123 - SOLAR 18650 CHARGE CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)
IOT123 - SOLAR 18650 CHARGE CONTROLLER: ชาร์จแบตเตอรี่ 18650 จากแผงโซลาร์เซลล์ (สูงสุด 3) และแยกขั้วต่อไฟออก 2 ตัว (พร้อมสวิตช์) เดิมทีออกแบบมาสำหรับ SOLAR TRACKER (Rig and Controller) เป็นแบบทั่วไปและจะใช้สำหรับ CYCLING HELMET SOLAR PANE
The Word Clock - เวอร์ชัน Arduino: 11 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาคำ - เวอร์ชัน Arduino: ******************************************* ******************************* การอัปเดตที่สำคัญ - กล่องนาฬิกาที่ดีกว่ามากได้รับการออกแบบ - ตรวจสอบ https:/ /www.instructables.com/id/The-Wordclock-Grew-Up/ ******************************