带有 circuitikz 的 BJT 电路

带有 circuitikz 的 BJT 电路

我是新circuitikz用户。我想画一个基于 BJT 晶体管的电路。我做了一些事情,但我的电路并不完美,我有一些问题需要纠正。你能帮我改进我的电路吗?提前谢谢。

  1. 我希望不同晶体管的标签与晶体管相比位于同一行和同一位置。

  2. 我希望晶体管 Q1 和 Q2 之间留有一些空间。

  3. 反转电流源I1和I2的方向。

  4. 修正晶体管Q3的尺寸。

  5. 电路各个元器件(BJT、I、R)的尺寸必须相同。

\documentclass{article}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
  (0,0) node[pnp] (pnp1){$Q_1$}
     (pnp1.B) node[pnp, xscale=-1, anchor=B](pnp2){}
     (pnp2) node {$Q_2$}
     (pnp2.B) node[pnp, xscale=-3, anchor=B](pnp3){}
     (pnp3) node {$Q_3$}
     (pnp2.C) node [npn, anchor=C] (npn1) {}
     (pnp1.C) node [npn, xscale=1, anchor=C] (npn2) {}
     (npn2.E) to [american current source, l_=$I_3$,-*](0,-5)
     (npn1.E) to [american current source, l_=$I_4$,-*](-1.65,-5)
     (pnp1.E) to [american current source, l_=$I_1$,-*](0,5)
     (pnp2.E) to [american current source, l_=$I_2$,-*](-1.65,5)
     (-1.65,-5)--(0,-5)node[vee]{$V_{ee}$}
     (-1.65,5)--(0,5)node[vcc]{$V_{cc}$}
     (pnp2.B) node [circ]{}|-(pnp1.C) node[circ]{}
     (pnp2.B) node [circ]{}|-(pnp3.C) node[circ]{}
     (npn1.B)to [R, l_=$R_1$,-*](-5,-1.5)
     (npn1.B)--(npn2.B)
;
\end{circuitikz}
\end{document}

在此处输入图片描述

答案1

由于您似乎更喜欢相对坐标,我尝试继续使用这种思路。锚点text是放置标签的位置(左下角)(如果有的话)。xscale=-1普通标签也会被镜像。

\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw
  (0,0) node[pnp] (pnp1){$Q_1$} ++(.7,0) % add white space for label
     (pnp1.B) -- ++(-.5,0) node[pnp, xscale=-1, anchor=B](pnp2){}
     (pnp2.text) node[above left,inner sep=0pt] {$Q_2$}
     (pnp2.B) -- ++(-1,0) node[pnp, xscale=-1, anchor=B](pnp3){}
     (pnp3.text) node[above left,inner sep=0pt] {$Q_3$}
     (pnp2.C) node [npn, anchor=C] (npn1) {}
     (pnp1.C) node [npn, xscale=1, anchor=C] (npn2) {}
     (npn2.E) to [american, I , l_=$I_3$,-*] ++(0,-2) coordinate(a)
     (npn1.E) to [american, I , l_=$I_4$,-*] ++(0,-2) coordinate(b)
     (pnp1.E) to [american, I<, l^=$I_1$,-*] ++(0, 2) coordinate(c)
     (pnp2.E) to [american, I<, l^=$I_2$,-*] ++(0, 2) coordinate(d)
     (b)--(a) node[vee]{$V_{ee}$}
     (d)--(c) node[vcc]{$V_{cc}$}
     ($(pnp1.B)!.5!(pnp2.B)$) coordinate (e)
     (e) to[short,*-*] (e |- pnp1.C)
     (pnp3.C) to[short,-*] (pnp1.C)
     (npn1.B)to [R, l_=$R_1$,-*](-5,-1.5)
     (npn1.B)--(npn2.B)
;
\end{circuitikz}
\end{document}

演示

相关内容