Stufin
Home Quick Cart Profile

30A ACS712 Current Sensor

Buy Now on Stufin

Current Range

30A

Sensitivity

66 mV/A

Output Voltage

0-5V

Supply Voltage

5V

Operating Temperature

-20C to 80C

Response Time

100 s

Accuracy

1.5% at 25C

Applications

The 30A ACS712 Current Sensor module is suitable for a wide range of applications, including

Robotics and motor control

Industrial automation and process control

IoT projects and device monitoring

Energy monitoring and power management

Electric vehicle charging and management

Pinout

The module has a standard 5-pin configuration

VCC

5V power supply

GND

Ground

OUT

Analog output voltage

IP+Positive current input
IP-Negative current input

By providing accurate and reliable current measurements, the 30A ACS712 Current Sensor module is an essential component for a wide range of applications where current monitoring and control are critical.

Pin Configuration

  • 30A ACS712 Current Sensor Pinout Explanation and Connection Guide
  • The 30A ACS712 Current Sensor is a popular and widely used current sensing module for IoT and robotics applications. It measures AC or DC currents up to 30A with high accuracy and provides an analog output signal proportional to the sensed current. Here's a detailed explanation of each pin and a step-by-step connection guide:
  • Pinout:
  • 1. VCC (Pin 1):
  • Function: Power supply voltage input
  • Recommended voltage range: 4.5V to 5.5V
  • Connection: Connect to a stable 5V power supply (e.g., Arduino's 5V pin or a dedicated power source)
  • 2. GND (Pin 2):
  • Function: Ground reference
  • Connection: Connect to the ground pin of your microcontroller or the common ground of your circuit
  • 3. OUT (Pin 3):
  • Function: Analog output signal
  • Output voltage range: 0V to 5V (proportional to the sensed current)
  • Connection: Connect to an analog input pin of your microcontroller (e.g., Arduino's A0-A5 pins)
  • 4. IP+ (Pin 4):
  • Function: Positive current input
  • Connection: Connect to the positive terminal of the current-carrying wire (e.g., the positive wire of a motor or a load)
  • 5. IP- (Pin 5):
  • Function: Negative current input
  • Connection: Connect to the negative terminal of the current-carrying wire (e.g., the negative wire of a motor or a load)
  • Connection Structure:
  • To connect the 30A ACS712 Current Sensor, follow these steps:
  • 1. Connect the VCC pin (Pin 1) to a stable 5V power supply.
  • 2. Connect the GND pin (Pin 2) to the ground pin of your microcontroller or the common ground of your circuit.
  • 3. Connect the OUT pin (Pin 3) to an analog input pin of your microcontroller (e.g., Arduino's A0-A5 pins).
  • 4. Connect the IP+ pin (Pin 4) to the positive terminal of the current-carrying wire.
  • 5. Connect the IP- pin (Pin 5) to the negative terminal of the current-carrying wire.
  • Important Notes:
  • Make sure to connect the current-carrying wire to the IP+ and IP- pins correctly, as incorrect connections may damage the sensor or cause inaccurate readings.
  • Ensure the power supply voltage (VCC) is within the recommended range (4.5V to 5.5V) to avoid damage to the sensor.
  • Use a suitable current-carrying wire that can handle the maximum current rating of the sensor (30A in this case).
  • When connecting the sensor to a microcontroller, ensure the analog input pin is configured correctly to read the output voltage signal from the sensor.
  • By following these guidelines, you can successfully connect and use the 30A ACS712 Current Sensor in your IoT or robotics projects.

Code Examples

30A ACS712 Current Sensor Documentation
Overview
The 30A ACS712 current sensor is a high-accuracy, hall-effect-based current sensor capable of measuring up to 30A of DC or AC current. It is a popular choice for IoT and robotics projects that require precise current measurement. This documentation provides an overview of the component, its specifications, and code examples to get you started with using it in your projects.
Specifications
Measurement range: 30A
 Sensitivity: 66 mV/A
 Output voltage: 0-5V (proportional to current)
 Accuracy: 1.5%
 Response time: 5 s
 Operating voltage: 5V
 Operating temperature: -20C to 85C
Code Examples
### Example 1: Basic Current Measurement with Arduino
This example demonstrates how to use the 30A ACS712 current sensor with an Arduino board to measure the current flowing through a load.
```c
const int sensorPin = A0;  // Connect the sensor output to analog pin A0
const float sensitivity = 0.066;  // mV/A sensitivity
const float voltageRef = 5.0;  // Reference voltage (VCC)
void setup() {
  Serial.begin(9600);
}
void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = sensorValue  (voltageRef / 1023.0);
  float current = (voltage - 2.5) / sensitivity;  // Calculate current in amps
Serial.print("Current: ");
  Serial.print(current, 2);
  Serial.println(" A");
delay(500);
}
```
### Example 2: Current Monitoring with ESP32 (Wi-Fi) and ThingSpeak
This example shows how to use the 30A ACS712 current sensor with an ESP32 board to monitor and upload current data to ThingSpeak, a popular IoT cloud platform.
```c
#include <WiFi.h>
#include <ThingSpeak.h>
const char ssid = "your_ssid";
const char password = "your_password";
const char thingSpeakApiKey = "your_api_key";
const char thingSpeakChannelId = "your_channel_id";
WiFiClient client;
ThingSpeak ts(client);
const int sensorPin = 32;  // Connect the sensor output to pin 32
void setup() {
  Serial.begin(9600);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  ThingSpeak.begin(client);
}
void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = sensorValue  (3.3 / 4095.0);
  float current = (voltage - 2.5) / 0.066;  // Calculate current in amps
int status = ThingSpeak.setField(1, String(current, 2));
  status = ThingSpeak.writeFields(thingSpeakChannelId, thingSpeakApiKey);
  if (status == 200) {
    Serial.println("Data uploaded successfully!");
  } else {
    Serial.println("Error uploading data: " + String(status));
  }
  delay(15000);  // Upload data every 15 seconds
}
```
Note: In both examples, ensure to connect the sensor output to an analog input pin on your board, and adjust the voltage reference and sensitivity variables according to your specific setup.