Interfacing Bipolar AC Signals to Arduino ADC
Arduino's analog-to-digital converter (ADC) can only measure
voltages in the range of 0V to its reference voltage (typically 5V or 3.3V,
depending on the board). Bipolar AC signals, however, swing both above and
below 0V, which presents a challenge: negative voltages can damage the Arduino
and cannot be measured directly.
To safely and accurately interface a bipolar AC signal to
the Arduino ADC, you need to shift (bias) and scale the signal so that it fits
entirely within the ADC's input range.
One possible solution is described below.
Circuit Operation Overview
This circuit (fig.1) is a non-inverting
amplifier based on the AD8541 operational amplifier. It is designed to
convert a bipolar input signal (ranging from -0.1V to +0.1V)
into a unipolar output signal referenced to a single supply
voltage (+5V). The circuit achieves this by biasing the input and using AC
coupling.
fig.1
Key Components and Their Functions
1. Input Coupling Capacitor (C1, 1µF):
- Purpose: Blocks
any DC component from the input signal (Vin), allowing only the AC
(bipolar) part to pass through to the op-amp.
- Effect: Ensures
that the input signal is superimposed on a DC bias set by the resistor
divider (R3 and R4), which is crucial for single-supply operation.
2. Biasing Network (R3, 1kΩ and R4, 9kΩ):
- Purpose: Creates
a DC bias voltage at the non-inverting input of the op-amp.
·
Bias Voltage Calculation (R3-R4 Network)
The voltage divider formed by R3 and R4 sets the DC bias at
the non-inverting input of the op-amp. The correct formula for the voltage at
the junction (with respect to ground) is:
Vbias = R3/(R3+R4) × V+
Given:
- R3 = 1kΩ
- R4 = 9kΩ
- V+ = 5V
Vbias = 1k/(1k+9k) × 5V = 1/10 × 5V = 0.5V
3. Amplification of Both AC and DC Components
This is a non-inverting amplifier, so both the AC input
(after C1) and the DC bias from R3-R4 are amplified by the same gain:
Gain = 1 + R2/R1 = 1+2k/1k = 3
The output voltage (Vout) is given by:
Vout = Gain × (VinAC + Vbias)
- VinAC is the AC
signal after C1 (ranging from -0.1V to +0.1V).
- Vbias is 0.5V.
So,
Vout = 3 × (VinAC + 0.5V)
- When Vin,AC
= −0.1V:
Vout,min = 3 × (−0.1V + 0.5V) = 3 × 0.4V = 1.2V
- When Vin,AC
= +0.1V:
Vout,max = 3 × (0.1V + 0.5V) = 3 × 0.6V = 1.8V
Therefore, the output will swing from 1.2V to 1.8V as the
input swings from -0.1V to +0.1V.
5. Purpose of Capacitor C1
- C1 is
an AC coupling (blocking) capacitor. It blocks any DC component from the
input, ensuring that only the AC signal is passed to the non-inverting
input, which is then superimposed on the DC bias voltage provided by R3
and R4.
- This
allows the circuit to convert a bipolar AC input (centered at 0V) into a
unipolar output (centered at the amplified bias voltage).
Summary Table
Component |
Function |
Effect on Signal |
C1 |
AC coupling |
Passes AC, blocks DC
from Vin |
R3, R4 |
Voltage divider
(bias) |
Sets input bias at
0.5V |
R1, R2 |
Feedback (gain) |
Gain = 3 for both AC
and DC |
C2 |
Supply decoupling |
Reduces power supply
noise |
In this circuit, we can use many popular single-supply IORR op-amps (MCP6021, OP37, LM358, etc.).
- The
circuit shifts the input AC signal (±0.1V) up to a DC level of 0.5V, then amplifies
both the AC and DC components by 3.
- The
output is a unipolar signal, swinging from 1.2V to 1.8V, suitable for
single-supply systems.
- C1 ensures
only the AC component of the input is processed, while the DC operating
point is defined by the R3-R4 divider and amplified along with the signal.