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
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
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.
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
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.
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 einerLeiterbahn 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
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
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.
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.
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
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.
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
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.
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
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.