The ACS758 is a Hall-effect-based current sensor designed for accurate and isolated current measurement. It is capable of measuring both AC and DC currents, making it a versatile component for a wide range of applications. The sensor outputs an analog voltage proportional to the current flowing through its primary conductor, enabling real-time monitoring and control.
The ACS758 is available in various models with different current ranges. Below are the key technical details:
Parameter | Value |
---|---|
Supply Voltage (Vcc) | 3.0V to 5.5V |
Current Measurement Range | ±50A, ±100A, ±150A, ±200A (model-dependent) |
Sensitivity | 20mV/A to 40mV/A (model-dependent) |
Output Voltage Range | 0.5V to 4.5V (nominal) |
Bandwidth | 120 kHz |
Response Time | 4 µs |
Isolation Voltage | 3.0 kV RMS |
Operating Temperature Range | -40°C to +150°C |
The ACS758 is typically available in a 5-pin package. Below is the pinout description:
Pin Number | Pin Name | Description |
---|---|---|
1 | Vcc | Power supply input (3.0V to 5.5V) |
2 | GND | Ground connection |
3 | VIOUT | Analog output voltage proportional to current |
4 | IP+ | Positive current input terminal |
5 | IP- | Negative current input terminal |
Below is an example of how to interface the ACS758 with an Arduino UNO to measure current:
// Define the analog pin connected to the ACS758 VIOUT pin
const int sensorPin = A0;
// Define the zero-current output voltage (2.5V for 5V supply)
const float zeroCurrentVoltage = 2.5;
// Define the sensitivity of the ACS758 (e.g., 40mV/A for ±50A model)
const float sensitivity = 0.04; // 40mV/A
void setup() {
Serial.begin(9600); // Initialize serial communication
}
void loop() {
// Read the analog value from the sensor
int sensorValue = analogRead(sensorPin);
// Convert the analog value to voltage (assuming 5V reference)
float voltage = sensorValue * (5.0 / 1023.0);
// Calculate the current in Amperes
float current = (voltage - zeroCurrentVoltage) / sensitivity;
// Print the current to the Serial Monitor
Serial.print("Current: ");
Serial.print(current);
Serial.println(" A");
delay(1000); // Wait for 1 second before the next reading
}
No Output or Incorrect Readings:
Noisy Output Signal:
Output Voltage Does Not Match Expected Value:
Temperature-Related Drift:
Q: Can the ACS758 measure both AC and DC currents?
A: Yes, the ACS758 can measure both AC and DC currents accurately.
Q: What happens if the current exceeds the sensor's rated range?
A: Exceeding the rated current may damage the sensor or result in inaccurate readings. Always choose a model with an appropriate current range for your application.
Q: Is the ACS758 suitable for high-voltage applications?
A: Yes, the ACS758 provides electrical isolation up to 3.0 kV RMS, making it suitable for high-voltage applications.
Q: How do I select the correct ACS758 model for my application?
A: Choose a model with a current range that matches or slightly exceeds the maximum current in your application. For example, use the ±50A model for currents up to 50A.
Q: Can I use the ACS758 with a 3.3V microcontroller?
A: Yes, the ACS758 operates with a supply voltage as low as 3.0V, making it compatible with 3.3V systems.