KiCad Leiterbahn Signal zuweisen

#4938399
Lesenswert?

Lutz H. schrieb:
> Mit diesen Einstellungen geht es.

Nein, es funktioniert nur scheinbar. Es werden die Designrules 
ignoriert, mit allen Folgen, die solcher Quatsch hat...

Probe: Verbinde eine bezugslose Leiterbahn mit einer, die im GND-Netz 
liegt - das macht KiCad mit deinen Einstellungen - und klicke dann diese 
Leiterbahn mit der Funktion Highlight Net an: es wird nur der 
bezugslose Abschnitt hervorgehoben, nicht die GND-Bahn.

Wenn man so eine Platine ätzt, sind die Bahnen natürlich verbunden, weil 
sie einfach übereinander liegen, aber der Preis für solchen Murks ist 
Verzicht auf den DRC oder eine Latte von Fehlermeldungen. Das ist es 
nicht wert.


Wenn man es auf Biegen und Brechen erzwingen will, muss man so vorgehen:

- pcbnew schließen
- die Datei <projektname>.kicad_pcb mit einem Texteditor öffnen
- feststellen, welche net-Kennung das GND-Netz hat: Die Kennungen stehen
  in einer Liste, die etwa so aussieht:
  (net 0 "")
  (net 1 GND)
- ändern aller Einträge (net 0) gegen (net 1), wobei für die 1 die
  Nummer des GND-Netzes einzutragen ist.
- Datei speichern und pcbnew neu starten.

Wie man sieht, bietet sich sowas dafür an, die Funktion als KiCad-Plugin 
in Python zu programmieren - oder vielleicht gibt es das ja schon...
OP #4938411
Lesenswert?

Uhu U. schrieb:
> - pcbnew schließen
> - die Datei <projektname>.kicad_pcb mit einem Texteditor öffnen
> - feststellen, welche net-Kennung das GND-Netz hat (Das steht am Ende
>   der Segment-Anweisungen für GND als (net 1), wobei die Nummer variabel
>   ist.
> - ändern aller Einträge (net 0) gegen (net 1), wobei für die 1 die
>   Nummer des GND-Netzes einzutragen ist.
> - Datei speichern und pcbnew neu starten.

Soweit bin ich auch. Aber das funktioniert auch nicht so einfach

Hier ein Leiterbahnsegment:
(segment (start 55.995 92.71) (end 57.023 92.71) (width 0.6) (layer 
F.Cu) (net 0))

Den Netnamen habe ich auf net 1 geändert (GND bei mir). Allerdings zeigt 
das Programm immer noch keinen Netznamen an und mit GND kann ich auch 
nicht verbinden.
Man muss das Netz außerdem noch mit einem GND-Pad verbinden. Komische 
Sache.
#4938412
Lesenswert?

Uralt
Application: kicad
Version: 4.0.2-stable release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1009,GCC 
5.2.0,wx containers,compatible with 2.8)
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, 
wxMSW
Boost version: 1.57.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
#4938421
Lesenswert?

Anonymous U. schrieb:
> Man muss das Netz außerdem noch mit einem GND-Pad verbinden. Komische
> Sache.

Du verbindest die Bahn nach dem Ändern der Netzkennung mit GND - bei 
aktiviertem DRC.

Im angehängten Bild habe ich die abgewinkelte Leiterbahn von (net 0) auf 
(net 1) geändert. Sie erhält von KiCad den Namen GND, wenn man genügend 
vergrößert.
Angehängte Dateien:
#4938451
Lesenswert?

Uralt
Application: kicad
Version: 4.0.2-stable release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1009,GCC 
5.2.0,wx containers,compatible with 2.8)
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, 
wxMSW
Boost version: 1.57.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON


Oder so einen Footprint zum Kurzschließen von zwei Netzen verwenden.
Idee hier aus dem Forum.
Einfach als letztes auf die Leiterzüge setzen.
dort einen Text hinterlassen warum die Regelverletzung gewollt ist.
Angehängte Dateien:
OP #4938462
Lesenswert?

Uhu U. schrieb:
> Im angehängten Bild habe ich die abgewinkelte Leiterbahn von (net 0) auf
> (net 1) geändert. Sie erhält von KiCad den Namen GND, wenn man genügend
> vergrößert.

Hmm. Bei mir funktioniert das nicht. Ich habe folgendes ausprobiert: 
Eine Leiterbahn ganz normal vom pad aus ins nirvana gezeichnet. Alles 
passt, Netzname ist GND. Danach ein Zwischenstück entfernt. Das Stück, 
das nun mit keinem Pad mehr verbunden war, hatte immer noch GND. Danach 
hab ich gespeichert und KiCad neu gestartet. Und jetzt hatte genau 
dieses Stück kein Netz mehr. Und es lässt sich auch nicht mit GND 
verbinden. Auch nicht wenn Checks ausgestellt sind.

Meine Version ist übrigens:
4.0.5 auf Windows 10
#4938511
Lesenswert?

Hast du das Ziel aus den AUgen verloren? Lies nochmal dein 
Eingangsposting und wende dann mein Rezept auf die Konfiguration an.

Aber bedenke: solche Geschichten kann man mal machen, wenn gar nichts 
anderes mehr geht, außer eine Menge Leiterbahnen zu löschen und neu zu 
malen. Für normales Arbeiten braucht man sowas nicht - man baut die 
Leiterbahnen bei einem Pad beginnend.
#4938595
Lesenswert?

Bei mir geht das Entfernen nicht verbundener Leiterbahnen auch nicht mit 
den Einstellungen von kicad.


