Forum: Platinen KiCAD: 2 Projekte auf ein PCB (ohne erneute Entflechtung)


von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

Hallo,

ich hab da eine Reihe von Geräte (alles privat / hobby) die aus 2 PCBs 
bestehen, die eine ist gleich für alle (mit Controller etc) auf der 
anderen ist die Anwendung.

Die Controllerseite lass ich bestücken und löte die PCBs dann mit 
Stiftleisten zusammen.

Jetzt würde ich gern ein komplettes Gerät auf ein PCB bringen und 
bestücken lassen. Neu Entflechten will ich nicht, das passt ja alles nur 
die Trennung der PCBs und die Footprints der Stiftleiste soll durch 
traces ersetzt werden.

Bei den Bauteilnummern habe ich darauf bereits geachtet.

Mein Plan war nun:
Ich kopiere die .sch aus dem Projekt A in Projekt B und füge sie als 
hierchachical sheet hinzu. Oder mit Append Schematic Sheet Content.
Und dann mit Append Board das Gleiche im pcbnew.

Jetzt hab ich aber das Problem dass mir für die eingefügten schematics 
die annotations verloren gehen. Und da mein Nummernschema auf Funktion 
statt Anordnung beruht ist auch eine auto. Neunummerierung nicht 
möglich.

Gibts irgendeinen Trick wie ich .sch files aus einem anderen KiCAD 
projekt importiere OHNE die Annotations zu verlieren?

von KittiCad (Gast)


Lesenswert?

Dom S. schrieb:
> Jetzt würde ich gern ein komplettes Gerät auf ein PCB bringen und
> bestücken lassen.

Ich weis nicht wo du fertigen lässt bzw. bestücken. Sollte es JLCPCB 
sein dann lass es sein - bringt absolut nichts! Und wenn, dann nur Ärger 
falls was beim "vereinen" schiefgeht.
Die Regel: EIN Projekt EIN Auftrag und basta.
Dazu muss man wissen wie die bestücken.
Bei Kleinstückzahlen <50 produzieren die keine Stenzel-Schablone, da 
wird jedes Pad einzeln mit Lötpaste  bepazt und zwar nur die , wo die 
Bestückung freigegeben ist.  Aus diesen Grund macht es wenig Sinn einen 
Nutzen zu machen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dom S. schrieb:
> Gibts irgendeinen Trick wie ich .sch files aus einem anderen KiCAD
> projekt importiere OHNE die Annotations zu verlieren?

Ich verstehe noch nicht ganz: beim Annotierungslauf bleiben doch in der 
Voreinstellung alle bereits vorhandenen Zuweisungen erhalten. Warum 
funktioniert das bei dir nicht?

von Ing-Dom (Firma: OpenKNX) (sirsydom)



Lesenswert?

KittiCad schrieb:

> Ich weis nicht wo du fertigen lässt bzw. bestücken. Sollte es JLCPCB
> sein dann lass es sein - bringt absolut nichts! Und wenn, dann nur Ärger
> falls was beim "vereinen" schiefgeht.
> Die Regel: EIN Projekt EIN Auftrag und basta.
> Dazu muss man wissen wie die bestücken.
> Bei Kleinstückzahlen <50 produzieren die keine Stenzel-Schablone, da
> wird jedes Pad einzeln mit Lötpaste  bepazt und zwar nur die , wo die
> Bestückung freigegeben ist.  Aus diesen Grund macht es wenig Sinn einen
> Nutzen zu machen.

Ich glaube du hast mich falsch verstanden.
Ja, JLCPCB, ich lass bei denen bestücken seit die den Service anbieten 
und ich hab mittlerweile sicher 50 Bestellungen, gut vierstellige Summen 
und hunderte PCBs und SMTs machen lassen. Mittlerweile auch 
doppelseitig! Ich bin sehr zufrieden und ich weiß durchaus wie der Hase 
bei denen läuft ;)

Aber zurück - nein, ich will kein Mehrfachnutzen mit unterschiedlichen 
Designs. Das ist preislich nicht attraktiv und bringt auch sonst wenig 
Vorteile.

Konkret geht es um das von mir entwickelte OpenKNX UP1 System: 
https://github.com/OpenKNX/OpenKNX/wiki/SEN-UP1-8xTH
(Bilder sind auch angehängt).

Ich habe hier Controller und Applikation getrennt, weil ich dadurch den 
Controller in größeren Stückzahlen fertigen kann und ich auch mal eine 
Applikation machen kann wo ich nur 2-3 Stück bauen will. Dann bestelle 
ich 5 PCBs für 2$ und bestücke von Hand. Der vorbestückte Controller 
wird mit der 20poligen Stiftleiste angelötet.
Das ist ok für kleine Stückzahlen. Und für mich.
Wenn ich jetzt aber ein Gerät habe das für viele interessant ist und ich 
im Rahmen einer Sammelbestellung 50 Stück machen lassen kann, dann hätte 
ich das lieber auf einem PCB. Ohne Stiftleiste, ohne löten. mit direkt 
gerouteten Tracks. Ich will dafür aber nicht alles neu machen, sondern 
nur die Stiftleiste raus und 20 gerade tracks ziehen. Fertig.


