Hi! I want to do this circuit in my document but I'm new in this, I have no idea where to start. Specially the diode bridge, I don't know how to do it. I would be very grateful if someone could help me. Thank you!
-
3Botth TikZ and circuitkz could do this easily. See if all your components are available. Putting them along diagonals is no big deal. Actually, the trickiest parts are the u and i arrows (not standard form).– John KormyloApr 26, 2020 at 15:55
-
@isabella-salgado, if any of this answer suited you, please think about accepting one answer– RmanoMay 29, 2020 at 18:28
1 Answer
This question is a bit a kind of "do-it-for-me"; it would be much better if you tried something and then posted an example showing where you got problems.
You can do it both with the internal TikZ circuit library and with circuitikz
. Both have manuals that I think are quite readable, especially the first one ;-).
Just to help you start, this is the start of the solution with a recent circuitikz
. Notice that you need to learn TikZ before starting to use circuitikz
because all the concepts (nodes, coordinates, paths) are from there.
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}[european, circuitikz/straight=true,
american inductors, full diodes,
circuitikz/diodes/scale=0.5]
\node [transformer](T){};
\draw (T.B1) to [open, v=$u_s$] (T.B2);
\draw (T.B1) to [ccsw] ++(2,0) coordinate(top bridge);
% bridge
\draw (top bridge) to [D, *-*] ++(1,-1) coordinate(right bridge)
to [D, *-*, invert] ++(-1,-1) coordinate (bottom bridge)
to [D, *-*, invert] ++(-1,1) coordinate (left bridge)
to [D, *-*] (top bridge);
\node [jump crossing](X) at (left bridge |- T.B2) {};
\draw (T.B2) -- (X.west) (X.east) -| (bottom bridge);
\draw (left bridge) -- (X.north) (X.south) |- ++(2,-1);
\draw (right bridge) to[short, i=$i_p$] ++(1,0);
\end{circuitikz}
\end{document}
You can do better, with a bit of coordinate math, to avoid the ugly "kink" at the bottom of the bridge, and retouching the style of component, etc... but this is a start.
Ah, straight
for the voltage is a sort-of experimental feature. No guarantees...
Anyway, remember that you can also draw the circuit with a graphic tool (and maybe for one-off it's the best path) and include it. I am one of the authors of circuitikz
, but often in a rush I use the very good Xcircuit tool, also.
...and then, ok, I bite the bullet — I will use this as an example and, in future, a test code to try to work around a fix for a nasty bug with american voltages positioning on open
s.
There are a lot of comments in the code; notice the way I centered the bridge on the transformer.
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\usetikzlibrary{calc}
\begin{document}
\ctikzset{% styles here!
european,
american inductors,
full diodes,
bipoles/cuteswitch/thickness=0.3,
diodes/scale=0.5,
resistors/scale=0.7,
capacitors/scale=0.7,
capacitors/thickness=4,}
% note that the switch "straight" (for straight European voltages) is
% experimental
\begin{circuitikz}[circuitikz/straight=true,]
\node [transformer](T){};
\path (T.A1) node[ocirc]{} (T.A2) node[ocirc]{};
\draw (T.B1) to [open, v^=$u_s$] (T.B2);
\draw (T.B1) to [ccsw] ++(2,0) coordinate(top bridge);
% bridge
% find the center of the bridge; cross the top bridge with
% the center of the trafo
\coordinate (center bridge) at (T.center -| top bridge);
% now the coordinates to the right, bottom and left bridge
% this uses the calc library of tikz
\coordinate (right bridge) at ($(center bridge)!1!-90:(top bridge)$);
\coordinate (left bridge) at ($(center bridge)!1!90:(top bridge)$);
\coordinate (bottom bridge) at ($(center bridge)!1!-180:(top bridge)$);
% draw the bridge
\draw (top bridge) to [D, *-*] (right bridge)
to [D, *-*, invert] (bottom bridge)
to [D, *-*, invert] (left bridge)
to [D, *-*] (top bridge);
% the rest of the circuit
\node [jump crossing](X) at (left bridge |- T.B2) {};
\draw (T.B2) -- (X.west) (X.east) -- (bottom bridge);
% notice that if you change the "-2" here then the rest of the circuit
% will adapt, thank to using cross-coordinates and relative movements!
% The same will happens to the numbers in the ++(...) coordinates.
\draw (right bridge) to[short, i=$i_p$] ++(1,0) coordinate (c2h)
to[C=$C_2$, i>^=$i_{c2}$, *-*] ++(0,-2) coordinate(c2l);
% join the left part of the bridge now
\draw (left bridge) -- (X.north) (X.south) |- (c2l);
% ok, the rest of the circuit now
\draw (c2h) to[L, l_=$L$, i=$i_L$, v^=$U_L$, *-*] ++(3,0) coordinate(c1h)
to[C=$C_1$, i>^=$i_{c1}$, *-*] (c2l-|c1h) coordinate(c1l) -- (c2l);
\draw (c1h) to[short, -o] ++(1,0) coordinate(u1h)
to[short] ++(1,0) coordinate(rh) to[R=$R$] (rh|-c1l)
to[short, -o] (u1h|-c1l) coordinate(u1l) -- (c1l);
\draw (u1h) to[open, v^=$u_1$] (u1l);
\end{circuitikz}
\end{document}