Einzeln löschen oder:
Es bleibt im Moment nichts anderes übrig, als mit einem Texteditor im 
File die Einträge mit (net 0) zu löschen.


  (net 0 "")
  (net 1 GND)
  (net 2 VCC)



  (segment (start 59.69 -15.875) (end 27.305 -48.26) (width 0.25) (layer 
F.Cu) (net 0))
Angehängte Dateien:
#4938642
Lesenswert?

Geht es in der englischen Version?

2 Pins mit Leiterzug im Schaltplan
Pins verbinden.
Namen GND geben.
Footprint zuordnen.

Leiterplatte zeichnen
Pins verbinden.


Hier beginnt der mögliche Bug
Ein Stück Leiterzug frei stellen, unabhängig von Pins  ( Leiterzug ist 
GND)
Abspeichern,
Schließen
Öffnen
Ein Stück Leiterzug ansehen    (Leiterzug ist "" )
Wird nicht automatisch gelöscht.
#4938739
Lesenswert?

Die englische Version unterscheidet sich nur durch die Texte im GUI von 
der deutschen. Ich habe allerdings 4.0.6 - die kam vor einer Woche, oder 
so.

> Wird nicht automatisch gelöscht.

Das wäre auch ein ziemlicher Unsinn, denn dann würde KiCad was anderes 
laden, als es abgespeichert hat.

Ich habe diese Funktion "Delete unconnected tracks" noch nicht vermisst. 
Würde sie funktionieren, müsste ich sie abschalten.
#4938849
Lesenswert?

Für einen Anfänger kann so etwas eine unüberwindliche Hürde sein.
Ein Leiterzug wird gezeichnet, in drei Teile geteilt und dann wieder 
verbunden.
Bein nächsten Mal kommt ein Abspeichern und wieder laden hinzu, und 
plötzlich geht das Verbinden nicht mehr.

Sobald irgendein Schaltkreisbeinchen angeschlossen ist, wird die 
Leiterbahn nicht umbenannt und deshalb fällt es normalerweise nicht 
besonders auf.
#4938873
Lesenswert?

Ich bin noch nie an der Stelle aufgelaufen, weil das schon ziemlich 
komische Kapriolen erfordert, die im normalen Arbeitsablauf schlicht 
nicht vorkommen.

Wenn man - wie üblich - von einem Pin zum nächsten routet, kommt man 
nicht in die Verlegenheit und wenn man z.B. einen Footprint austauschen 
muss, dann löscht man eben dort ein paar Track-Segmente und baut dann an 
der Stelle wieder mit neuen Segmenten an.

Sollte mal irgend was schief gehen, dann gibt einem DRC ausreichend 
Hinweise - deswegen ist es eine echte Schnapsidee, DRC im Normalbetrieb 
abzuschalten.

Probleme treten vor allem dann gerne auf, wenn man an den 
Einstellungungen rumdreht, ohne zu wissen, was man tut. Der Grid ist ein 
guter Kandidat dafür, wenn man unbedingt Ärger haben will...
Gast #4938947
Lesenswert?

Uhu U. schrieb:
> Ich bin noch nie an der Stelle aufgelaufen, weil das schon ziemlich
> komische Kapriolen erfordert, die im normalen Arbeitsablauf schlicht
> nicht vorkommen.

Tja, es gibt durchaus Gründe, warum es nicht unbedingt Kapriolen sind 
die sowas erfordern. In meinem Fall geht es um Abschirmung von 
Schaltungsmodulen auf der Platine. Und hier möchte man sich nicht 
unbedingt sofort auf eine GND Anbindung festlegen, sondern erstmal die 
Umrisse zeichnen.

> Wenn man - wie üblich - von einem Pin zum nächsten routet, kommt man
> nicht in die Verlegenheit und wenn man z.B. einen Footprint austauschen
> muss, dann löscht man eben dort ein paar Track-Segmente und baut dann an
> der Stelle wieder mit neuen Segmenten an.

Bei einer 0815-Platine mag das so sein.
#4938973
Lesenswert?

anonümus schrieb:
> In meinem Fall geht es um Abschirmung von
> Schaltungsmodulen auf der Platine. Und hier möchte man sich nicht
> unbedingt sofort auf eine GND Anbindung festlegen, sondern erstmal die
> Umrisse zeichnen.

Und die Umrisse zeichnet man eben nicht mit Leiterbahnen, dafür bietet 
jedes Layout-Programm nunmal andere Funktionen an. Spontan würde ich 
hierfür erstmal graphische Linien oder ein Polygon beginnen zu zeichnen.
#4939064
Lesenswert?

Es geht um ein umfangreiches Problem.

Beim Leiterzugzeichnen kann es vorkommen. dass Teilstücke auf der 
Leiterplatte entstehen, die mit keinem Pin zu diesem 
Bearbeitungszeitpunkt verbunden sind. Es stört niemanden, dass diese 
Teilstücke bleiben und bei nächster Gelegenheit wieder verbunden werden. 
(Der Name bleibt).

Wenn durch eine Bearbeitungspause der Arbeitsstand abgespeichert wird 
und später wieder geladen wird, werden diese Teilstücke zu Leiterzugmüll 
der erst mal entsorgt werden muss. (Name ändert sich beim Laden).

Ich denke an diesem Fall muss das Programm von KICAD geändert werden.

Normal:  Alle  Leiterzüge werden wieder mir dem richtigen Namen geladen.
Option: Alle nicht verbunden beim Laden löschen.

Den Sinn des jetzige Zustandes mit Umbenennen verstehe ich nicht.

Anonymous U. schrieb:
> Im Layouteditor von KiCad kann man ja mitten auf der Platine
> Leiterbahnen zeichnen, die dann kein Signal haben. Gibt es eine
> Mölichkeit denen z.B. Ground zuzuweisen?

Leiterbahnen löschen, die dann kein Signal haben

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren