3. Entwickeln des Schaltplans

Input ProductsWorkOutput Products
IP1: Projekidee
IP2: Projekt-Definition
W1. Durchsicht der benötigten Datenblätter
W2. Erstellen der Schaltung (*.sch) in eagle (Ändern eines vorandenen Boards)
W3. Regelmäßige Durchsprache mit dem Betreuer
W4. Ablegen der genutzten Datenblätter
W5. Informieren des Betreuers
OP1: Schematic-files
OP2: Datenblätter
Input ConditionOutput Condition
IC1: Projektidee vom Betreuer abgenommenOC1: Files abgelegt
checkliste_fuer_die_schaltungserstellung
Anleitung für die weitergabe_der_bom
eine kurze Liste von Eagle Tipps

101 - Schaltplan zeichnen

Abb. 1: fertige MMC 1x1 328PB Platine

Eine neue Platine des Mexle-Systems sollte auf Basis einer vorhandenen Platinen erstellt werden, z.B.

  1. Microcontroller-Platinen auf Grundlage der MMC 1x1 328PB Platine
  2. Hookup-Platinen auf Grundlage der MCB 1x1 Basis Hookup Platine
  3. andere separate Platinen auf Grundlage der MCB 1x1 Basis Platine

Nachdem die *.brd und *.sch Dateien heruntergeladen wurden, sollte wie folgt vorgegangen werden:

  1. Zunächst sollten *.brd und *.sch Datei im gleichen Ordner vorliegen.
  2. Anpassen der Schematic:
    1. Die *.sch Datei kann durch einen Doppelklick im Browser geöffnet werden
    2. Die nicht notwendigen Komponenten können durch Markieren (z.B. Ziehen einer Auswahl mit der Maus) und Löschen (z.B. drücken der <Entf>-Taste) entfernt werden
  3. Anpassen des Boards
    1. Für größere Boardabmaße müssen die Abstände zwischen den Modulen auf dem Modulträger berücksichtigt werden. Die Maße eines neuen Boards $l$ und $b$ sollten nach folgender Rechnung gebildet werden: $l = 1zoll + (n-1) \cdot (1,1zoll)$
      Das bedeutet, dass ein 2×3 großes Modul die Maße $2,1zoll$ x $3,2zoll$ besitzt.
    2. Das Board ist leicht über ein Markieren der Seite und Abrundungen, sowie ein Verschieben des markierten Bereichs möglich (siehe Abbildung 1).
    3. Es sollte beachtet werden, dass die Buchsen für Hookups stets die vorgegebenen Abstand (800 mil) haben müssen. Dies kann z.B. dadurch gelöst werden, dass beim Vergrößern des Boards die markierte Buchse unmarkiert wird (<Strg> + linksklick).
    4. Gleiches gilt für die Pinheader an den Ecken und den 6-poligen Anschluss zum Modulträger. Diese müssen in das durch den Modulträger vorgegebenen Raster passen.

schlechtebeschriftung1.jpg
schlechte Beschriftung: übereinander und über Komponente
schlechtebeschriftung2.jpg





schlechte Beschriftung: doppelte Beschriftung

  • Füllen Sie den Kommentarbereich in der Zeichnung aus und halten Sie ihn aktuell (Autor, Schaltungszeichnung, Version, Datum).
  • Legen Sie zunächst das grobe Layout auf Basis der Funktion fest. Eingänge sollten links, Ausgänge rechts zu positioniert sein. Bei kleineren Boards bietet sich die Struktur an, wie sie zukünftig auf der Platine wiederzufinden sein wird.
  • Der Name (unter Eigenschaften) von Bauteilen sollte möglichst kurz sein. Die Bezeichnung von Anschlüsse (z.B. Motor, RXD, ADC) und Bauteile (z.B. ATmega88) sollte sinnvoll und aussagekräftig sein.
  • Name und Bezeichnung sollten möglichst nahe am Bauteil positioniert sein. Vermeiden Sie Überlagerungen von Text bzw von Text und Komponenten. Falls Sie eine doppelte Beschriftung haben, entfernen Sie eine davon.
  • Falls Sie bei den Bezeichnern eine negierte Benennung benötigen (Z.B. Out Nicht Reset), so erhalten Sie einen Überstrich mittels Ausrufezeichen: OUT_!Reset = OUT_$\overline{\textrm{Reset}}$
  • Nutzen Sie aussagekräftige Darstellungen für Bauteile, also z.B. Transistoren statt Blackboxen.
  • Bibliotheken können über Datei > Exportieren > Libraries > In eine Bibliothek integrieren exportiert werden.
  • Falls Sie eine Komponente neu anlegen: Der Ursprung („Origin“) soll mittig positioniert werden; die neue Komponente sollte möglichst kompakt gestaltet sein.
  • Zeichnen Sie nur Bauteile ein, welche auch auf der Platine zu finden sein werden. Also keine externen Sensoren, Motoren etc. die keinen Platz auf der Platinen benötigen.
  • Geben Sie den Verbindungen kurze und aussagekräftige Namen, bevorzugt eine Funktionsbezeichung („MISO“). Alternativ kann auch der Pinnamen vom Mikrocontroller („PB4“) oder eine Kombination („PB4_MISO“) verwendet werden.
  • Nicht benötigte Verbindungen sollten entfernt werden.
  • Versuchen Sie Verbindungen möglichst kurz und kreuzungsfrei zu zeichnen.
  • Gegen zuviel Spaghetti auf der Schaltung, hilft
    • die „Name“-Funktion und Linien-Stummel,
    • die Verwendung von vorgegebenen Potentialbauteilen wie GND, -5V oder +5V (weitere in den libs supply1 und supply2)
  • Als Bezeichnungen für die verschiedenen Versorgungsspannungen von IC werden in der Industrie i.d.R. entweder VDD5, VDD33, VDD18 oder VDD5V, VDD3V3, VDD1V8 geschrieben. Bei älteren Schaltungen wurde VCC (Common Collector Voltage) statt VDD verwendet.
