Kicad Footprint erstellen, brauche Hilfe

Hallo Kai,

dann haben wir ein Problem. Zwei nackte Steckleisten auf seiner großen Platine hilft ihm nicht. Die Pins der Steckleisten haben zu nichts einen Bezug. Deswegen soll er ein Symbol erstellen und dann den passenden Footprint dazu. Das Symbol bindet er in seinen Schaltplan ein und alles haut hin.

Wenn sie im Schaltplan vernetzt sind, dann haben sie einen Bezug.

Hallo,

ich mache nicht den zweiten Schritt vorm Ersten. Deswegen erst Symbol, dann Footprint. Ohne Symbol kein Schaltplan.

Ich glaube, mein Vorschlag ist einfach zu simpel für dich. Natürlich hast Du recht, dass ein Symbol mit passendem Footprint korrekt ist.
Ein Breakout ist kein Bauteil im herkömmlichen Sinn. Wenn ich also im Schaltplan zwei Steckleisten (Symbol Conn_01_X) passend vernetze und anschließend diese Leisten mit ihrem passenden Footprint auf die Platine bringe, dann geht das auch. Und das sogar ziemlich einfach.

Hallo,

das kann man natürlich machen, so einfach habe ich gar nicht gedacht. Ich sehe dabei nämlich ein Problem, weshalb ich das nicht empfehlen kann und weshalb ich den einfachen Gedanken dafür erst gar nicht hatte. :wink: Die Symbole der Einzel-Buchsenleisten im Schaltplan und auf der Leiterplatte haben keine Gemeinsamkeit. Man kann die platzieren wie man lustig ist. Im Schaltplan mag das noch gehen. Im PCB wird es zur Katastrophe wenn man etwas verschiebt, dreht etc. und nicht ständig die Abstände und Lage überprüft. Deswegen mein Rat, erstellt auch dafür einen sauberen Footprint mit Symbol. Dann kann man das Symbol und Footprint jederzeit drehen und verschieben wie man möchte, dass Bauteil für sich ist immer richtig. Ist wie Programmieren. Einmal eine Klasse schreiben, diese so gut testen wie möglich, danach nur noch wiederverwenden.
Und wenn er das mit dem Symbol und Footprint erstellen verstanden hat, dann ist alles weitere total easy. Denn so schwer ist das nun wirklich nicht, ist einfacher wie in Word eine Tabelle zu formatieren.

... und während wir hier schreiben ist ein einfaches Symbol schon erstellt.

Dein Rat ist ja auch richtig. Man kann (sollte) die Steckleisten gruppieren. Dann bleibt deren Abstand konstant. Ich will auch keinen dazu überreden das so zu machen.

Es ist lediglich ein Vorschlag, als Behelf, wenn man ein recht einfaches Platinenlayout hat und es einem erst mal zu viel ist, ein Symbol + Footprint für ein Breakout zu bauen. Es ist und bleibt aber ein Behelf... das ist klar.

Verstanden.
Der Abstand der 2 Steckleisten im Footprint beträgt übrigens 12,7mm. 5 Raster a 2,54mm.

Hallo,

ich greife einmal vor für den Footprint.

Footprint erstellen.
Footprint Editor öffnen.
Eigens erstellte Bibliothek auswählen und Datei > Neuer Footprint.
Raster auf 2,54mm einstellen.
Speichern.
Falls da noch Unbenannt steht, Rechtsklick umbenennen, bspw. Adafruit_MCP23017.
Jetzt in Datei > Footprint Eigenschaften und rechts unten als Bauteiltyp Durchsteckmontage. Das stellt den Padtyp automatisch ein.
Ansonsten manuell im Menü auf das Pad Symbol "Standard Pad Eigenschaften".
Pad Typ: durchgehende Bohrung
Alle Kupferlagen mit F.Mask und B.Mask.

Hier stellen wir noch ein:
Pad Form: Kreisförmig
Durchmesser: 1,6mm
Lochform: Rundung bleibt
Durchmesser: 0,9mm

