Crashkurs eagle: von der Idee zum Schaltplan

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,
    jetzt hatte ich Euch ja schon angefixt ;) ... aber jetzt liefere ich.
    Im Rahmen meines -> ATMEGA-Projekts <- hatte ich mir vorgenommen, ein PCB mal selbst zu erstellen und fertigen zu lassen.
    Mit Hilfe von Tutorials, Unterstützung durch u.a. Euch und penetrantem Nachfragen habe ich mich jetzt so weit durch eagle durchgewühlt, dass ich den gesamten Prozess selbstständig durchführen kann.
    Nach der gefühlten sechsundzwölften Version meiner ATMEGA Platine habe ich mich dann entschlossen mein neu erworbenes, gaballtes (Halb-)Wissen mit Euch zu teilen.
    Das Ergebnis ist ein zweiteilige Crash-Kurs für eagle.
    Im ersten Teil "von der Idee zum Schaltplan", also diesem hier, versuche ich Euch zu vermitteln, worauf ihr beim Erstellen eines Schaltplans achten solltet, damit später das Erzeugen des Boards nicht zum Horrortrip wird.
    Im zweiten Teil "-> vom Schaltplan zum PCB <-" erfahrt ihr dann, wie aus dem Schaltbild ein Board erzeugt wird. Der folgt allerdings erst in ein paar Tagen.


    Bitte beachten:: diese Anleitung dient nicht dazu Elektronik-Grundlagen zu vermitteln.
    Ich beziehe mich hier auf die kostenlose Lite-Edition von eagle, Version 7.5.0, 32 Bit für Linux, die ich unter Ubuntu einsetze. Abweichungen zur Windows-Version oder anderen eagle-Versionen sind deshalb durchaus möglich, halten sich aber hoffentlich in Grenzen.
    Als Grundlage dient mein Projekt -> ATMEGA128 als Arduino <-.
    Sowohl dieser Beitrag als auch die Themen "vom Schaltplan zum PCB" und "-> ATMEGA128 als Arduino <-" werden parallel zu den laufenden Projekt erstellt. Dadurch kann es zu Verzögerungen kommen.
    Änderungen und neue Features dieses Themas werden hier in diesem, dem ersten Beitrag, dokumentiert. Evtl. Aktualisierungen könnt ihr der History am Ende des Beitrags entnehmen. Behaltet sie also im Auge, dann seid ihr immer auf dem aktuellsten Stand.

    about eagle:

    Spoiler anzeigen


    about-eagle.png


    Wer, wie ich, eagle bisher ausschließlich zum Erstellen von Schaltplänen verwendet hat, wird vielleicht feststellen, dass die bisherige "Denke" eher suboptimal war.
    Beim Erstellen eines Schaltplans ging es mir leidglich um die Verwendung der richtigen Symbole.
    Wenn als Endergebnis ein Board entstehen soll, funktioniert das so nicht mehr.
    Denn jetzt geht es nicht nur um die Darstellung irgendwelcher Symbole. Jetzt müssen die richtigen Bauteile ausgewählt werden, damit ihre physikalischen Eigenschaften zur Berechnung der Positionen von Bauteilen, Bohrungen, ... herangezogen werden können.
    Das hört sich zunächst schlimmer an, als es ist. So ganz korrekt ist o.g. Aussage zudem auch nicht, denn es geht nicht darum genau das später verbaute Bauteil zu verwenden (was natürlich optimal wäre, allein schon wegen der Stückliste). Es reicht, wenn die Gehäuseform und die Lage der Anschlüsse übereinstimmen.
    Gerade bei den Standard-Bauteilen gibt es in eagle ellenlange Listen mit Bauteilen verschiedenster Hersteller.
    Hier reicht es z.B. irgendeinen Widerstand in der Bauform 1206 auszuwählen.

    Tipp: möglichst die später real verwendeten, zumindest aber bauform- und pin-kompatible Bauteile auswählen.

    Machen wir das jetzt mal ganz ausführlich.
    Beginnen wir mit der Schaltung für die Spannungsversorgung. Dazu benötigen wir folgende Teile:
    DC-Buchse aus con-jack: JACK-PLUG1 (JACK-PLUG)
    1117 Spannungsregler aus v-reg: LD117AS12TR (LD117A?*)
    1N4004 Diode aus diode: 1N4004
    LED (rot oder grün) aus SparkFun-LED: LED1206 (LED)
    Vorwiderstand 2k2 aus resistor: R-EU_R1206 (R-EU_)
    Tantal-Kondensator 22uF aus cap-pan40: C-PR-SMD-TE-C (C-PR)
    Keramik-Kondensator 100nF aus SparkFun-Capacitors: CAP1206 (CAP)

    Fügen wir also diese Teile mal in den Schaltplan ein.
    screenshots:

    Spoiler anzeigen


    parts-1.png
    parts-2.png
    parts-3.png
    parts-4.png
    parts-5.png


    Die Kondensatoren jeweils nur einmal, die kopieren wir später, dann sparen wir uns einmal das Editieren ;).
    Dann verbinden wir die Bauteile untereinander und ändern deren Werte.

    Die Buchse ist eh schon links oben in der Ecke, da brauchen wir jetzt nur den Wert nach "DC JACK" ändern.
    screenshots:

    Spoiler anzeigen


    value-1.png
    value-2.png
    value-3.png


    Dann ziehen wir die Diode nach oben und klinken sie an Pin 3 der Buchse an. Dabei auf die Durchlassrichtung achten!

    Spoiler anzeigen


    move.png


    Als nächstes ziehen wir den Tantal hoch, drehen ihn und ändern den Wert nach 22uF. Wo wir schon mal dabei sind ziehen wir den KerKo neben den Tantal und ändern den Wert auf 100nF.
    Jetzt ist der Spannungsregler dran. Den setzen wir neben den KerKo.

    Fehlen noch die beiden Kondensatoren. Also den KerKo kopieren, neben den Spannungsregler setzen, den Tantal kopieren und neben den KerKo setzen.

    Spoiler anzeigen


    copy.png


    Den Vorwiderstand drehen, mit OUT des Spanungsreglers verbinden und den Wert nach 2k2 ändern.
    Jetzt noch die LED drehen, mit dem anderen Ende des Vorwiderstands verbinden und den Wert auf z.B. gruen ändern.
    So weit mal die Platzierung der ersten Bauteile.
    Die Werkzeuge sind übrigens auch über das Menü (Bearbeiten) erreichbar.

    Machen wir uns also ans Verdrahten.
    screenshot:

    Spoiler anzeigen


    wire.png


    Update 22.02.:
    Von jar wurde hier angemerkt, dass zum Verbinden der Bauteile das NET-Kommando besser geeignet sei.

    Spoiler anzeigen


    net.png


    Solange wir es mit kleinen, überschaubaren Schaltungen zu tun haben, ist es meiner Meinung nach vollkomen egal, was ihr verwendet.
    Ansonsten hat jat vollkommen recht, denn das NET-Kommando findet sicher alle Anschlusspunkte in einem Fangradius, während man mit WIRE auch mal eine Luftverbindung ziehen kann.

    Die Anwendung von NET ist identisch zu der von WIRE ... so gesehen, um es von Anfang an richtig zu machen, verwendet ihr am besten NET.

    Also los: D1 nach C2 nach C1 nach IN des LM1117. Junctions bei C2 und C1 nicht vergessen (drei "Draht-Enden").

    Spoiler anzeigen


    junction.png


    Dann von OUT des LM1117 nach C3 nach C4. Wieder auf die junctions achten (bei C4 auch eine machen - da komme ich später noch drauf zu sprechen).
    Weiter mit Pin 1 des DC Jack nach C2 nach C1 nach ADJ des LM1117 nach C3 nach C4. Auch hier wieder junctions setzen und auch eine bei C4 (s.o.).
    Das wäre jetzt mal so weit erledigt.
    Als nächstes basteln wir den Schwingkreis. Einen KerKo aus SparkFun-Capacitors->CAP1206 (CAP) und den Quarz aus crystal->CRYSTALHC49U-V (CRYSTAL) holen. Unter der Spannungsversorgung jetzt den Schwingkreis (2 x 22pF + Quarz)aufbauen.
    Nun bauen wir uns noch die Grundschaltung für den Reset-Taster aus einem KerKo (20nF), einem 10 kOhm pullup und dem Taster aus switch-omron->10-XX auf.
    Was jetzt noch fehlt ist der Prozessor, der ISP-Header und die Wannenstecker für die Ports.
    Den ISP-Header holen wir aus con-ml->ML6. Den Namen setzen wir auf ISP. Den Header lassen wir vorerst unbeschaltet.
    Für die Port-Anschlüsse holen wir uns das Bauteil ML10, ebefalls aus con-ml und setzen den Namen auf PORTG. Auch den lassen wir zunächst unbeschaltet.
    Suchen wir noch unsere MCU ( device MEGA128-A (MEGA128) aus der lib atmel ) raus und setzen sie in den Schaltplan.


    Tipp: Bauteile zu Funktionsgruppen zusammenfassen und diese auf dem Schaltplan verteilen, damit er übersichtlich bleibt.


    Jetzt widmen wir uns erst mal dem ISP-Header und den Ports.
    Am ISP-Header setzen wir zunächst an jeden Pin (ausser #8 und #10) eine junction. Danach werden diese folgendermassen benannt: #1->PB3, #3->PB1, #5->RESET, #2->VCC, #4->PB2 und #6->GND.
    Den Header für Port G kopieren wir zunächst mal und nennen die Kopie PORTA. Schiebt die Kopie am besten irgendwo über die MCU wo Platz ist.
    Dann die Pins umbenennen: #1->VCC, #3->PG0, #5->PG2, #7->PG4, #9->PEN, #2->GND, #4->PG1, #6->PG3. Die Pins #8 und #10 werden später nicht benötigt und daher auch nicht umbenannt.
    Bei VCC und GND erscheint ein Dialog-Fenster und eagle fragt nach, ob z.B. "N$1 mit VCC" verbunden werden soll. Bestätigt diese Abfrage jeweils mi OK/Ja.
    screenshot:

    Spoiler anzeigen


    connect.png


    eagle verbindet Anschlüsse mit gleichen Namen und das machen wir uns zunutze indem wir einen Schaltplan in kleine, funktionell zusammengehörige Blöcke einteilen. Diese wiederum können wir nun auf dem Schaltplan verteilen der dadurch übersichtlich bleibt, weil wir keine Leiterbahnen kreuz und quer darin verlegen müssen.

    Tipp: eagle fasst automatisch Verbindungen mit gleichem Namen zusammen.

    Damit wir später noch wissen, welcher Pin was ist, versehen wir diese jetzt mit Labeln.
    screenshot:

    Spoiler anzeigen


    label.png


    Dazu gibts jetzt nichts weiter zu sagen. Sind wir mit dem ISP- und dem PORTG-Header durch zoomen wir mal etwas raus damit alles sichtbar ist. sieht das doch schon richtig professionell aus, oder?
    An dieser Stelle noch ein Hinweis auf zwei weitere, wichtige Werkzeuge: SHOW und INFO ...
    Mit Info werden der Name, der Wert, die zugehörige Bauteil-Library usw. angezeigt:

    Spoiler anzeigen


    info1.png

    info2.png

    SHOW hingegen zeigt alle Verbindungsliniene, die zu einem Pin oder einem Knotenpunkt gehören, an:

    Spoiler anzeigen


    show1.png

    show2.png

    Doch weiter ...
    Gerade das Aufteilen macht schon eine Menge aus. Diese Einteilung ist unter anderem auch deshalb möglich, weil in eagle die Position der Bauteile im Schaltplan keinen direkten Einfluss auf die spätere Position und Lage der Bauteile auf der Platine hat. Es gibt da zwar Ausnahmen und eine davon lernen wir im zweiten Teil kennen, aber das lassen wir erst einmal aussen vor.
    Und jetzt hätte ich fast etwas vergessen. Es fehlt nämlich noch die Schaltplan-Beschreibung. Dazu brauchen wir die frames.lbr. Die holen wir uns jetzt über den Menüpunkt "Bibliothek->Benutzen".
    screenshot:

    Spoiler anzeigen


    frames.png


    Anschliessend suchen wir z.B. den frame DINA4_L aus und setzen ihn in unseren Schaltplan ein.
    screenshots:

    Spoiler anzeigen


    din-a4.png
    mit_rahmen.png


    Jetzt zoomen wir so weit raus bis unten rechts (oder links ...) ein gestricheltes Kreuz sichtbar wird. Nun gruppieren wir unsere bisherige Arbeit inkl. dem frame und verschieben das Ganze bis die linke, untere Ecke des Formulars in der rechten oberen Ecke des gestrichelten Keuz liegt.
    screenshots:

    Spoiler anzeigen


    form-1.png
    form-2.png


    Ich bin mir nicht sicher ob der letzte Schritt notwendig ist, aber ich denke mal es kann zumindest nicht schaden. Wird sich zeigen ;) ...
    Dummerweise wird beim zoomen jetzt ein Teil der Zeichnung nicht mehr angezeigt. Das habe ich so gelöst, indem ich im Menü unter "Ansicht->Ausschnitt wählen" die Auswahl entsprechend auf die gesamte Zeichnung gelegt habe.

    Tipp: Die Position der Bauteile im Schaltplan hat keinen direkten Einfluß auf die spätere Position und Lage auf der Platine.

    Widmen wir uns noch mal der Spannungsversorgung, dem Schwingkreis und der RESET-Logik. Hier fehlen noch ein paar wichtige Symbole, Verbindungen und Label.
    In der Spannungsversorgung fügen wir das Bezugs-Potential (supply1->GND) hinzu und zwar einmal am zweiten Anschluss der LED und einmal z.B. am Minus-Pol des Tantals C9.
    screenshot:

    Spoiler anzeigen


    supply-gnd.png


    Den Verbindungsdialog wieder bestätigen.
    Die junction vom Plus-Pol des Tantal C11 verbinden wir jetzt noch mit einem VCC des AVR.
    Und wo wir schon dabei sind verdrahten wir die Pins AREF, AVCC und VCC des ATMEL-Käfers, nachdem wir ihnen jeweils eine junction spendiert haben, so wie aus dem screenshot ersichtlich
    Achtung! Möglicherweise haben die Kondensatoren bei Euch andere Namen. Nehmt also unbedingt den screenshot als Vorlage für die Verbindungen der Spannungsversorgung.
    screenshots:

    Spoiler anzeigen


    vreg-final.png
    mcu-vreg.png


    Die GND-Pins der MCU bekommen nur eine junction, werden zu GND umbenannt und gelabelt.
    Bingo ... Spannungs-Versorgung schon mal fertig verschaltet.
    Die "linke" (dem Quarz gegenüberliegende) Seite des Schwingkreises bekommt ein Bezugs-Potential verpasst, auf der anderen "Seite" setzen wir jeweils eine junction auf die beiden Endpunkte des Quarz. Die MCU-Pins XTAL1 und XTAL2 bekommen ebenfalls jeweils eine junction mit passendem Namen ( XTAL1 bzw. XTAL2 ... logisch ... ) und eine Verbindung von den junctions am oberen bzw. unteren Ende des Quarz.
    Jetzt noch ein GND-Anschluss an den 20 nF der RESET-Logik, einen weiteren GND an die Pins #3 und/oder #4 des Tasters und VCC an den Pullup derselben. Der RESET-Pin erhält eine junction mit Namen RESET und eine Verbindung zu Pin #1 des Tasters.


    Das Fertigstellen der Port-Anschlüsse erfolgt analog zu Port G. Zunächst kopieren wir unseren PORTA-Header nach PORTB, PORTC, PORTD, PORTE und PORTF. Die Kopien setzen wir am besten rechts neben der MCU untereinander. Dort sollte genügend Platz sein.
    PORTA versehen wir dann mit junctions an jedem Pin, benennen sie um (#1->VCC, #3->PA0, #5->PA2, #7->PA4, #9->PA6, #2->GND, #4->PA1, #6->PA3, #8->PA5 und #10->PA7) und versehen sie mit einem Label.
    Bei den Abfragen wegen der Verbindung von VCC und GND wieder mit OK/Ja bestätigen.
    Nach demselben Schema jetzt für Port B, C, D, E und F verfahren. Dadurch stellen wir später den Bezug zu den Pins der MCU her.
    Sehen ja schon mal sehr gut aus die Ports ... aber irgendwas fehlt noch. Genau: Abblock-Kondensatoren. Die Wannenstecker haben ja zwei Anschlüsse mehr als der AVR I/Os pro Port hat - nämlich VCC und GND. Es erscheint mir sinnvoll diese beiden Pins auch auf den Wannensteckern verfügbar zu machen, weil ich damit dann einen Testaufbau gleich mitversorgen oder eben die Spannungsversorgung des PCBs über einen externen Testaufbau realisieren kann.
    Deshalb schalten wir an jedem Port einen KerKo mit 10 nF zwischen VCC und GND. Behaltet das mal im Hinterkopf, denn das ist die Ausnahme von der Regel "Die Position der Bauteile im Schaltplan ..." zu der ich aber im zweiten Teil erst was sagen möchte.

    Tipp: Abblock-Kondensatoren nicht vergessen!

    Letztlich noch die restlichen Pins der MCU mit jeweils einer junction versehen, diese zum Pin-Namen der MCU umbenennen und labeln.
    Und jetzt macht das doch schon was her, oder?
    Dann wollen wir mal sehen ob sich Fehler eingeschlichen haben.
    Zum Abschluss unbedingt mit ERC auf Fehler prüfen und diese korrigieren.
    eagle ist da sehr komfortabel und zeigt zu jeder Fehlermeldung oder Warnung die genaue Position im Schaltplan an.
    screenshot:

    Spoiler anzeigen


    erc-error.png


    Am Schluss sollten nur noch ein paar Warnungen wegen PORTA ... übrig sein.
    screenshot:

    Spoiler anzeigen


    erc-warnings.png

    Tipp: nach jeder Änderung des Schaltplans diesen mit ERC auf Fehler prüfen und diese korrigieren.

    Und so sollte der Schaltplan jetzt aussehen:

    Spoiler anzeigen


    schematic.png


    So, das war's erst mal mit dem Schaltplan. Wir treffen uns dann im zweiten Teil des Crashkurs ("vom Schaltplan zum PCB") und beschäftigen uns dann hauptsächlich mit dem Board-Editor.

    Ich hab' mich in das "erweiterte Handling" von eagle erst kürzlich eingelesen. Es kann also gut sein, dass mir da noch der eine oder andere Fehler unterlaufen ist.
    Tipps und Verbesserungs-Vorschläge sind, wie immer, willkommen und eventuell hat ja jemand von Euch die Windows-Version im Einsatz und mag die Unterschiede, falls vorhanden, mal in einem Kommentar hier zusammenfassen.


    TODO Liste:

    • NET statt WIRE
    • Bauteile am Raster ausrichten
    • Show- und Info-Knopf kurz erklären



    History:
    19.02.2016 - erste Version online gestellt
    22.02.2016 - Kleinere Korrekturen, ZIP-Datei mit Schaltplan angehängt

    Jetzt erst mal viel Spass und Erfolg bei Euren Schaltplänen ...
    -ds-

  • darf ich Anmerkungen machen?

    Ich arbeite ja seit Jahren mit eagle und erstelle Schaltungen @work.

    Also ich finde es ist keine gute Idee gleich Bauteil Pins an Bauteils Pins zu klemmen, ich schalte immer das Gitter ein um die korrekte Lage bei der Plazierung zu finden, Raster 0.1 Inch und Multiplikator 1 ODER Raster 0.05 Inch und Multiplikator 2, das ALT alternative Raster 0.05 Inch.

    Dann werden die gewünschten Verbindungen per NET Befehl gemacht, das ist der blaue gepunktete Bus unten rechts mit den grünen Leitungen.
    [OT](Anfänger fallen immer auf Wire rein die einzelne Linie im Menü, damit kann ich zwar zeichnen aber kein Netz erstellen als elektrische Verbindung die automatisch zum Board übertragen wird.)[/OT]

    Wer es sich angewöhnt so zu arbeiten wird den Fangbereich der NET an Pins lieben lernen, trotzdem kann es vorkommen das ein NET (grüne Linie) nicht mit dem PIN eines Bauteils elektrisch verbunden wird wenn es nur bei doofer Platzierung ein Mückenhaar daneben liegt, deswegen meine Einlassung zum groben Raster!
    Um also sicherzugehen das das NET am Bauteil verstanden wurde, nach dem Verbinden, einfach mal das Bauteil "anfassen" und verschieben, das NET sollte dem Pin folgen!, Da wir das Bauteil nicht absetzen genügt ein Druck auf <ESC> und es ist wieder an seinem Platz.

    Wenn man nun NETs von beiden Seiten aufeinander zubewegt werden die nicht immer zwangsläufig verbunden, die sehen oft nur so aus, erkennt man das z.B. linke Strippe einen anderen NAmen hat als rechte Strippe, oder wenn ich eine "anfasse" und diese verschiebe, die andere ungerührt liegenbleibt.

    Will ich die also verbinden muss ich den kleinen grünen Kuller unten links unter blauem BUS per Hand setzen, ich werden dann gefragt welchen Namen die gemeinsame "Strippe" bekommen soll.

    Wenn das geschehen ist darf ich den nun sinnlosen Kuller wieder löschen, muss aber genau zielen das ich den Kuller erwische und nicht die Strippe, mit F9 oder zurück sind kleinere Missgeschicke kein Problem.

    Wenn ich darf werde ich hier begleitend meine Meinung kundtun.

    Bilder

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (19. Februar 2016 um 15:41)

  • Hi jar,
    klar darfst Du :)

    Ja das mit den junctions und wire-Verbindungen ist mir auch schon aufgefallen. Aber immerhin meckert eagle oft solche (Luft-)Verbindungen an ...
    Ich hatte das irgendwann (in der Version dreiundzwölfzig) auch mit NET gemacht. Dann bin ich dazu übergegangen das so zu machen wie beschrieben. Also ich kann da keinen Unterschied feststellen und finde es so einfacher.
    Na gut das Raster ... das kommt auf TODO ... kann man aber notfalls doch auch am Schluss machen, oder nicht?
    Ooops ... da fällt mir ein dass ich den Info- und den Augen-Knopf gar nicht erwähnt habe (muss auch gleich auf die TODO Liste).

    cu,
    -ds-


  • ....Na gut das Raster ... das kommt auf TODO ... kann man aber notfalls doch auch am Schluss machen, oder nicht?

    kannst du eher nicht am Schluß machen, ein frischer Kollege hatte munter 100 Bauteile drauflos gesetzt und "Strippen" gezogen, alle (Bauteile und Strippen) waren 0.000000000000000001mm aus dem Raster (in alle Richtungen). Da Eagle auch Umrechnungsfehler macht, logisch bei mm und inch wirst du nie alle Bauteile wieder ins Raster bekommen, ich musste den Plan zu Cadsoft schicken, die haben dafür Spezialisten oder Tools, ich schaffte es nicht! Einzige Alternative NEU machen, geht schneller.

    Also gründliche Vorarbeit ist lebenswichtig so man noch begrenzte "Restlebenszeit" hat.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (19. Februar 2016 um 16:00)

  • Ah ok ... danke für die Aufklärung.
    Sicher, ich muss zugeben ... an mehr als 20 oder 30 Bauteile hatte ich gar nicht gedacht :blush:
    Allerdings hab' ich da schon ein Raster definiert ...

    Klappte denn das mit dem snap-to-grid nicht oder war das zu einer Zeit wo dieses Feature noch nicht implementiert war?

    Wie gesagt ... grid und show/info sind schon auf der Liste.
    show finde ich halt genial, weil es den Verlauf und alle Verbindungen anzeigt.

    cu,
    -ds-


  • Ah ok ... danke für die Aufklärung.

    Klappte denn das mit dem snap-to-grid nicht oder war das zu einer Zeit wo dieses Feature noch nicht implementiert war?

    mag sein, aber erstens kannte ich das noch nicht und zweitens klappt das nicht wenn man mit allen Bauteilen und Net "wilde Sau" spielt also alle um ein µ in alle Himmelsrichtungen versetzt.

    Wo will man da mit snap anfangen?

    Selbst für die Helpline Profis war das eine Herausforderung, weswegen ein einfaches snap-to-grid nicht klappte.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (19. Februar 2016 um 17:28)

  • @ds, jar: Ja da hat die Gemeinde wohl wieder einigen Push in Richtung HW Entwicklung dank Eurer Konversation erhalten. Eagle fand ich tatsächlich auch als sehr gewöhnungsbedürftig, insbesondere, wenn man selbst eher zu den "Mausschupservertretern" zählt. Mir hat dieses >> Tutorial << auch sehr geholfen. Ist vielleicht auch einen Blick wert...

  • Hi dag ...
    ja ... derzeit sieht es, zumindest bei mir, so aus, dass - aus aktuellem Annlass - die ESPs wieder in den Vordergrund treten, nebenbei ein bisschen Tiny und auf der Raspi-Seite Anbindung und Datenhaltung/Visualisierung.
    Wobei ich um Letzteres versuche einen seeeehr weiten Bogen zu schlagen. Anwendungs-Software ist nicht so ganz mein Favorit ;) ...

    jar und den Rest unserer Truppe hier:
    Aber um noch mal auf diese Net-Geschichte zurück zu kommen.
    Irgendwie habe ich da wohl irgendwas nicht kapiert oder wir reden aneinander vorbei.
    Ich möchte jetzt niemanden verunsichern.
    Deshalb eine Bitte an diejenigen, die sich gerade in eagle einarbeiten: einfach mal weghören.

    Wire: das setze ich im Besispiel nur in diesen Situationen ein: im "Funktionsblock" Spannungsversorgung, bei der Reset-Logik, beim Schwingkeis und bei den Abblock-Kondensatoren der Ports.
    Es sind noch ein paar mehr Drähte ... aber das ist "gewachsen" und da weiss ich im Moment echt nicht mehr, warum ich das so gemacht habe.
    Schwingkreis und Abblock-Kondensatoren: die sind absichtlich so verbunden, weil der Quarz später möglichst nahe an die MCU und die C möglichst nahe am jeweiligen Port-Anschluss zu liegen kommen sollen.
    Das soll man doch so machen, um dann später über Ratsnest, die kürzeste Luftlinie zu verwenden, oder nicht?

    Die Verbindungen der ganzen anderen Pins der MCU erfolgen ausschliesslich über Label und Namen. Und das wäre doch dann Net, oder?

    Vielleicht können wir das irgendwie so klären und formulieren, dass es auch ein Anfänger versteht. Denn an den richtet sich ja das Tut ... einem Profi brauch/kann ich nichts mehr erklären ;)

    cu,
    -ds-

  • Hi,

    Also so viel Auswahl gibt es da eigentlich nicht.
    Wenn man bspw. *res* *1206* oder *led* *1206* oder *cap* *1206* in die Suche eingibt bekommt man schon genau was man sucht. Man muss sich nur noch für das genaue Package entscheiden.
    Wenn man weitere Libs geladen hat ist die Liste natürlich länger. Standardbauteilen wie Widerstände, Kondensatoren, normale LEDs usw. nehme ich aber immmer aus den Libs die Eagle mitliefert.
    Widerstände -> R_EU
    Kondensatoren -> C_EU
    Leds -> led

    Auf andere Libraries greife ich nur zurück wenn ich das Bauteil/Package sonst nirgends finde (wie bspw. Schmale (2pin) Taster, 5050 RGB Leds, ein "leeres" SOT23-5 oder SOT23-6 Package,...)

    --
    Ist ja echt witzig dass das auch auf Deutsch funktioniert: :)
    Easily Applicable Graphical Layout Editor
    --

    Net Geschichte:
    Ich hab bisher für alles immer nur Wire verwendet.

    Net hätte was ich gelesen hab den Vorteil dass Knotenpunkte automatisch gesetzt werden und man bei einem Bus aussuchen kann mit welcher Leitung das Net denn genau verbunden werden soll. Ausserdem kann man bei einem Net auch gleich angeben zu welcher Netzklasse die Verbindung gehört.

    Im bezug auf die Verbindung macht es aber überhaupt keinen Unterschied ob man Net oder Wire nimmt oder einfach nur allen Pins die miteinander verbunden werden sollen mit einem Knoten(oder kurzem stück wire) versieht und denen den selben "Name" gibt.
    In allen 3 Fällen sind die Pins elektrisch gesehen exakt gleich verbunden.

    Mit Netzklassen hab ich mich noch nicht weiter beschäftigt da die soweit ich weiß nur für den Autorouter interessant sind, ich aber immer alle Boards händisch route.
    Damit würden sich aber Dinge wie Leiterbahnbreite und Abstand zu umliegenden Bauteilen usw. einstellen lassen die dann eben vom Autorouter beachtet werden.


    Ratsnest ist es völlig egal wie der Schaltplan aussieht, das sucht nur im Board nach der kürzesten Verbindung.


    PS: Pack auf jeden Fall noch "Smash" auf die TODO Liste. Damit lässt sich der Name und Wert vom Bauteil "lösen" und frei platzieren. ;)

    EDIT:

    Zitat

    Nun gruppieren wir unsere bisherige Arbeit inkl. dem frame und verschieben das Ganze bis die linke, untere Ecke des Formulars in der rechten oberen Ecke des gestrichelten Keuz liegt.


    Ist beim Schaltplan glaub nicht nötig, ich machs aber auch immer.
    In der Board Ansicht muss man es allerdings so machen da das Kreuz den "Nullpunkt" darstellt und man bei der freien Version auf eine Größe von 80x100cm beschränkt ist.

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (20. Februar 2016 um 20:18)

  • Servus joh,

    ja genau ... so hatte ich das auch verstanden, dass wichtig ist die gleichen Namen zu verwenden.
    Ich glaube, das was jar meinte muss man im Zusammenhang mit großen Schaltplänen sehen. Da kann man halt mit Net keine Verbindung vergessen, was ja so durchaus mal passieren kann.
    Bei so kleinen Dingern sollte es ja kein Problem sein am Schluss noch mal mit "show" nachzuprüfen (oder eben Verschieben, wie jar meinte), ob die Verbindungen passen.

    So gesehen hat er dann schon recht, dass man sich da nicht was angewöhnt was einem das Leben später schwer macht. Mal gucken ... vielleicht flechte ich das mal mit ein.

    "smash" kommt übrigens im zweiten Teil - beim Board-Design ;)
    Ach ja ... Netzklassen werden interessant, wenn Du z.B. bestimmte Leiterbahnen (so wie VCC) etwas dicker oder dünner machen willst.


    cheers,
    -ds-

  • Das denk ich eigentlich schon auch.
    Wollte nur sagen wie ich das bisher immer gemacht hab. Ausserdem wird man ja gerade als Anfänger alles doppelt und dreifach gegenprüfen um wirklich sicher zu gehen das alle Verbindungen passen.
    Da es aber keinen Grund gibt dafür nicht "Net" zu verwenden mach ich das in Zukunft auch so. :thumbs1:

    Der Grund wieso ich bisher immer wire genommen hab ist das es genau gemacht hat was ich wollte. Es gibt halt wie überall mehrer Wege zum Ziel.
    In dem Fall ist es aber recht eindeutig: Ich habs bisher eigentlich immer "Falsch" gemacht. ;)

    Zitat


    Ach ja ... Netzklassen werden interessant, wenn Du z.B. bestimmte Leiterbahnen (so wie VCC) etwas dicker oder dünner machen willst.


    Dafür brauch ich doch keine Netzklassen sondern nur die "Width" Option von "Route". (Und die lässt sich super einfach mit dem Mausrad ändern :) )
    Netzklassen sind da denk ich mal wirklich nur für den Autorouter interessant.

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (20. Februar 2016 um 21:13)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!