এসি অ্যামিটার

এই এক্সপেরিমেন্টে আমরা আরডুইনোভিত্তিক একটি এসি অ্যামিটার তৈরী করব। এসি অ্যামিটার তৈরী করতে ব্যবহার করা হবে একটি Grove-electricity sensor।এটি মূলত একটি স্টেপ ডাউন কারেন্ট ট্রান্সফর্মার। এই ট্রান্সফর্মারের টার্ন রেশিও ২০০০ঃ১। এর রেজিস্টেন্স ৮০০ ওহম। আমাদের তৈরী অ্যামিটারটি দিয়ে সর্বোচ্চ ৫ অ্যাম্পিয়ার পর্যন্ত এসি কারেন্ট পরিমাপ করা যাবে।

প্রয়োজনীয় যন্ত্রপাতি পরিমাণ প্রোডাক্ট লিংক
Arduino UNO R3 1 http://bit.ly/2KhV84M
Grove-electricity sensor 1 http://bit.ly/314YmT6
LCD module 1 http://bit.ly/2FVVPCQ  
9V battery 1 http://bit.ly/2JWWj99  
9V battery connector with power jack 1 http://bit.ly/2QrofVV  
Power cable 2 pin 1 http://bit.ly/2ruTGoh  
Male to female jumper 9 http://bit.ly/2rIu6w2  
Male to male jumper 2 http://bit.ly/2IkA1hy  
Bulb with holder 1  
Electric cable 2

প্রোগ্রামঃ

#include <LiquidCrystal.h>
    #define ELECTRICITY_SENSOR A0 // Analog input pin that sensor is attached to
   

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

    float amplitude_current;               //amplitude current
    float effective_value;       //effective current

    void setup()
    {
        lcd.begin(16, 2);
        Serial.begin(9600);
        pins_init();
    }
    void loop()
    {
        int sensor_max;
        sensor_max = getMaxValue();
        Serial.print("sensor_max = ");
        Serial.println(sensor_max);
        //the VCC on the Grove interface of the sensor is 5v
        amplitude_current=(float)sensor_max/1024*5/800*2000000;
        effective_value=amplitude_current/1.414;//minimum_current=1/1024*5/800*2000000/1.414=8.6(mA)
                            //Only for sinusoidal alternating current
        Serial.println("The amplitude of the current is(in mA)");
        Serial.println(amplitude_current,1);//Only one number after the decimal point
        lcd.setCursor(0,0);
        lcd.print("Peak=");
        lcd.print(amplitude_current);
         
        lcd.print("mA ");
        lcd.setCursor(0,1);
        lcd.print("RMS=");
        lcd.print(effective_value);
        
        lcd.print("mA ");
        
        Serial.println("The effective value of the current is(in mA)");
        Serial.println(effective_value,1);
    }
    void pins_init()
    {
        pinMode(ELECTRICITY_SENSOR, INPUT);
    }
    /*Function: Sample for 1000ms and get the maximum value from the SIG pin*/
    int getMaxValue()
    {
        int sensorValue;             //value read from the sensor
        int sensorMax = 0;
        uint32_t start_time = millis();
        while((millis()-start_time) < 1000)//sample for 1000ms
        {
            sensorValue = analogRead(ELECTRICITY_SENSOR);
            if (sensorValue > sensorMax)
            {
                /*record the maximum sensor value*/
                sensorMax = sensorValue;
            }
        }
        return sensorMax;
    }

সার্কিট কানেকশনঃ

ইলেক্ট্রিসিটি সেন্সর এবং আরডুইনোর মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।

Arduino UNO R3 Grove electricity sensor
VCC/AREF RED
GND Black
A0 Yellow

এলসিডি মডিউল এবং আরডুইনোর মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।

LCD module Arduino UNO R3
VCC 5V
GND GND
RS 12
RW GND
E 11
D4 5
D5 4
D6 3
D7 2

এবার নিচের ছবি অনুযায়ী বাল্ব হোল্ডারের সাথে সল্ডার করা একটি তারকে কারেন্ট সেন্সরের মধ্যে প্রবেশ করান। এবার বাল্বের দুই তারের সাথে এসি কেবলের দুই তার যুক্ত করুন। AC প্লাগটিকে সকেটে প্রবেশ করান।


বাল্ব জ্বলে উঠবে এবং এলসিডিতে বাল্বের ভেতর দিয়ে প্রবাহিত কারেণ্টের পরিমাণ দেখা যাবে।

আমাদের পুরো সেট আপটি দেখতে ছিল এরকম।

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.