Mạch khuếch đại không đảo Op-Amp: Công thức Gain và thiết kế PCB
Cơ bản2/9/2026- Tác giả: IoTlabs Maker

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.

op-ampkhuếch đại không đảonon-inverting amplifiergain bandwidth productcảm biến tín hiệu nhỏ

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ụ:

VINVOUT lý tưởng
0.1 V0.3 V
0.5 V1.5 V
0.8 V2.4 V
1.0 V3.0 V

Giữ khoảng 0.3 V headroom so với rail 3.3 V.

26. BOM mẫu

RefLinh kiệnGiá trị/Yêu cầuChức năng
U1Op-AmpRRIO nếu cần, unity stableKhuếch đại
R1Resistor10 kΩFeedback divider
R2Resistor20 kΩThiết lập gain
C1Ceramic100 nFDecoupling
C2CapacitorTheo nguồnBulk local
R3Output resistor10–100 Ω nếu cầnADC isolation
TP1VINTest pointDebug
TP2VOUTTest pointDebug
TP3GNDTest pointReference

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.