Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang bisa digunakan untuk monitoring arus AC dengan maksimal 20A - 30A, jadi alat ini hanya memonitor arus saja tidak dengan tegangan AC 220v. tujuan dari alat ini sebenarnya bisa untuk monitor daya suatu peralatan rumah tangga seperti setrika, TV, kulkas dan lainnya. alat ini menggunakan arduino sebagai processornya dan sensor arus non invasive sebagai sensornya. untuk lebih jelasnya berikut adalah skema dan programnya.
a. Arduino + Skema Amplifier
b. Sensor Arus Non Invasive SCT-013
c. Program Arduino IDE
#include <Wire.h> // i2C Conection Library
unsigned long start_times[300];
unsigned long stop_times[300];
unsigned long values[300];
// Define various ADC prescaler
const unsigned char PS_16 = (1 << ADPS2);
const unsigned char PS_32 = (1 << ADPS2) | (1 << ADPS0);
const unsigned char PS_64 = (1 << ADPS2) | (1 << ADPS1);
const unsigned char PS_128 = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
void setup() {
Serial.begin(9600);
// set up the ADC
ADCSRA &= ~PS_128; // remove bits set by Arduino library
// you can choose a prescaler from above.
// PS_16, PS_32, PS_64 or PS_128
ADCSRA |= PS_128; // set our own prescaler to 64
}
void loop() {
unsigned int i;
unsigned int z;
z = 0;
// capture the values to memory
for(i=0;i<300;i++) {
start_times[i] = micros();
values[i] = analogRead(A0);
if (values[i] >= z) {
z = values[i];
}
stop_times[i] = micros();
}
int vin = z ;
float arus = (z - 517) / 1.666;
if(arus < 0){
arus = 0;
}
Serial.print("ADC= ");
Serial.print(vin);
Serial.print(" Arus= ");
Serial.println(arus);
z = 0;
delay(100);
}
d. VIDEO HASILNYA
No comments:
Post a Comment