Forum: Platinen KiCAD8.0.9: Netzklassen zuweisen, Netzklassen abstände


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Axel V. (axel-f)


Lesenswert?

Hallo zusammen,

- gibt es eine Möglichkeit, im EESchema einer Gruppe von Netzen, z.B. 
durch Rechteckauswahl oder eine ganze Seite, eine gemeinsame Netzklasse 
zuzuweisen? Das wäre wirklich komfortabel! Die Zuweisung an benannte 
Netze habe ich bereits gefunden...

- Wo kann ich Abstände Netzklasse zu Netzklasse einstellen? Ich meine, 
daß es das in frühren Versionen gab. Jetzt finde ich es aber nicht mehr.

Gibt es zu der Problematik "Netzklassen" evtl. ein empfehlenswertes 
Plugin?

Danke & Gruß
Axel

von Luca E. (derlucae98)


Lesenswert?

Meines Wissens nach geht beides nicht. Gerade die letztere Funktion habe 
ich auch schon gesucht. Gibt es nicht, also hilft nur die dadurch 
entstehenden DRC Fehler akribisch durchzugehen und zu ignorieren.

von Axel V. (axel-f)


Lesenswert?

Also, heute habe ich mich nochmals mit dem Thema beschäftigt, Doku 
gelesen, herumgesucht und ausprobiert. Folgendes ist dabei 
herausgekommen:

- man kann mehrere Netze mit gedrückter Shift-Taste auswählen; ABER man 
kann dieser Auswahl nicht direkt eine Netzklasse zuweisen.
- Es müssen zum zuweisen einer Netzklasse die entsprechenden Netze 
benannt werden, auch wenn diese bereits intern einen Namen bekommen 
haben. Wenn Netze nicht schon einen Namen hatten, wie z.B. "CSn_XY", 
dann habe ich diese mit einem Präfix und eine laufenden Nummer versehen 
z.B. "CPU_26".
- Diese durchnummerierten Netze lassen sich dann in einem Editor relativ 
komfortabel eine Netzklasse zuweisen (Sicherungskopie vorher machen!!). 
Die Netzklassenzuordnung ist im *.kicad_pro zu finden, das sieht dann in 
etwa so aus:

      {
        "netclass": "LT2",
        "pattern": "/Leistungsteil2/LT2_54"
      },
      {
        "netclass": "LT2",
        "pattern": "/Leistungsteil2/LT2_55"
      },
      {
        "netclass": "LT2",
        "pattern": "/Leistungsteil2/LT2_56"
      },

- Dann kommt der zweite Teil, das eigentliche 'constraining'.
- Im Leiterplatteneditor unter 'Platinenkonfiguration-> 
Benutzerdefinierte Regeln' habe ich folgendes eingetragen:
1
(version 1)
2
# Clearance for CPU nets to anything else
3
(rule CPU_global_clear
4
   (constraint clearance (min "1mm"))
5
   (condition "A.NetClass == 'CPU' && B.NetClass == 'LT1'"))
6
 # Clearance for Leistungsteil1 (LT1) nets to anything else
7
(rule LT1__global_clear
8
   (constraint clearance (min "1mm"))
9
   (condition "A.NetClass == 'CPU' && B.NetClass == 'LT2'"))
10
 # Clearance for Leistungsteil2 (LT2) nets to anything else
11
(rule LT2_global_clear
12
   (constraint clearance (min "1mm"))
13
   (condition "A.NetClass == 'LT1' && B.NetClass == 'LT2'"))
Die Angabe (version x) ist zwingend. Der Regelname ist unerheblich (rule 
XYZ). Mit den obenstehenden constraints habe ich es dann geschafft, drei 
galvanische Inseln mit min. 1 mm auf Abstand zu halten.

In Sachen Benutzerfreundlichkeit ist natürlich noch Luft nach oben.

Gruß
Axel

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Axel V. schrieb:
> Benutzerdefinierte Regeln

Extrem mächtig aber kompliziert zu bedienen.
Man kann fast jede Regel definieren.
Geht weit über Abstände von Netzklassen hinaus.

Ich hoffe das wird in einer späteren version mal kompfortabler 
benutzbar.

von Felix B. (e-b)


Lesenswert?

Axel V. schrieb:
> - gibt es eine Möglichkeit, im EESchema einer Gruppe von Netzen, z.B.
> durch Rechteckauswahl oder eine ganze Seite, eine gemeinsame Netzklasse

Ab KiCAD 9.0 funktioniert das, mit den 8.x Versionen nicht.

Suche mal hier:
https://www.kicad.org/blog/2025/02/Version-9.0.0-Released/
"Net class rule areas"

Damit kannst du (wie es in Altium schon länger geht) Netzklassen über 
mehrere Netzt anlegen (Rechteck Auswahl)

Du kannst auch so auswählen:
https://forum.kicad.info/t/how-do-i-use-the-new-creepage-custom-rules-v9-0-0/59328/9

Ein Grund mehr auf V9 zu wechseln.

Cheers

: Bearbeitet durch User
von Axel V. (axel-f)


Lesenswert?

Ja, das geht schon mal in die richtige Richtung. Dazu muß ich aber erst 
noch mein Linux hochziehen, um auf die 9er wechseln zu können.

Im Moment habe ich es so gemacht, wie oben beschrieben. Das hat auf 
jeden Fall den Vorteil, daß man im PCB nichts übersieht.

Danke & Gruß
Axel

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.