ATTiny13 (1-4/4)

Platinenherstellung

Die mit dem Platinenlayoutprogramm entworfene Platine kann auf mehrere Arten hergestellt werden:

Variante 1, Auftragserteilung an Firma: Das ist die einfachste, aber sicherstes Variante. Es gibt eine Reihe von Anbietern in Europa und v. a. in China, die Platinen sehr kostengünstig in Kleinserien herstellen. In der Regel sind einige Tage bis zur Lieferung einzukalkulieren. Für fritzing ist das besonders einfach, es ist schon ein Anbieter fest verdrahtet.

Die Platinenhersteller verlangen in der Regel ein spezielles Exportformat, das Gerber heißt. Jedes Layoutprogramm kann die nötigen Dateien erzeugen. Manchmal ist es auch möglich, die Originaldatei des Layoutprogramms hochzuladen (z. B. bei fritzing).

Variante 2: Man kann die Platine auch mit einer CNC-Fräsmaschine herstellen. Dazu werden die Umrisse der Leiterbahnen frei gefräst. Für die Ansteuerung sind verschiedene Arbeitsschritte und eine eigene "Toolchain" notwendig, abhängig auch von der Fräsapparatur.

Variante 3: Die Leiterbahnen werden mit einem geeigneten Ätzmittel frei geätzt. Dazu müssen die Leiterbahnen auf die rohe Kupferplatine übertragen werden und selber ätzfest sein. Als Ätzmittel eignen sich u. a. Eisen-III-Chlorid, Salzsäure oder Natriumpersulfat. Bei allen drei Chemikalien sind besonders im schulischen Einsatz die nötigen Sicherheitsmaßnahmen (Brille, Handschuhe und Laborschürze) zu beachten. Da Salzsäure etwas gefährlicher ist und Eisen-III-Chlorid unangenehm riecht und nicht transparent ist, so dass der Ätzfortschritt nicht gut mitverfolgt werden kann, ist Natriumpersulfat das Mittel der Wahl.

Im ersten Schritt müssen die Leiterbahnen des Layouts auf die Platine gebracht werden.

