
Mạch khuếch đại không đảo Op-Amp: Công thức Gain và thiết kế PCB
Giải thích công thức Av = 1 + R2/R1, quan hệ gain-bandwidth (GBW), sai số điện trở và offset voltage khi khuếch đại tín hiệu cảm biến nhỏ (shunt, cặp nhiệt điện) trước ADC ESP32.
Mạch khuếch đại không đảo dùng op-amp khuếch đại tín hiệu cảm biến biên độ nhỏ (mV) lên dải phù hợp với ADC vi điều khiển, với hệ số khuếch đại xác định bằng hai điện trở feedback Av = 1 + R2/R1.
Hướng dẫn chi tiết
Tìm hiểu mạch khuếch đại không đảo dùng op-amp, cách tính hệ số khuếch đại bằng điện trở feedback, giới hạn điện áp đầu vào và đầu ra, bandwidth, schematic, cách đặt tụ decoupling và PCB cho tín hiệu analog chính xác.
Mạch khuếch đại không đảo, hay Non-Inverting Amplifier, là một trong những cấu hình op-amp phổ biến nhất để khuếch đại tín hiệu analog mà không làm đảo pha tín hiệu.
Nếu đầu vào tăng:
VIN ↑
thì đầu ra cũng tăng:
VOUT ↑
Khác với mạch khuếch đại đảo, tín hiệu đầu ra của cấu hình này cùng pha với đầu vào.
Schematic cơ bản:
R2
┌───/\/\/\───┐
│ │
│ VOUT
│ │
VIN ───────► +\ │
| \_________┘
| /
|/
-
│
R1
│
GND
Hệ số khuếch đại được xác định chủ yếu bởi hai điện trở:
R1
R2
với công thức:
\[ A_V=1+\frac{R_2}{R_1} \]
Đây là một mạch rất hữu ích trong:
- Khuếch đại tín hiệu cảm biến.
- Conditioning tín hiệu trước ADC.
- Khuếch đại điện áp từ shunt hoặc sensor analog.
- Audio mức nhỏ.
- Các tầng analog trong hệ thống ESP32, STM32 và Arduino.
1. Nguyên lý hoạt động
Tín hiệu VIN được đưa trực tiếp vào chân:
+
của op-amp.
Một phần điện áp đầu ra được đưa ngược về chân:
-
thông qua mạng feedback R1 và R2.
Op-amp sử dụng feedback âm để cố duy trì:
\[ V_+\approx V_- \]
Ta có:
\[ V_+=V_{IN} \]
Do đó:
\[ V_-\approx V_{IN} \]
Điện áp tại chân - là điện áp chia từ VOUT:
\[ V_-=V_{OUT}\frac{R_1}{R_1+R_2} \]
Suy ra:
\[ V_{IN}=V_{OUT}\frac{R_1}{R_1+R_2} \]
và:
\[ V_{OUT}=V_{IN}\left(1+\frac{R_2}{R_1}\right) \]
2. Công thức Gain
Hệ số khuếch đại:
\[ A_V=\frac{V_{OUT}}{V_{IN}} \]
Với mạch không đảo:
\[ A_V=1+\frac{R_2}{R_1} \]
Trong đó:
R1: từ input đảo xuống reference, thường là GND.R2: từ VOUT về input đảo.
Ví dụ:
R1 = 10 kΩ
R2 = 10 kΩ
thì:
\[ A_V=1+\frac{10k}{10k}=2 \]
Nếu:
VIN = 1 V
thì lý tưởng:
\[ VOUT=2V \]
3. Ví dụ Gain = 3
Muốn:
AV = 3
Ta cần:
\[ 3=1+\frac{R_2}{R_1} \]
Suy ra:
\[ \frac{R_2}{R_1}=2 \]
Nếu chọn:
R1 = 10 kΩ
thì:
R2 = 20 kΩ
Với:
VIN = 0.8 V
ta có:
\[ VOUT=0.8\times3=2.4V \]
nếu op-amp còn nằm trong vùng hoạt động hợp lệ.
4. Không thể khuếch đại vượt điện áp nguồn
Giả sử op-amp được cấp:
0–3.3 V
và:
Gain = 3
VIN = 2 V
công thức lý tưởng cho:
\[ VOUT=6V \]
Nhưng op-amp chỉ có nguồn 3.3 V nên không thể tạo 6 V.
Output sẽ tiến tới giới hạn rail và bị:
Saturation / Clipping
Do đó công thức gain chỉ đúng khi output vẫn nằm trong vùng hoạt động của op-amp.
5. Output Swing
Ngay cả khi nguồn là:
0–3.3 V
không phải op-amp nào cũng cho output chính xác:
0–3.3 V
Một op-amp có thể chỉ đạt:
0.05–3.20 V
hoặc thậm chí hẹp hơn tùy tải.
Cần kiểm tra:
Output Voltage Swing
trong datasheet.
Nếu mạch làm việc với ESP32 hoặc STM32 3.3 V, op-amp rail-to-rail output thường thuận tiện hơn.
6. Input Common-Mode Range
Tín hiệu VIN cũng phải nằm trong:
Input Common-Mode Voltage Range
của op-amp.
Ví dụ op-amp cấp 5 V nhưng chỉ chấp nhận input:
1–4 V
thì tín hiệu:
0.2 V
có thể không được xử lý đúng.
Đây là một lỗi rất phổ biến khi dùng các op-amp đời cũ trong hệ thống nguồn đơn.
7. Rail-to-Rail Input và Output
Với MCU 3.3 V, lựa chọn thuận tiện thường là op-amp:
Rail-to-Rail Input
+
Rail-to-Rail Output
hay viết tắt:
RRIO
Tuy nhiên "rail-to-rail" vẫn phải đọc theo datasheet vì khoảng cách thực tế tới rail phụ thuộc:
- Load current.
- Temperature.
- Supply voltage.
8. Chọn Gain theo dải ADC
Giả sử sensor tạo:
0–1 V
ADC của MCU đọc:
0–3.3 V
Có thể khuếch đại gần:
\[ A_V\approx3 \]
để tận dụng phần lớn dải ADC.
Ví dụ:
R1 = 10 kΩ
R2 = 20 kΩ
cho:
\[ A_V=3 \]
Sensor:
0.8 V
sẽ trở thành:
2.4 V
9. Không nên thiết kế sát 3.3 V tuyệt đối
Nếu sensor maximum danh nghĩa:
1.1 V
và gain 3:
\[ 1.1\times3=3.3V \]
thiết kế này gần như không có margin cho:
- Sensor tolerance.
- Resistor tolerance.
- Op-amp offset.
- Noise.
- ADC protection margin.
Thực tế có thể chọn gain thấp hơn, ví dụ:
2.7
để giữ headroom.
10. Cách tính điện trở khi biết Gain
Công thức:
\[ A_V=1+\frac{R_2}{R_1} \]
Suy ra:
\[ R_2=R_1(A_V-1) \]
Ví dụ muốn:
Gain = 2.5
chọn:
R1 = 10 kΩ
thì:
\[ R_2=10k(2.5-1) \]
\[ R_2=15kΩ \]
11. Chọn giá trị điện trở bao nhiêu?
Không nên chọn quá thấp vì:
VOUT → R2 → R1 → GND
sẽ tiêu thụ dòng không cần thiết.
Ví dụ:
R1 = R2 = 100 Ω
ở VOUT = 3 V tạo dòng khoảng:
15 mA
khá lớn.
Ngược lại nếu dùng:
R1 = 10 MΩ
R2 = 10 MΩ
mạch dễ bị ảnh hưởng bởi:
- Input bias current.
- Leakage.
- PCB contamination.
- Noise.
Trong nhiều mạch analog thông thường, vùng:
1 kΩ – 100 kΩ
thường dễ sử dụng, nhưng giá trị cuối cùng phải dựa trên op-amp và yêu cầu noise/power.
12. Resistor Tolerance ảnh hưởng Gain
Gain phụ thuộc tỷ lệ:
\[ \frac{R_2}{R_1} \]
Nếu dùng resistor:
±5%
gain thực tế có thể khác đáng kể.
Với mạch ADC cần độ chính xác tốt hơn, thường chọn:
1%
hoặc:
0.1%
tùy yêu cầu.
Quan trọng nhất là matching ratio của hai resistor.
13. Input Offset Voltage
Op-amp thực tế có:
VOS
hay Input Offset Voltage.
Ví dụ:
VOS = 1 mV
Với gain:
10
sai số output do offset có thể lên mức xấp xỉ:
10 mV
theo điều kiện mạch.
Nếu đang đo tín hiệu sensor chỉ vài millivolt, offset trở thành yếu tố rất quan trọng.
14. Input Bias Current
Dòng bias của op-amp chạy qua điện trở trong mạch và tạo sai số.
Gần đúng:
\[ V_{ERROR}=I_B R \]
Nếu:
IB = 100 nA
R = 100 kΩ
ta có:
\[ VERROR=10mV \]
Với nguồn tín hiệu trở kháng cao nên chọn op-amp có input bias thấp.
15. Bandwidth giảm khi Gain tăng
Op-amp có:
Gain Bandwidth Product
hay:
GBW
Với một op-amp có:
GBW = 1 MHz
và closed-loop gain:
10
bandwidth gần đúng có thể chỉ quanh:
\[ 100kHz \]
theo mô hình đơn giản.
Do đó gain càng cao:
Bandwidth khả dụng càng thấp
16. Ví dụ lựa chọn Bandwidth
Sensor chỉ thay đổi:
0–100 Hz
một op-amp GBW vài trăm kHz có thể đã dư.
Nhưng nếu signal:
100 kHz
và gain:
10
op-amp GBW:
1 MHz
đã tương đối sát giới hạn.
Cần có margin để giữ gain và phase chính xác.
17. Slew Rate
Ngoài bandwidth còn phải kiểm tra:
Slew Rate
\[ SR=\frac{dV}{dt} \]
Nếu output phải thay đổi nhanh hơn khả năng của op-amp, waveform sẽ bị méo.
Với tín hiệu sine, yêu cầu gần đúng:
\[ SR_{min}=2\pi fV_{PEAK} \]
Ví dụ:
f = 20 kHz
Vpeak = 2 V
ta có:
\[ SR_{min}\approx0.25V/\mu s \]
Op-amp nên có margin lớn hơn giá trị này.
18. Nguồn đơn và tín hiệu quanh GND
Trong hệ thống:
VCC = 3.3 V
VEE = GND
mạch chỉ xử lý tốt tín hiệu âm nếu op-amp và topology có khả năng phù hợp.
Nếu VIN đi xuống:
-0.5 V
trong khi op-amp chỉ cấp nguồn đơn 0–3.3 V, mạch có thể vượt common-mode hoặc input rating.
Có thể cần:
Virtual Ground
hoặc nguồn ±.
19. Khuếch đại tín hiệu quanh một mức Bias
Không phải lúc nào R1 cũng nối trực tiếp GND.
Có thể nối R1 về:
VREF
Ví dụ:
1.65 V
để xử lý tín hiệu AC trong hệ thống 3.3 V.
Topology:
R2
┌───/\/\/───┐
│ │
VIN ─────► +\ │
| \________┘
| /
|/
-
│
R1
│
VREF
Khi đó output được dịch quanh VREF.
Đây là kỹ thuật phổ biến trong sensor và audio single-supply.
20. Decoupling nguồn
Mỗi op-amp nên có capacitor decoupling sát chân nguồn:
VCC
│
100 nF
│
GND
Có thể bổ sung:
1 µF
hoặc giá trị khác theo datasheet.
Tụ 100 nF nên:
- Gần chân VCC.
- Đường xuống GND ngắn.
- Không đặt xa qua trace dài.
21. PCB Feedback Loop
Feedback path:
VOUT → R2 → Input -
là một phần nhạy cảm.
Nên giữ:
ngắn
+
gọn
Layout tốt:
[R2]
┌────────┐
│ │
[- OPAMP] [OUT]
│
[R1]
│
GND
R1 và R2 nên được đặt gần op-amp.
22. Tránh Switch Node
Không nên chạy input hoặc feedback trace cạnh:
- MOSFET Drain PWM.
- Buck converter SW node.
- Motor trace.
- Relay coil.
- Clock nhanh.
Các node này có:
dv/dt
di/dt
cao và có thể ghép nhiễu vào analog amplifier.
23. Ground cho tín hiệu analog
Điện trở R1 reference xuống GND.
Nếu GND đó có dòng motor chạy qua:
Ground voltage thay đổi
và gain stage sẽ nhìn thấy sai số.
Nên bố trí để dòng tải lớn không chạy xuyên qua vùng ground reference của op-amp.
24. Schematic ADC thực tế
Sensor
│
▼
Protection
│
RC Filter
│
▼
+ Op-Amp
R2
VOUT ───/\/\/\───┐
│
(-)
│
R1
│
GND
VOUT ── RISO ── ADC
RISO nhỏ có thể giúp cách ly op-amp khỏi capacitance của ADC.
25. Ví dụ thiết kế Sensor 0–1 V
Yêu cầu:
Sensor = 0–1 V
ADC = 0–3.3 V
Chọn:
Gain = 3
Dùng:
R1 = 10 kΩ
R2 = 20 kΩ
Ta có:
\[ VOUT=3VIN \]
Ví dụ:
| VIN | VOUT lý tưởng |
|---|---|
| 0.1 V | 0.3 V |
| 0.5 V | 1.5 V |
| 0.8 V | 2.4 V |
| 1.0 V | 3.0 V |
Giữ khoảng 0.3 V headroom so với rail 3.3 V.
26. BOM mẫu
| Ref | Linh kiện | Giá trị/Yêu cầu | Chức năng |
|---|---|---|---|
| U1 | Op-Amp | RRIO nếu cần, unity stable | Khuếch đại |
| R1 | Resistor | 10 kΩ | Feedback divider |
| R2 | Resistor | 20 kΩ | Thiết lập gain |
| C1 | Ceramic | 100 nF | Decoupling |
| C2 | Capacitor | Theo nguồn | Bulk local |
| R3 | Output resistor | 10–100 Ω nếu cần | ADC isolation |
| TP1 | VIN | Test point | Debug |
| TP2 | VOUT | Test point | Debug |
| TP3 | GND | Test point | Reference |
27. Những lỗi thường gặp
Tính Gain đúng nhưng VOUT vượt rail
Mạch clipping.
Không kiểm tra common-mode
Op-amp hoạt động sai gần GND hoặc VCC.
Chọn op-amp không đủ bandwidth
Gain giảm ở tần số cao.
Slew Rate quá thấp
Waveform bị méo.
Resistor tolerance quá lớn
Gain sai.
Không có decoupling
Op-amp nhiễu hoặc oscillation.
Feedback trace dài
Bắt nhiễu và giảm stability.
Drive ADC capacitor trực tiếp
Một số op-amp có thể ringing.
Dùng điện trở hàng megaohm mà bỏ qua bias current
Sai số DC tăng.
28. Checklist chọn Op-Amp
- [ ] Supply voltage phù hợp.
- [ ] Input common-mode phù hợp VIN.
- [ ] Output swing phù hợp VOUT.
- [ ] RRIO nếu cần.
- [ ] Gain-bandwidth đủ.
- [ ] Slew rate đủ.
- [ ] Offset đủ thấp.
- [ ] Bias current phù hợp.
- [ ] Noise phù hợp.
- [ ] Output current đủ.
- [ ] Stable tại gain yêu cầu.
29. Checklist PCB
- [ ] R1/R2 gần op-amp.
- [ ] Feedback loop ngắn.
- [ ] Input trace ngắn.
- [ ] Tránh switch node.
- [ ] Decoupling sát VCC.
- [ ] Analog ground sạch.
- [ ] Output trace không chạy vòng lớn.
- [ ] ADC isolation resistor nếu cần.
- [ ] Test point VIN/VOUT/GND.
- [ ] Kiểm tra footprint và pinout.
30. Cách kiểm tra mạch
Cấp các mức input:
0.1 V
0.25 V
0.5 V
0.75 V
1.0 V
Đo:
VIN
VOUT
Tính gain thực tế:
\[ A_V=\frac{VOUT}{VIN} \]
So sánh với:
\[ 1+\frac{R_2}{R_1} \]
Nếu gain thay đổi mạnh ở input cao, kiểm tra output swing.
Nếu gain giảm khi frequency tăng, kiểm tra bandwidth.
31. Ứng dụng thực tế
Mạch non-inverting amplifier thường dùng cho:
Cảm biến analog
Sensor
│
Amplifier
│
ADC
Shunt sensor mức thấp
Khuếch đại voltage nhỏ trước ADC, nhưng với đo dòng precision thường cần xem xét current-sense amplifier chuyên dụng.
Microphone / Audio
Tăng biên độ tín hiệu nhỏ trong vùng bandwidth phù hợp.
Potentiometer hoặc bridge sensor
Conditioning tín hiệu trước ADC.
Industrial Sensor
Chuyển một dải điện áp nhỏ sang dải ADC dễ sử dụng hơn sau khi đã có protection và scaling phù hợp.
32. Non-Inverting Amplifier và Voltage Follower
Voltage Follower ở bài trước thực ra là trường hợp đặc biệt của non-inverting amplifier.
Khi:
R2 = 0
R1 → không dùng theo cấu hình thông thường
feedback trực tiếp:
VOUT → Input -
ta có:
\[ A_V=1 \]
Non-inverting amplifier chỉ mở rộng ý tưởng đó để tạo:
Gain > 1
33. Công thức cần nhớ
Gain
\[ A_V=1+\frac{R_2}{R_1} \]
Output
\[ VOUT=VIN\left(1+\frac{R_2}{R_1}\right) \]
Chọn R2
\[ R_2=R_1(A_V-1) \]
Slew Rate cho sine
\[ SR_{min}=2\pi fV_{PEAK} \]
Bandwidth gần đúng
\[ BW\approx\frac{GBW}{A_V} \]
đối với mô hình op-amp đơn giản.
34. Tóm tắt thiết kế
Quy trình thực tế:
1. Xác định VIN min/max
│
2. Xác định VOUT mong muốn
│
3. Chọn Gain
│
4. Tính R1/R2
│
5. Kiểm tra output swing
│
6. Kiểm tra common-mode
│
7. Kiểm tra GBW/Slew Rate
│
8. Kiểm tra offset/bias
│
9. Thêm decoupling
│
10. Layout feedback ngắn
35. Kết luận
Mạch khuếch đại không đảo Op-Amp cho phép tăng biên độ tín hiệu mà vẫn giữ cùng pha với tín hiệu đầu vào.
Công thức quan trọng nhất:
\[ A_V=1+\frac{R_2}{R_1} \]
Ví dụ:
R1 = 10 kΩ
R2 = 20 kΩ
cho:
\[ A_V=3 \]
Nhưng một thiết kế thực tế không thể chỉ dừng ở công thức gain.
Cần đồng thời kiểm tra:
Input Common-Mode Range
Output Swing
Supply Voltage
Gain Bandwidth
Slew Rate
Offset Voltage
Bias Current
Resistor Tolerance
Noise
Trên PCB, các điểm quan trọng nhất là:
Feedback loop ngắn
R1/R2 gần op-amp
Input trace sạch
Decoupling sát IC
Ground reference ổn định
Nếu mục tiêu là đưa tín hiệu cảm biến vào ADC, một chuỗi xử lý hợp lý có thể là:
Sensor
│
Protection
│
RC Filter
│
Op-Amp Amplifier
│
ADC
Sau khi đã biết cách op-amp khuếch đại tín hiệu analog, bước tiếp theo là chuyển sang một mạch có nhiệm vụ khác: không khuếch đại tuyến tính mà quyết định tín hiệu đang cao hơn hay thấp hơn một ngưỡng điện áp.