Eagle und Massefläche

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Hiho.

Wie war das noch in Eagle, wenn man bei der Platine die freie Fläche als Masse definieren will?
Beziehungsweise wäre es für mich eher besser das untere Layer als Masse zu definieren, das obere als VCC.

Ich hab das mal gemacht, ist aber Ewigkeiten her. Finde das nicht mehr :-/
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.225
123
63
Mittelhessen, Giessen
Sprachen
C, Assembler, Pascal, C++, PHP, Java
Hallo Tommy!

Wenn du mit zwei Layern arbeitest, kannst du das mit Polygonen lösen. Du zeichnest ein oder mehrere Polygone und gibst diesen den Namen "GND". Das mache ich dann im Bottom-Layer. VCC verlege ich im Top-Layer mit Leiterbahnen oder bei höheren Strömen dann auch mit Polygonen. Arbeitest du mit mehreren Layern, kannst du einen Layer als Versorgungslayer definieren.

Dirk :ciao:
 
Wertungen: TommyB

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Du kannst ein Polygon zeichnen, und dessen Signal dann auf das gewünschte Signal (Gnd, Vcc, whatever...) ändern. Entweder mit dem "Name-Tool" (Widerstandssymbol) oder bei den Eigenschaften des Polygones ("Info-Tool" das "i"), wenn ich mich recht erinner.
Ratsnest nicht vergessen...
Den Rest hat Dirk ja schon gesagt...

Nachtrag:
Bei einigen ICs finden sich in den Datenblättern Layoutempfehlungen mit bestimmten Signalflächen (hatte das AFAIR bei 'nem Thermocouple-IC mal gesehen), und natürlich bei Schaltreglern (hatte ich dann so übernommen)
 
Zuletzt bearbeitet:
Wertungen: TommyB

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Ah ja, Polygon war es. Danke euch beiden :)

Für Googler: Ein Polygon Rechteck um die komplette Schaltung zeichnen (also um den Bereich halt), es benennen (GND, VCC, WieAuchImmer) und dann auf Ratsnet klicken.

Nur wie war das jetzt noch die Abstände zu definieren? Die sind per Default arg knapp.

Top VCC und Bottom GND mach ich weil ich so einige Brücken einsparen würde. Vielleicht hat es ja noch den netten Nebeneffekt als Kondensator zu wirken? Aber darum geht es mir nicht wirklich :)
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.225
123
63
Mittelhessen, Giessen
Sprachen
C, Assembler, Pascal, C++, PHP, Java
Nur wie war das jetzt noch die Abstände zu definieren? Die sind per Default arg knapp.
Das machst du mit Change/Isolate (Wert angeben und mit linker Maustaste auf das Polygon klicken). Abstände zum Platinenrand (Dimensions) definierst du in den Design-Roules unter dem Tab "Distance" (Copper/Dimensions).

Dirk :ciao:
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Einfach mal "help polygon" eintippen, da werden die ganzen Parameter erklärt...;)
Du meinst wahrscheinlich "Isolate", also den Abstand, der zu signalfremden Signalen freigerechnet wird. Default ist irgendein Minimum, da kannst dann was anderes vorgeben.
Dann ist noch "width", also die Breite der Randlinien interessant, da dieser auch die Breite der automatisch angelegten Verbindungslinien an signalgleiche Pads/Vias/SMDs innerhalb der Fläche bestimmt. Außerdem wird das Polygon mit dieser Liniendicke "ausgemalt" - wenn das Polygon also zwischen Beinchen hindurch fluten soll, muß "width" entsprechend kleiner als die Lücke (inklusive Isolationsbereich) sein.
"Orphans" läßt zu, daß Teile des Polygones auch dann gezeichnet werden, wenn sie keinen Anschluß mehr besitzen, und damit eigentlich potentialfrei sind.
"Rank" legt die Reihenfolge fest, in der Polygone gezeichnet werden. 1, 2, 3, 4, 5, 6. Wenn also in einem Polygon ein anderes gezeichnet werden soll, muß das innere 'nen kleineren Rank haben, damit es zuerst gezeichnet wird, und danach das äußere freigerechnet werden.
Signalgleiche Polygone fließen natürlich zusammen (damit kann man aber Bereiche mit unterschiedlichen Isolate- und Widthwerten erzeugen)

Grml... jetzt war Dirk schon wieder 'n Tick schneller...
 

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Danke, ich schau gleich mal :)

Dirk hab ich heut auch unter Kaffee gesetzt :D
Hatte noch 5 aufm Paypal Konto über :D
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.225
123
63
Mittelhessen, Giessen
Sprachen
C, Assembler, Pascal, C++, PHP, Java
Dirk hab ich heut auch unter Kaffee gesetzt :D
Hatte noch 5 aufm Paypal Konto über :D
Tommy, ja ich habe es bereits gesehen :cool:

