我正在写这个电路,但我可以将 的输出A0
连接到 输入A2.+
,而在输出 $V_o$ 处,我无法获得示波器上方的标签,也无法更改示波器上的信号。我已经测试过
\ctikzset{bipoles/oscope/waveform=square}
\draw (7,-3) node[oscopeshape,fill=blue](O){};
基于CircuiTikZ手册1.4.13节4.6.1.1示波器波形。
平均能量损失
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\ctikzsetstyle{romano}
\begin{document}
\begin{circuitikz}[scale=0.7, transform shape]
\draw (-4,-5.5) node [op amp](A0){\texttt{OA0}};
\draw (A0.-) to[short] ++(0,1) coordinate(tmp) to[R, l_=$R$] (tmp -| A0.out) to[short] (A0.out);
%\draw (tmp) to[short] ++(0,1) coordinate(tmp) to[C=$C$] (tmp -| A0.out) to[short] (A0.out);
\draw (A0.+) to [R, l_=$R1$ ] ++(0,-2.5) node[ground](GND){};
\draw (A0.-) to [short, ] ++ to [C=$C2$](-7,-5.025) -|(-7,0.5){};
%\draw (A0.out) -- (A2.+);
%\draw (A0.out) to[short,-]++ (1,0) (A2.+);
\draw (0,0) node[op amp, noinv input up](A1){\texttt{A1}}
(A1.+) to[short, -] ++(-8,0) coordinate(ainst-) node[left]{$V_i$}
(A1.-) to [short, -o] ++(0,-1) coordinate (ra-up);
\draw (ra-up) to[vR, l_=$R_A$, name=RA0, o-o] ++(0,-2) coordinate (ra-down);
\draw (ras-down) to [short, o-] ++(0,-1) node[op amp, anchor=-](A2){\texttt{A2}}
(A2.+) to[short, -] (A2.+ -| ainst-) coordinate(ainst+) node[left]{$$}
(ra-up) to[R, l_=$R_B$, name=RB1, o-] (ra-up -| A1.out) coordinate(vup) -- (A1.out)
(ra-down) to[R=$R_B$, name=RB2] (ra-down -| A2.out) coordinate(vdn) -- (A2.out)
;
\draw (vdn) to[R=$R$, name=R1] ++(2,0) node[op amp, anchor=+](A3){\texttt{A3}}
(A3.+) to[R=$R$, -, name=R2] ++(0,-2) ++(0,0) node[ground]{}
(vup) to[R=$R$, name=R3] (A3.- |- vup) coordinate(a3fb) --(A3.-)
(a3fb) to [R=$R$, name=R4] (A3.out |- a3fb) -- (A3.out)
to [short, -] ++(1,0) node[down]{$V_o$}
;
\ctikzset{bipoles/oscope/waveform=square}
\draw (7,-3) node[oscopeshape,fill=blue](O){};
(2,0.65) node[anchor=base]{pulse};
\draw (-8,0.5)
to[oscope=$C_1$, fill=green!20!gray, name=O1] ++(2,0);
%\path (O1.right) to [short] {A1.+};
\ctikzset{bipoles/oscope/width=1.0}
\draw (10,-50)
node[oscopeshape, fill=yellow!20!orange](O2){$C_2$};
\draw (O2.in 2) to[short, *-] ++(0,-0.5) node[ground]{};
\draw (O2.in 1) to[short, *-] ++(0,-0.5)
-- ++(-1,0) node[currarrow, xscale=-1]{};
\end{circuitikz}
\end{document}
更新
正如 js bibra 所说,我拼错了一些关键字,但在编译时它报告了以下错误:
! Package tikz Error: Cannot parse this coordinate.
\draw (A0.-) to [short] ++ t
o [C=$C2$](-7,-5.025) -|(-7,0.5){};
! Package pgfkeys Error: I do not know the key '/tikz/circuitikz/bipoles/oscope
/waveform', to which you passed 'square', and I am going to ignore it.
! LaTeX Error: The font size command \normalsize is not defined:
there is probably something wrong with the class file.
答案1
像这样?
我或多或少从头开始编写你的电路方案:
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\ctikzsetstyle{romano}
\begin{document}
\begin{circuitikz}
\draw (-4,-5.5) node [op amp](A) {\texttt{OA0}}
(A.-) to[short] ++ (0,1) coordinate(auxA1)
to[R=$R$] (auxA1 -| A.out) -- (A.out)
(A.+) to[R=$R1$] ++ (0,-2) node[ground] {}
(A.-) to[C=$C2$] ++ (-2,0) coordinate (auxA2)
%
(A.out) -- ++ (1,0) node[op amp, anchor=+] (B) {\texttt{A2}}
(B.-) -- ++ (0,1) coordinate(auxB1)
to[R=$R_B$, o-] (auxB1 -| B.out) coordinate(auxB2)
-- (B.out)
%
(auxB1) to[vR=$R_A$, mirror, -o] ++ (0,2) coordinate (C1)
-- ++ (0,1)
node[op amp, noinv input up, anchor=-] (C) {\texttt{A1}}
(C1) to[R=$R_B$] (C1 -| C.out) coordinate (C2)
-- (C.out)
% input
(auxA2 |- C.+) node[oscopeshape,fill=teal!30,label=$C_1$] (osc) {}
to[short,-o] ++ (-1,0) node[left] {$V_i$}
(osc) -- (C.+)
(osc) -- (auxA2)
% output op amp
(auxB2) to[R=$R$] ++ (2,0)
node[op amp, anchor=+] (D) {\texttt{A3}}
(C2) to[R=$R$] (C2 -| D.-) coordinate (D1)
-- (D.-)
(D.+) to[R=$R$] ++ (0,-2) node[ground] {}
(D1) to[R=$R$] (C2 -| D.out)
-- (D.out);
\ctikzset{bipoles/oscope/waveform=square}
\draw (D.out) -- ++ (1,0)
node[oscopeshape,fill=blue!30,label=$V_o$] {};
\end{circuitikz}
\end{document}
答案2
我认为到目前为止一切都很好
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\ctikzsetstyle{romano}
\begin{document}
\begin{circuitikz}[scale=0.7, transform shape]
\draw (-4,-5.5) node [op amp](A0){\texttt{OA0}};
\draw (A0.-) to[short] ++(0,1) coordinate(tmp) to[R, l_=$R$] (tmp -| A0.out) to[short] (A0.out);
\draw (A0.+) to [R, l_=$R1$ ] ++(0,-2.5) node[ground](GND){};
\draw (0,0) node[op amp, noinv input up](A1){\texttt{A1}}
(A1.+) to[short, -] ++(-8,0) coordinate(ainst-) node[left]{$V_i$}
(A1.-) to [short, -o] ++(0,-1) coordinate (ra-up);
\draw (ra-up) to[vR, l_=$R_A$, name=RA0, o-o] ++(0,-2) coordinate (ra-down);
\draw (ra-down) to [short, o-] ++(0,-1.03) node[op amp, anchor=-](A2){\texttt{A2}}
(A2.+) to (A0.out)
(ra-up) to[R, l_=$R_B$, name=RB1, o-] (ra-up -| A1.out) coordinate(vup) -- (A1.out)
(ra-down) to[R=$R_B$, name=RB2] (ra-down -| A2.out) coordinate(vdn) -- (A2.out);
\draw (vdn) to[R=$R$, name=R1] ++(2,0) node[op amp, anchor=+](A3){\texttt{A3}}
(A3.+) to[R=$R$, -, name=R2] ++(0,-2) ++(0,0) node[ground]{}
(vup) to[R=$R$, name=R3] (A3.- |- vup) coordinate(a3fb) --(A3.-)
(a3fb) to [R=$R$, name=R4] (A3.out |- a3fb) -- (A3.out)
to [short, -] ++(1,0) node[right]{$V_o$};
\end{circuitikz}
\end{document}