Winkel und Messung - Hilfe beim PCB-Design

7

Ich habe seit letztem Monat mit dem PCB-Design begonnen und bin sehr neu in diesem Bereich. Ich habe winzige Dinge mit Eagle Cad und Altium Cad gemacht, aber immer noch jeden Tag etwas gelernt. Jetzt habe ich ein herausforderndes Board zu erledigen. Das Board ist zwar nicht komplex, aber die Maße und Winkel müssen genau sein und nicht sicher, wie man es angeht.

Bitte sehen Sie das Bild, das Spiralpads hat. Alle sind kreisförmig und müssen die richtigen Maße haben, wie darauf angegeben. Lassen Sie mich auch wissen, welches Tool für diese Art von benutzerdefinierten Aufgaben am besten geeignet ist.

Hoffe, einige von euch haben Erfahrung hier und könnten mir mit guten Ratschlägen helfen

Dee
quelle
Altium ist leistungsfähiger als Eagle CAD. Damit können Sie jedes Pad in einen beliebigen Winkel drehen. Sind Ihre Pads alle rechteckig oder gebogen? Gebogen wäre schwieriger. Möchten Sie, dass dies alles eine Komponente ist? Pads gehören immer zu einer Komponente. Was machst du?
David G
@ DavidG Sie sehen das erste Bild von rechts. Das muss ich tun. Ich mache eine kleine Leiterplatte mit Pads, die wie im Bild gezeigt gedruckt sind. Ich brauche Pads mit 9 kreisförmigen Ringen und mache dann diese Bits, wie in den anderen 2 Bildern gezeigt, indem ich sie schneide. Die Tiefe und Winkel zum Schneiden der Ringe sind ebenfalls oben gezeigt.
Dee
@DavidG - Eagle ist SEHR mächtig, wenn Sie ihre Skriptsprache verwenden. Wenn Sie Code in einer Sprache schreiben, die eine Datei in Skriptsprache ausgibt, wie es Olin meint, haben Sie echte Leistung.
Scott Seidman
Das "PCB" -Tool aus dem Geda-Projekt ermöglicht die willkürliche Drehung von Bauteilen und deren Pads. Es ist nicht besonders einfach zu bedienen, erfordert jedoch keine Skripterstellung, um dorthin zu gelangen. en.wikipedia.org/wiki/PCB_%28software%29
Brian Drummond
2
Mit Altium können Sie ein polares Gitter erstellen und damit Komponenten einfach in Kreisen platzieren
Mike

Antworten:

10

Ich benutze Eagle. Wenn ich solche Dinge tun muss, schreibe ich ein Programm, das ein Skript generiert. Das Programm führt die Sinus-, Cosinus- und andere Berechnungen durch, um die Koordinaten zu bestimmen, und schreibt diese dann in das Skript.

Dies kommt oft genug vor, dass ich ein generisches Host-Programmmodul erstellt habe, das Unterprogramme zum Schreiben von Koordinaten im Eagle-Format, zum Schreiben ganzer WIRE-Befehle, eigener 2D-Transformationen usw. enthält. So etwas ist wirklich nicht schwer zu tun.

Beachten Sie, dass die Effizienz des Programms kein Problem darstellt. Egal was passiert, es wird sofort in der menschlichen Zeit abgeschlossen sein. Schreiben Sie es aus Gründen der Klarheit und der Möglichkeit, Änderungen daran vorzunehmen.

Oft unterscheidet sich das, was Sie zunächst wollen, ein wenig von dem, was Sie tatsächlich wollen, nachdem Sie sich die Ergebnisse angesehen, DRC-Prüfungen durchgeführt und dergleichen haben. Mit einem Programm, das ein Skript schreibt, können Sie auf einfache Weise das gesamte Durcheinander auf der Platine löschen, das Programm erneut ausführen und das Skript erneut ausführen, um etwas anderes auszuprobieren. Es wird auch für die nächste Umdrehung des Boards nützlich sein. Wenn Sie alles manuell gemacht haben und die Dinge bei der nächsten Umdrehung etwas anders sein müssen, haben Sie viel Arbeit, um es noch einmal zu erledigen.

