Forum: Platinen Fataler Fehler in KiCad-Bibliothek


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 Chregu (Gast)


Lesenswert?

Hallo Foraner,

<ot>
Zuerst die gute Nachricht: Ich habe den Umstieg von Eagle auf KiCad 
geschafft und bereue es nicht! Einarbeitungszeit war etwa gleich, KiCad 
ist aber viel logischer, wenn man mal den Workflow durchschaut hat.
</ot>

Habe heute nach langer Suche das Problem einer nicht funktionierenden 
Schaltung gefunden: Für einen omron-Taster der B3F-Serie 
https://omronfs.omron.com/en_US/ecb/products/pdf/en-b3f.pdf habe ich in 
KiCad das SW_Push Symbol verwendet, ein generischer Taster. Der reale 
Taster, SW_TH_Tactile_Omron_B3F-10xx, hat dann die internen verbundenen 
Anschlüsse 1 und 2 verwendet, und der Taster schien immer gedrückt.
Sollte jetzt nicht der Footprint die Nummerierung 1-1-2-2 haben statt 
1-2-3-4?! Nachteil: 1. Nummerierung stimmt nicht mit dem DaBla überein, 
2. Taster könnte nicht flexibel an 1 oder 2, bzw. 3 oder 4 angeschlossen 
werden. Man könnte einfach den nicht gebrauchten Anschluss nicht routen, 
ist aber nicht sauber.
Oder man kreiert verschiedene Symbole, für jede Kombination Eines, ist 
aber auch irgendwie nicht sauber.
Wie geht Ihr mit diesem Problem um?

Gruss Chregu

von Michael D. (nospam2000)


Lesenswert?

Hi,

ich erstelle für ca. die Hälfte der verwendeten Symbole eigene Symbole 
in meiner eigenen Bibliothek. Dazu kopiere ich ein Standard-Symbol und 
passe es an ein ganz spezifisches Bauteil an.

Gerade wenn es keine gut spezifizierten pinouts sind (wie z.B. DIP28), 
dann macht es Sinn die Anschlussnummerierung zu prüfen, z.B. bei 
zweireihigen Anschlüssen ob die abwechselnd gerade/ungerade oder nach 
einem anderen Schema nummeriert sind.

Für einige Bauelemente mache ich auch einen eigenen Footprint. Den 
letzten den ich gemacht habe war für eine SMD Spule.

  Michael

von Andreas B. (bitverdreher)


Lesenswert?

Chregu schrieb:
> Wie geht Ihr mit diesem Problem um?
Ich überprüfe jedes Bauteil, bevor ich es einsetze und kopiere es in 
eine eigene lib, wenn ich es ändern muß. Unter Eagle hatte ich auch 
schon ähnliche Probleme.
In diesem Fall würde ich auch zu jedem Symbol das passende Footprint 
erstellen.

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Michael D. schrieb:
> Für einige Bauelemente mache ich auch einen eigenen Footprint. Den
> letzten den ich gemacht habe war für eine SMD Spule.

Dem kann ich nur zustimmen. Ich habe z.b. bei einen PCF-8574 extra ein 
Footprint gemacht mit den richtigen Beschriftungen der Pins. Das macht 
hinterher das Layouten bedeutend schneller. Besonders wenn man weiß wie 
herum man das Bauteil platzieren sollte.

Zugegeben das ist am Anfang viel mehr Arbeit aber dann weiß ich auch das 
alles stimmt. Besonders bei meinen Lieblingsbauteilen. Da haben sogar 
die Widerstände jeder sein eigenen Footprint.

Wenn ich nämlich später das nochmal mit den richtigen Layern ausdrucken, 
habe ich ein Bestückungsplan wo selbst ein Trottel durchblickt. Und das 
OHNE zusätzliche Infos auf die Platine zu ätzen. Der sieht dann so aus, 
wie die weißen Malereien auf Bausatzplatinen.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

UUUhh, so einen Aufwand treibe ich nicht.

Ich mach nur Symbole für Teile, die es nicht in den Libraries gibt.

Footprints genauso.

Allerdings checke ich bei sowas wie Tastern nochmal alles gründlich, 
damit mir da kein Fehler passiert.

Wenn ich zu einem Taster-Footprint nicht das richtige Symbol finde, 
kopier ich einen anderen Taster in meine Lib und ändere die Pins zB.

Insgesamt passieren mir so extrem wenig Fehler, aber der Aufwand ist 
auch nicht übertrieben durch unnötige Pedanterie.

