[Circuit] OP Amp Feedback 推導

電路知識:OP Amp
電子學 交大電子物理系 陳振芳教授

簡介:證明負回授導致虛短路

Vout=(V+V)Ao
理想運算放大器的特性:
  • A
  • Rin
  • BW
  • Rout0

Non-inverting 架構:
證明
V+=ViV=VoR1R1+R2Vo=(V+V)A=(ViVoR1R1+R2)A(1+R1AR1+R2)Vo=AViVoVi=A1+R1AR1+R2limAVoVi=R1+R2R1limAV=VoR1R1+R2=R1+R2R1ViR1R1+R2=Vi=V+
若 A 有限呢?即可反求 V
Known{V+=ViVo=(V+V)AV=V+AVoA=ViAVoAVR1=VoR1+R2ViAVoAR1=VoR1+R2(R1+R2)(ViAVo)=AR1VoA(R1+R2)Vi=[AR1+(R1+R2)]VoVoVi=A(R1+R2)AR1+(R1+R2)=R1+R2R1+R1+R2A=R1+R2R11+R1+R2R1A=R1+R2R11+1+R2R1A
若 A 1+R2R1 成立 R1+R2R1  得證虛短路

為何保證一定收斂呢?若從 VoV 一步一步求
Known{V+=ViVo=(V+V)AV=V+AVoA=ViAVoA=ViVoA t=0Vo,t=0=Vo,t=0Vt=0=ViVo,t=0At=1Vo,t=1=Vt=0+Vt=0R1R2=ViVo,t=0A+ViVo,t=0AR1R2=ViVo,t=0A+ViVo,t=0AR1R2=Vi(1+R2R1)Vo,t=0(1A+1AR1R2)=Vi(1+R2R1)Vo,t=0(1+R2R1)AVt=1=ViVo,t=1A=ViVi(1+R2R1)Vo,t=0(1+R2R1)AAt=2Vo,t=2=Vt=1+Vt=1R1R2=Vi(1+R2R1)Vo,t=1(1+R2R1)A=Vi(1+R2R1)[Vi(1+R2R1)Vo,t=0(1+R2R1)A](1+R2R1)AVt=2=ViVo,t=2A=ViVi(1+R2R1)[Vi(1+R2R1)Vo,t=0(1+R2R1)A](1+R2R1)AA
若 A 1+R2R1  得證虛短路

但這個推導是有問題的,因為不符合實際情況
感覺上就像是有了 Vo 然後反向操作 OP,才有了 V

那若從 VVo 推導呢?
Known{V+=ViVo=(V+V)AVo=(V+V)A=(ViV)A t=0Vt=0=Vt=0Vo,t=0=(ViVt=0)At=1Vt=1=Vo,t=0R1R1+R2Vo,t=1=(ViVt=1)A=(ViVo,t=0R1R1+R2)At=2Vt=2=Vo,t=1R1R1+R2Vo,t=2=(ViVt=2)A=(ViVo,t=1R1R1+R2)A=[Vi(ViVo,t=0R1R1+R2)AR1R1+R2]A=ViA(1AR1R1+R2)+Vo,t=0A2(R1R1+R2)2 若是照以上推導,會出現來來回回振盪,永不收斂。
為何?
因電阻的分壓反應時間遠小於 OP 的反應輸出
Vo 有一些些變化時,V 會立即隨之變化

為何從 VVo 推導看起來會正確的原因?
因為等同於求當下的真實狀態,什麼樣的 V 會造成目前的 Vo
然後這個 V 又會立即反應在 Vo

正確推導如下 t=0Vt=0=Vt=0Vo,t=0=Vo,t=0t=0+Vo,t=0+=Vo,t=0+[(ViVt=0)A]Vt=0+=Vo,t=0+R1R1+R2={Vo,t=0+[(ViVt=0)A]}R1R1+R2t=0++Vo,t=0++=Vo,t=0++[(ViVt=0+)A]={Vo,t=0+[(ViVt=0)A]}+[(Vi{Vo,t=0+[(ViVt=0)A]}R1R1+R2)A]Vt=0++=Vo,t=0++R1R1+R2=R1R1+R2{{Vo,t=0+[(ViVt=0)A]}+[(Vi{Vo,t=0+[(ViVt=0)A]}R1R1+R2)A]} 將以上 的部分,全簡化為 t=0Vt=0=Vt=0Vo,t=0=Vo,t=0t=0+Vo,t=0+=Vo,t=0+Vt=0+=Vo,t=0+R1R1+R2={Vo,t=0+}R1R1+R2t=0++Vo,t=0++=Vo,t=0++={Vo,t=0+}+Vt=0++=Vo,t=0++R1R1+R2={{Vo,t=0+}+}R1R1+R2 從以上式子,大概可以看出 V 會隨著 Vo 連動
Vo 上升 V 也上升; Vo 下降 V 也下降
直到穩定平衡

簡單模擬 by R
  1. # 電路條件
  2. vi = 5
  3. r1 = 10
  4. r2 = 10
  5. A = 1000
  6.  
  7. # 初始值
  8. v_ = 0
  9. vo = 0
  10.  
  11. # 記錄
  12. r_V_ = c()
  13. r_Vo = c()
  14.  
  15. # 設定 step and 上升多少等份電壓
  16. n = 1000
  17. div = 10000
  18.  
  19. for(i in 1:n)
  20. {
  21. vo = vo + A*(vi-v_)/div
  22. r_V_ = c(r_V_, v_)
  23. r_Vo = c(r_Vo, vo)
  24. v_ = vo/(r1+r2) * r1
  25. }
  26.  
  27. plot(r_Vo, col="red", type="l",ylab="V", ylim = c(0,15))
  28. lines(r_V_, col="green")
  29. legend('topright', c('Vo','V-'), lty=1, col=c('red', 'green'), bty='n', cex=.75)

Inverting 架構:
證明
V+=0V=Vi+(VoVi)R1+R2R1Vo=(V+V)A={0[Vi+(VoVi)R1R1+R2]}A=(ViVo)R1AR1+R2ViA=Vi(R1AR1+R2A)VoR1AR1+R2(1+R1AR1+R2)Vo=(R1AR1+R2A)ViVoVi=R1AR1+R2A1+R1AR1+R2limAVoVi=R1R1+R21R1R1+R2=R2R1limAV=Vi+(VoVi)R1+R2R1=Vi+(R2R1ViVi)R1+R2R1=Vi+R2ViR1ViR1+R2=ViVi=0=V+
若 A 有限呢?即可反求 V
Known{V+=0Vo=(V+V)AV=V+AVoA=VoAViVR1=VVoR2ViVoAR1=VoAVoR2ViR2+VoAR2=VoAR1VoR1R2Vi=(R1+R2A+R1)VoVoVi=R2(R1+R2A+R1)=R2R1(R1+R2R1A+1)=R2R1(1+R2R1A+1)
若 A (1+R2R1) 成立 R2R1  得證虛短路

為何保證一定收斂呢?若從 VoV,一步一步求
Known{V+=0Vo=(V+V)AV=V+AVoA=VoA t=0Vo,t=0=Vo,t=0Vt=0=Vo,t=0At=1Vo,t=1=Vt=0+Vt=0ViR1R2=Vo,t=0A+Vo,t=0AViR1R2=ViR2R1Vo,t=0(1A+1AR1R2)=ViR2R1Vo,t=0(1+R2R1)AVt=1=Vo,t=1A=ViR2R1Vo,t=0(1+R2R1)AAt=2Vo,t=2=Vt=1+Vt=1R1R2=ViR2R1Vo,t=1(1+R2R1)A=ViR2R1[ViR2R1Vo,t=0(1+R2R1)A](1+R2R1)AVt=2=Vo,t=2A=ViR2R1[ViR2R1Vo,t=0(1+R2R1)A](1+R2R1)AA
若 A 1+R2R1  得證虛短路

但這個推導是有問題的,因為不符合實際情況
感覺上就像是有了 Vo 然後反向操作 OP,才有了 V

那若從 VVo 推導呢?
t=0Vt=0=Vt=0Vo,t=0=(0Vt=0)A=Vt=0At=1Vt=1=Vi+(Vo,t=0Vi)R1R1+R2=Vi(1R1R1+R2)+Vo,t=0R1R1+R2Vo,t=1=Vt=1A=[Vi(1R1R1+R2)+Vo,t=0R1R1+R2]At=2Vt=2=Vi(1R1R1+R2)+Vo,t=1R1R1+R2=Vi(1R1R1+R2)+{[Vi(1R1R1+R2)+Vo,t=0R1R1+R2]A}R1R1+R2Vo,t=2=Vt=2A={Vi(1R1R1+R2)+{[Vi(1R1R1+R2)+Vo,t=0R1R1+R2]A}R1R1+R2}A 若是照以上推導,會出現來來回回振盪,永不收斂。
為何?
因電阻的分壓反應時間遠小於 OP 的反應輸出
Vo 有一些些變化時,V 會立即隨之變化

為何從 VVo 推導看起來會正確的原因?
因為等同於求當下的真實狀態,什麼樣的 V 會造成目前的 Vo
然後這個 V 又會立即反應在 Vo

正確推導如下 t=0Vt=0=Vt=0Vo,t=0=Vo,t=0t=0+Vo,t=0+=Vo,t=0+[(0Vt=0)A]Vt=0+=Vi+(Vo,t=0+Vi)R1R1+R2=Vi(1R1R1+R2)+Vo,t=0+R1R1+R2=Vi(1R1R1+R2)+{Vo,t=0+[(0Vt=0)A]}R1R1+R2t=0++Vo,t=0++=Vo,t=0++[(0Vt=0+)A]={Vo,t=0+[(0Vt=0)A]}+[(0{Vi(1R1R1+R2)+{Vo,t=0+[(0Vt=0)A]}R1R1+R2})A]Vt=0++=Vi(1R1R1+R2)+Vo,t=0++R1R1+R2=Vi(1R1R1+R2)+{{Vo,t=0+[(0Vt=0)A]}+[(0{Vi(1R1R1+R2)+{Vo,t=0+[(0Vt=0)A]}R1R1+R2})A]}R1R1+R2 將以上 的部分,全簡化為 t=0Vt=0=Vt=0Vo,t=0=Vo,t=0t=0+Vo,t=0+=Vo,t=0+Vt=0+=Vi(1R1R1+R2)+{Vo,t=0+}R1R1+R2t=0++Vo,t=0++={Vo,t=0+}+Vt=0++=Vi(1R1R1+R2)+{{Vo,t=0+}+}R1R1+R2 從以上式子,大概可以看出 V 會隨著 Vo 連動
Vo 上升 V 也上升; Vo 下降 V 也下降
直到穩定平衡

簡單模擬 by R
  1. # 電路條件
  2. vi = 5
  3. r1 = 10
  4. r2 = 10
  5. A = 1000
  6.  
  7. # 初始值
  8. v_ = 0
  9. vo = 0
  10.  
  11. # 記錄
  12. r_V_ = c()
  13. r_Vo = c()
  14.  
  15. # 設定 step and 上升多少等份電壓
  16. n = 1000
  17. div = 10000
  18.  
  19. for(i in 1:n)
  20. {
  21. vo = vo + A*(0-v_)/div
  22. r_V_ = c(r_V_, v_)
  23. r_Vo = c(r_Vo, vo)
  24. v_ = vi+(vo-vi)/(r1+r2) * r1
  25. }
  26.  
  27. plot(r_Vo, col="red", type="l",ylab="V", ylim = c(-10,10))
  28. lines(r_V_, col="green")
  29. legend('topright', c('Vo','V-'), lty=1, col=c('red', 'green'), bty='n', cex=.75)

其餘類似電路,皆可用 Superposition 加上以上兩個基本電路得證虛短路

留言