Hallo an alle! Ich möchte eine Platine in Ringform erstellen auf die SMD-LEDs platziert werden sollen. Auf dieser Platine sollen 800-1000 LEDs drauf. Mein Problem ist jetzt, dass ich zum Einen noch nie eine ringförige Platine erstellt habe und es zum Anderen auch SEHR viele SMD-LEDs sind. Daher würde ich gerne mal von den erfahrenen Benutzern unter euch wissen, wie ihr so etwas angehen würdet? Zum Einen wäre da die Frage, wie man so viele Bauteile platziert (gibt es da etwas, das man vorgeben kann und es wird dann grob automatisch platziert?) und wie es vom workflow am sinnvollsten ist. Alle LEDs einzeln zu setzen würde sicherlich Tage dauern - und wenn dann doch noch was geändert werden muss, dann war das alles umsonst. Ich habe bisher etwas Erfahrung mit EAGLE, muss aber KiCad verwenden und kenne mich da kaum aus (abgsehen davon, wäre ich aber bei EAGLE auch bei so einem board überfragt). Ich weiß auch nicht mal, wie man Komponenten in KiCad rotiert (außer in 90° Schritten mit "r"). Vielen lieben Dank!
Ringförmig ist erstmal kein Problem. Viele Layoutprogramme unterstützen Polarkoordinatensysteme. Einige (Altium z.B.) richten die Bauteile entsprechend automatisch aus... Was genau ist dein Problem dabei?
Du kannst Eagle in KiCad importieren. Somit kannst du Eagle weiter nutzen.
Moin Moin, ich war auch mal in der Situation und dieser freundliche Inder hat's mir erklärt: https://www.youtube.com/watch?v=cIiVNqW4VWg ;) Das kannst Du dann in Eagle machen und später nach KiCAD exportieren...
kicad unterstützt auch python scripting. Wie wäre es, den ring in n teilstücke aufzuteilen, die sich auch besser handlen und nesten lassen und dann ein batch bei einem dienstleister bestücken zu lassen? bei 10 teilstücken wird das nicht mehr als 100$ /ring kosten, bei höheren mengen so maximal 25$
Phil G. schrieb: > Alle LEDs einzeln zu setzen würde sicherlich Tage dauern - und wenn dann > doch noch was geändert werden muss, dann war das alles umsonst. Dann sollte man VORHER gut überlegen und ein paar Tests mit nur wenigen LEDs machen. Eagle hat ein ULP namens cmd_draw.ulp, damit kann man Bauteile kreisförmig anordnen.
Danke erstmal für eure Beiträge! Aktuell ist aber mein Problem, dass ich keine EAGLE Lizenz an dem Rechner habe. Daher wäre es gut, wenn es irgendwie über KiCad machbar wäre.
Dann ist dein stichwort python skripting, einfach mal googlen. Dann kannst du die Bauteile einfach parametrisch setzten. und durch ändern des skriptes alle leds in sekunden neu setzten.
https://forum.kicad.info/t/python-scripting-example-studio-clock/5387 Das wäre ein erster Ansatz für ein Python-Script.
Phil G. schrieb: > Mein Problem ist jetzt, dass ich zum Einen noch nie eine ringförige > Platine erstellt habe und es zum Anderen auch SEHR viele SMD-LEDs sind. > > Daher würde ich gerne mal von den erfahrenen Benutzern unter euch > wissen, wie ihr so etwas angehen würdet? KiCad verwenden und mit einem Python-Script oder mit einem Bash-Script die Platzierung erledigen. ULP in Eagle kann es vmtl auch.
Hallo Phil. Phil G. schrieb: > > Ich habe bisher etwas Erfahrung mit EAGLE, muss aber KiCad verwenden und > kenne mich da kaum aus (abgsehen davon, wäre ich aber bei EAGLE auch bei > so einem board überfragt). 1. Ansatz: In KiCad einen Footprint plazieren, Mit rechter Maustaste anklicken, ev. Feinauswahl des Footprints > " Array erstellen " wählen. Es popt ein Fenster auf, dort den Reiter "Kreisarray" wählen. 2. Ansatz: Für kompliziertere Fälle ein Python Skript erstellen, wie oben genannt. > Ich weiß auch nicht mal, wie man Komponenten in KiCad rotiert (außer in > 90° Schritten mit "r"). Footprint mit rechter Maustaste anklicken, ev. Feinauswahl des Footprints > " Parameter editieren " wählen. Es popt ein Fenster auf, dort können vier verschiedene Winkelpositionen direkt gewählt werden und zusätzlich in einem Feld eine beliebige Winkelposition eingetragen werden. Du kennst https://www.mikrocontroller.net/articles/KiCad? Viel Erfolg! Mit freundlichen Grüßen: Bernd Wiebus alias dl1eic http://www.dl0dg.de
Vielen Dank für die bisherigen Beiträge! Da ich kein python kann, würde ich das gerne erstmal hinten anstellen. Danke @berndwiebus für diesen Alternativweg. Ich hab das mal ausprobiert und mir auch deinen Link angeschaut :) Momentan habe ich in meinem Schaltplan ein ratsnest von ~1184 Komponenten. Jeweils 7 LEDs in Reihe mit einem Vorwiderstand und das 184 mal parallel geschaltet. Kann ich dieses ratsnest irgendwie automatisch außeinander ziehen lassen? Alle Reihenschaltungen manuell zu sortieren würde ja Tage dauern. Laut Anleitung sollte das mit "Mode footprint" gehen, aber in v5.1.2 gibts das nicht mehr, bzw. ist nicht auffindbar für mich. (Oder soll ich nur eine Reihenschaltung im Schaltplan machen und dann dieses ratsnest im PCB Layout dublizieren?) Bei dem circular array muss ich die Komponenten auswählen, die angeordnet werden sollen. Wenn ich das mache, werden diese so oft kopiert, wie die Zahl, die bei "count/Anzahl" eingegeben wurde. Das ist etwas seltsam - es entstehen damit ja mehr Komponenten, als im Schaltplan sind. Ich dachte ich mache den Schaltplan und muss dann die netlist speichern, um sie im PCB Layout Editor zu laden und dann alles anzuordnen. Außerdem sollen die LEDs in mehreren Kreisbahnen angeordnet werden (auf der Ring-Platine). Das bedeutet auch, dass ich auf den Außenbahnen mehr LEDs haben muss (aus Platzgründen und wegen einer homogeneren Ausleuchtung) als auf den kürzeren Innenbahnen. Mit dem Circular Array Tool werden die Komponenten allerdings mit gleichem Winkel vom Zentrum aus, Kreisförmig angeordnet. Daher wären später auf den inneren Kreisbahnen zu viele LEDs (zu wenig Platz) und außen zu wenige. Hast du dafür eventuell auch eine Idee? Ich kann übrigens seltsamerweise beim "Radius" keinen Wert eingeben. Der ist in meinem Falle schon mit 362,54...mm vorgegeben. So groß soll es aber gar nicht werden. Für jeden Tipp und Hilfe bin ich dankbar!
:
Bearbeitet durch User
Hallo Phil. Auf die schnelle aus der Frühstückspause.... Phil G. schrieb: > > Da ich kein python kann, würde ich das gerne erstmal hinten anstellen. > Nun, Python ist meines erachtens die am allereinfachsten zu erlernende Programiersprache. > Danke @berndwiebus für diesen Alternativweg. > Ich hab das mal ausprobiert und mir auch deinen Link angeschaut :) > > Momentan habe ich in meinem Schaltplan ein ratsnest von ~1184 > Komponenten. > Jeweils 7 LEDs in Reihe mit einem Vorwiderstand und das 184 mal parallel > geschaltet. > > Kann ich dieses ratsnest irgendwie automatisch außeinander ziehen > lassen? > Alle Reihenschaltungen manuell zu sortieren würde ja Tage dauern. > Laut Anleitung sollte das mit "Mode footprint" gehen, aber in v5.1.2 > gibts das nicht mehr, bzw. ist nicht auffindbar für mich. > (Oder soll ich nur eine Reihenschaltung im Schaltplan machen und dann > dieses ratsnest im PCB Layout dublizieren?) Das mit den unterschiedlichen versionen, die sich Unterschiedlich Verhalten liegt eventuell daran, dass es auch verschiedene Grafikmodi gibt, die sich unterschiedlich verhalten. Da ist noch viel in Umstellung. Darum probier mal unter "Einstellungen" die dort auswählbaren Grafikmodi. (geht auch mit <F9>, <F11> und <F12>). > Bei dem circular array muss ich die Komponenten auswählen, die > angeordnet werden sollen. > Wenn ich das mache, werden diese so oft kopiert, wie die Zahl, die bei > "count/Anzahl" eingegeben wurde. > Das ist etwas seltsam - es entstehen damit ja mehr Komponenten, als im > Schaltplan sind. > Ich dachte ich mache den Schaltplan und muss dann die netlist speichern, > um sie im PCB Layout Editor zu laden und dann alles anzuordnen. Es bleibt das Problem des Löschens der alten "originale" bzw dass passende Umbenennen der neuen Bauteile. > > Außerdem sollen die LEDs in mehreren Kreisbahnen angeordnet werden (auf > der Ring-Platine). > Das bedeutet auch, dass ich auf den Außenbahnen mehr LEDs haben muss > (aus Platzgründen und wegen einer homogeneren Ausleuchtung) als auf den > kürzeren Innenbahnen. > Mit dem Circular Array Tool werden die Komponenten allerdings mit > gleichem Winkel vom Zentrum aus, Kreisförmig angeordnet. > Daher wären später auf den inneren Kreisbahnen zu viele LEDs (zu wenig > Platz) und außen zu wenige. > Hast du dafür eventuell auch eine Idee? Einen "Spezialfootprint machen, der zig LEDs enthält, so dass Du dadurch größere Gruppen von LEDs anordenen kannst? Unterschaltpläne aus mehreren LEDs machen, denen Du separate Boardfiles zuweist, die Du später zusammengruppierst? Das Umbenennproblem bleibt aber bestehen. > > Ich kann übrigens seltsamerweise beim "Radius" keinen Wert eingeben. > Der ist in meinem Falle schon mit 362,54...mm vorgegeben. > So groß soll es aber gar nicht werden. Ich hänge zu Hause auf einer alten 4er und einer alten 5er Experimentierversion herum. Die Bedienung ist möglicherweise anders.... Oder Deine Version hat einen Bug. Pause rum. ;O) Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.dl0dg.de
Phil G. schrieb: > Aktuell ist aber mein Problem, dass ich keine EAGLE Lizenz an dem > Rechner habe. Dann wechsel den Rechner. Oder kauf dir eine weitere Lizenz. Phil G. schrieb: > Da ich kein python kann, würde ich das gerne erstmal hinten anstellen. Kicad ist open source. Du kannst fehlende Funktionen hinzuprogrammieren. Vermutlich in C++, dann brauchst du kein Python. Ach, C++ kannst du auch nicht? Und von Elektronik verstehst du auch nichts? Wenn du möchtest, dass wir dir die Schaltung entwerfen, routen, 1000x fertigen lassen und dann dir schenken, dann schreib das von Anfang an, so dass wir zielgerichtet helfen können.
Ich liebe Schmarotzer schrieb: > Ach, C++ kannst du auch nicht? Und von Elektronik verstehst du auch > nichts? Wenn du möchtest, dass wir dir die Schaltung entwerfen, routen, > 1000x fertigen lassen und dann dir schenken, dann schreib das von Anfang > an, so dass wir zielgerichtet helfen können. Na, nun übertreib mal nicht. Er schreibt nirgends, daß er Hilfe dafür brauch. er moniert nur, daß es recht lange dauern würde (was ja nachvollziehbar ist) So lang, wie er aber schätzt ist es dann doch auch wieder nicht. Evtl zeichnet man sich einfach erstmal das benötigte Placement in einem anderen CAD programm und exportiert die DXF Datei. Diese kann dann wieder in fast allen Layoutprogrammen geladen werden. Damit hat man seine Fangpunkte. Der Rest ist Fleißarbeit. Die Ausrichtung des Winkels sollte hier ebenfalls wurst sein, man muss also nicht so sehr darauf achten, esseidenn, man hat ästhetischen Anspruch an seine Platine. (aber wer hat den nicht?) Ich schätze, daß das allenfalls 2 Tage dauert (incl. Erstellung der "Plazierungshilfe" Allein 1000 LEDs auf 2 7h Tage aufgeteilt würde das einer notwendigen Geschwindigkeit von ca. 71LEDs pro h entsprechen. Das sollte nun wirklich machbar sein.). Natürlich ist das Mühsam aber wenn man exklusives haben will muss man auch etwas investieren. In dem Fall Zeit.
:
Bearbeitet durch User
Hallo Phil. Phil G. schrieb: > Momentan habe ich in meinem Schaltplan ein ratsnest von ~1184 > Komponenten. > Jeweils 7 LEDs in Reihe mit einem Vorwiderstand und das 184 mal parallel > geschaltet. 184 mal 7 LEDs sind 1288 LEDs. Plus 184 Vorwiderstände macht 1472 Bauteile. Keine Ahnung, was für LEDs Du hast, aber es könnte dabei eine erhebliche Leistung zusammenkommen, die natürlich auch erhebliche Verlustleistung bedeutet. Du könntest Dir ein Kühlungsproblem einhandeln. Vor allem, wenn Du Die LEDs zu dicht zusammen montierst. Eine mir vorliegende LED Lampe verteilt darum die LEDs relativ weit auf einem relativ dicken Aluuntergrund. 32 LEDs (Nach Typenschild 22W Leistungsaufnahme für die gesamte Lampe), sind auf einer 120mm x 120mm großen Platine mit Alukern verteilt, die ganzflächig auf den Aluminiumrumpf der Lampe geklebt ist. Der Aluminiumrumpf der Lampe ist aber wesentlich größer, Durchmesser ca 270mm. Laut Typenschild für eine maximale Umgebungstemperatur von 30°C. Ok, Vorschaltnetzteil ist auch noch dabei. Vieleicht könntest Du aus diesen Daten den Flächenbedarf Deiner 1288 LEDs abschätzen. Und Dabei könntest Du an eine Obergrenze von Platinen stossen, die (problemlos) in einer Fabrik hergestellt werden können. Ruwel gab mal 2013(?) als "Arbeitsplattenformat" 613x610mm an, wovon aber nur 578x581mm als "aktive" Fläche genutzt werden konnten. Die Tafeln sind aber noch größer: Leiterplattenformate: Herstellung: 1165mm x 1070mm Europa-format 1225mm x 1070mm Uni-Format 1225mm x 925mm US-Format 1285mm x 1070mm Italo-Format Üblich zur Verarbeitungen sind aber Unterteilungen dieser Formate in Arbeitsplatten, z.B. Uni-Format geviertelt (+Schnittrest): 640mm x 530mm Nur so zur Abschätzung der Randbedingungen. Idee: Daher könnte es sinnvoll sein, Deine komplette Fläche in Kreissegmente zu zerlegen, und diese dann noch einmal in innere und äßere Bereiche aufzuteilen. Du hättest Dann halt nicht eine fast nicht herstellbare Riesenplatine, sondern kleinere Platinen als sektorförmige Kacheln, die fast alle gleich sind, und aus denen Du die Gesamtfläche zusammensetzt. Diese ein oder zwei Typen von Kacheln enthalten dann deutlich weniger LEDs, und Dein Problem ist zumindest teilweise kleingeschnitten. Auch wenn Du wesentlich leistungsschwächer bist, und mit einer kleineren Fläche auskommst, das Unterteilen erleichtert Dir trozdem die Positionierarbeit. Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.dl0dg.de
:
Bearbeitet durch User
So, ich melde mich mal (endlich) wieder zu Wort ;) Erstmal vielen Dank Christian B und ganz besonders auch an Bernd W. Ich habe die Platine dank eurer Hilfe fertig bekommen. Teilsegmente zu erstellen ist zwar einfacher vom PCB-design und auch preisgünstiger, aber es gibt da ziemlich spezielle Anforderungen, die ich leider nicht weiter benennen darf. Letztendlich habe ich es mit einer Mischung aus circular array (Bauteile rotiert), händischer Verschiebung der Komponenten und späterer Korrektur der Pads (mit der Taste E) hinbekommen. Es ist leider nicht sonderlich schön geworden, aber es funktioniert. Falls einer von euch Spezialisten noch eine Idee hat, wie man die Leiderbahnen (Tracks) polar anordnen kann, wäre das natürlich super und würde sämtliche optische Unschönheiten beseitigen. Ich habe mal ein Bild angehangen, auf dem man die "zig-zag" tracks gut sehen kann. Liebe Grüße und vielen Dank nochmal! Das hätte ohne eure Hilfe nicht so schnell geklappt.
:
Bearbeitet durch User
Phil G. schrieb: > Falls einer von euch Spezialisten noch eine Idee hat, wie man die > Leiderbahnen (Tracks) polar anordnen kann, wäre das natürlich super und > würde sämtliche optische Unschönheiten beseitigen. Geht in den Einstellungen, siehe Anhang. Einfach den Haken bei 45 Grad raus nehmen. > Ich habe mal ein Bild angehangen, auf dem man die "zig-zag" tracks gut > sehen kann. Man kann auch mit kleineren Leiterbahnen an die Pads ran gehen und dann mit Polygonen Kupfer auffuellen. Doppelte Referenzbezeicher sind wohl gewollt? :-)
Hallo Mark. Mark W. schrieb: > Geht in den Einstellungen, siehe Anhang. Einfach den Haken bei 45 Grad > raus nehmen. Ja, dann geht auch eine deutlich feinere Winkelteilung. Voraussetzung ist aber auch noch, das ein passend feines Raster gewählt wurde. > Doppelte Referenzbezeicher sind wohl gewollt? :-) Die resultieren vermutlich aus dem copy and paste Anteilen des Verfahrens und müssten manuell umbenannt werden. Je nach Anwendung, wenn z.B. alle gleich bestückt werden, und keine Verwechslungsgefahr besteht, würde ich es aber auch dabei belassen. Es ist halt ein Extremfall. Die Stückliste in Bezug auf Diodenanzahl manuell zu bearbeiten ist jedenfalls weniger Arbeit. Irgendwann muss man ja auch fertig werden. Insbesondere, wenn man für Geld arbeitet. Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.dl0dg.de
:
Bearbeitet durch User
Bernd W. schrieb: > Die resultieren vermutlich aus dem copy and paste Anteilen des > Verfahrens und müssten manuell umbenannt werden. Das ist dann wohl so, wenn es das Programm nicht hergibt. Bernd W. schrieb: > Die Stückliste in Bezug auf Diodenanzahl manuell zu bearbeiten ist > jedenfalls weniger Arbeit. Irgendwann muss man ja auch fertig werden. > Insbesondere, wenn man für Geld arbeitet. Da bin ich mir nicht so sicher. Denn neben der Arbeit für die BOM muss man auch noch die Zeit mit einrechnen, die beim Bestücker für die Erklärungen drauf geht. Wenn dann der Findige Einkäufer in 3 Jahren auf die Idee kommt, das Projekt wegen 2,50€ Einsparung zu einem anderen Bestücker zu verlegen erinnert sich keiner mehr an die Absprachen und der Eiertanz geht von vorn los. Es ist eigentlich nie gut, wenn man inkonsistente Daten hat, weil das fast immer Rückfragen generiert. Wenn nicht, kann man davon ausgehen, daß es falsch interpretiert wird. Die BOM ist ja auch nur die halbe Miete, der Bestücker richtet sich nach der Pick & Place Datei. Diese Stimmig zu bearbeiten wird deutlich länger dauern als das Ändern direkt im Layoutprogramm.
:
Bearbeitet durch User
Christian B. schrieb: > Bernd W. schrieb: >> Die resultieren vermutlich aus dem copy and paste Anteilen des >> Verfahrens und müssten manuell umbenannt werden. > > Das ist dann wohl so, wenn es das Programm nicht hergibt. > Vorab, ich weiss man haette..., aber man haette wirklich nach dem Platzieren noch mal die Numerierung im Schaltplan laufen lassen koennen, kann man auch nachtraglich, glaube ich, noch machen und die Netzliste aktualisieren. Das Layout bleibt ja bestehen. Ach wenn das ein Kreisring ist, haette ich die LEDs alle gleich ausgerichtet platziert. Dann koennten die Leiterbahnen mitt Treppchen verbunden werden. Koennen ja trotzdem in Sternform liegen. Das wirkt sich auf die Beleuchtungsaufgabe wohl kaum aus. LEDs sind doch keine Richtstrahler.
Vielen Dank für den Hinweis mit dem Track-Winkel. Leider finde ich diese Einstellung nirgends. Ich habe aber unter Preferences->Preferences ein "Limit tracks to H, V and 45 degrees" gefunden, dass ja eigentlich das richtige sein sollte. Wenn ich den Haken raus nehme, ändert sich allerdings am Verhalten nichts... Eventuell suche ich an der falschen Stelle? Zum Benennen der einzelnen Bauteile: Das geht soweit ich das weiß nur im Schaltplan mittels Annotate. In dem Schaltplan sind aber nur 7 LEDs in Reihe mit einem Vorwiderstand. Davon wurde die netlist erstellt, ins Pcbnew geladen und ab da dann mittels circular array kopiert. Einen vollständigen Schaltplan zu erstellen ist schnell gemacht, aber eine netlist aus ~1000 Komponenten außeinander zu sortieren dauert Stunden. Hinzu kommt, dass ich dann nicht kreisförmig anordnen kann. Also falls es einen Weg gibt, die vorhandenen Bauteile im Pcbnew neu zu benennen, ohne jedes händisch einzeln auszuwählen, wäre das eine Möglichkeit.
Mach alle Haken wieder dran die du in den Preferences weggemacht hast. Klick ein Segment an. Dann g oder Rechtsklick(Drag free angle). Dann zieh den Knick in das Pad. Nachtrag: Vielleicht gibt es ja gar kein direktes free angle routing mit dem aktuellen Push&Shove-Router. Weiß jemand etwas darüber?
:
Bearbeitet durch User
Phil G. schrieb: > Vielen Dank für den Hinweis mit dem Track-Winkel. > > Leider finde ich diese Einstellung nirgends. > Ich habe aber unter Preferences->Preferences ein "Limit tracks to H, V > and 45 degrees" gefunden, dass ja eigentlich das richtige sein sollte. > Wenn ich den Haken raus nehme, ändert sich allerdings am Verhalten > nichts... > Eventuell suche ich an der falschen Stelle? > Hmm, bei mir ist es 4.0.6 unter Windows. Und ich habe die Preferences direkt aus PCBNew aufgrufen.
Mark W. schrieb: >> > Hmm, bei mir ist es 4.0.6 unter Windows. > Und ich habe die Preferences direkt aus PCBNew aufgrufen. Wir/viele sind inzwischen bei 5.1.2.
:
Bearbeitet durch User
Helmut S. schrieb: > Mark W. schrieb: >>> >> Hmm, bei mir ist es 4.0.6 unter Windows. >> Und ich habe die Preferences direkt aus PCBNew aufgrufen. > > Wir/viele sind inzwischen bei 5.1.2. Ja, ich weiss. Habe mir schon es schon vorgenommen zu aktualisieren. Aber irgendwie ist immer gerade eine Platine in Bearbeitung.
Helmut S. schrieb: > Mach alle Haken wieder dran die du in den Preferences weggemacht hast. > > Klick ein Segment an. > Dann g oder Rechtsklick(Drag free angle). > Dann zieh den Knick in das Pad. > > > Nachtrag: > Vielleicht gibt es ja gar kein direktes free angle routing mit dem > aktuellen Push&Shove-Router. Weiß jemand etwas darüber? Hab jetzt eine Möglichkeit gefunden direkt schräge Leitungen zu verlegen. In PCBnew Preferences -> Legacy Toolset Preferences -> Preferences : Legacy Toolset Routing Options 45° Option abaschalten Jetzt kann man schräge Linien routen. Allerdings würde ich das "Legacy Toolset" nur dafür verwenden und hinterher wieder auf "Modern Toolset (Accelerated)" umschalten.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.