This circuit is designed to monitor the current and voltage of two solar panels using MAX471 current sensors and an Arduino UNO. The solar panels are connected to a solar charge controller, which in turn is connected to a 12V 200Ah battery. An ESP32 microcontroller is also included in the circuit for additional functionality.
Solar Panel
MAX471
Solar Charge Controller
Arduino UNO
12V 200Ah Battery
ESP32
// Pin analog untuk sensor MAX471
const int AT_PIN1 = A0; // Pin AT untuk sensor Panel 1
const int VT_PIN1 = A1; // Pin VT untuk sensor Panel 1
const int AT_PIN2 = A2; // Pin AT untuk sensor Panel 2
const int VT_PIN2 = A3; // Pin VT untuk sensor Panel 2
void setup() {
Serial.begin(9600); // Inisialisasi komunikasi serial
}
void loop() {
// Membaca data arus dan tegangan dari Panel 1
int atValue1 = analogRead(AT_PIN1);
float current1 = (atValue1 / 1024.0) * 5.0 / 0.1; // 1V = 1A, 0.1V = 0.1A (skala 0.1V/A)
int vtValue1 = analogRead(VT_PIN1);
float voltage1 = (vtValue1 / 1024.0) * 5.0; // Tegangan analog 0-5V
// Membaca data arus dan tegangan dari Panel 2
int atValue2 = analogRead(AT_PIN2);
float current2 = (atValue2 / 1024.0) * 5.0 / 0.1; // 1V = 1A, 0.1V = 0.1A (skala 0.1V/A)
int vtValue2 = analogRead(VT_PIN2);
float voltage2 = (vtValue2 / 1024.0) * 5.0; // Tegangan analog 0-5V
// Mengirim data ke Serial Monitor
Serial.print("Panel1_Current: ");
Serial.print(current1);
Serial.print(" A, ");
Serial.print("Panel1_Voltage: ");
Serial.print(voltage1);
Serial.println(" V");
Serial.print("Panel2_Current: ");
Serial.print(current2);
Serial.print(" A, ");
Serial.print("Panel2_Voltage: ");
Serial.print(voltage2);
Serial.println(" V");
delay(1000); // Delay 1 detik untuk pembacaan berikutnya
}
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
This documentation provides a comprehensive overview of the circuit, including a summary, component list, wiring details, and documented code for the microcontrollers.