Dies ist eine alte Version des Dokuments!


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

101 - Schaltplan zeichnen

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.
  • Falls Sie neue Bibliotheken verwenden: Exportieren Sie neue Libraries zunächst über Datei > Exportieren > Libraries > In eine Bibliothek integrieren. 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 oder Widerstände.
  • 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