PS: Gratulation zum Umstieg auf KiCad! Da, wo man als Anfänger neigt, 
Fehler zu machen, sind solche Dinge, wie die Zuweisung von 
SMD-Footprints an Transistoren und MOSFETs^^ Schau genau :)

: Bearbeitet durch User
von Wühlhase (Gast)


Lesenswert?

Chregu schrieb:
> Wie geht Ihr mit diesem Problem um?

Ich erstelle Bauteile grundsätzlich selber.

von Schlaumaier (Gast)


Lesenswert?

Mampf F. schrieb:
> Wenn ich zu einem Taster-Footprint nicht das richtige Symbol finde,
> kopier ich einen anderen Taster in meine Lib und ändere die Pins zB.

Das mache ich auch mit jeden Footprint. Der Grund ist einfach das ich 
das Rastermaß nicht erstellen muss. Einfach gesagt es muss nur "passen". 
Die Pins selbst sind egal. Die mache ich selbst.

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


Lesenswert?

Anekdote dazu: hatte bei BAE mal das Problem mit einem falsch 
angeschlossenen 78L05. Stellte sich heraus, dass es 78L05 im 
SOT-89-Gehäuse halt in zwei verschiedenen Pinouts gibt >:-} … man hat 
also 50 % Chancen, dass der gerade vorhandene zum Pinout aus der 
EDA-Library passt. ;-)

von Christian B. (luckyfu)


Lesenswert?

Mampf F. schrieb:
> UUUhh, so einen Aufwand treibe ich nicht.
>
> Ich mach nur Symbole für Teile, die es nicht in den Libraries gibt.

Dann arbeitest du aber für die selbst und nicht in einer Firma und / 
oder nicht mit Kollegen zusammen. Andernfalls gibt es ziemlich sicher 
Vorgaben an die Library, welche von den Standardlibs nicht erfüllt 
werden können. Aber auch das selbst erstellen schützt einen nicht vor 
Bibliotheksfehlern.

von W.S. (Gast)


Lesenswert?

Chregu schrieb:
> Oder man kreiert verschiedene Symbole, für jede Kombination Eines, ist
> aber auch irgendwie nicht sauber.

Und angesichts dieser Unstände behauptest du dennoch so etwas:
Chregu schrieb:
> KiCad ist aber viel logischer [als Eagle]

Ich sehe das ganz anders und hatte schon vor Jahren auf diesem 
katastrophalen Mißstand bei Kicad herumgehackt. Aber was richtige Fans 
sind, die wollen das nicht zur Kenntnis nehmen.

W.S.

von Chregu (Gast)


Lesenswert?

Jörg W. schrieb:
> dass es 78L05 im
> SOT-89-Gehäuse halt in zwei verschiedenen Pinouts gibt >:-} … man hat
> also 50 % Chancen, dass der gerade vorhandene zum Pinout aus der
> EDA-Library passt. ;-)

Nein, die Chance bei KiCad, dass es nicht passt, ist 100%. Hatte genau 
dieses Problem bei der letzten Bestellung, und hatte es zum Glück 
bemerkt, darum ist mir das mit dem Taster durchgegangen. In ALLEN DaBlas 
ALLER Hersteller, die ich durchgeackert habe, ist das Pinout gleich, 
aber KiCad hat glaub ich 1 und 2 vertauscht!

Gruss Chregu

von Wolfgang (Gast)


Lesenswert?

Chregu schrieb:
> Man könnte einfach den nicht gebrauchten Anschluss nicht routen,
> ist aber nicht sauber.

Routest du bei Logikgattern (z.B. 74xx04) nicht benutzte Ausgänge auch?

Niemand will für jeden Benutzungsgrad individuelle Symbole haben.

von Chregu (Gast)


Lesenswert?

Wolfgang schrieb:
> Routest du bei Logikgattern (z.B. 74xx04) nicht benutzte Ausgänge auch?
>
> Niemand will für jeden Benutzungsgrad individuelle Symbole haben.

Ich meine, es bleiben dann hässliche Luftlinien übrig...

Gruss Chregu

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


Angehängte Dateien:

Lesenswert?

Chregu schrieb:
> In ALLEN DaBlas ALLER Hersteller, die ich durchgeackert habe, ist das
> Pinout gleich, aber KiCad hat glaub ich 1 und 2 vertauscht!

Also, ich habe mir einfach mal deinen generischen Pushbutton genommen, 
dazu einen x-beliebigen, halbwegs generischen Footprint, und dann bei 
Mouser einen Schalter gesucht, der auf diesen Footprint passen würde.