SymbolAnwendungEmpfehlung
gnd.jpgAGND: Analog Ground: ungestörte Masse für Analogsignale
GND: Ground: Masse für digitale und schaltende ICs
GNDINT: Masse für Bauteil-interne Logiken
GNDIO: Masse für (hochspannungs)abgeschirmte Datenübertragung, Bezug für IO-Pins
GNDI eingangsseitige Masse (Alternative für AGND falls belegt)
GNDA eingangsseitige Masse (Alternative für AGND falls belegt)
Verwendung von GND
und AGND
versorgung.jpg+5V: positive Spannungsversorgung (auch als 3,3V o.ä.)
-5V: negative Spannungsversorgung
VCC: Common Collector Voltage, auch als positive Versorgungsspannung nutzbar
VCC/2 Mittenspannung bei unipolar versorgten Schaltungen
VCCINT: Versorgung für Bauteil-interne Logiken
VCCIO: Versorgung für IO-Pins
-5V: sollte als Pfeilsymbol wg. Verwechslungsgefahr nicht verwendet werden
Verwendung von VCC-Symbol mit Spannungsbeschriftung
bei unipolar gespeisten Schaltungen.
Verwendung von positiver und
negativer Spannungsversorgung bei bipolar gespeisten Schaltungen
  • Verwenden Sie als Wert für Widerstände, Kondensatoren und Induktivitäten für die Größenbeschreibung folgende Symbole: f, p, n, u, m, k, M, G, T (kein µ, MEGA, o.ä.). Die physikalische Einheit wie $\Omega$, $F$, $H$ ist wegzulassen (im Gegensatz zu Rechnungen).

resetpinschaltung.jpg

Die folgenden Tipps beziehen sich allgemein auf Schaltungen mit Mikrocontroller.

  • Resetleitung
    • Der Resetpin sollte über einen Pull-up/-down Widerstand auf der nicht resetierenden Spannung gehalten werden (bei ATmega32U4 per Pull-up auf High). Weiterhin ist ein Mikrotaster von Vorteil, über welchen der Pin auf die resetierende Spannung gezogen werden kann (=„Reset-Knopf“, bei ATmega32U4 per Pulldown auf Low).
  • Taktgeber
    • Überlegen Sie sich, ob Ihre Anwendung eine genaue Taktfrequenz oder kompakten/kostengünstigen Aufbau benötigt
Eigenschaften interner RC-Oszillator Quarz (Quarz-)Oszillator
Genauigkeit±1%1) <0,01%2) <0,01%3)
Auswahl mögl. Frequenzeneine feste (z.B. Atmega32U4 8 MHz), die per Prescaler geteilt werden kann (CLKPR)große Auswahl (alle Baudraten)kleine(re) Auswahl
notwendige externe Bauteilekeine2 weitere Kondensatoren und Quarznur Oszillator
Geeignet fürkostenkritische Anwendungenzeitkritische Anwendungen: UART, USART, genaue Uhr

Details sind im Data Sheet unter Kapitel „Clock Sources“ (bei ATmega32U4 Kapitel 6.2) zu finden. Für energiesparende Anwendungen sollte der Takt reduziert werden (siehe Tabelle).

