Как добавить резистор и источник переменного напряжения?

Как добавить резистор и источник переменного напряжения?

Я сейчас пытаюсь сделать эту схему, но каждый раз, когда я что-то делаю, она дребезжит. Та, которую я хочу добавить, выделена красным.

введите описание изображения здесь

Вот код и результат

введите описание изображения здесь

   \begin{document}
    \begin{circuitikz}
    \node[op amp, noinv input up] at (0,0) (opamp) {};
    \node[ground] at (-4.69,-5.5) (ground) {};
    \draw (opamp.-) -- ++(-1.15,0) -- ++(0,-2) to[R, l_=$R_1$] ++(0,-2.5) to[short,-*] ++(-2.35,0);
    \draw (opamp.+)(-3,0)to[R, l_=$R_1$] -- ++(-3.5,0) to[V, l_=$v_\text{IN}$,] ++(0,-3) -- (ground);
    \draw (1.66,0) to[short,*-] ++(0,-2.5) to[R, l^=$R_2$, -*] ++(-4,0);
    \draw (opamp.out) to[short,-*] ++(1.5,0) node[shift={(0.6,0)}] {$v_\text{O}$};
    \draw[-latex] (opamp.up) -- ++(0,0.5) node[above] {$V_+$};
    \draw[-latex] (opamp.down) -- ++(0,-0.5) node[below] {$V_-$};

    \node[shift={(0,-0.3)}] at (opamp.-) {\scriptsize$v_-$};
    \node[shift={(0,+0.3)}] at (opamp.+) {\scriptsize$v_+$};

    \end{circuitikz}
    \end{document}

решение1

Ваша главная ошибка — игнорирование ошибок, которые вы получаете от LaTeX:

wth.tex|8 error| Package tikz Error: (, +, coordinate, pic, or node expected.
wth.tex|8 error| Package pgf Error: No shape named `' is known.
...

Как почти всегда бывает с LaTeX, только первая ошибка действительно имеет значение, остальные могут быть просто связаны с неверной интерпретацией при попытке обойти найденную ошибку.

Рассматриваемая строка - это

\draw (opamp.+)(-3,0)to[R, l_=$R_1$] -- ++(-3.5,0)  [...]

И ошибка совершенно очевидна: вам нужен узел/координата после a, toа у вас есть a --.

Измените эту строку на

 \draw (opamp.+) to[R, l_=$R_1$]  ++(-3.5,0) to[V, l_=$v_\text{IN}$,] ++(0,-3) -- (ground); 

и у вас есть:

введите описание изображения здесь

Теперь, какпредложено @Jasper Habicht, вы можете добавить «переменную» стрелку, добавив имя к генератору и используяметод показан здесь.

Полный пример будет таким:

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{tikzpicture}[]
    \node[op amp, noinv input up] at (0,0) (opamp) {};
    \node[ground] at (-4.69,-5.5) (ground) {};
    \draw (opamp.-) -- ++(-1.15,0) -- ++(0,-2) to[R, l_=$R_1$] ++(0,-2.5) to[short,-*] ++(-2.35,0);
    \draw (opamp.+) to[R, l_=$R_1$]  ++(-3.5,0) to[V, l_=$v_\text{IN}$, name=myV] ++(0,-3) -- (ground);
    \draw (1.66,0) to[short,*-] ++(0,-2.5) to[R, l^=$R_2$, -*] ++(-4,0);
    \draw (opamp.out) to[short,-*] ++(1.5,0) node[shift={(0.6,0)}] {$v_\text{O}$};
    \draw[-latex] (opamp.up) -- ++(0,0.5) node[above] {$V_+$};
    \draw[-latex] (opamp.down) -- ++(0,-0.5) node[below] {$V_-$};

    \node[shift={(0,-0.3)}] at (opamp.-) {\scriptsize$v_-$};
    \node[shift={(0,+0.3)}] at (opamp.+) {\scriptsize$v_+$};
    \ctikztunablearrow{1}{1.25}{150}{myV}
\end{tikzpicture}
\end{document}

в результате чего

введите описание изображения здесь

PS: (Видите? Теперь ответ гораздо полезнее, потому что вы знаете, откуда взялась ошибка! И у вас есть пример «минимального рабочего примера», который вы всегда должны добавлять к своим вопросам)

решение2

За исключением операционного усилителя с питающими напряжениями схема записывается в один \drawконтур:

\documentclass[margin=3mm]{standalone}
\usepackage{amsmath}
\DeclareMathOperator{\IN}{\textsc{in}}
\usepackage{circuitikz}

\begin{document}
    \begin{circuitikz}[american]
\node[op amp, noinv input up]  (oa) {};
    \draw[-stealth] (oa.up)     --  ++  (0,+0.5) node[above] {$V_{+}$};
    \draw[-stealth] (oa.down)   --  ++  (0,-0.5) node[below] {$V_{-}$};
\draw
    (oa.-)  node[below] {\scriptsize $v_-$}
                -|  ++  (-0.5,-1.5) coordinate (aux)
                to [R, a=$R_1$, *-]    ++  (0,-2)
                to [short,-*]   ++  (-3,0)   node (gnd) [ground] {}
                to [V=$V_{\IN}$, name=V]    (gnd |- oa.+) %
                to [R=$R_1$]    ++  (3,0)  -- (oa.+) 
            node[above] {\scriptsize $v_+$} 
    (oa.out)    to [short,]  (oa.out |- aux)
                to [R=$R_2$]    (aux)
    (oa.out)    to [short, -o]  ++  (0.5,0) node[right] {$v_o$}
    ;
    \ctikztunablearrow[thick]{1}{1.2}{-30}{V}
    \end{circuitikz}
\end{document}

Связанный контент