Klar, im Datenblatt des Schalters sind die Pins 1, 2, 3, 4 bezeichnet, 
bei Kicad sind sie 1, 1, 2, 2, weil sie nur so die internen Verbindungen 
zwischen den Pins 1 und 2 sowie 3 und 4 realisieren können. Aber 
ansonsten passt das.

: Bearbeitet durch Moderator
von Chregu (Gast)



Lesenswert?

Jörg W. schrieb:
> Chregu schrieb:
>> In ALLEN DaBlas ALLER Hersteller, die ich durchgeackert habe, ist das
>> Pinout gleich, aber KiCad hat glaub ich 1 und 2 vertauscht!
>
> Also, ich habe mir einfach mal deinen generischen Pushbutton genommen,

Oh, sorry, Missverständnis. Hier habe ich mich auf den 78L05 in SOT-89 
bezogen.

Jörg W. schrieb:
> bei Kicad sind sie 1, 1, 2, 2

Bei mir eben nicht, siehe Beilage. Habe es jetzt so abgeändert, aber 
eben, es bleiben hässliche Luftlinien, wenn man die nicht verbindet 
will/kann...

Gruss Chregu

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


Angehängte Dateien:

Lesenswert?

Chregu schrieb:

> Oh, sorry, Missverständnis. Hier habe ich mich auf den 78L05 in SOT-89
> bezogen.

Kann ich nicht nachvollziehen. Es gibt zwei Bauteile für 78L05 in 
SOT-89, die haben beide korrektes Pinout für die gängigen Typen.

(MCP1702 hat offenbar die genannte abweichende Belegung, weshalb es ein 
Evalboard von Microchip gibt, das beide Footprints enthält.)

> Bei mir eben nicht, siehe Beilage. Habe es jetzt so abgeändert, aber
> eben, es bleiben hässliche Luftlinien, wenn man die nicht verbindet
> will/kann...

Naja, dass die Verbindungen bereits intern existieren und daher nicht 
außen überhaupt gezogen werden müssen (sondern man den Schalter 
eigentlich sogar als Drahtbrücke benutzen kann), kann Kicad wohl derzeit 
so nicht abbilden.

von Chregu (Gast)


Lesenswert?

Jörg W. schrieb:
> Kann ich nicht nachvollziehen. Es gibt zwei Bauteile für 78L05 in
> SOT-89

Oh, sorry, irgendwie kann ich es jetzt auch nicht mehr nachvollziehen, 
aber es war SOT-23, sehe ich grad. Entschuldigung für die Verwechslung.

Gruss Chregu

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Chregu schrieb:
> Jörg W. schrieb:
>> Kann ich nicht nachvollziehen. Es gibt zwei Bauteile für 78L05 in
>> SOT-89
>
> Oh, sorry, irgendwie kann ich es jetzt auch nicht mehr nachvollziehen,
> aber es war SOT-23, sehe ich grad. Entschuldigung für die Verwechslung.
>
> Gruss Chregu

Das ist mir mal mit TO220 und SOT23 passiert.

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


Lesenswert?

Mampf F. schrieb:

> Das ist mir mal mit TO220 und SOT23 passiert.

Ein TO-220 lässt sich sicher schwerlich auf einem SOT-23-Footprint 
unterbringen. Andersrum könnte man sich noch irgendwie behelfen, aber 
das wäre dann wohl ein Fall für den "quick & dirty"-Thread. ;-)

von Chregu (Gast)


Lesenswert?

W.S. schrieb:
> Ich sehe das ganz anders und hatte schon vor Jahren auf diesem
> katastrophalen Mißstand bei Kicad herumgehackt. Aber was richtige Fans
> sind, die wollen das nicht zur Kenntnis nehmen.

Ich sehe mich jetzt nicht unbedingt als blinder Fan, aber würde mich 
schon interessieren, was Du meinst!
Ach ja, und dieses Gesuche nach einem passenden Torrent braucht's auch 
nicht mehr... ;-)

Gruss Chregu

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Chregu schrieb:
> W.S. schrieb:
>> Ich sehe das ganz anders und hatte schon vor Jahren auf diesem
>> katastrophalen Mißstand bei Kicad herumgehackt. Aber was richtige Fans
>> sind, die wollen das nicht zur Kenntnis nehmen.
>
> Ich sehe mich jetzt nicht unbedingt als blinder Fan, aber würde mich
> schon interessieren, was Du meinst!
> Ach ja, und dieses Gesuche nach einem passenden Torrent braucht's auch
> nicht mehr... ;-)