FrequenzAnwendung
32,768 kHzfür energiesparende Schaltungen (Stimmgabelquarz)
18,432 MHzBaudratenquarz, notwendig um viele Schnittstellentakte zu generieren. Maximalwert für die meisten AVR-Chips
  • Weitere passive Komponenten
    • Überprüfen Sie das Data Sheet auf weitere notwendige passive Elemente, z.B. für interne Regler o.ä.
      Diese sind unter anderem über Suchwörter wie „Design Guidelines“ zu finden.
  • USB Anschluss / Anschluss an externe Elektronik
    • Bei digitalen Anschlüssen an externe Elektronik bietet es sich an ESD Schutzdioden zu verwenden, um die Komponenten zu schützen.
  • Nutzen Sie für alle analoge Komponenten (Operationsverstärker, MOSFETs, …) die Signale „Analog Vcc“ (AVCC) und „Analog Ground“ (AGND). Damit reduzieren sich Störungen auf der analogen Seite.
  • Analog Ground und Digital Ground sollten nahe am Prozessor nur an einer Stelle verbunden werden. Dazu ist am einfachsten ein kurzgeschlossener Lötjumper zwischen AGND und GND zu verwenden.
  • Sinnvoll beim Einlesen von Analogwerten ist es weiterhin ein Tiefpass vorzuschalten, um Spannungsspitzen abzudämpfen. Z.B. (Grenzfrequenz beachten!)
    • 1. Ordnung: Widerstand mit 1 kOhm und 100 nC gegen Masse, oder
    • 2. Ordnung: Induktivität mit 10 µH und 100 nC gegen Masse.
  • Schalter als Input werden sinnvollerweise bei Schaltungen mit ATmega-Prozessoren gegen GND geschaltet. Dann können die internen Pull-up Widerstände genutzt werden.
  • Falls Sie einen USB-Anschluss robust auslegen wollen, so sollten Sie sich an die üblichen Design Guides richten (z.B. Design Guide von DataKey.com )
  • Wir wollen einen RasPi über I2C anschließen ODER Wir wollen 5V und 3,3V I2C an einem Bus haben. Es ist zu beachten, dass der I2C des RasPi für High Pegel 3,3V liefert. Die meisten älteren Schaltungen benötigen 5V. Als Lösung können Sie den Levelshifter in folgende Application Note betrachten: an10441.pdf
  • Wie kann ich einen zweiten SPI an meinen ATmega anschließen? Verwenden Sie dazu die USART Schnittstelle als zweite SPI. Details dazu finden Sie im Datenblatt des Prozessors unter USART. zweite Alternative: nutzen Sie einen geeigneten AVR-Chip (z.B. ATmega328PB)
  • Ich will viele Schalter einlesen. Ich will einen möglichst energiesparenden Aufbau. dazu bietet sich ein Blick in folgende Dateien PIC-Tipps. Einige der Tipps sind inzwischen überholt, können aber genutzt werden.
  • Falls Sie einen SMD Mikrocontroller verwenden, sollten Sie nicht vergessen einen Programmierport herauszuführen - am besten ISP über debugWire (6-polige Buchse). Ansonsten wird das Programm nie den Weg auf den Chip finden.

Zum Abschluss

  • Prüfen, ob alle Teile in der Schaltung im Hauptraster liegen: in der Kommandozeile „run snap-on-grid-sch.ulp“ eingeben
  • Electrical-Rule-Check durchführen: in der Komandozeile „ERC“ eingeben.
  • Spannungsniveaus beschreiben: Schreiben Sie, für welche Spannung(en die) Schaltung ausgelegt ist. z.B. VCC: 3.3 … 5.0 V, V_power: 20..36 V, Vin: 1.8 V


Generelles

  • Alle ICs mit Kondensatoren an den Stromversorgungspins versehen!!! Diese müssen nahe am IC liegen. Die Kondensatoren kompensieren Störungen auf der Versorgungsleitung. Sinnvoll sind hier Keramikkondensatoren mit 100 nF, da diese einen geringen äquivalenten Serienwiderstand haben. Auch bei Operationsverstärker, ADC-ICs, … sind diese vorzusehen.
  • Theoretisch können Sie alle Ports zu Ein/Ausgänge umkonfigurieren. In der Praxis sind die verwendeten Ports weise zu wählen:
    • Es ist umständlich, aus einem mit JTAG belegten Pin einen Ausgabe-Pin zu machen.
    • Es ist manchmal besser einen Analoginput zur Eingabe von mehreren Binärwerten zu nutzen (z.B. über R-2R-Netzwerk, Falstad).
  • Berücksichtigen Sie bereits bei Der Schaltungserstellung das Layout. Es ist einfacher von einer vorhandenen Schematic und Board auszugehen und dort die nicht benötigten Komponenten zu löschen.
  • Falls Sie Eagle per Tastatur bedienen wollen, können Sie auf den Seiten des MIT die Editor-Commands finden