Jörg W. schrieb:
> Dom S. schrieb:
>> Gibts irgendeinen Trick wie ich .sch files aus einem anderen KiCAD
>> projekt importiere OHNE die Annotations zu verlieren?
>
> Ich verstehe noch nicht ganz: beim Annotierungslauf bleiben doch in der
> Voreinstellung alle bereits vorhandenen Zuweisungen erhalten. Warum
> funktioniert das bei dir nicht?

Das Problem ist, dass wenn ich ein schematic aus Projekt B und Projekt A 
kopiere (als File) passiert erstmal gar nichts. Es aucht im KiCAD Baum 
auf, aber das hilft nicht. Also erstelle ich im Haupt-Schematic von 
Projekt A ein Hierachical Sheet und lass das auf das reinkopierte aus 
Projekt B zeigen. Das funktioniert. Aber: Dabei gehen alle Annotations 
verloren, es stehen dann nur noch R?, C? und U? da...


Ich habe aber mittlerweile eine Lösung:
Ich habe nun die Signale im Projekt A und Projekt B gleich benannt.
Bisher hieß das Signal im Projekt A z.B. "GPIO18" und Projekt B hieß es 
"Input03".
Jetzt heißen die Signale im Projekt B so wie im A (also auf der App so, 
wie im Controller). Das verbessert NICHT die Lesbarkeit der Schematics, 
aber es funktioniert:

Ich kann per Append Board beide Layouts im pcbnew zusammenführen, die 
footprints der stiftleisten löschen und die tracks zwischen den nun 
gleichnamigen Netzen ziehen. GPIO18 vom Controller kann ich nämlich mit 
GPIO18 aus der App verbinden, heißt das Netz auf der App Input03, 
nicht...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dom S. schrieb:
> Das Problem ist, dass wenn ich ein schematic aus Projekt B und Projekt A
> kopiere (als File) passiert erstmal gar nichts.

Ah ja.

Don't do that. :-)

Stattdessen, lege die Schaltplanhiearchie (grob) an. Dabei verteilst du 
neue Schaltplannamen für die lokalen Dateien dieses Projekts. Dann gehst 
du in den entsprechenden Unterschaltplan und ziehst dir den fremden 
Schaltplan über Datei -> Schaltplan einfügen (oder so ähnlich – bei mir 
ist das auf Englisch) rein. Dabei bleibt dessen interne Annotation 
erhalten. Dann gehst du zurück auf die Hauptebene und machst das gleiche 
für die zweite Datei.

Am Ende lässte du noch einmal die Annotation laufen, damit die Netzliste 
aufgebaut wird, aber die sollte ja nichts mehr ändern müssen.

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Angehängte Dateien:

Lesenswert?

Das macht auch keinen Unterschied.

- Ich öffne EEschema im Projekt B (App)
- Ich lege neue, leere Schaltplanseiten an
- Ich gehe in die neue leere Seite und rufe "Append Schematic Sheet 
Content"
- Ich wähle einer der Seiten aus Projekt B (Controller)
- Das Zeug wird eingefügt, jedoch gehen die Annotations verloren, siehe 
Screenshot

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dom S. schrieb:
> Das macht auch keinen Unterschied.

Bei mir schon.

> - Ich gehe in die neue leere Seite und rufe "Append Schematic Sheet
> Content"

Bei mir heißt das "Insert Schematic Sheet Content". Kann es sein, dass 
du mit einer veralteten Version von Kicad arbeitest? Ich glaube mich zu 
erinnern, dass das erst ab V6 in der Form funktioniert, wie ich es 
beschrieben habe.

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

Du meinst sicher gut und altbewährt statt veraltet ;)

Ja, ich nutze noch die 5.1 ...

OK, mit KiCAD 6 bleiben die Annotations erhalten - sowohl über die 
Funktion "Insert Schematic Sheet Content" als auch über das platzieren 
eines neuen Sheets unter Angabe des Filenames des zu importierenden 
Sheets.

Danke Dir! Muss ich mich doch mal aufraffen umzustellen...
Never change a running system... aber wenns nicht mehr rennt muss man 
ihm Beine machen ;)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ing-Dom schrieb:
> Du meinst sicher gut und altbewährt statt veraltet ;)

Mittlerweile ist die 6er Version eigentlich auch ganz OK. Sie hat schon 
ein paar Bugfix-Revisions. Aktuell sehe ich nur einen Bug (aber habe den 
noch nicht zu Ende analysiert), bei dem sie mit einem "assertion fail" 
abkippt, wenn man Specctra DSN exportieren will. Ansonsten läuft die für 
mich stabil, und die Verbesserungen waren es mir allemal wert.

von Andreas R. (rebirama)


Lesenswert?

Geht das auch mit mit fertigen Layout um z.b. eine fertige 
Spannungsversorgung (Schaltplan und Layout) in ein anderes Projekt zu 
übernehmen?

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

ja genau DARUM ging es mir ja.

Und ja, das geht. Mit "Append Board" im pcbnew.
Dafür müssen nur die Netznamen passen - was zusammengehört muss gleich 
heißen.

In CR-8000 nimmt man für sowas Makros...

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.