Forum: Platinen [KiCad] Länge einer Leitung?


von Karl (Gast)


Lesenswert?

Hallo Zusammen, Hallo Bernd W. im Speziellen ;-),

KiCad bietet ja die durchaus nützliche Funktion die Länge einer 
Leiterbahn berechnen zu können. Nun scheint es so, dass KiCad dabei 
manchmal (TM) durcheinander kommt, insbsondere wenn Vias im Spiel sind. 
Dann passiert es, dass nur ein Teil der Länge angezeigt wird. Meistens 
lässt sich das durch löschen von Teilstücken und neu zeichnen wieder 
beheben, manchmal aber auch nicht. Z.B. wenn ein Pull-Up über ein Via 
angeschlossen wird.

Kennt Ihr das?
Warum passiert das?
Was kann man dagegen tun?

Viele Grüße,
Karl

Beitrag #5103489 wurde von einem Moderator gelöscht.
von Georg (Gast)


Lesenswert?

Karl schrieb:
> KiCad bietet ja die durchaus nützliche Funktion die Länge einer
> Leiterbahn berechnen zu können

Das ist keineswegs so einfach wie sich das anhört, jedenfalls nicht bei 
Netzen mit mehr als 2 Anschlüssen. Von wo nach wo bitte soll die Länge 
angezeigt werden?

Bei brauchbaren CAD-Systemen kann man die gewünschten Abschnitte 
selektieren und die Länge der Auswahl anzeigen lassen. Ob das bei Kicad 
so geht weiss ich nicht.

Georg

von Karl (Gast)


Lesenswert?

disabled schrieb im Beitrag #5103489:
> Nein [...]
Der Blumentopf für die nutzloseste Antwort gehhhht an Dich. Gratuliere!

Georg schrieb:
> Das ist keineswegs so einfach wie sich das anhört

Ok, so eine Funktion ist mir noch nicht über den Weg gelaufen. Man kann 
zwar mehrere Segmente markieren, dabei wird aber leider die Summe der 
Segmentlängen nicht aktualisiert. Danke.

von Georg (Gast)


Lesenswert?

Karl schrieb:
> Ok, so eine Funktion ist mir noch nicht über den Weg gelaufen

Problem dabei: bei einem Netz mit 3 oder mehr Anschlüssen ist die Angabe 
der Gesamtlänge ziemlich uninteressant - i.A. interessiert z.B. die 
Länge von einem Senderpin zu einem Empfängerpin. Ich sehe nicht wie das 
System das ohne die Zuhilfenahme meiner zugebenermassen recht begrenzten 
Intelligenz wissen könnte.

Karl schrieb:
> Man kann
> zwar mehrere Segmente markieren, dabei wird aber leider die Summe der
> Segmentlängen nicht aktualisiert

Dazu kann ich nur mein Beileid aussprechen und die Anschaffung eines 
Taschenrechners empfehlen.

Georg

von Sebastian V. (sebi_s)


Angehängte Dateien:

Lesenswert?

Georg schrieb:
> Problem dabei: bei einem Netz mit 3 oder mehr Anschlüssen ist die Angabe
> der Gesamtlänge ziemlich uninteressant

Das Problem ist, dass es nichtmal bei 2 Anschlüssen vernünftig 
funktioniert (siehe Anhang, die Messung der Länge hört einfach an einem 
45° Winkel auf). Wäre auch an einer Lösung interessiert falls es denn 
eine gibt. Scheint mir eher ein Bug zu sein der auftreten kann wenn man 
die Leiterbahn mehrmals verschoben hat etc.

von Bernd W. (berndwiebus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Karl und Sebastian.

Karl schrieb:

> KiCad bietet ja die durchaus nützliche Funktion die Länge einer
> Leiterbahn berechnen zu können. Nun scheint es so, dass KiCad dabei
> manchmal (TM) durcheinander kommt, insbesondere wenn Vias im Spiel sind.

PCBnew zeigt Dir die Länge eines Segmentes und NICHT die Länge einer
Leiterbahn An Vias enden Segmente, daher Deine Beobachtung, dass dann 
etwas "nicht stimmt".

> Kennt Ihr das?

Ja.

> Warum passiert das?

Die Länge eines Segmentes ist recht einfach zu ermitteln und anzuzeigen.
Alles weitere wird komplizierter, insbesondere weil an den Enden von 
Segmenten Leiterbahnverzweigungen auftreten können, und PCBnew nun 
entscheiden müsste, welcher Abzweig für Dich nun wichtig ist.
Ebenso können sich an Segmentenden auch Leiterbahnbreiten, und damit der 
Wellenwiderstand, ändern. Wenn Dich z.B. aus HF Gründen diese Längen und 
Eigenschaften interessieren, wäre eine Gesamtlängenangabe der Leiterbahn 
auch sinnlos.
Selbst wenn Dich nur rein der Gleichstromwiderstand interessieren würde, 
müsstest Du zur Berechnung, wenn sich die Leiterbahnbreite ändert, 
wieder auf einzelne Segmente zurückgreifen.

Die Angabe der Segmentlängen ist also eine erste Annäherung an diese 
Problematik, die aber recht brauchbar ist, weil....

> Was kann man dagegen tun?

Du Dir sehr einfach Die Längen aufeinander folgender Segmente, deren 
Gesamtlänge als Leiterbahn für Dich interessant ist, notieren und 
anschliessend aufaddieren kannst.


Die Angabe der Segmentlängen ist also einfach zu machen, die Endpunkte 
sind ja bekannt, und die Angabe der Segmentlängen bietet eine hohe 
Flexibilität. Aber mehr würde sehr viel aufwändiger.

Du könntest Dich ja hinsetzten, und überlegen, wie man so etwas angehen 
könnte. Dann liesse sich vermutlich ein Python Script schreiben, welches 
das erledigt.

Sebastian V. schrieb:

> Das Problem ist, dass es nichtmal bei 2 Anschlüssen vernünftig
> funktioniert (siehe Anhang, die Messung der Länge hört einfach an einem
> 45° Winkel auf).

Gleicher Fall: An den Winkeln enden die Segmente. ;O)