Dann macht ihr das aber bitte per PN miteinander aus.

Die Kritik (zum Teil berechtigt, zum Teil unberechtigt) hat er nun schon 
oft genug mitgeteilt, die Antworten darauf sind bekannt und können in 
diversen Threads der Art "Eagle gegen Kicad" nachgelesen werden.

Hier geht es jetzt um Kicad und seine Bibliotheken.

Wir brauchen hier nicht noch einen Flamewar mit dem immer gleichen 
Ausgang.

Besten Dank für Dein Verständnis.

: Bearbeitet durch Moderator
von asd (Gast)


Lesenswert?

Gängiger Trick um bei dieser Art Taster nicht reinzufallen: Die diagonal 
gegenüberliegenden Pins benutzen, damit liegt man immer richtig.

von Chregu (Gast)


Lesenswert?

Ich habe mich immer gefragt, ob das ein konstruktionsbedingtes Feature 
ist, oder absichtlich zum Vereinfachen von Matrix-Tastaturen....

Gruss Chregu

von ZF (Gast)


Lesenswert?

Chregu schrieb:
> Ich habe mich immer gefragt, ob das ein konstruktionsbedingtes Feature
> ist, oder absichtlich zum Vereinfachen von Matrix-Tastaturen....
Du meinst, dass es überhaupt 4 statt nur 2 Pins sind? Ich denke, das hat 
Gründe in den mechanischen Stabilität. Nur 2 Pins wäre billiger für den 
Hersteller, auch wenn es Anschlussfragen aufwirft.

Bei dem Originalmodell in der Lib hat wahrscheinlich jemand einfach mal 
irgendwie nummeriert. Meine Regel, egal welches Programm: Fremdmodelle 
immer prüfen. Auch wenn die mitgelieferten Modelle (oder 
Distributorenmodelle) den Einstieg erleichtern, kann eine drei Box 
Strategie für zuverlässige Modelle zur Vermeidung von späterem Ärger 
trotz anfänglicher Mehrarbeit doch sinnvoll sein:
Box 1: Alle mitgelieferten oder fremden Modelle
Box 2: Eigene Modelle, passend zu den Bauteilen aus den eigenen 
Einkaufsquellen, was dann auch ein erster Schutz vor dem 78L05 Problem 
sein kann. Dies können aus Box 1 kopierte und geprüfte, ggf abgewandelte 
Modelle sein, oder komplett neu angelegte.
Box 3: Aus Box 2 kopierte Modelle, nachdem sie in einer eigenen 
Schaltung tatsächlich funktioniert haben.

von ZF (Gast)


Lesenswert?

Da fehlt ein *keine*: Nur 2 Pins wäre billiger für den
Hersteller, zudem es keine Anschlussfragen aufwirft.

von Andreas B. (bitverdreher)


Lesenswert?

asd schrieb:
> Gängiger Trick um bei dieser Art Taster nicht reinzufallen: Die diagonal
> gegenüberliegenden Pins benutzen, damit liegt man immer richtig.
Ich messe es lieber nach.
Weil, wie schon erwähnt:
Jörg W. schrieb:
> Naja, dass die Verbindungen bereits intern existieren und daher nicht
> außen überhaupt gezogen werden müssen (sondern man den Schalter
> eigentlich sogar als Drahtbrücke benutzen kann)
Die Nützlichkeit, zusätzliche Brücken zu setzen sollte man auch nicht 
verachten.

von Schlaumaier (Gast)


Lesenswert?

Was spricht eigentlich da geben, ein Taster einfach mit einer einfachen 
Durchgangsprüfung durch zu messen. Und den Footprint auf genau dieses 
Tastenmodell zu fixieren. Kicad hat doch die Möglichkeit eine 
Typenbezeichung zu hinterlegen.

Ich habe nämlich genau DAS gerade gemacht. Baue aktuell ein kleines 
Keyboard und habe JEDEN Taster vor  + nach den Einlöten durch gemessen. 
Grund: Funktionstest und sicherstellen das ich ihn nicht zufällig 
verdreht habe.

von Chregu (Gast)


Lesenswert?

Die omron B3F-Serie kannste nicht verkehrt rum einlöten.
Und ich gehe davon aus, das Bauteile VOR dem Einlöten funktionsfähig und 
-geprüft sind. Ob sie NACH dem Einlöten noch funktionieren, ist eine 
andere Frage.

Schlaumaier schrieb:
> Was spricht eigentlich da geben, ein Taster einfach mit einer einfachen
> Durchgangsprüfung durch zu messen. Und den Footprint auf genau dieses
> Tastenmodell zu fixieren.