Dankeschön! :)

... dann mache ich jetzt mal kurz Kaffeepause ;)

Dirk :ciao:
 

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Scheibenkleister!

Beim Routen und nochmaligen studieren der Datenblätter ist mir aufgefallen dass mein SPI EEPROM 5V nich so gerne mag. Um die komm ich aber nich drum rum. Jetzt muss ich also VCC (für den EEPROM) nebst MOSI und SS von gut 5V runter auf 3,3V bekommen. Kennt da wer ne schöne Diode mit dem passenden Spannungsfall (1,7V) oder ne andere kleine Lösung? 3,3V Pegel sollte der AVR ja problemlos erkennen (MISO)
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Generell gibts für sowas auch Levelshifter, teilweise sogar mit galvanischer Trennung und zusätzlich sogar welche mit integriertem DC-DC-Wandler. Hatte ich Dir ja schon irgendwo hier verlinkt gehabt (Analog Devices, glaub ich).
Der einfache Weg wären einfach Spannungsteiler MOSI, SCK, /CS. 3V3-MISO sollte der AVR erkennen.
Der etwas sicherere Weg wäre, die 3 Signale mittels Z-Diode auf 3V3 zu begrenzen (und den Strom mit'nem Serienwiderstand). (Hatte ich damals mit 'nem EA-DogL so gemacht)
Oder man hängt Transistoren als Schalter dahinter.
Bleibt noch die Versorgung des Speichers - Quick'nDirty einfach 3 Silliziumdioden (keine Schottky) in Reihe, oder vielleicht 2 und 'ne Schottky. Sauberer wäre, einen kleinen Linearregler (SOT23) zu nehmen - oder eben den anfangs erwähnten Levelshifter...

Edit: ADUM5401 ??
 
Zuletzt bearbeitet:

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Also noch ein 16pinnigen IC ... Das wird denn aber verdammt eng. Was es jetzt eigentlich schon ist.
Ohne 2seitig geht schon mal garnicht. Immerhin fehlen mir mittlerweile nur noch 2 Leitungen die ich noch irgendwo (!) dazwischen quetschen muss. Von daher würde ich wohl den unschöneren Weg bevorzugen. Auch wenn dadurch etwas Strom flöten geht. Ok, SPI abschalten wenn nicht benötigt wäre möglich. Denn bliebe im Idle nur der Strom für SS.

Hast du für den Spannungswandler n Beispiel?

Andere Frage (mal wieder was zu Eagle):
Es gibt ja Bauteile, nehmen wir so ein 4000er Gatter. Die sind ja so erstellt dass man die einzelnen Teile (Gatter) im Sheet frei verschieben kann, VCC und GND ebenfalls extra. Wie bekommt man sowas hin?
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Meinst Du, wie man so was erstellt? Hab ich mit'nem AVR auch schon mal gemacht... (je ein Gatter für jeden Port, eins für Power, eins für XTAL...)
 

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Bei mir wäre es für die Platinen. Sind 3 die übereinander liegen. Sind eigentlich nur Wirepads, nur halt zusammen gefasst. VCC, GND, Batt, ADC1, ADC2, SCL, SDA, ...

Wie haste das angestellt?
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Du erstellst Dir in einer Bibliothek die einzelnen Gates als Symbol (also zB ein NAND oder ein XOR und eben auch ein Power (mit nur den beiden Pins)). Ausserdem halt die Packages, die Du haben willst.

Wenn Du nun das Device (das eigentliche Bauteil) erzeugst, hast Du bisher immer nur ein Symbol reingezogen (mit ADD. glaub ich), und dann irgendein Package, und die Connections durchgeklickert.
Jetzt ziehst Du halt nacheinander mehrere Symbole rein (zB zweimal das NAND und ein Power). Das sind dann die Gates. Dabei kannst Du festlegen, ob ein Gate immer im Plan erscheinen muß oder nicht. Ausserdem ging das mit der Reihenfolge auch irgendwie. Pins die als PWR definiert waren, werden dann automatisch mit einem eventuellen gleichnamigen Netz im Plan verbunden, auch wenn sie nicht gezeichnet werden, erzeugen dann also die entsprechenden zu routenden Luftlinien im Layout.
Als Package muß in unserem Beispiel jetzt eins mit mindestens 8 Pins gewählt werden, bein verbinden taucht dann sowas wie G$1Pinname1, G$2Pinname usw.
Ausserdem kannst Du irgendwo festlegen, ob gleiche Gates später im Plan einfach ausgetauscht werden dürfen (SWAP). Wenn Du im Plan irgendwas mit Gate1 machst, layouttechnisch aber später Gate2 einfacher wäre, kannst Du einfach Swappen, ohne im Plan rumwurschteln zu müssen.