Alles okay und Stand speichern.
Jetzt in der rechten Leiste Symbol "Pad hinzufügen" und hintereinander die Pads platzieren, gleich in der Reihenfolge wie benötigt. Danach kann man aus Pad 1 ein abgerundetes Rechteck machen. Wichtig ist hier, dass die Pad Nummer der Pin Nummer im Symbol entspricht und entsprechend in der Platzierung korrekt sein muss!
Für den Anfang empfehle ich platziere Pin 1 auf den Koordinaten Nullpunkt, dann Reihe nach unten und zweite Reihe rechts daneben. In der Statusleiste sieht man wo du bist bzw. sieht am Raster.

Vielleicht noch ein Hinweis wegen den X/Y Achsen. Damit alles gewohnt nach oben und rechts positiv ist, kann man das einstellen. Menü > Einstellungen > Einstellungen > Footprinteditor > Ursprünge Achsen > Erhöht sich nach oben und rechts auswählen. Mach ich so. Das kann man gleich noch im Leiterlatteneditor machen.

Abstand der beiden Padreihen 5 Raster a 2,54mm, also 12,7mm
Jetzt schiebt man REF** und die grauen Schriften nach oben über Pad 1. Stört aktuell nur.

Jetzt zeichnet man ein Rechteck darum im F.Silkscreen und minimal größer im F.Courtyard Layer. Man kann auch nachträglich den Layer ändern.
Der F.Silkscreen Layer sollte den Board-Außenmaßen entsprechen.
Der F.Courtyard Layer etwas größer darum, ist der Sicherheitsabstand beim Bauteile platzieren.

Board Außenmaße: 43,18 x 17,78mm.
Jetzt muss man etwas rechnen für die beiden Rahmen, wenn Pin 1 an 0/0mm liegt,
dann gilt in Rechteck Eigenschaften
Rahmen F.Silkscreen Layer: X -2,35 / 15,05 und Y 6,36 / -36,87mm
Rahmen F.Courtyard Layer: X -3,35 / 16,05 und Y 7,36 / -37,87mm

Jetzt kann man alle Pads im F.Silkscreen beschriften laut Symbol.

Am Ende noch die Bohrlöcher hinzufügen. Ein Pad über Pin 1 setzen.
Eigenschaften ändern.
Padtyp: NPTH mechanisch
Kupferlagen: keine, Lagen F.Silkscreen und B.Silkscreen
Kreisförmig
Durchmesser original 3,2mm und Loch 2,5mm.
Position über Pin 1: X 0 und Y 3,81mm

Kopieren und immer auf der Achse zum letzten Pad 3,81mm Abstand.
Dafür kann man das Raster jetzt auch auf 1,27mm stellen.

Jetzt kann man ein Blick in die 3D Ansicht riskieren. Sollte alles passen.

Dann lädt man sich das 3D Modell von Adafruit runter.

Jetzt fügt man mittels Datei > Footprint Eigenschaften > 3D Modell > zwei 13 polige Buchsenleisten und das Adafruit Board Modell hinzu. Dreht, verschiebt und stapelt alles zurecht bis einem das gefällt.
Am Ende speichern nicht vergessen. Im Footprint-Editor nochmal in die 3D Ansicht wechseln ob alles passt.

Zu guter Letzt geht man in das Symbol und verknüpft den eben erstellten Footprint.
Außer man möchte das Symbol generisch verwenden ohne feste Footprint Zuweisung.

Das wars. Wenn man ehrlich ist, war es gar nicht schwer.

Maße usw. ohne Gewähr. Bitte selbst nachrechnen.

Jetzt kann man noch für die weitere Optik für die 3D Ansicht 2 Stiftleisten zwischen Breakout und Buchsenleiste platzieren. Ich habe aktuell keine 13 Pin Buchsenleisten als 3D Modell. Das ist alles Kür je nach Aufwand und Detailliebe.

@Doc_Arduino : Ich habe das jetzt im ersten Schritt so gemacht ( Bild ), dass müsste richtig sein. Im footprint Editor wird es nicht passen, wenn ich das Rechteck so einstelle, wie von dir beschrieben, sitzt mein Rechteck ganz woanders

