Translate

MONITOR SENSOR ARUS AC NON INVASIVE CLAMP SCT 013 (CURRENT SENSOR) ARDUINO

MONITOR SENSOR ARUS AC NON INVASIVE CLAMP SCT 013 (CURRENT SENSOR) ARDUINO


         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