Olin Lathrop
quelle
Vielen Dank für detaillierte Informationen. Aber um ehrlich zu sein, bin ich nicht annähernd das, was Sie über Skripte gesagt haben. Ich muss vorher etwas lernen, um Skripte zu verstehen und zu schreiben. Ich bin jedoch immer noch froh zu erfahren, ob Sie mir einen guten Leitfaden geben können.
Dee
Kann das nicht genug bewerten! So können Sie die wahre Kraft von Eagle nutzen.
Scott Seidman
@ ScottSeidman Danke. Ich habe gerade eine kleine Einführung über Eagle Scripting gelesen und jetzt kann ich mir vorstellen, wie leistungsfähig und wie schwierig es ist, schwierige Jobs zu erledigen. Kann mir jemand beim Scripting für dieses kleine Board helfen? Ich habe schon einige ULP-Skripte verwendet, aber dafür muss ich viel lernen, um es selbst zu tun. Aber jetzt habe ich keine Zeit.
Dee
1
@ i0s - Ich bezweifle, dass Sie jemanden finden, der das tut, wonach Sie fragen. Sie sind auf eine technische Herausforderung gestoßen, die einen Zeitaufwand von Ihnen erfordert, der Sie etwa 5 bis 12 Stunden Lernzeit von Null an zurückbringt - vorausgesetzt, Sie kennen genug Programmierkenntnisse, um Ihre Skriptdatei zu generieren. Mein Rat wäre, ein Pad auszuwählen, es im Raum zu parametrisieren und Gleichungen für die Eckpunkte auf Papier zu erstellen. Danach programmieren Sie es und durchlaufen alle Ihre Pads.
Scott Seidman
@ ScottSeidman Danke Scott. Das denke ich mir. Ich habe bereits mit dem Lesen begonnen und werde sehen, wie lange es dauern wird. Hoffentlich kann ich von hier aus Hilfe beim Scripting bekommen, wenn ich nicht weiterkomme.
Dee
3

EAGLE bietet zwei Möglichkeiten, Code zu schreiben:

Skriptdateien enthalten einfache Befehle, die Sie auch in das Textfeld direkt über dem Zeichenbereich eingeben können.

ULPs (UserLanguagePrograms) ermöglichen anspruchsvolle Dinge wie das Durchlaufen aller Pins eines ICs und das Ändern des Namens des mit ihm verbundenen Netzes.

Ich bin mir ziemlich sicher, dass Ihre Aufgabe mit ULPs erledigt werden kann, sie sind jedoch etwas komplexer.

Ich schreibe gerne Code, der ein Skript schreibt. Folgendes würde ich in Ihrem Fall in PYTHON tun:

from math import *

f=open("MyFirstScript.scr", "w")

f.write("LAYER 1;\n")          # want to draw in layer 1

R1=1.0

angle=0.0

while( (angle +9) <=360):
    x1=R1*sin(radians(angle))
    y1=R1*cos(radians(angle))

    x2=R1*sin(radians(angle+180))
    y2=R1*cos(radians(angle+180))

    x3=R1*sin(radians(angle+9-1.63))
    y3=R1*cos(radians(angle+9-1.63))

    name="sig_%.3f"%(angle)  # signal name like sig_9.163

    f.write( "ARC  '%s' CW FLAT 0.2 (%f %f) (%f %f) (%f %f) ;\n"%(name, x1, y1, x2, y2, x3, y3) )

    angle=angle +9

f.close()

Es wird ein Skript mit Dateiname erstellt MyFirstScript.scr, das dann im EAGLE-Layout-Editor geöffnet werden kann:

LAYER 1;

ARC  'sig_0.000' CW FLAT 0.2 (0.000000 1.000000) (0.000000 -1.000000) (0.128276 0.991738) ;
ARC  'sig_9.000' CW FLAT 0.2 (0.156434 0.987688) (-0.156434 -0.987688) (0.281839 0.959462) ;
...