habs jetzt hinbekommen, meine Bohrlöcher sehen optisch aber ein wenig anders aus, als deine. Ich habe jetzt mal von allen wichtigen Einstellungen screenshots gemacht und hoffe, dass ist so korrekt

Hallo,

das sieht doch schon gut aus. Prima. :+1:
Wegen dem Bohrloch im vorletzten Bild.
Dort habe ich für Kupferlagen "Keine" ausgewählt.

Damit hat man keine Kupferringe etc., soll sowieso kein Kontakt zu Masse oder zu einem Signal haben. Das Bohrloch kannste bspw. auf 2,6mm vergrößern, falls du M2,5 Schrauben haben solltest. Mit M2 würde ich es auf original 2,5mm belassen.

Bei den Bohrlöchern kann man mit den Einstellungen experimentieren. Lässt man Kupferlagen zu mit F./B.Mask und setzt das Loch und Pad gleich groß, hat auch man reines Loch ohne Kupfer. Bei mir ohne Kupferlagen und F./B.Silkscreen, hat man damit den Außenring im Silkscreen als Abstandsmarkierung. Stichwort Schraubenkopfdurchmesser. Probiere es aus und schaue dir immer die 3D Ansicht an.

Die runden Pads und das eckige Pad 1 solltest du noch in der Größe ggf. anpassen, falls du das nicht in dem Atemzug schon gemacht hast. Wenn deine 0,8mm bequem passen, dann ist das so i.O.

Damit wären wie eigentlich durch. War nicht so schwierig wie man dachte - oder? :wink:

Als i Punkt kannste noch im Silkscreen neben den Pads die Beschriftungen anbringen. B0, A2, GND usw. und/oder Markierungen das man das Board später richtig herum einsteckt. Alles was noch Wochen später hilft.

Man muss in den Symbol- und Footprint Editoren nur immer aufpassen, dass man auch das "Bauteil" ausgewählt was man bearbeiten möchte. Bspw. nach kopieren und speichern von eigenen nochmal genau prüfen das Neue auszuwählen, sonst bearbeitet man dummerweise das "Original". Ist mir schon paar mal passiert. Man hätte damit die Kopie als ungewolltest Backup.

Das Board .step File findest du in #14 unter der Nummer 5346.

Nach paar Tagen mit etwas zeitlichen Abstands prüfste nochmal alles, ob Pinnummern etc. zwischen Symbol und Footprint übereinstimmen usw.. Während des Erstellens wird man dafür meistens irgendwann blind.

Das wars. Danke fürs mitmachen.

@Doc_Arduino : Danke dir, dass hat mir sehr geholfen.

Ich habe da noch eine Frage zu.

Soweit funktioniert alles. Wenn ich jetzt aber folgendes Setup habe.

-ESP32 S3

  • Adafruit BSS138 Level Shifter Board
  • 8 Stück ADS1115 Board
  • 3 Stück TCA9548A
  • 1 Stück MCP23017

Getestet habe ich das bis jetzt mit einem TCA und mehreren ADS und dem MCP, dass funktionierte. Wenn ich jetzt noch zwei weitere TCA Module zu meinem Setup hinzufügen möchte, muss ich dann etwas an den Pullups verändern ?

Hallo,

um das zu bewerten muss man herausfinden welche Boards Pullups schon selbst mitbringen. Man muss den gesamten I2C Bus mit allen was dran hängt betrachten. Alle Pullups je Leitung bilden eine Parallelschaltung und damit kann der Gesamtwiderstand zu niedrig sein. Man muss von allen Boards den Schaltplan anschauen und auch nachmessen. Multimeter an VCC und SDA/SCL. Alle Boards einzeln nackt ohne Spannung. Versteht sich denke ich selbst. Auch die Levelshifterboards werden Pullups haben, denke ich.
Du könntest den Schaltplan aktualisieren und bei allen ranschreiben wo ein Pullup mit welchem Wert vorhanden ist.

@Doc_Arduino :

