부품으로 만드는 연산 증폭기(DIY Op Amp)
2. 차동 증폭기(Differential Amplifier)
트랜지스터와 다이오드 그리고 저항과 컨덴서를 동원하여 연산 증폭기(Op Amp)를 만들어보자. 연산증폭기의 기본 원리를 공부하고자 한다. 이번 연재의 참고문은 아래와 같다.
----------------------------------------------------------------------------------------
[참고]
1. DIY Operational Amplifier [링크]
2. Op-Amps [링크]
3. Transistor Current Sources and Mirrors (커런트 소스와 미러) [링크]
4. The differential amplifier, aka long-tailed pair, diff-pair (차동 증폭) [링크]
----------------------------------------------------------------------------------------
"차동(differential)"의 의미에 대한 통찰[1]
"차동(differential)"은 두 신호 사이에서 발생한 차이, 혹은 연속된 현상의 미분을 의미한다. 차이가 발생해야 인지할 수 있다. 시간이 지나도 변함없는 물리량은 인지할 수 없다. 고전적인 운동법칙에서 속도변화를 따져 가속도를 계산하고 운동의 방정식을 구하듯이 전기전자에서는 전압(또는 저항체에 흐르는 전류)의 변화를 따져 "차동" 방정식으로 기술하고 이를 풀어 그 변화의 원인이 되었던 식을 구한다. 우리는 이것을 미분 방정식의 풀이라고도 하고 시스템 해석이라고도 한다. 입출력 사이의 차분으로 증폭, 발진 등 여러 전자회로에 응용된다.
[주1] "통찰(insight)": "예리한 관찰력으로 사물을 환히 꿰뚫어 봄" (사전)
전압과 전류 그리고 저항
두 전기적 신호의 "차분" 구하기는 가장 기본적인 복합 저항 회로(네트워크)에 흐르는 전류 구하기부터 시작하자. 데브난 정리(Thevenin's theorem)니 커초프 법칙(Kirchhoff's Law)이니 하는 이론 일랑 접어두고 옴의 법칙 만 가지고 직관적으로 이해 해보기로 한다.
병렬로 연결된 두 저항 R1과 R2 그리고 이들과 직렬로 연결된 R3로 구성된 회로가 있다고 하자. 합성 저항 R123를 구하고 옴의 법칙으로 이 회로에 흐르게될 전류량 I 를 구한다. 병렬저항 R1과 R2의 합성 저항은 R12다. 직렬로 연결된 두 저항 R12와 R3에 흐르는 전류는 같다. 이를 근거로 저항을 이용하여 분압 회로(voltage divider)를 꾸밀 수 있다.
직렬로 연결된 각 저항에 흐르는 전류는 I로 같지만 병렬로 연결된 저항 R1과 R2에 흐르는 전류는 I를 i0와 i1으로 나뉜다.
I = i3 = i0 + i1
- 직렬로 연결된 저항에 걸린 전압은 각 저항의 양단에 걸린 전압의 합
- 병렬로 연결된 합성저항에 흐르는 전류는 각 저항의 전류의 합이다.
회로에 흐르는 전류량을 측정해야 하는 경우 어떻게 할까?
전기(전자) 회로의 검사는 각 소자에 흐르는 에너지를 측정한다. 전기 에너지는 결국 전류와 전압의 곱이다.
P = IV = (V/R)*V
트랜지스터의 베이스에 문턱전압 이상의 바이어스를 가하면 켤 수 있다. 트랜지스터를 켜는 목적은 컬렉터와 에미터 사이에 전류를 흘려 보내고자 함이다. 베이스에 거는 바이어스 전압을 조절하면 컬렉터와 에미터 사이에 흐르는 전류량을 조절 할 수 있다. 이때 베이스에 가하는 전류는 극히 작아도 된다. 트랜지스터 문턱 전압 0.6볼트 이상이면 이에 필요한 전류는 100nA 로도 충분하다. 결국 트랜지스터를 사용하면 매우 작은 작은 에너지로 큰 에너지의 흐름을 제어할 수 있다[2]. 바로 증폭회로의 원리다.
[주2] 전기 에너지는 전류와 전압의 곱이다. 순방향 바이어스 전압을 문턱전압 이상으로 걸어 고정 시켜 놓고 전류량으로 트랜지스터를 제어 할 수 있다. 트랜지스터의 증폭은 "전류증폭" 또는 "전압증폭"의 방법이 있다.
소자의 양단에 걸린 전압의 측정은 비교적 수월 하지만 전류를 재려면 회로를 끊어야 한다. 멀쩡한 회로를 끊을 수 없으니 저항 양단에 걸린 전압과 저항값으로 전류를 계산하여 구한다. 회로측정은 옴의 법칙으로도 충분하다.
I = V/R
사실 전류 측정계(암페어 메터)는 내부에 정밀저항을 두고 전압을 통해 측정한다. 실험하다 과전류로 멀티메터를 고장내는 경우는 바로 내부저항을 소손시켰기 때문이다. 내부 저항의 오차로 인하여 전류측정에 오차를 감수 하기보다 전압을 측정하는 편이 현명하다. 앞으로 실험에서 저항의 양단에 걸린 전압으로 전류를 측정하게 될 것이다.
차동 쌍(Differential Pair)
차동 쌍은 병렬과 직렬로 연결된 저항회로(네트워크)에서 전류와 전압의 덧셈에서 시작한다. 병렬의 두 저항 R1과 R2에 각각 직렬로 가변 저항 VR1과 VR2을 넣어 전류량을 가변 시킬 수 있다. 병렬로 연결한 저항을 가변 시키면 각 경로로 흐르는 전류량이 변하고 그 합은 R3에 흐르는 전류량과 같다.
두 경로의 합성저항 (R1 + VR1)과 (R2 + VR2)이 변하여 전류 i1과 i2가 달라지며 두 전류의 합은 i3다.
i1 + i2 = i3
이때 R3가 고정되었으므로 i3는 상수다. 따라서 VR1과 VR2를 변경하여 경로마다 다르게 전류량을 조절 할 수 있으나 그 총량은 결국 i3를 넘지 못한다. 결국 차분을 구할 수 있다.
i1 = Const - i2
전류의 차분은 V1과 V2 사이의 전압차로 나타나게된다.
[질문] 전류가 흐르는 두 경로에 각각 분압기가 구성되어 있다는 점에 주목하자. 만일 R1과 R2가 없는 경우를 가정해 보자. 전류(또는 전압) 측정이 가능할까?
분리된 두 전류 경로가 합쳐지는 지점을 "꼬리(tail)"라 하고 이때 합쳐진 전류를 "꼬리 전류(Tail Current)"라 한다. 꼬리전류의 량은 고정저항 R3에 의하여 제한되는데 이를 "긴 꼬리(Long Tail)"라 한다.
기계적 힘으로 전류량을 조절하는 가변저항을 트랜지스터로 대체해보자. 베이스 입력(바이어스 전압)으로 전류량을 조절할 수 있다. 이를 "차동 쌍(differential pair)"이라 한다. NPN 트랜지스터의 컬렉터 단자에서 얻은 전압변화를 활용하고 있다.
[질문] R1과 R2의 값이 같아야 한다. 만일 두 저항의 정밀도가 낮다면 차동 쌍의 역활에 어떤 영향을 미칠까?
Q1과 Q2의 베이스 입력차 ΔVb = (Vb1-Vb2)에 반응하여 컬렉터 전압차 ΔVc = (Vc1-Vc2)를 발생 시킨다. 긴꼬리에 의해 흐를 수 있는 총 전류량이 고정되므로 Vc1과 Vc2는 서로 상보적 관계에 있다.
차동 쌍의 작동을 실험으로 알아보자. 아래와 같이 회로를 꾸미고 각 지점의 전압을 측정한다.
위의 실험 회로에서 Vcm은 두 트랜지스터 Q1과 Q2의 베이스에 공통으로 공급되는 전압이다. Vin이 제거 되었을때, 차동 쌍 트랜지스터 Q1과 Q2의 특성 hFE[3] 가 동일하다면 Vb1=Vb2 이므로 i1=i2가 되어 전압차 (Vc1-Vc2)=0 이 되어야 한다. 이때 차동 쌍 트랜지스터 Q1과 Q2은 매칭 되었다고 한다. 두 입력의 차분을 응용하는 연산 증폭기에서 차동 쌍을 이루는 두 트랜지스터의 매칭은 매우 중요한 요소다.
Vcm을 적당히 고정 시켜 놓고 입력 전압 Vin을 증가시켜보자. Q1과 Q2의 베이스 입력에 전압차가 발생 하게 되고 이에 따라 전류량 i1과 i2에 차이가 발생한다. 이 차이 ∆Vc는 (Vc1-Vc2)로 측정된다. 트랜지스터의 증폭 작용 덕분에 두 입력의 작은 전압차 ∆Vb = (Vb1-Vb2)가 증폭되어 ∆Vc 가 크게 증폭된다. 이것이 "차동 증폭기(differential amplifier)"이다.
실험으로 측정한 값은 아래의 표와 같다. ∆Vb 와 ∆Vc 는 (Vb1-Vb2)와 (Vc1-Vc2)으로 계산할 수 있지만 측정기의 신뢰도를 알아보기 위하여 6대의 멀티 메터를 동원하여 모두 측정하였다[4].
[주4] ∆Vb와 ∆Vc의 측정치는 계산값과 오차가 있다. 알리상회에서 구입한 값싼(중국산으로 대당 3천원이다!) 멀티메터를 사용하여 측정이다. 다소 오차가 있지만 "내 집 실험실"용으로 손색없다.
Vcm = 4V 로 놓고 Vin을 변화 시키면서 측정한 Vb1, Vb2, ∆Vb, Vc1, Vc2, ∆Vc의 값은 아래와 같다.
측정한 표를 살펴보면 "차동 증폭기"가 작동하는 모습을 볼 수 있다. 측정된 ΔVb와 ΔVc를 그래프를 그려보면 다음과 같다. 왼쪽의 ΔVb가 거칠게 나온 것은 측정 해상도가 낮기 때문이다. 두 그래프의 가로축은 Vin 이다.
1. ∆Vb=0 에서 ∆Vc=0.07 는 두 트랜지스터의 매칭이 되지 않았음을 보여준다.
2. ∆Vb와 ∆Vc가 서로 반대로 변하는 것을 볼 수 있다. Vb1 을 반전입력(inverting input) 이라고 하는 이유다.
3. 트랜지스터 증폭도는 ∆Vc/∆Vb=100 약 100 배다.
4. (Vc1 + Vc2) = 10.9V 로 일정하다. 이는 Vc1 + Vc2 = Const. 이므로 Vc1 와 Vc2가 서로 상보관계에 있기 때문이다.
5. 입력의 작은 차이에 큰 증폭률로 출력에 반영. 온도에 큰 영향을 받는다.
긴-꼬리 전류(Long-Tail Current)의 문제
위의 실험에서 Vcm을 고정하였다. Vcm이 차동쌍에 미치는 영향을 고려해 보자. Vcm을 낮추면 Q1과 Q2에 흐르는 전류가 낮아지고 결국 R3에 흐를 전류 역시 떨어진다. 반대로 Vcm을 높이면 R3에 흐를 전류도 많아진다. 이는 공통 전압에 의해 R3의 전류량이 달라지고 결국 차동 출력 전압에 영향을 준다. 이는 차동 앰프가 입력의 차분에 뿐만 아니라 공통 전압에도 영향을 받게 되는 결과를 낳게된다. 이를 해결할 방법으로 "긴 꼬리(Lonf Tail)[3]"에 전류를 모으는 저항 대신 구동전압에 상관 없이 일정하게 전류를 끌어모으는 방법으로 "커런트 소스(싱크)"를 쓴다.
[주3] 위의 실험에서 R3는 두 경로로 흘러온 전류를 모은다. 이 전류를 꼬리 전류라 하고 이 전류를 모으는 R3를 "긴 꼬리(Long Tail)"라 한다.
공통 전압 Vcm이 "긴 꼬리"에 흐르는 전류에 영향을 주어 차동 값 ∆Vc이 변화하는 모습을 실험으로 관찰해 보자. 아래 표는 ∆Vb = 0.01 이 되도록 Vcm과 Vin을 증가시키면서 ∆Vc 측정 하였다.
측정치의 그래프는 아래와 같다. 가로축은 Vcm, 세로축은 출력차분을 입력차분으로 나눈 이득(=|ΔVc|/|ΔVb|)이다.
이득의 변화를 보면 차분 출력 ∆Vc가 ∆Vb 뿐만 아니라 Vcm의 영향을 받고 있다. Vcm의 전압이 전체 차동 회로에 흐르는 전류를 증가 시키기 때문이다. 게다가 Vcm=4.8V보다 높아지면 트랜지스터의 폭주로 인해 이득이 급격히 무효화되고있다.
커런트 소스의 효과
"긴 꼬리" 대신 커런트 소스로 변경 한 후 ∆Vc 를 측정한 값은 다음과 같다.
아래 표는 ∆Vb = 0.01 이 되도록 Vcm과 Vin을 증가시키면서 ∆Vc 측정 하였다.
부품(특히 저항)의 불안정과 측정기 오류를 감안하더라도 상당히 넓은 Vcm의 범위에서 안정적인 이득을 보여준다.
수동적 부하(고정저항) 대신 능동적 부하(트랜지스터를 사용한 커런트 소스)를 적용한 결과 차동 출력 ∆Vc 은 Vcm에 거의 영향을 받지 않고 입력의 차분 ∆Vb에 대한 안정적인 이득을 유지하였다. 이에 덧붙여 동작 전압의 범위도 넓어진 것을 알 수 있다.
연산증폭기 회로를 보자.
차동 증폭기를 구성하고있는 회로와 위에서 실험한 회로의 차이점에 대하여 토론해보자.
- R2의 역활과 Q2의 컬렉터에 부하저항이 없다.
- 커런트 소스 부분에서 Q3를 켜기위해 저항(소동소자) 대신 다이오드(능동소자)를 사용하고 있다.
----------------------------------------------------------------------
[이전] 커런트 소스(Current Source)
[다음] 전류 구동기(Driver)