จากไอเดียเรื่องการสร้าง Solar Charger Controller ที่ผมได้เขียนไว้ในบทความตอนที่แล้ว วันนี้ก็มาเริ่มทดลองกันแล้วครับ concept ก็ง่ายๆ เพียงใช้ตัวต้านทานแบ่งแรงดันสักสองตัว เหตุผลที่ต้องใช้วงจรแบ่งแรงดัน เนื่องจากเราจะใช้ arduino analog port ในการอ่านค่าแรงดัน และ port นี้มันอ่านได้สูงสุดแค่ 5v ดังนั้น เราป้อนไฟ 12v เข้าไปจะทำให้ควันขึ้นแน่ๆครับ
วงจรและสูตรการคำนวณวงจรแบ่งแรงดัน
หลังจากการคำนวณกันจนมือหงิกแล้ว ก็ได้ความต้านทานมาเพื่อจะมาใช้งานกันครับ สำหรับ vout อย่าให้เกิน 5v ให้อยู่ราวๆ 4 – 4.5 v กำลังดีในขณะที่เราป้อน Vin เข้าไป 18 – 20 v
R1=100k, R2 = 33k
หลังจากนั้นมาเริ่มต่อวงจรเข้ากับ arduino กันเลยครับ จากตัวอย่างการต่อด้านล่างผมจะต่อ vin เข้ากับ port 5v ของ arduino UNO เพื่อทำการ calibrated แรงดันที่อ่านมาได้
ซึ่งถ้าดูใน serial monitor ก็จะอ่านออกมาราวๆ 4.9 – 5v
หลังจากนั้น เรามาลองต่อแบต 12v แล้วอ่านค่ากันเลยครับ
วงจรทดลองอ่านค่า vin สำหรับควบคุมการชาร์ตแบตเตอรี่
/* Voltage divider measument Reading voltage mesurment from source by using divider circuit. The circuit: * Vin = (R1+R2)/R2 x Vout Created 14 Apr 2017 By Chokeumnuay Khowsakool https://www.chokelive.com */ float vavg=0; float vfactor=0; float vin=0; void setup(){ Serial.begin(9600); } void loop(){ // Average voltage reading by read 100 times for(int i = 0; i < 100; i++){ vavg += analogRead(A0);; delay(2); } vavg = vavg/100; // Voltage calibration // resistors are R1=100k and R2=33k // 5/1024 =0.00488 vfactor = 0.004863 * (133/33); vin = vfactor * vavg ; // Display voltage Serial.print(vin); Serial.println("V"); delay(500); }