Der TCA hat Werte zwischen VIN und SDA/SCL von 10k Ohmen
Der MCP hat Werte zwischen VIN und SDA/SCL von 10k Ohmen
Der ADS1115 hat ebenfalls Werte zwischen VIN und SDA/SCL von 10k Ohmen
Der Level Shifter hat Werte zwischen VIN und SDA/SCL von 2.2k Ohmen, auf der high wie auf der Low Seite.

Es werden ja 3 TCA Module verbaut werden sollen, an einem werden dann die 8 ADS1115 hängen und an den anderen beiden habe ich dann die Option, Digitale Drucksensoren zu machen.

Kann ich mit diesen Werten schon etwas anfangen und berechnen, ob das so okay ist ?
Dazu habe ich noch eine weitere Frage. Wenn ich das ausrechnen kann, woher weiß ich denn überhaupt, welche Werte gut, mittel oder schlecht sind ?

EDIT: Der level shifter hat Werte zwischen Vin und SDA/SCL von 10k ohmen. Ich habe einen anderen Level shifter von Sparkfun gemessen, weil ich dachte, den von Adafruit noch nicht zuhause zu haben.

Da haben wir also eine Parallelschaltung von Widerständen, die Levelshifter mal außen vorgelassen:

...womit dann am Ende gilt:
image

Das ist zu wenig.

@wnownownowno: Ist die Rechnung denn so richtig ? Es ist doch immer nur ein ADS1115 pro Kanal aktiv und nicht alle 8 gleichzeitig, oder irre ich mich da ?

Ich komme auf 1.67k Ohmen mit level shifter.

Die Versorgung der Module ist doch immer aktiv. Also sind die PullUps der Module immer mit VCC verbunden. Somit hast du immer 12 Widerstände parallel von VCC zu SDA und von VCC zu SCL.

Die optimale Größe hängt von einigen Faktoren ab, wie die Geschwindigkeit des Buses, die Länge der Leitungen und stärke der Treiber.

Um so schneller der Bus ist, um so kleiner sollte der Gesamtwiderstand sein.
Je länger die Leitungen sind, um so kleiner sollte der Gesamtwiderstand sein.
Je schwächer der Treiber ist, um so größer sollte der Gesamtwiderstand sein.

Typisch liegt der Gesamtwiderstand zwischen 2,2kΩ und 10kΩ

Am einfachsten für Dich wird das auslöten von den PullUps an den ADS1115 sein, so das Du auf 2,5k Gesamtwiderstand kommst.

Ohne Spannung ist mir klar. Aber warum einzeln? Kann man den Gesamtwiderstand von VCC zu SDA und von VCC zu SCL nicht einfach über messen ermitteln wenn die Schaltung komplett aufgebaut ist? Warum sollte man das nicht tun?

Nun, es sieht so aus, dass ich (und @Plumps) - der Esel bewusst zuerst :slight_smile: - tatsächlich falsch liegen.

Habe gerade mal in das Datenblatt vom TCA9548a geschaut. Abbildung 8-1 auf Seite 20 ist die Entscheidende: Jeder der acht Kanäle stellt einen eigenen Bus dar - und dann ist natürlich die Rechnung anders. Das musst Du selber zählen, was da jeweils dranhängt. Die 1.67k scheinen mir zwar niedrig, aber vielleicht noch machbar.

Ausschnitt aus dem Datenblatt:

@wno: Okay, die Kabel werden ja ca 1.5m lang sein. Wenn ich auf dem Hauptbus Pullups entfernen muss, welche nehme ich dann am besten ? Kann ich einfach bei zwei TCA Modulen die Pullups entfernen ?

Bei der Schraubklemme müsste ich dann bestimmt auch noch Pullups setzen, also auf dem PCB, damit ich die Digitalen Sensoren ( falls gewünscht ) mit dem relativ langen Kabel nutzen kann, oder ? Also zwischen SDA/SCL und 5V Leitung dann jeweils die Pullups setzen, dann würde es weiter gehen zur Schraubklemme und dann zum Drucksensor Kabel. An den Analogen Sensor Ports ( an den Schraubklemmen ), die dann über die ADS Module laufen würden, da muss ich ja dann nichts verändern ?!