我该如何修复该电路中的问题?

我该如何修复该电路中的问题?

我正在写这个电路,但我可以将 的输出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}

相关内容