Nachtrag: Alles was ich geschrieben habe, bezieht sich auf den "Legacy 
canvas"

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
von Bernd W. (berndwiebus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Noch ein Nachtrag:

Bernd W. schrieb:

> Nachtrag: Alles was ich geschrieben habe, bezieht sich auf den "Legacy
> canvas"

Gilt für den OpenGL Canvas aber genauso.
Siehe Anhang: PCBnew-SegmentlaengeErmitteln_07Aug2017.png

Die Angabe "Length" rechts daneben sind schon aufeinanderfolgende 
Segmente, zwischen vias bzw. Pads aufaddiert. Und das geht in der Tat 
bei Verzweigungen schon schief....

Application: kicad
Version: (2017-06-16 revision dab73e1)-master, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 
libssh2/1.4.3 librtmp/2.3
Platform: Linux 3.16.0-4-686-pae i686, 32 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.55.0
Curl: 7.38.0
KiCad - Compiler: GCC 4.9.2 with C++ ABI 1002
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=OFF
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=OFF



Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
von KiCad Nutzer (Gast)


Lesenswert?

Ich dachte immer, "Length" neben "Segment Length" gibt die Länge der 
Leiterbahn an?!?

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo KiCad

KiCad Nutzer schrieb:
> Ich dachte immer, "Length" neben "Segment Length" gibt die Länge der
> Leiterbahn an?!?

Ja. Das funktioniert aber nicht richtig bei Verzweigungen.

Ich habe gerade etwas experimentiert. Bei einer einfachen Kette von 
Segmenten ohne Verzweigungen zwischen Vias bzw. Pads funktioniert es 
wohl bei meinen Beispielen.

Ein Weiterer Punkt für Vorsicht: Unsauber gezeichnete Leiterbahnen, wo 
zwei Leiterbahnen direkt in der gleichen Lage übereinander liegen, was 
nicht immer unbedingt auffällt, iInsbesonders wenn man "autodelete old 
track" beim Routen abgeschaltet hat. Nun, genaugenommen sind das auch 
Verzweigungen.

"Segment Length" ist aber immer richtig.

von Karl (Gast)


Lesenswert?

Danke an alle.
Habe vor einiger Zeit ein Layout mit einem ULPI transceiver gemacht, und 
da ist es mir nicht aufgefallen. Heute nun eine emmc und schwupps, alles 
komisch ?

Das mit den Abzweigungen sehe ich natürlich ein. Habe vor dem Thread 
auch alle pull-ups entfernt, aber das hat nur bei manchen Leitungen 
geholfen. kicad scheint da in der Tat ein Problem zu haben, verbundene 
leiterbahnen zusammenzurechnen wenn sie nicht in einem Rutsch erstellt 
wurden.

Hab auch selbst noch probiert und es gibt einen für mich halbwegs 
akzeptable Hilfe, damit man zumindest merkt, wenn die Länge nicht wie 
erwartet berechnet wird: das längenanpassungstool hebt die leiterbahn 
komplett hervor, für das es die Länge berechnet. So sieht man die 
Unterbrechung schnell.

Weiß jemand wie es mit feature-requests bei kicad steht? Das von Georg 
eingangs beschriebene Verhalten hört sich machbar und nützlich an.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Karl.

Karl schrieb:

> Weiß jemand wie es mit feature-requests bei kicad steht? Das von Georg
> eingangs beschriebene Verhalten hört sich machbar und nützlich an.

Bei der Erstellung von Bugreports habe ich auch mal gesehen, dass man 
eine Einstellung "wishlist" (unter "importance"?) wählen kann. ;O)

https://bugs.launchpad.net/kicad

Bugreports können um so besser bearbeitet werden, je genauer bekannt 
ist, um was es geht.
Du solltest also für einen Bugreport die genaue Version von KiCad 
angeben. Und diese Version sollte aktuell sein, weil viele Bugs in 
neueren Versionen schon behoben sind.
Desweiteren sind Informationen über Dein Betriebssystem nötig.
Das nötige wird unter "Help" > "about KiCad" > "copy version info" in 
die Zwischenablage kopiert. von da aus in den Bugreport stecken.

