Acs712 30a Range Current Sensor
Acs712 30a Range Current Sensor
Acs712 30a Range Current Sensor
Basic Overview
The ACS712 Current Sensors offered on the internet are designed to be easily used with micro controllers like the
Arduino.
These current sensors are offered with full scale values of 5A, 20A and 30A.
The basic functional operation of each of these devices is identical. The only difference is with the scale factor at the
output as detailed below.
Sensor Specifications
5A Module 20A Module 30A Module
Scale Factor 185 mV per Amp 100 mV per Amp 66 mV per Amp
Pay attention to the polarity at the load end of the device. If you are connected as illustrated below, the output will
raise. If you connect it opposite of this picture, the output will decrease from the 2.5 volt offset.
Basic Hook Up and Functional Description
As mentioned before, these modules are primarily designed for use with micro-controllers like the Arduino. In those
applications, the connections would be as picture below:
If the light bulb shown in the picture above were disconnected, the output of the ACS712 module would be 2.500 volts.
Once connected, the output would be scaled to the current drawn through the bulb. If this were a 5 Amp module and
the light bulb pulled 1 Amp, the output of the module would be 2.685 volts.
Now imagine the battery polarity reversed. Using the same 5A module, the output would be 2.315 volts.
IMPORTANT NOTE – This device is a Hall Effect transducer. It should not be used near significant magnetic fields.
The ACS712 Example Project Code
/*
Measuring Current Using ACS712
*/
const int analogIn = A0;
int mVperAmp = 185; // use 100 for 20A Module and 66 for 30A Module
int RawValue= 0;
int ACSoffset = 2500;
double Voltage = 0;
double Amps = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
RawValue = analogRead(analogIn);
Voltage = (RawValue / 1024.0) * 5000; // Gets you mV
Amps = ((Voltage - ACSoffset) / mVperAmp);