1. 개요
Operational Amplifier · 演算 增幅器
흔히 OP앰프라고도 부르는 소자. 증폭이라는 낱말에서 알 수 있듯이 입력된 전압을 증폭시켜서 출력하는 직류 연결형 고이득 전압 차동증폭기이다. 보통 두 개의 차동 입력과, 대개 한 개의 단일 출력을 가진다. 하나의 연산 증폭기는 그 입력 단자 간의 전위차보다 대개 백배에서 수 천배의 전압 이득을 가지고 이상적으로는 무한대의 전압 이득을 가진다. 다이오드, 트랜지스터 등과 함께 대표적인 능동 소자로, 회로에서 매우 중요한 위치를 차지한다. 트랜지스터를 이용한 차동 증폭 회로를 좀 더 복잡하게 구성해서 전기적 안정성을 극대화한 다음 작은 칩에 박아놓은 게 오늘날 사용되는 연산 증폭기이다. 그래서 기존의 트랜지스터 증폭기에 비해 쉽게 설계할 수 있다.
OPAMP의 무한대의 전압이득, 무한대의 입력 임피던스, 0에 가까운 출력 임피던스의 극단적인 특성은 네거티브 피드백을 통하면 회로의 안정성과 일관성, 이상성을 극대화하는 매우 유용한 특성으로 변하게 된다.[1] 이렇게 얻어진 특성을 바탕으로 덧셈/뺄셈이나 증폭, 미적분 등 ‘연산적인(Operational)’ 회로를 쉽고 직관적으로 꾸밀 수가 있어, 사실상 거의 모든 회로에 필수적으로 들어간다.
|연산 증폭기의 종류에는 전압 피드백 연산 증폭기(대표적), 저전력 연산 증폭기, 고전압 연산 증폭기, 정밀 연산 증폭기 등이 존재하며 회로의 성능과 설계 요구 사항에 따라 달라진다.
비교기(Comparator)와 기호가 같아 혼동될 수도 있으나, 연산 증폭기와 비교기는 차이가 있으므로 주의하여야 한다. 비교기는 두 단자의 전압 중 어떤 것이 더 큰지 비교하여 디지털 신호를 출력하는 소자이다. 하지만 OPAMP를 사용하여 비교기를 만드는 경우가 많아서 별개의 소자라기보다는 OPAMP 응용의 일종이라고 보아도 무방하다.
보통 연산증폭기의 출력 전압식은 위와 같이 차동 입력 두 개와 출력 한 개일 때, 다음과 같이 주어진다.
[math( V_{out} = G(V_{+} - V_{-}) )]
(단, [math( V_{s-} < V_{out} < V_{s+} )])
[math(G)]는 이득으로 연산증폭기 모델마다 값이 다르며 [math(A)]나 [math(A_{v})]로도 많이 표기한다.
| 등가회로와 내부회로 | |
| | |
| OP-Amp 등가회로. 종속 전원 아래쪽에 아무 것도 연결되어 있지 않으나, 실제로는 내부 접지와 이어져 있다. | 실제 OP-Amp 모델 중 하나인 uA741 내부회로 |
보통 OP-Amp 내부회로는 오른쪽과 같이 다수의 트랜지스터를 쓴 복잡한 구조로 되어 있으며, 교재 대부분에선 OP-Amp 내부 구조를 설명할 때 왼쪽과 같은 등가 회로를 많이 쓴다. 등가회로에서 [math(V_+)]는 비반전 단자, [math(V_-)]는 반전 단자, [math(V_{out})]은 출력 단자, [math(V_{s+})]와 [math(V_{s-})]는 전원 단자이다. 심지어 모델별로 내부회로 또한 천차만별이며, 교재에 따라 전원 단자를 [math(V_{CC+})]와 [math(V_{CC-})], 혹은 [math(V_{CC})]와 [math(V_{EE})], 혹은 [math(V_{SS})]와 [math(V_{DD})]라 쓰기도 하는데, 이는 OP-Amp 내부 구조가 트랜지스터로 구성되어 있음을 암시한다. 일반적으로는 차동증폭기, 전압증폭기, 푸시풀 증폭기 순으로 다루게 될 것이다.
회로이론을 제대로 공부하지 못한 사람을 위해 한 가지 더 부연 설명을 하자면, 중간에 마름모꼴로 되어있는 전원은 종속 전원이라 해서, 어떤 특정 지점의 물리량에 따라 전압 값이 결정되는 전원이다. 이 종속 전원은 그림에서 보듯 [math(Gv_{in})]으로 정의되어 있기 때문에, 회로가 끊어져 있는 것처럼 보여도 [math(R_{in})]에 걸리는 전위차([math(v_{in})])에 따라 [math(R_{out})]에는 정상적으로 전압이 변화하게 된다.
이상적인 OP-Amp 특성은 다음과 같다.
- 입력 임피던스 [math( R_{in} = \infty )]
- 출력 임피던스 [math( R_{out} = 0 )]
- 전압 이득 [math( G = \infty )]
이 조건만 놓고 보면, 무한한 전압을 출력시킨다는 게 다소 말도 안 되게 보일 것이다. 하지만 전원 [math(V_{s+} )]와 [math(V_{s-} )]를 빼고 얘기했을 때이다. 실제 OP-Amp는 입력 전압 차이([math(V_+ - V_-)])와 출력 전압([math(Gv_{in})])이 모두 [math(V_{s+} )] ~ [math(V_{s-} )] 범위를 넘어설 수가 없다. 만일 이 전원 단자에 아무런 전압도 인가하지 않으면 출력 전압 자체가 나올 수 없다. ([math(Gv_{in} )] = [math(V_{s+} )] = [math(V_{s-} )] = 0) 즉, [math( G = \infty )]라는 의미는 전압의 기울기가 시간축에 수직, 쉽게 말해 두 입력 전압의 차이가 0보다 클 때 [math(V_{s+} )]까지 한 순간에 치솟고 반대로 0보다 작을 때 [math(V_{s-} )]까지 주저 앉는, 마치 네모파 같은 출력 신호를 내준다고 이해하면 된다. 실제로 이러한 원리를 응용한 것이 비교기(comparator)이다.
물론 이러니 저러니 해도 우리가 사는 거시 세계에서 전압의 크기가 일순간에 특정 값으로 확 바뀌는 일은 있을 수가 없다. 실제 OP앰프는 보통 이득이 수십만 이상 가는데, 이는 전압 값이 [math(V_{s+} )]나 [math(V_{s-} )]에 도달하는 데 짧게나마 시간이 걸린다는 뜻이다. 그래서 출력 전압이 0에서 [math(V_{s+} )]나 [math(V_{s-} )]까지 도달하는 데 걸리는 시간을 슬루율(slew rate)라고 정의하며, 오프셋 전류, 오프셋 전압 등과 함께 OP앰프의 성능을 결정짓는 중요한 요소로 작용한다.
참고로 [math( R_{in} = \infty )] 이므로 비반전 입력 단자로 흘러들어가는 입력 전류 [math(I_{+})]와 반전 입력 전류 [math(I_{-})]으로 놨을 때, [math(I_{+} = I_{-} = 0)]을 만족한다.
2. 부귀환(Negative Feedback)[2]
위에서 말했듯이 OP앰프는 이득이 너무 커서 컨트롤이 힘들다. 물론 이득이 수십만 이상이라는 것은 반대로 말하면, [math(V_{+} - V_{-} )] 이 매우 작은 값이면 [math(V_{s-} < v_{out} < V_{s+} )] 가 될 수도 있다. 즉, 매우 작은 신호를 연산증폭기에 입력한다면 [math(V_{s+} )] ~ [math(V_{s-} )] 안에서 왜곡이 없는 신호를 만들 수 있는 것이다. 하지만 실제로는 그렇게 간단하지가 않다. 매우 큰 이득에 비해 한정된 공급 전압 범위 안에서 왜곡 없이 증폭하려면 입력 신호가 매우매우 작아야 하는데 그 정도면 노이즈와 엇비슷한 수준인지라, 증폭 과정에서 노이즈도 함께 증폭이 된다. 뿐만 아니라 주위 온도 및 소자 특성에 따라 이득이 조금씩 바뀔 수도 있어 여러모로 애로사항이 많다.| 이득이 [math( \beta )]인 부귀환을 연결한 연산증폭기 회로 |
| |
그래서 실제로 사용할 때는 그림과 같이 출력 단자를 반전 단자에 되먹이는 형태를 해주게 된다. 이렇게 된다면 연산 증폭기 식 [math( V_{out} = G ( V_{+} - V_{-} ))]에서 [math( V_{+} = V_{in})] 이므로 [math( V_{out} = G ( V_{in} - V_{-} ))]이다. [3] 한편 출력 값이 OP앰프에 되먹임되는 것이므로 부귀환 회로는 입력이 [math( V_{out} )], 출력이 [math( V_{-} )]이다. 그러므로 부귀환에 달려있는 어떤 회로가 지닌 이득을 [math( \beta )] 라고 둔다면, 이득은 다음과 같다.
[math( \beta = \dfrac{V_{-}}{V_{out}} )]
위 식을 [math( V_{out} = G ( V_{in} - V_{-} ))]에 대입하면 전체 이득은 다음과 같으며 이를 닫힌 루프 이득(Closed Loop Gain)이라 부른다.
[math( V_{out} = \dfrac{G}{1 + G\beta} V_{in} )]
한편, 이상적인 OP앰프에서 [math( G = \infty )]라 하였으므로, 다음과 같이 고칠 수 있다.
[math( V_{out} = \dfrac{1}{\beta} V_{in} )]
즉, 부귀환이 달리는 순간 출력 전압은 OP앰프의 이득이 아닌 부귀환의 이득에 따라서만 결정이 되는 것이다. 다시 말하자면 출력 전압을 증폭하는데 설계가 훨씬 수월해진다는 것을 뜻한다. 또한, G가 생략된 위 식에 [math( V_{in} = V_{+} )]와 [math( \beta = \frac{V_{-}}{V_{out}} )] 을 대입하면 다음과 같은 사실도 얻을 수 있다.
[math( {V_{-}} = {V_{+}} )]
이러한 현상을 가상 단락(Imaginary short)이라고 부르는데, 반전 단자와 비반전 단자 사이에 마치 두 입력단자가 서로 단락된 것처럼 같은 전위차를 가지기 때문에 이런 용어를 사용한다. 이렇게 될 경우, 특정 신호를 찌그러짐 없이 거의 완벽하게 증폭하거나 원하는 형태로 바꿀 수 있게 된다. 실제로 사용되는 OP앰프는 비교기 용도가 아닌 이상 반전 단자에 되먹임이 달려있다고 보면 된다. 적어도 회로가 선형 동작하는 상태에서는 두 단자의 전압이 같은 가상단락 상태라고 해석할 수가 있다. 가상단락 상태가 아닌 상황에서는 증폭기가 쉽게 포화되어 선형 동작을 하지 못하기 때문이다.
OPAMP의 네거티브 피드백과 가상단락의 원리는 비례 제어기를 생각해 보면 쉬울 수도 있다. 비례 제어기는 참조값과 플랜트 출력의 차이(오차)의 Kp(비례요소)배를 제어 입력으로 넣으면서 플랜트 출력이 참조값으로 수렴하도록 만드는 특성을 가지고 있다. OPAMP를 제어기로 생각한다면 Kp가 거의 무한이므로 제어기가 참조값에 수렴하기 위해서는 제어입력은 거의 0이 되어야 한다. 이러한 제어 작용에 의해 두 단자의 전압은 거의 같아지게 되고, 가상단락상태가 유지되는 것이다. 가상단락 상태는 실제 단락이 아닌 OPAMP의 제어작용에 의해 만들어지는 것이다.
또한 이러한 제어적인 특성은 OPAMP의 이상성에 기반을 두고 있기 때문에 이상적 특성에 가까운 상태로 OPAMP가 동작할 수 있는 범위를 벗어난 환경에서는 가상단락상태를 비롯한 여러 피드백으로 인해 발생한 특성들이 더 이상 성립하지 않게 된다.
네거티브 피드백의 이러한 특성을 활용하여 반전/비반전 증폭기, 능동 필터, 미분/적분기, 전하증폭기, 전류증폭기, 자이레이터 등을 쉽게 구현할 수 있다.
3. 기본 응용 회로
3.1. 비반전 증폭기(Non-inverting Amplifier)
| 비반전 증폭기 |
| |
[math( R_{f} )]에 흐르는 전류 [math( I_{f} )]를 OP앰프 출력단에서 A점으로 흐른다고 놓는다. 그렇게 한다면 A점에서 전류는 비반전 단자와 [math( R_{i} )] 쪽으로 분배가 된다. 그러므로 [math( R_{i} )]로 흐르는 전류와 비반전 단자로 흐르는 전류를 각각 [math( I_{i}, I_{-} )]라고 놓는다면, 다음과 같은 노드 방정식을 세울 수 있다.
[math( I_{f} = I_{i} + I_{-} )]
한편 OP앰프 출력이 비반전 단자로 되먹음을 하고 있으므로, [math( R_{i} )]와 [math( R_{f} )]가 달려있는 부분은 피드백 회로이며 OP앰프는 부귀환임을 알 수 있다. 따라서 다음을 만족한다.
[math( V_{-} = V_{+} )]
그러므로 노드점 A에는 전압 [math( V_{in} )]이 걸린다. 따라서 R_{f}에 걸리는 전위차는 [math( V_{out} - V_{in} )]이고, [math( I_{i} )]가 접지 방향으로 흐르므로 [math( R_{i} )]에 걸리는 전압은 [math( V_{in} )]이다. 따라서 [math( I_{f} )]와 [math( I_{i} )]는 다음과 같이 쓸 수 있다.
[math( \begin{cases} I_{f} = \dfrac{ V_{out} - V_{in} }{ R_{f} } \\
I_{i} = \dfrac{ V_{in} }{ R_{i} } \end{cases})]
한편, 연산 증폭기의 성질을 따라 [math( I_{-} = I_{+} = 0 )]이므로 노드 방정식에서 [math( I_{f} = I_{i} )] 이다. 양변에 위 식들을 각각 대입하고 정리하면,
[math( \therefore V_{out} = \left( 1 + \dfrac{ R_{f} }{ R_{i} } \right) V_{in} )]
3.2. 반전 증폭기(Inverting Amplifier)
| 반전 증폭기 |
| |
[math( R_{i} )]에 흐르는 전류 [math( I_{i} )]가 전압 [math( V_{in} )]과 같은 방향이라고 한다면, A점에서 전류는 반전 단자와 [math( R_{f} )] 쪽으로 분배가 된다. 그러므로 [math( R_{f} )]로 흐르는 전류와 반전 단자로 흐르는 전류를 각각 [math( I_{f}, I_{-} )]라고 놓는다면, 다음과 같은 노드 방정식을 세울 수 있다.
[math( I_{i} = I_{f} + I_{-} )]
한편 OP앰프 출력이 비반전 단자로 되먹음을 하고 있으므로, [math( R_{i} )]와 [math( R_{f} )]그리고 전압 [math( V_{in} )]이 달려있는 부분은 피드백 회로이며 OP앰프는 부귀환이다. 따라서 [math( V_{-} = V_{+} )] 이며 A에는 전압아 [math( 0 )]이다. 따라서 [math(R_{i})]에 걸리는 전압은 [math( V_{in} )]이고, [math( I_{f} )]는 접지에서 나오는 방향이므로 [math( R_{f} )]에 걸리는 전압은 [math( 0 - V_{out} = V_{out} )]이다. 따라서 [math( I_{f} )]와 [math( I_{i} )]는 다음과 같이 쓸 수 있다.
[math( \begin{cases} I_{i} = \dfrac{ V_{in} }{ R_{i} } \\
I_{f} = - \dfrac{ V_{out} }{ R_{f} } \end{cases})]
한편, 연산 증폭기의 성질을 따라 [math( I_{-} = I_{+} = 0 )]이므로 노드 방정식에서 [math( I_{f} = I_{i} )] 이다. 양변에 위 식들을 각각 대입하고 정리하면,
[math( \therefore V_{out} = -\dfrac{ R_{f} }{ R_{i} } V_{in} )]
3.3. 차동증폭기(Differential Amplifier)
| 차동 증폭기 |
| |
[math( R_{1} )]에 흐르는 전류 [math( I_{1} )]가 전압 [math( V_{1} )]과 같은 방향이라고 한다면, A점에서 전류는 비반전 단자와 [math( R_{g} )] 쪽으로 분배가 된다. 그러므로 [math( R_{g} )]로 흐르는 전류와 비반전 단자로 흐르는 전류를 각각 [math( I_{g}, I_{+} )]라고 놓는다면, 다음과 같은 노드 방정식을 세울 수 있다.
[math( I_{1} = I_{+} + I_{g} )]
한편, [math( R_{2} )]에 흐르는 전류 [math( I_{2} )]가 전압 [math( V_{2} )]과 같은 방향이라고 한다면, B점에서 전류는 역시 반전 단자와 [math( R_{f} )] 쪽으로 분배된다. 그러므로 [math( R_{f} )]로 흐르는 전류와 반전 단자로 흐르는 전류를 각각 [math( I_{f} )] , [math(I_{-} )]라고 놓는다면, 다음과 같은 노드 방정식을 세울 수 있다.
[math( I_{2} = I_{-} + I_{f} )]
이 때 연산증폭기의 성질 [math( I_{-} = I_{+} = 0 )] 을 따라, 다음과 같이 두 노드 방정식을 정리할 수 있다.
[math( \begin{cases} I_{1} = + I_{g} \\
I_{2} = I_{f} \end{cases})]
전류는 전압이 높은 곳에서 낮은 곳으로 흐르므로, 노드 A와 노드 B에 걸리는 전압을 각각 [math( V_{A} )] , [math( V_{B} )]라고 둔다면, 각 전류는 옴의 법칙을 따라 다음과 같이 바꿔 쓸 수 있다.
[math( \begin{cases} \dfrac{ V_{1} - V_{A} }{ R_{1} } = \dfrac{ V_{A} - 0 }{ R_{g} } \\
\dfrac{ V_{2} - V_{B} }{ R_{2} } = \dfrac{ V_{B} - V_{out} }{ R_{f} } \end{cases})]
여기서 연산 증폭기는 부귀환이 걸려있으므로 [math( V_{-} = V_{+} )], 다시 말해서 [math( V_{A} = V_{B} )] 이므로 다음과 같이 고쳐 쓸 수 있다. 여기서는 [math( V_{A} )]로 통일하였다.
[math( \begin{cases} \dfrac{ V_{1} - V_{A} }{ R_{1} } = \dfrac{ V_{A} }{ R_{g} } \\
\dfrac{ V_{2} - V_{A} }{ R_{2} } = \dfrac{ V_{A} - V_{out} }{ R_{f} } \end{cases})]
위 식을 [math( V_{out} )]에 대한 위 식으로 정리하면 다음과 같은 복잡한 수식을 얻을 수 있다.
[math( \therefore V_{out} = \left( 1 + \dfrac{ R_{f} }{ R_{2} } \right) \left( \dfrac{ R_{g} }{ R_{1} + R_{g} } \right) V_{1} - \dfrac{ R_{f} }{ R_{2} } V_{2} )]
굳이 복잡한 계산을 해가면서 이걸 어떻게 쓸까 고민하겠지만, 이 회로의 진가는 [math( R_{1} = R_{2} = R_{g} = R_{f} )] 로 놓았을 때이다. 이 경우 식이 아래와 같이 간단하게 변한다. 즉, 증폭도가 1인 차동증폭기와 똑같아 지는 것이다.
[math( \therefore V_{out} = V_{1} - V_{2} )]