Desweiteren wird eine genaue Fehlerbeschreibung benötigt, und unter 
welchen Voraussetzungen und Randbedingungen der Fehler auftritt.
Also nicht nur z.B. nur "stürzt ab", sondern machdem ich "xyz" mit uvw" 
gemacht habe, wollte ich "rst" durchführen, was zu einem Absturz von 
"gfh" führte.

Besonders toll ist es, wenn Du nicht nur eine gute Fehlerbeschreibung 
lieferst, sondern auch ein kleines Beispielprojekt, das genau dieses 
Verhalten reproduzierbar zeigt.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von Sebastian V. (sebi_s)


Lesenswert?

Bernd W. schrieb:
> PCBnew zeigt Dir die Länge eines Segmentes und NICHT die Länge einer
> Leiterbahn An Vias enden Segmente, daher Deine Beobachtung, dass dann
> etwas "nicht stimmt".

Im von mir gezeigten Screenshot benutze ich aber nicht die Segment 
Length sondern das Tune Track Length Tool. Die gelbe Markierung zeigt 
dabei wo die Länge gemessen wird. Die Messung fängt also rechts an einem 
Pad an, geht über diverse Ecken und ein Via und hört plötzlich auf. Das 
KiCAD nur die Länge einzelner Segmente messen kann stimmt so also nicht.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Sebastian.

Sebastian V. schrieb:

> Im von mir gezeigten Screenshot benutze ich aber nicht die Segment
> Length sondern das Tune Track Length Tool.

Ich sehe.

> Die gelbe Markierung zeigt
> dabei wo die Länge gemessen wird. Die Messung fängt also rechts an einem
> Pad an, geht über diverse Ecken und ein Via und hört plötzlich auf.

Schau mal genau hin, ob da die Endpunkte der Segmente wirklich 
zusammenhängen/übereinanderliegen.
Am sichersten geht das parametrisch. Segment rechts anklicken und aus 
dem Kontextmenue dann "Eigenschaften" wählen. Dort sind die Anfangs und 
Endkoordinaten der Segmente gelistet, und die Start- und Endpunkte 
aufeinanderfolgender zusammenhängender Segmente sollten gleich sein.
Der DRC ist da etwas toleranter.

Wenn das nicht der Fall sein sollte, kannst Du das hier auch durch 
Eintragen der Werte direkt elegant lösen. Das vermeidet Mausgefummel. 
;O)

> Das
> KiCAD nur die Länge einzelner Segmente messen kann stimmt so also nicht.

Richtig. Aber es sind anscheinend (noch) unterschiedliche Verfahren

Nachtrag: Ausserdem könntest Du nachsehen, ob die Segmente, die du gerne 
zusammenhängend hättest, auch den gleichen Netznamen haben.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
von Sebastian V. (sebi_s)


Lesenswert?

Bernd W. schrieb:
> Schau mal genau hin, ob da die Endpunkte der Segmente wirklich
> zusammenhängen/übereinanderliegen.

Hab mir die Stelle mal genau angeschaut. Dort war ein kurzes Stück 
Leiterbahn über der schon vorhandenen Leiterbahn. Wenn man das Stück 
löscht funktioniert es an dieser Stelle. Dabei route ich mit "Remove 
redundant tracks" und mit "Cleanup Tracks and Vias" kriegt man das extra 
Segment auch nicht automatisch weg. Dann scheint es eher ein kleiner Bug 
beim Routing zu sein der manchmal zu doppelten Segmenten führt.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Sebastian V. schrieb:

> Dabei route ich mit "Remove
> redundant tracks" und mit "Cleanup Tracks and Vias" kriegt man das extra
> Segment auch nicht automatisch weg.

Ich habe meistens den "online" DRC deaktiviert, weil ich gerne 
vorübergehend beim Routen etwas dort ablege, wo es den DRC verletzten 
würde.
Aber unter den Gesichtspunkten, auch wenn es diese Problematik nur am 
Rande berührt, ist das auch eher ein "schlechter" Arbeitsstil.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von Karl (Gast)


Lesenswert?

Sebastian V. schrieb:
> Hab mir die Stelle mal genau angeschaut. Dort war ein kurzes Stück
> Leiterbahn über der schon vorhandenen Leiterbahn. Wenn man das Stück
> löscht funktioniert es an dieser Stelle. Dabei route ich mit "Remove
> redundant tracks" und mit "Cleanup Tracks and Vias" kriegt man das extra
> Segment auch nicht automatisch weg. Dann scheint es eher ein kleiner Bug
> beim Routing zu sein der manchmal zu doppelten Segmenten führt.

Das ist mir eben auch wieder aufgefallen. Das Problem mit der "falschen" 
Anzeige entsteht, wenn man "Müll"-Segmente in den Leitungen hat. Dadurch 
kommt es wohl zu der Situation, dass KiCad nicht weiß, welchen Pfad es 
verfolgen soll. Man muss nicht gleich alles löschen und neu machen, es 
reicht idR die überflüssigen Segmente zu entfernen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.