Die simpelste Methode und bei einfachen Platinen auch durchaus möglich, ist das Nachzeichnen der Leiterbahnen mit säurefesten Stiften (Nagellack tut's übrigens auch). Dazu am besten den ausgedruckten Entwurf als Bohrschablone nutzen und zuerst die Löcher in die Rohplatine bohren. Diese dienen dann als Ankerpunkte für die Zeichnung.

Vielfach wird die sogenannte Thermo-Transfer-Methode vorgeschlagen. Dabei wird der Entwurf mit einem Laserdrucker auf ein leicht wasserlösliches Papier ausgedruckt (es werden häufig Katalogseiten von Elektronikversandhäusern empfohlen). Der Ausdruck wird dann z. B. mittels Bügeleisen (ca. 150 Grad) auf die sauber geputzte Platine aufgebügelt. Das Papier dann im warmen Reinigungsmittelbad langsam auf- und abgelöst.

Für anspruchsvollere Aufgaben kann auch eine photopositiv beschichtete Platine verwendet werden. Das Platinenlayout wird dabei auf eine transparente Folie oder dünnes Papier ausgedruckt und auf die belichtungsempfindliche Platinenschicht aufgelegt. Zur Belichtung wird UV-Licht benötigt. Die Belichtungszeiten sind je nach verwendeten Materialien und Lichtquellen am besten experimentell zu ermitteln. Sonnenlicht funktioniert auch, es ist allerdings schwierig hier konstante Bedingungen zu schaffen. Diese Methode wird im Folgenden näher beschrieben.

Platine belichten und entwickeln

Das auf Folie gedruckte Platinemlayout wird mit der bedruckten Seite auf die Platine gelegt, damit das Licht nicht unter die gedruckte Leiterbahn kommt. Mit einer Glasscheibe wird dafür gesorgt, dass die Folie plan anliegt.

IMG_20220304_093537
[Folienausdruck mit UV-LEDs bestrahlt]

Positivlacke bestehen meist aus Harz (Novolak), einer fotoaktiven Komponente (z. B polymere Diazoverbindungen) und einem Lösungsmittel. Beim Belichten bricht die fotoaktive Komponente auf und kann mit einem Bad in Entwicklerflüssigkeit, Ätznatron (Natriumhydroxid, NaOH), entfernt werden. Die bei der Belichtung abgedeckten Teile bleiben stehen. Beim Ausdruck mit Laserdrucker auf Klarsichtfolien (Overhead-Folie) ist die Deckkraft des Toners oft zu gering für gute Ergebnisse, es empfiehlt sich die Folie in doppelter Ausführung übereinandergelegt zu verwenden.

Folgende Zahlen dienen als Richtwerte:

  • 10-15 g Entwickler pro 1 Liter Wasser
  • Arbeitstemperatur ca. 20 °C
  • ca. 60 Sekunden Entwicklungszeit
Das Entwicklerbad sollte etwas in Bewegung gehalten werden, damit abgelöste Lackreste nicht Platinenteile verdecken.
 
IMG_20220304_094122
[Fertig entwickeltes ATTiny 13 Experimentierboard]

 

Platine ätzen mit Natriumpersulfat

Nach dem Entwickeln empfiehlt sich eine Sichtkontrolle der Platine, man kann hier Brücken zwischen Leiterbahnen noch mit einem geeigneten Werkzeug (Messerchen) auftrennen und fehlerhafte Verbindungen mit einem säurefesten Stift (Permanentstift) ausbessern.

Die Platine gut abwaschen, bevor sie in das Ätzbad kommt, damit die verwendeten Chemikalien nicht miteinander reagieren.

Richtwerte für die Arbeit mit Natriumpersulfat:

  • 200-250 g Ätzmittel auf 1 Liter Wasser
  • 40-50 °C Arbeitstemperatur
  • 10-20 Minuten Ätzzeit, abhängig von der Schichtdicke des Kupfers

Das Ätzbad sollte etwas in Bewegung gehalten werden, was die Gleichmäßigkeit beschleunigt. Das Kupfer löst sich gemeinhin vom Rand her, zentrale Bereiche brauchen länger.

Die chemischen Vorgänge beim Ätzen mit Natriumpersulfat sind hier im Detail beschrieben.

IMG_20220304_095310[Platine im Atzbad, die freien Kupferstellen färben sich rosa]


Bohren und Bestücken

Die meisten Bohrlöcher auf THT-Platinen (Through Hole Technology), wie die des ATTiny 13 Experimentierboards haben den Durchmesser von 0,8 mm, einige von 1,2 mm. Es gibt die entsprechenden Bohrer mit dickerem Schaft, so dass sie auch in normale Bohrmaschinen eingespannt werden könnten. Am besten eignet sich natürlich eine Miniaturbohrmaschine mit Bohrständer.

Vor dem Löten empfiehlt es sich, die Platine z. B. mit Aceton von Lackresten zu befreien, um sie besser lötbar zu machen.

Kleinere Fehler auf der Platine können jetzt noch ausgebessert werden, unterbrochene Leiterbahnen können mit Lötzinn oder dünnen Drähtchen überbrückt werden. Unbeabsichtigte Brücken zwischen den Leiterbahnen können mit einem scharfen Messer aufgetrennt werden.

IMG_20220304_120319
[Ein verirrter Fingerabdruck mit Folgen]

Beim Bestücken fängt man am besten mit den flachen Bauteilen an, insbesondere den Drahtbrücken, und arbeitet sich dann in der Bauhöhe voran. Es wird oft empfohlen die Beinchen der Bauteile vor dem Löten auf das richtige Maß zu bringen, um mechnische Belastungen durch Abzwicken zu vermeiden. Die Praxis zeigt, dass das selten ein Problem ist.

IMG_20220304_124715
[Fertig bestückte Platine]

Angerer Harald - Mittwoch, 2. März 2022 (Zuletzt geändert: Montag, 7. März 2022) - - Kategorie: Microcontroller - Noch kein Kommentar ...

Peripheriebausteine

Das Projekt beschränkt sich auf wenige fix verdrahtete Zusatzbauteile, kann aber als Grundlage für spezifischere Anwendungsfälle (vgl. Projektideen) verwendet werden.

LEDs erzeugen mit wenig Strom viel Licht und eignen sich daher für die direkte Ansteuerung durch die Ausgänge des Microcontrollers. Für stromhungrigere Ansteuerelemente wie z. B. Motoren oder Glühlampen muss ein sogenannter Treibertransistor vorgeschaltet werden.

 

led
[LED Schaltplansymbol und Abbildung]

 

Der Strom durch die LEDs muss durch einen Widerstand begrenzt werden, damit sie nicht durchbrennen bzw. der Microcontroller nicht zu viel Strom zieht, was den Ausgang beschädigen könnte. Für eine sichere positive Polung des Reset-Eingangs im Betrieb ist ebenfalls ein Widerstand vorgesehen (vgl. hier). Die Widerstandswerte von Widerständen in Steckausführung sind als Farbringe codiert.

 

widerstand
[Widerstandswerte sind mit Farbcodes angegeben]

 

Tasten dienen der Eingabe von digitalen Signalen und können ebenfalls direkt mit einem Microcontrolleranschluss verbunden werden.

 

pushbutton
[Taster - Achtung: je zwei Pins sind kurzgeschlossen!]


Ein Potentiometer oder Trimmer ist ein einstellbarer Widerstand und kann für Experimente mit den analogen Eingängen benutzt werden oder als Eingabe dienen.

 

trimmer[Trimmer oder Potentiometer sind regelbare Widerstände]

 

Eine 2x5-polige Pfostenleiste dient als Programmieranschluss für den In-System-Programmer (ISP).

 

pfostenstecker[Pfosten- oder Wannenstecker]

 

Eine 1x5-polige Stiftleiste dient als Anschlusstelle für ein Steckbrett für weitere Komponenten.

Mit einer 2-poligen Stiftleiste, auch Jumper genannt, können bestimmte Teile der Schaltung gekoppelt oder entkoppelt werden.

 

stiftleiste
[Stiftleisten gibt es als lange Reihen zum Selberkürzen in beliebiger Länge]


Und schließlich noch eine Schraubklemme für den Anschluss eines Batteriebehälters für den autonomen Betrieb des Microcontrollers.


schraubklemmen
[2er Schraubklemme]

Angerer Harald - Montag, 28. Februar 2022 (Zuletzt geändert: Montag, 7. März 2022) - - Kategorie: Microcontroller - Noch kein Kommentar ...

Microcontroller ATTiny 13

Microcontroller sind Miniatur-Prozessoren, die mit geringem Aufwand in eigene Schaltungen eingebaut werden können. Es gibt verschiedene Anbieter mit jeweils großem Produktumfang.

Für das hier vorgestellte Projekt kommt ein Microcontroller der Firma Microchip (ehemals ATMEL) zum Einsatz, der "ATTiny 13" (Datenblatt).

Eigenschaften

Den ATTiny 13 gibt es in verschiedenen Bauvarianten und mit verschiedenen elektrischen Eigenschaften.

Für Eigenbauprojekte eignet sich die sogenannte 8-PDIP/SOIC Variante, die auch in einem Steckbrett benutzt werden kann:

attiny13[Abbildung: 8-PDIP ATTiny 13]

Alle Varianten arbeiten mit einer Spannung von 3 - 5,5 Volt und können mit mindestens 10 MHz internem Takt betrieben werden.

Der ATTiny 13 hat:

  • einen 8-Bit-Timer für u. a. zwei PWM-Kanäle
  • 4 ADC-Wandler mit 10-bit Auflösung
  • einen Watchdog-Timer mit separatem Oszillator
  • einen Analog-Comparator

Speicher (Memory)

Der ATTiny 13 arbeitet mit 8-Bit Daten und mit 16-Bit Adressdaten für den Flash-Programmspeicher.

Er hat gerade mal

  • 1 KByte Programmspeicher in FLASH-Technik, entspricht in der Funktion einer Festplatte, wird allerdings normalerweise nicht zum Abspeichern von Daten verwendet,
  • 64 Byte EEPROM, das ist ein Speicher, der von einem Anwendungsprogramm genutzt werden kann um Daten abzulegen, die auch nach einem Stromausfall erhalten bleiben,
  • 64 Byte SRAM, das entspricht dem normalen RAM eines PCs, der Speicherinhalt geht beim Neustart verloren.

Dazu kommen noch 32 Byte sogenannte Arbeitsregister (zum "Rechnen") und 64 Byte Input/Output-Register zur Ansteuerung der diversen Funktion, z. B. um auszuwählen, ob ein Anschlusspin als digitaler Eingang oder Ausgang verwendet werden soll.

Der Programmspeicher wird mit 16 Bit adressiert und belegt die Adressbereiche 0x0000 bis 0x01FF.

Die Register, I/O-Register und das interne SRAM werden mit 8 Bit adressiert und sind in vom Programmspeicher getrennten Speicherbereichen von 0x00 bis 0x9F abgelegt:

memory[Abbildung: Register und SRAM]

Das EEPROM wird ebenfalls separat mit 8-Bit-adressiert und geht on 0x00 bis 0x40.

Anschlüsse

Der ATTiny 13 ist ein Winzling unter den Microcontrollern und hat gerade mal 8 Anschlussbeinchen (Pins), weil er aber auch ein echter Allerkönner ist, sind diese gleich mit mehreren Funktionen belegt.

attiny13_pinout

Welche Funktion ein Anschluss ausübt, entscheidet das darauf laufende Programm und natürlich der Einsatzzweck:

POWER oder VCC (Pin 8) und GROUND oder GND (Pin 4) dienen exklusiv der Spannungsversorgung.

RESET (Pin 1) dient dazu, das Programm auf dem Microcontroller neu zu starten und wird auch für die Programmierung benötigt. Pin 1 kann für andere Funktionen permanent umgestellt werden, dabei gehen aber die Reset-Funktion und die Programmierbarkeit über die ISP-Schnittstelle verloren, das ist nur etwas für finale Versionen und nichts für unsere Projekte.

Bleiben also 5 verwendbare Pins übrig:

ADC1 - ADC3: Analoge Eingänge zum Messen von Spannungen, z. B. bei bestimmten Sensoren notwendig.

INT0, PCINT0 - PCINT4: Hardware Interrupteingänge, die  eine sofortige Programmunterbrechung (Interrupt) auslösen und einen speziellen Programmteil anspringen. Das ist für sogenannte Echtzeitanwendungen wichtig, wo der Microcontroller (fast) sofort reagieren muss.

PB0 - PB4: Digitale Ein- oder Ausgänge, die je nach Programmierung z. B. einen Tastendruck erkennen (Eingang) oder LEDs ansteuern (Ausgang).

0 - 4: Bezeichnungen für die Digitaleingänge und -ausgänge in der Arduino-IDE

A1 - A3: Bezeichnungen für die Analogfunktionen in der Arduino-IDE

SCK, MISO und MOSI werden für die Programmübertragung verwendet.

OC0A und OC0B: Timergesteuere Ausgänge, die vor allem für Pulsweitenmodulation (PWM) verwendet werden.

CLKI: Kann für einen externen Zeitgeber (Quarz) verwendet werden, falls die internen Oszillatoren für eine Anwendung zu ungenau sind.

Angerer Harald - Montag, 28. Februar 2022 (Zuletzt geändert: Montag, 7. März 2022) - - Kategorie: Microcontroller - Noch kein Kommentar ...

Microcomputer selbst gebaut

qrcode
[QR-Code zu dieser Webseite: htts://s.blikk.it/tiny13]

Computer und besonders Prozessoren werden von uns vor allem als "magische" Black-Boxes wahrgenommen, deren Innenleben undurchschaubar und nur etwas für Spezialist:innen ist.

Das hier vorgestellte Projekt soll als Anregung dienen, in der Schule einen Blick hinter die Kulissen dieser Technologie zu werfen und durch Entmystifizierung der Technik einen gleicherweisen kreativen wie medienkritischen Zugang zu finden.

Es werden die einzelnen Schritte bei der Konzipierung, dem Entwurf, dem Bau und schließlich der Programmierung einer Microcontrollerschaltung beschrieben.

Zum Abschluss werden noch einige Projektideen zum Einsatz des Microcomputers skizziert.

 

Angerer Harald - Montag, 28. Februar 2022 (Zuletzt geändert: Montag, 7. März 2022) - - Kategorie: Microcontroller - Noch kein Kommentar ...