Fürn'n Quad-NAND ziehste dann eben 4 NAND-Gates und ein Power rein, und brauchst mindestens 'n Vierzehfüßer...
Prinzipiell kannste Deine Wirepads natürlich auch als Bauteil auffassen, was insbesondere wenn die im "Package" 'ne feste Anordnung haben sollen schon Sinn macht.
Und wenn aus Kompatibilitätsgründen auch auf jeder Platine alle drauf sein sollen, Du aber in einem Schaltplan unbenötigte "Gates" der Übersichtlichkeit nicht haben willst und/oder einzelne "Gates" frei platzieren können willst, kannst Du das so angehen.
Irgendwo hab ich auch schon'ne Pinleiste gesehen, deren einzelne Pins im Schaltplan als frei Platzierbare Einzelpins (Gates) erscheinen...

Edit:
Hast du für den Spannungswandler n Beispiel?
Hab jetzt nicht lange gesucht, aber da Du ja immer gern bei Angelika einkaufen gegangen bist: KlickMich
 
Zuletzt bearbeitet:
Wertungen: TommyB

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Wenn Du nun das Device (das eigentliche Bauteil) erzeugst, hast Du bisher immer nur ein Symbol reingezogen (mit ADD. glaub ich), und dann irgendein Package, und die Connections durchgeklickert.
...
Prinzipiell kannste Deine Wirepads natürlich auch als Bauteil auffassen, was insbesondere wenn die im "Package" 'ne feste Anordnung haben sollen schon Sinn macht.
*facepalm* darauf bin ich garnicht gekommen...

Edit:Hab jetzt nicht lange gesucht, aber da Du ja immer gern bei Angelika einkaufen gegangen bist: KlickMich
Der schaut gut aus, nehm ich. Danke :)
 

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Was hälst du davon @LotadaC:

Der LP2985 generiert die 3V3 (On/Off muss ja auf Vin, oder?).
Die Signale vom AVR (Ausgänge, also SS, MOSI, CLK) gehen durch einen 74HC4050 der auch die 3V3 als VCC bekommt. Der sollte die runter wandeln. MISO sollte ja kein Problem darstellen.

Den Chip kann ich grad noch so unter das Display auf die Oberseite quetschen.
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Ja, der Enable des Linearreglers soll auf Vin gezogen werden, ggf mittels Widerstand. Ansonsten siehe Datenblatt. Als Kondensatoren eignen sich Kerkos.

Wie stellst Du Dir das mit dem 4050 vor? Wenn der mit 3V3 versorgt wird, dürfen auch nur 3V3 an die Eingänge.
Und so'n 16beiner + Linearregler sollte auch nicht kleiner sein als der ADUM, oder?
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.089
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Die nutzen einfach die Schutzdioden des Buffers gegen Vcc. Genauso kann man auch 'nen MAX232 einsparen, und die +/-15V über'n Serienwiderstand auf 'nen AVR knallen. Gehen tut das sicher auch, hat aber trotzdem was von Pfusch...

Hmm... wohin werden die denn eigentlich abgeleitet? An Deinem 3V3-Regler hängt ja auch nur der Speicherchip.
Also über die Schutzdiode des Puffers nach 3V3, und von da über diese ominöse Vout-Vin-Diode des Linearreglers (ich interpretiere Fußnote 5 bei den electrical characteristics mal so) dann nach 5V.
@dino03 ?

Wie gesagt: der Bufferchip ist ein 16Beiner und du brauchst zusätzlich den Linearregler. Der ADUM hat den Regler bereits mit drin, und auch nur 16 Beine. Wie das dann mit dem Hühnerfutter drumrum ist, hab ich mir noch ncht angesehen
 

TommyB

Premium Benutzer
17 Mai 2010
1.755
63
48
35
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Tja... Da gibt es verschiedene Datenblätter. Scheinbar hat Reichelt das falsche drin.
Siehe: http://www.mikrocontroller.net/topic/139386
Und http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00002560.pdf

Im anderen Datenblatt steht:
Voltages are referenced to GND (ground = 0 V)
VCC supply voltage 2.0 5.0 6.0 V
VI input voltage 0 - 15 V (in einen Anderem 13, trotzdem passts)
VO output voltage 0 - VCC V
http://www.nxp.com/documents/data_sheet/74HC4050.pdf


Edit: Addition:
Den ADUM hat Big R nicht, und galvanische Trennung brauche ich nicht, das wäre überdimensioniert.
 
Zuletzt bearbeitet:

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)