Es wechselt zu Ebene 1 und erstellt dann viele Bögen. Ein Bogen benötigt drei Koordinatenpaare: den Startpunkt des Bogens, einen Punkt 180 ° vor und den Endpunkt. Die Linienbreite beträgt 0,2, das Ende der gezeichneten Linien ist flach (statt gerundet) und der Bogen wird im Uhrzeigersinn gezeichnet.

Führen Sie es auf einem Brett aus, und es gibt Folgendes:

Geben Sie hier die Bildbeschreibung ein

Ich habe Bögen verwendet, aber Sie können sich auch Polygone ansehen.

süßer
quelle
Vielen Dank süßer. Genau das suche ich. Ich versuche es jetzt und werde Sie wissen lassen, ob ich irgendwann feststecke.
Dee
tut mir Leid dass ich dich nochmal störe. Bögen sind gut für mich. Bitte schauen Sie in das Bild . Das versuche ich zu erschaffen. Aber ein bisschen verwirrt über das, was Sie in einem früheren Beitrag erklärt haben. Soll ich Python-Code oder -Skript verwenden? Auch wenn es Ihnen nichts ausmacht, mir zu helfen, können Sie bitte eine ULP für das Bild schreiben.
Dee
Auch ab 0 müssen die Gesamtsegmente 40 sein.
Dee
Ich selbst bin mit ULP nicht so vertraut, also tut mir leid, ich kann nicht anders. Ich habe ein PYTHON-Skript (erste Auflistung) verwendet, um das EAGLE-Skript zu generieren. Dieses Skript erstellt genau 40 Segmente. PYTHON hat jedoch nichts mit EAGLE zu tun, sondern wird hier nur zum Schreiben einer (speziellen) Textdatei verwendet.
Sweber
Sweber, es ist ok, kein Problem. Einige, wie ich mein Bestes geben und sehen werde. Nochmals vielen Dank für Ihre schnelle Antwort sehr geschätzt.
Dee
2

Sie können Skripte in Altium verwenden, um die gewünschten Formen zu generieren, oder Sie können sie in einem anderen Format wie .DXF generieren und importieren. Ich habe den letzteren Weg für einige spezielle Spiralinduktoren eingeschlagen, Code geschrieben, um eine .DXF-Datei als Zwischenformat auszuspucken (wo sie auch in mechanischen CAD-Paketen und für andere Analysen verwendet werden kann), und sie dann in das PCB-Programm importiert.

Hier ist ein Altium-Skript von Darren Moore, das direkt Spiralen erzeugt, aber Sie müssen wahrscheinlich Ihr eigenes schreiben, um Ihre genauen Anforderungen zu erfüllen.

Geben Sie hier die Bildbeschreibung ein

Spehro Pefhany
quelle
Danke für deine Antwort. Wenn ich in AutoCAD eine .DXF-Datei erstelle und in Altium importiere, wird die Datei importiert, ohne die Messungen zu stören.
Dee
Ich denke, ich werde zuerst versuchen, die Leiterplatte in AutoCAD zu erstellen, und sehen, welche Optionen ich habe, um sie als Herstellerdatei zu erstellen.
Dee
Ja, wenn Sie AutoCAD zur Verfügung haben, ist dies sicherlich eine Option. Ähm ... es kann einige Feinheiten in Bezug auf DXF geben. Ich denke, wir haben Polylinien verwendet.
Spehro Pefhany
Oh ich verstehe. Ich habe noch nie Polylinien ausprobiert, werde es jetzt versuchen. Danke noch einmal.
Dee
Hallo Spehro, ich konnte das Design auf AutoCAD wie im Bild gezeigt bekommen . Nach dem Import in Altium habe ich diese Ouline auf meiner Board-Datei. Könnten Sie mir bitte zeigen, wie ich diese Gliederung wie auf dem Bild gezeigt auf die tatsächliche Leiterplatte übertragen kann, damit ich die Gerber-Datei herausholen kann?
Dee