CircuiTikZ Schaltung zeichnen

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


didi_500
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 10. Jul 2017, 11:20

CircuiTikZ Schaltung zeichnen

Beitrag von didi_500 »

Hey Leute,
Ich schreibe für den privaten gebrauch eine Arbeit und stecke jetzt bei dem Problem eine Schaltung zu zeichnen.

Ich bin jetzt den ganzen Vormittag dran gesessen und es ist irrre Kompliziert weil es nicht die Bauteile gibt die ich will :?

Bin jetzt verzweifelt und komme nicht weiter.

Kann mir vl jemand helfen?

Meine Schaltung ist als jpg- Datei eingefügt.

lg Didi_500
Dateianhänge
20170710113909683.jpg
20170710113909683.jpg (100.67 KiB) 5748 mal betrachtet

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Hinweis: http://golatex.de/wie-haenge-ich-ein-bi ... 18411.html

Zeige in einem Beispiel, was Du bisher erreicht hast.

Welches Schaltzeichen wird denn in der Dokumentation von circuitikz nicht angeboten?

didi_500
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 10. Jul 2017, 11:20

Beitrag von didi_500 »

Mein code bis hier:
Ich habe Probleme mit der Benennung und mit dem Punkt vom Transformator... weiß leider nicht weiter.
Ich will das der Schaltername S, sowie N_1 neben dem Schalter, der Spule sind. habe aber nichts gefunden.

Ich weiß, mein Code ist schrecklich er soll jedoch nur seinen Zweck erfüllen und mir das Zeichen :D
\begin{circuitikz} 
\draw
(0,0) --(2,0) to [L, l=$N_1$] (2,-3);
\draw
(2,-3.5) node[nigfete, label=$S$] (nmos) {};
\draw
(2,-4.26)--(0,-4.26);
\draw
(3,0) to [L, l=$N_2$] (3,-3);
\draw
(2.5,-1)--(2.5,-2);
\draw
(3,0) to [C,l=$C_1$,-*] (6,0);
\draw
(3,-3) -- (6,-3);
\draw
(6,0) to [D,l=$D_1$,-*] (6,-3);
\draw
(9,0) to[short, i=$i_M$] (6,0);
\draw
(6,-3) --(9,-3);
\draw
(9,0) to [Telmech=M,n=motor] (9,-3);

\begin{scope}[shorten >= 10pt,shorten <= 10pt,]

\draw[->] (0,0) -- node[left] {$U_1$} (0,-4.26);
\draw[->] (3.5,-0.5) -- node[below] {$U_C$} (5.5,-0.5);

\end{scope}

\end{circuitikz}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Warum ist Dein Beispiel unvollständig? Ich entnehme Deiner Problembeschreibung, dass Du in der Lage sein müsstest, ein lauffähiges Beispiel anzubieten.

didi_500
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 10. Jul 2017, 11:20

Beitrag von didi_500 »

weil es nur ein Ausschnitt ist eben der der wichtig ist:?
LG didi_500

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2525
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Ich hätte es gerade mal getestet, doch nur so ein Ausschnitt lässt sich in meinem LaTeX-Editor nicht übersetzen. Klick auf "Open in Overleaf" zeigt dort auch nur einen Fehler.

Sicher ist es nicht Absicht, jeden Leser und potentiellen Helfer zu nötigen, ein Dokument drumherum zu bauen, um den Code zu testen und zu verbessern... kannst es ja vielleicht ergänzen. Tatsächlich verwendbarer Code ist fast eine Garantie für eine Lösung. Ein minimaler Ausschnitt wie hier ist recht cool weil quasi selbstverständliche Sachen weggelassen sind, andererseits bin ich zu faul um das Abgeschnittene selber zu rekonstruieren (unnötige Arbeit) und ich lese mal weitere Themen hier. :-)

Stefan

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hey didi_500,

ich kann Stefan nur beipflichten.

In der Sache: Schau Dir mal im Manual Kapitel 5 an. Da gibt es einige zusätzliche Attribute, die man in die [] setzen kann, und mit ^_ positionieren kann.

Ansonsten: Falls Dir tatsächlich ein shape fehlen sollte (welches?), mache es doch einfach mit tikz selbst. circuitikz versteht selbstverständlich alle tikz-Elemente.

Und wenn Dir ein ausgefüllter Punkt fehlt, na dann mach ihn doch hin:

\draw [fill] (Koordinate) circle (Radius);, also z.B.

\draw [fill] (0.0, 0.0) circle (0.8mm);

Und genau so einfach gehen Pfeile:

\draw [->] (von) -- (bis);, also z.B.

\draw[->] (2.0, 3.0) -- (2.0, 1.0);

... und wenn da noch N_1 mittig rechts stehen soll:

\draw[->] (2.0, 3.0) -- (2.0, 2.0) node [right]{$N_1} -- (2.0, 1.0);

... und wenn Du das N_1 weiter weg haben willst:

\draw[->] (2.0, 3.0) -- (2.0, 2.0) node [right, xshift=2mm]{$N_1} -- (2.0, 1.0);



Gruß vom Rolli

didi_500
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 10. Jul 2017, 11:20

Beitrag von didi_500 »

Hey Leute,
erst einmal danke für eure Hilfe!!!
Ich habe mich jetzt noch ein bisschen mit dem Code auseinandergesetzt und das ist mein Code. :P ist ein bissal chaotisch aber er funktioniert 8).
\documentclass{scrartcl}
\usepackage{circuitikz}
\usepackage{tikz}

\begin{document}
    \section{Schaltung}
    
\begin{circuitikz} 
\draw
(0,0) --(2,0) to [L, l_=$N_1$] (2,-3);
\draw
[black] (0,0) circle (.4ex);
\draw
(2,-3.5) node[nigfete] (nmos) {};
\node[] at (2.3,-3.5) {$S$};
\draw
[black] (1.8,-0.9) circle (.4ex);
\draw
(2,-4.26)--(0,-4.26);
\draw
[black] (0,-4.26) circle (.4ex);
\draw
(3,0) to [L, l=$N_2$] (3,-3);
\draw
[black] (3.2,-2.1) circle (.4ex);
\draw
(2.5,-1)--(2.5,-2);
\draw
(3,0) to [C,l_=$C_1$,-*] (6,0);
\draw
(3,-3) -- (6,-3);
\draw
(6,0) to [D,l=$D_1$,-*] (6,-3);
\draw
(9,0) to[short, i=$i_M$] (6,0);
\draw
(6,-3) --(9,-3);
\draw
(9,0) to [Telmech=M,n=motor] (9,-3);

\begin{scope}[shorten >= 10pt,shorten <= 10pt,]

\draw[->] (0,0) -- node[left] {$U_1$} (0,-4.26);
\draw[->] (3.4,0.6) -- node[above] {$U_C$} (5.6,0.6);

\end{scope}

\end{circuitikz}
\end{document}
So und jetzt geht es nur noch um den Feinschliff.. wie machen ich das ganze übersichtlicher? ich meine das \draw bei jeder Zeile muss das sein?

LG didi_500

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

\documentclass[border=5pt]{standalone}
\usepackage{circuitikz}

\begin{document}
\begin{circuitikz} 
\draw
(0,0) to[short, o-] (2,0) 
      to [L, l_=$N_1$, n=l1] (2,-3)
([above=6mm, left=2mm]l1) circle (.4ex)
(2,-3.5) node[nigfete] (nmos) {}
(nmos.bulk) node[anchor=west] {$S$}
(2,-4.26) to[short, -o] (0,-4.26)
%
(3,-3) to [L, l_=$N_2$, n=l2] (3,0)
([below=6mm, right=2mm]l2) circle (.4ex)
(2.5,-1)--(2.5,-2)
(3,0) to [C,l_=$C_1$,-*] (6,0)
(3,-3) -- (6,-3)
(6,0) to [D,l=$D_1$,-*] (6,-3)
(9,0) to[short, i=$i_M$] (6,0)
(6,-3) --(9,-3)
(9,0) to [Telmech=M,n=motor] (9,-3);

\begin{scope}[shorten >= 10pt, shorten <= 10pt]
\draw[->] (0,0) -- node[left] {$U_1$} (0,-4.26);
\draw[->] (3.4,0.6) -- node[above] {$U_C$} (5.6,0.6);
\end{scope}
\end{circuitikz}
\end{document}

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Noch ein Praxis-Tipp: Mach so viel wie möglich relativ und so wenig wie möglich absolut. Also z.B. nicht

(9,0) to [Telmech=M,n=motor] (9,-3);

sondern

(9,0) to [Telmech=M,n=motor] +(0,-3);

bzw.

(9,0) to [Telmech=M,n=motor] ++(0,-3);

Das ++ setzt die neue Koordinate als aktuellen Ort, das + lässt den aktuellen Ort so, wie er war.

Spätestens dann, wenn Du viel ändern musst, wirst Du für diesen Tipp dankbar sein ...

Gruß vom Rolli

Antworten