2 stage 차동 증폭 회로를 만들고 있는데요..
입력되는 두 값의 차이가 약 2mV 정도밖에 나지 않습니다. LM324를 사용하여 회로는 작성했구요..
일반적으로 다른 차동증폭 회로를 보면 +/- 전압을 사용하여 기준을 GND 레벨로 잡는것 같은데
제 회로는 +5V 만 사용하구요.. 그래서 V ref 를 2.5V 로 생성해서 입력해 줍니다.
회로의 게인값을 좀 크게 줘서 0~5V 사이에서 Vout 이 동작하도록 만들고 싶은데요
지금 제작한 결과를 보면 앰프를 처음 지났을 경우에는 0~2.6V 사이밖에 값이 안나오구요..
앰프를 두개 지나고 나면 2.4~3.6V 정도로 밖에 값이 나오지를 않습니다..
결과적으로 정리하자면....
첫번째 앰프를 지나면 레퍼런스로 입력되는 2.5V 이상의 값은 나오지 않고
두번째 앰프를 지나면 레퍼런스로 입력되는 2.5V 이상의 값만 출력 됩니다.
회로가 어디가 잘못 된 걸까요?
현재 회로에는 R1, R3는 1k를 사용했구요, R2는 680k, R4는 2k를 사용했습니다.
조언해주신대로 amp를 바꿀까 하는데 amp04 로 사용하면 가능할까요?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
답변:
왜 차동회로가 필요한지는 잘모르겠지만. LM324와 같이 저품질(?) Op amp로 2mV를
증폭시킨다는 것은 상당히 무리입니다.
OPAMP의 특성중 하나가 offset 전압입니다.
입력에 아무것도 넣지 않고, 두입력을 모두 GND(위의 경우 Vref)에 연결해도 출력으로 어떤 값이 나오는 것이죠.
이것을 offset전압이라 하는데 LM324의 경우 수mV이상됩니다. 즉 입력전압보다 더 큰 오차가 발생한다는 것이죠.
또 한가지 문제는 LM324는 단전원용이라 단전원을 공급한상태에서 0V를 증폭, 비교할수 있는 장점은 있지만
Vcc 에 가까운 입력값에 대해서는 처리하지 못하고, 또한 출력도 Vcc-2V 정도 밖에 나오지 않습니다.
즉 위와 같은경우 입,출력 모두 동작가능전압은 0~3V정도 밖에 안 된다는 것입니다.
이러한 것을 보상하려면 LM324가 아닌 Rail to Rail type의 OPAMP를 사용해야 합니다.
일단 회로를 해석하기 위해서는 입력전압, 각 사용저항값등을 알아야 합니다.
차동증폭에서 DC전압이 중첩된 상태에서 낮은 LEVEL을 증폭하기 위해서는
무엇보다 CMRR값이 중요하죠. CMRR값을 높이기 위해서는 OPAMP의 선택도 중요하지만
외부 저항값의 발란스도 중요합니다.
입력단의 1k와 680k는 적어도 0.1%이하의 저항을 사용해야 하죠.
그런 경우 위의 님처럼 아예 내부에 저항이 들어간 전용차동증폭기가 훨씬 유리하죠.
amp04도 OFFSET전압이 다소 높은듯 하지만. 일반 LM324보다는 낫은 듯 합니다.
그리고 amp04도 Rail to Rail TYPE은 아니어서
부하가 10k정도면 출력은 Vcc - 0.8V (5V일때 최대 4.2v) 정도 나오므로
이점 유의하셔서 설계하시기 바랍니다.
____________________________________________________________________________________
이번에는 제가 궁금한것은 OPAMP 입력단에 R3을 10M옴을 사용해서 입력단에
바이어스를 잡아준다고 했는데..
OPAMP가 플로팅 되서 한쪽으로 치우치게 되기때문에 그런다고 하는데..
저로써는 이해하기가 힘든 부분이네요 ^^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
답변:
OPAMP는 차동증폭기입니다 . 인버팅(-)와 낫 인버팅(+), 단자간의 차이가
설계된 증폭비만큼 출력으로 나감니다 (AC든 DC든)
그런데 AC를 증폭하기위해선
무신호시 출력전압이 전원전압의 1/2 이 되는것이 포화없이 가장 큰 이득을 올릴 수 있음으로
출력전압이 전원전압의 1/2 이 되도록 하는 것이 바로 바이어스 전압입니다.
10M옴은 바이어스용이 아니고 입력이 오픈되도 출력이 안정된 0V를
유지시키기 위한 목적입니다. 회로설계 목적자체가 DC증폭이기 때문에 입력이
오픈되지 않는다는 보장이 있으면 10M옴은 없어도 무방합니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OP-AMP 입력에 10㏁ 의 저항을 걸어 놓은 이유는
OP-AMP의 입력 임피던스와 오프셋의 정도, 사용목적에 따라 틀리게 해석 할 수도 있습니다만..
이 회로에서 10㏁의 저항이 하는 역할은
위의 분 말씀대로 입력이 공중에 떠 있을 때
즉 개방상태 일 때 입력측의 전압이 정전기 등의 영향으로 변할 수 있기 때문에
그 전위를 바이패스시켜서 0 으로 하는 게 목적 입니다.
그러나 여기서 알아야 될 중요한 것은 왜 10㏁ 의 저항을 넣어 놓았나?를
회로 구성 목적이 무엇인가를 알 필요가 있는데
이것은 "OP-AMP의 오프셋전압" 하고도 관계가 있습니다
보통의 OP-AMP 입력단의 오프셋 전압은 2~10mV가 되는데 (개방시 전압이 0 으로 되지를 않고 + 나 - 로 치우쳐 있게 되는 현상으로 드리프트 전압이라고도 함)
출력에서 입력으로 470K와 10K의 저항을 통해서 부궤환이 걸려 있기 때문에
증폭도 는 470/10 으로 47배가 됩니다.
이 경우에 입력 드리프트 전압이 5㎷이라면 출력측에는 235㎷ 의 전압이
입력전압하고 상관없이 출력되게 되는데
부귀환을 걸어 놓은 상태에서는 입력 전압을 상쇄하는 쪽으로,
즉 보상하는 쪽으로 동작되기 때문에 입력 임피던스가 이론적으로는
무한대로 상승되고 더구나 입력임피던스가 높은 C-MOS 타입의 OP-AMP의 경우에는 실제로도 수백㏁ 이나 됩니다.
정밀도를 요하는 기기에서는 드리프트 전압을 0 으로 만들기위해 오프셋 볼륨 을 따로 사용하여 맞춰 주기도 하는데
여기서는 단순히 10㏁ 의 저항으로 그라운드시켜서
개방시의 정전압으로 인한 전위상승만을 억제하고
0.1㎌ 의 컨덴서로 증폭타임을 크게 딜레이시킨 것으로
고속동작을 요하지 않고 드리프트 전압의 영향을 크게 염두에 두지 않는 디지탈 논리회로의 구동이나
간이형 전압 변별기 등
단순한 입력전압 증폭용으로 구성된 회로인데
그라운드용 저항도 있어야 되지만
입력에 과전류가 흐를시 OP-AMP가 파괴될 수도 있으므로
입력측 OP-AMP 3번에서 R3의 사이에 전류 제한용의 저항을
직렬로 삽입하여 쓰는것이 정석 입니다.
~~~~~~~~~~~~~~
질문을 하실 경우, 해당 회로의 용도를 말씀해주셔야 답변이 쉽게 됩니다.
위의 회로에서 J2에 연결되는 것이 무엇이냐에 따라 설명이 달라집니다.
제 생각으로는, J2에는 5V 전원과 증폭회로 입력선만 연결되어 있으므로
혹시, Photo Sensor 같은 것이 연결되어 있는 것이 아닐까 합니다.
만일 그렇다면, 10M 저항은 미소전류를 전압으로 바꾸어 주기 위한 것으로
생각됩니다.
_____________________________________________________________________________________
원래 연산증폭기(OP AMP)는 아날로그 컴퓨터를 위해 만든것입니다.
입력은 +/- (비반전입력,반전입력)이 있는데 이것은 위상을 의미하는 것입니다.
다시 말해 +입력에 +를 넣으면 출력은 +로 나오지만 -입력에 +를 넣으면 출력은 -가 되죠.
이렇게 만든 연산증폭기는 간단하게 아날로그 신호를 더하거나 뺄 수 있죠.
보통은 어느 입력 한쪽만 넣고 다른 한쪽은 궤환을 걸거나 접지시키는데
차동증폭기는 +/-입력 모두에 신호를 넣습니다.
그러면 출력은 +/-의 차만 나옵니다.
그러면 왜 이런 차동증폭기를 사용할까요.
대표적인것인 것이 의학용으로 사용하는 심전계가 있습니다.
심전계는 신체에서 발생하는 전기신호를 증폭하여 모니터에 표시하는 장치인데
몸에서 발생하는 전기는 무척 적은 신호인데 비해 외부에서 오는 NOISE(전원에서 나오는 노이즈등)는
무척 큰 신호입니다. 이 노이즈는 제거하는데 차동증폭기를 사용하는 것입니다.
노이즈는 +/-같은 크기로 입력되는데 위에서 말한것 처럼 차동증폭기는 두 입력의 차만 출력되므로
노이즈는 제거되고 심장에서 발생하는 신호만 잡히게 되는 것입니다.
________________________________________________________________________________________
차동증폭기의 동작 설명은 중첩의원리를 이용하여 풀이하여 식을 도출해 내지요...
그러나 이런 식만이 중요한게 아닙니다..풀이를 해서 나온 식이 어떤 의미를 가지고 있는지도 중요하지요...
차동증폭기 동작의 원개념은 두 입력의 차를 증폭하는 회로입니다...
식을 도출해 내셨다면...
Vo = (Av1 * Vin1)-(Av2 * Vin2)
이와 비슷한 식을 도출하셨을 꺼라 봅니다...
식에서도 알수 있듣이 두 입력 (Vin1, Vin2)의 차에 대하여 증폭이 되는 것이지요..
그렇다면 위의 식에서 예를 들어 보겠습니다..
(Av1 = Av2 = 1)이라는 관계가 성립하면...(책들에서보면 R1,R2,R3,R4를 연결하고 증명계산을 하게 됩니다..거기서 조건이..R1=R2=R3=R4라는 조건이 성립하면 증폭도는 1이되는 것으로 알고 있습니다..-증명은 생략-)
Vo = Vin1 - Vin2 (보여줄수 있는 회로가 없는 관계로 그냥 이런식으로 봅니다..)
그럼 여기에서...
Vin1 = 0V 이라면...
Vo = - Vin2
가 됩니다..(이식에서..Vin2는 (-)입력으로 들어가는 신호임이 증명됩니다..그렇다면 Vin1은 (+)입력으로 들어가는 신호겠지요..이 설명의 이해는 OP-AMP 반전,비반전 회로의 공식과 비교해 보시면 되겠습니다..)
그럼 여기에서 ...기준 전압은 몇볼트 일까요..??
당연 0V이지요...
0V를 기준으로 Vo가 출력이 되겠지요...
만약 Vin2 = 1V 라면 Vo = -1V
Vin2 = -1V 라면 Vo = 1V가 출력이 되겠지요...
그럼 여기에서 다시..Vin1 = 1V라면..
Vo = 1 - Vin2
가 됩니다..
위의 예와같이 Vin2 = 1V, Vin2 = -1V가 인가되면...
Vo = 0V, Vo = 2V가 출력이 됩니다...
이런경우 출력 Vo는 1V를 기준으로 출력이 되는 것과 같이 됩니다...
위의 풀이에서 볼수 있듯이..
출력 Vo가 -Vin2와 같은 전압이 출력됩니다만..그것의 offset은 Vin1에의해서 결정이 되게되어 있습니다..
즉..출력의 offset를 Vin1을 가지고 조정을 할수가 있다는 것이지요...
(이와 반대로 하여되 됩니다..)
이것은 출력의 기준 레벨이 변화된것이라고 볼수 있습니다..
이러한 기준레벨의 변화..이것이 레벨쉬프트라하고 그러한 동작을 하도록 만든것이 레벨쉬프터입니다...
이러한것을 쓰는경우를 예로한번 들어 보겠습니다...
지금 AD를 만들려고 한다고 칩시다..
그렇다면 ADC가 있어야 하겠지요..
그리고 이놈의 ADC가 입력으로 0V ~ 10V의 입력만을 받는다고 생각을 해보지요..
그런데..입력이 되는 소스가 -5V ~ +5V까지 들어온다고 치면...
이 ADC는 사용상 좀 곤란한 점이 있겠지요..??
그래서 이 ADC와 입력소스사이에 무언가를 설치해서...입력소스의 기준레벨을 +5V만큼 올려주는 것입니다..
그렇다면..입력소스가 (-5V (+5V) = 0V) ~ (+5V (+5V) = 10V)(가로의 +5V는 기준레벨입니다.)의 범위에서 움직이겠지요..?
이렇게 되면 ADC의 입력 사양과 일치하게 되겠네요..
그럼 ADC의 성능을 100%활용할수 있게 되겠습니다..
위의 회로와같이 중간에 기준전압을 오려주기 위해서 +5V의 레벨 쉬프터를 쓰게 됩니다...그리고 그러한 특성이 잘 나타나는 것이 차동증폭기이지요...
그래서 차동증폭기를 레벨 쉬프터로 많이 활용한답니다...
_____________________________________________________________________________________