我请求任何人提供该图表的乳胶代码。
\begin{circuitikz}
\draw
(0,0) node[op amp] (op1) {}
(op1.-) to[short,*-*] ++(-0.8,0)
to [R,l=$R_1$,*-*] (-3.8,0.5) node(ex){}
to [short,*-o] ++ (-0.5,0) coordinate(ex1)
(op1.-) to[short,*-] ++(0,1.0) coordinate (leftC)
(op1.+) to ++(0,-1) node[cground]{}
(op1.-) to[short,*-] ++(0,1) coordinate (leftR)
to[R,l=$R_2$] (leftR -| op1.out)
to[short,-*] (op1.out);
\draw %----------------------------------------------Change
(op1.out)++(3.5,-0.5)node[op amp] (op2){}
(op1.out) to[R,l=$R$,o-*] (op2.-)
(op2.-) to [short,-*] ++(0,1.5) coordinate (leftC2)
to [C,l=$C$] (leftC2 -| op2.out)
to [short,-*] (op2.out)
to [short,-o] ++ (0.5,0) coordinate(end2)
(op2.+) to ++(0,-1) node[cground]{};
\draw %----------------------------------------------Change
(end2)++(3.5,-0.5)node[op amp] (op3){}
(end2) to[R,l=$R$,o-*] (op3.-)
(op3.-) to [short,-*] ++(0,1.5) coordinate (leftC3)
to [C,l=$C$] (leftC3 -| op3.out)
to [short,-*] (op3.out)
to [short,-o] ++ (0.5,0) coordinate(end3)
(op3.+) to ++(0,-1) node[cground]{};
\draw %----------------------------------------------Change
(end3)++(3.5,-0.5)node[op amp] (op4){}
(end3) to[R,l=$R$,o-*] (op4.-)
(op4.-) to [short,-*] ++(0,1.5) coordinate (leftC4)
to [C,l=$C$] (leftC4 -| op4.out)
to [short,-*] (op4.out)
to [short,-o] ++ (0.5,0) coordinate(end4)
(op4.+) to ++(0,-1) node[cground]{};
\end{circuitikz}
我已经写了上面的代码。我无法在一张图中画出 6 个运算放大器,一个运算放大器需要反转。
答案1
像这样?
我分三步绘制上面的图像:
- 第一步,我重新绘制了运算放大器的主链,在它们的位置我使用了相对坐标,并定义节点锚定在它们的负输入端。
- 第二步是添加输出运算放大器,命名为 op5,及其反馈环路。它
op3
通过使用选项位于运算放大器下方node distance
。 - 最后一个是反馈运算放大器,名为
op6
,并将反馈环路连接至链中的第一个运算放大器(op1
)。
\documentclass[margin=3mm]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{circuitikz}
\draw
(0,0) node[op amp] (op1) {}
(op1.+) -- ++(0,-0.5) node[cground]{}
(op1.-) to [R,a=$R_1$,-o] ++ (-2,0) node[left] {$V_{\textrm{in}}$}
(op1.-) to[short,*-] ++ (0,1) coordinate (leftR)
to[R=$R_2$] (leftR -| op1.out)
to[short,-o] (op1.out)
%---------------------------------------------- op2
to[R=$R$,-*] ++ (2,0)
node[op amp, anchor=-] (op2){}
(op2.+) -- ++(0,-0.5) node[cground]{}
(op2.-) -- ++(0,1) coordinate (leftC2)
to [C=$C$] (leftC2 -| op2.out)
to [short,-*] (op2.out)
to [short,-*] ++ (0.5,0) coordinate (end2)
to [R=$R$,-*] ++ (2,0)
%---------------------------------------------- op3
node[op amp, anchor=-] (op3){}
(op3.+) -- ++(0,-0.5) node[cground]{}
(op3.-) -- ++(0,1) coordinate (leftC3)
to [C=$C$] (leftC3 -| op3.out)
to [short,-*] (op3.out)
to [short,-*] ++ (0.5,0) coordinate (end3)
to [R=$R$,-*] ++ (2,0)
%---------------------------------------------- op4
node[op amp, anchor=-] (op4){}
(op4.+) -- ++(0,-0.5) node[cground]{}
(op4.-) -- ++(0,1) coordinate (leftC4)
to [C=$C$] (leftC4 -| op4.out)
to [short,-*] (op4.out)
to [short,-*] ++ (0.5,0) coordinate (end4)
to [short,-o] ++ (0.5,0) node[right] {$V_{1}$}
%---------------------------------------------- op5 + feedback loops
node[op amp, below=4 of op3] (op5){}
(op5.+) -- ++(0,-0.5) node[cground]{}
(op2.out) |- (end2 |- op5.-)
to [R=$R$,-*] (op5.-)
(op5.-) to[short,*-] ++ (0,1) coordinate (leftR5a)
to[R=$1/A$] (leftR5a -| op5.out)
to [short,-*] (op5.out)
to [short,-o] ++ (0.5,0) node[right] {$V_{\textrm{out}}$}
(leftR5a) to[short,*-] ++ (0,1) coordinate (leftR5b)
(leftR5b) to [R=$1/C$,*-] ++ (2,0) -| (op4.out)
(leftR5b) to[short,*-] ++ (0,1) coordinate (leftR5c)
(leftR5c) to [R=$1/B$] ++ (2,0) -| (end3)
%---------------------------------------------- op6 + feedback loops
(leftR) to[short,*-] ++ (0,1) coordinate (leftRa)
(leftRa) to[R=$1/E$] ++ (2,0) -| (end3)
(leftRa) to[short,*-] ++ (0,2) coordinate (leftRb)
to[R=$R$] ++ (2,0)
node[op amp, xscale=-1, anchor=out] (op6){}
(op6.+) -- ++(0,-0.5) node[cground]{}
(op6.-) to[short,-*] (op6.- -| end2) coordinate (in6a)
to[R=$1/D$] ++ (0,-2) -- (end2)
(in6a) -- (op6.- -| end4)
to[R=$1/D$] ++ (0,-2) -- (end4)
;
\end{circuitikz}
\end{document}