Also messen muss man da nix, steht ja alles im DaBla. Ausserdem hat man 
ja vielleicht noch gar nicht alle Teile da, und will das Layout schon 
machen.

Diese flexible Zuordnung in KiCad von Symbolen und Footprints hat halt 
auch diesen Nachteil. In Eagle kann das nicht passieren.

Gruss Chregu

von Schlaumaier (Gast)


Lesenswert?

Chregu schrieb:
> Also messen muss man da nix, steht ja alles im DaBla.

Klor steht das darin. Aber ganz ehrlich für einen Taster und meine 
Arduino-Projekte habe ich noch nie ein Datenblatt für ein Taster 
gelesen. Aber mein Messgerät ist immer griffbereit.

von Chregu (Gast)


Lesenswert?

Jo ich gebs klar zu, ich auch nicht! Habe der Bibliothek vertraut ohne 
zu überlegen. Erst als die Printe hier waren und nicht funktionierten, 
habe ich mal ein DaBla angeschaut...

Gruss Chregu

von ZF (Gast)


Lesenswert?

Chregu schrieb:
> Diese flexible Zuordnung in KiCad von Symbolen und Footprints hat halt
> auch diesen Nachteil.
Du kannst in KiCad zu einem Symbol auch einen einzigen Footprint fest 
zuweisen (oder zwei, z.B. Welle und Reflow oder jede andere sinnvolle 
Anzahl). Diese Footprintzuweisung kannst Du dann zwar später immer noch 
ändern, aber nicht aus versehen. Ich finde diese Vorgehensweise (für 
jedes Symbol individuell festlegbar, ob kein, ein oder eine andere 
endliche Anzahl an Footprints vorab zur Auswahl steht) viel angenehmer 
als eine Pflichtverknüpfung bzw. schon beim Einfügen im Schaltplan 
festlegen zu müssen, ob dieser Widerstand später in RM10 oder RM12,5 
gebogen werden soll.

Auch die Bestellnummern für genau diesen Taster bei verschiedenen 
Lieferanten oder was immer Du sonst willst, kannst Du Symbolen zuweisen. 
Oder nicht, ganz wie Du willst. KiCad ist da wirklich nutzerorientiert 
statt gängelnd.

von Annonymus (Gast)


Lesenswert?

Wenn du ein Problem in den Bibliotheken von KiCad findest, mach doch 
bitte einen Bug-Report, falls nicht bereits einer existiert: 
https://gitlab.com/groups/kicad/libraries/-/issues
Nur so kann das Problem in zukünftigen Versionen behoben werden.

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


Lesenswert?

Annonymus schrieb:
> Wenn du ein Problem in den Bibliotheken von KiCad findest, mach doch
> bitte einen Bug-Report

Wenn, dann sollte der Bugreport dahingehend sein, dass der Omron-Taster, 
der ja schon einen eigenen Footprint hat, auch ein eigenes 
Schematics-Symbol bekommen sollte, welches dann mit der Nummerierung 
überein stimmt.

Das generische Taster-Symbol passt ja zu deren generischen Footprints; 
hätte Chregu einen generischen 6.5 x 4.5 Footprint statt des 
Omron-spezifischen benutzt, hätte alles funktioniert.

von Chregu (Gast)


Lesenswert?

Genau, die SW_PUSH_6mm[_H<n>mm] sind 1-1-2-2, und passen auch vom 
Footprint. Somit entspricht einfach das FP von 
SW_TH_Tactile_Omron_B3F-10xx nicht dem des DaBlas.

Gruss Chregu

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


Lesenswert?

Chregu schrieb:
> Somit entspricht einfach das FP von SW_TH_Tactile_Omron_B3F-10xx nicht
> dem des DaBlas.

Das zum einen, und zum anderen fehlt halt das zugehörige (passend 
nummerierte) Schaltplansymbol. Das einfachste wäre es aber 
wahrscheinlich, wenn man den Footprint genau so nummeriert, wie das 
bereits existierende Schaltplansymbol, welches du benutzt hast. Dann ist 
der Footprint eigentlich der gleiche wie der generische und man könnte 
ihn auch ganz einsparen. ;-)

Ah OK, nicht ganz: Omron schreibt im Datenblatt 1-mm-Löcher vor, der 
generische Footprint benutzt welche mit 1,1 mm. Könnte bei maschineller 
Bestückung ein Problem werden, dass die Teile nach dem Reinstecken nicht 
wieder rausfallen.

: Bearbeitet durch Moderator
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.