Lernpaket Mikrocontroller Kap 1
1 Einleitung
Vor den eigentlichen
Experimenten müssen Sie nur den Mikrocontroller in die Fassung stecken, den
USB-Treiber installieren und die Software installieren. Diese Vorbereitungen
sind jedoch schnell erledigt. Hier finden Sie die entscheidenden Informationen
zum Aufbau und zur Schaltung der Experimentierplatine und zum Inhalt der
beiliegenden CD.
1.1 Bauteile
Das Lernpaket enthält eine
fertig bestückte Platine mit USB-Schnittstelle und allen erforderlichen
Bauteilen. Bitte überprüfen Sie den Inhalt und stellen Sie sicher, dass Sie die
Bauteile korrekt zuordnen.
1 Bestücke Platine mit
USB-Interface
1 USB-Kabel
1 Mikrocontroller ATtiny85
1 Elektrolytkondensator 100 µF
1 Kondensator 10 nF
1 Fototransistor (im klaren
LED-Gehäuse)
1 grüne LED
1 rote LED
2 Widerstände 10 kΩ (Braun,
Schwarz, Orange)
2 Widerstände 1 kΩ (Braun,
Schwarz, Rot)
Abb. 1.1: Alle Bauteile im
Lernpaket
Setzten Sie den
Mikrocontroller in den IC-Sockel, wie es das Foto zeigt. Richten Sie dazu die
Anschlussbeinchen parallel aus, damit sie genau in den Sockel passen. Bei einem
neuen IC sind die Beinchen meist etwas nach außen gespreizt. Sie lassen sich
leicht zurechtbiegen, indem man das IC seitlich auf eine Fläche drückt.
Beachten Sie beim Einsetzen in den Sockel die korrekte Polung. Pin 1 ist der
Reset-Pin auf der Außenseite der Platine, Pin 4 ist der GND-Pin ganz an der
Platinen-Ecke.
Abb. 1.2: Der eingesetzte
Controller
1.2 Die Controller-Platine
Die vollständige Schaltung
des Entwicklungssystems sehen Sie in Abb. 1.3. Der Mikrocontroller ATtiny85 ist
ein IC im achtbeinigen DIP-Gehäuse. Alle Anschlüsse sind an zusätzliche Sockelkontakte
geführt und können in den Versuchen mit anderen Bauteilen verbunden werden.
Acht weitere Anschlüsse des Sockels stellen ein kleines Experimentierfeld dar.
Hier können die zusätzlichen losen Bauteile eingesteckt werden. Der insgesamt
24-polige IC-Sockel dient also sowohl zu Aufnahme des Controllers als auch als
Stecksystem.
Abb. 1.3: Das Schaltbild der
Platine
Das Experimentiersystem
benötigt keine weitere Stromversorgung, da es über den USB-Anschluss mit 5 V versorgt
wird. Zur Absicherung gegen Kurzschlüsse ist eine Polyswitch-Sicherung
eingebaut. Dennoch sollten Kurzschlüsse und Verbindungen zu externen
Stromquellen sorgfältig vermieden werden.
Der USB-Adapter benötigt
einen präzisen Takt und verwendet dazu einen 12-MHz-Quarz. Der Mikrocontroller
ATtiny85 braucht dagegen keinen Quarz, weil er über einen präzisen internen
Oszillator verfügt. Das macht den Baustein so interessant, denn man kann
Anwendungen ganz ohne externe Bauteile entwickeln.
Abb. 1.4: Anschlussbelegung
und Zusatzfunktionen des ATtiny85
Der Mikrocontroller verwendet
drei Leitungen an den Anschlüssen PB0 bis BP2 und zusätzlich die Reset-Leitung
für die Programmierung. Sie sind mit Widerständen direkt an den
USB/Seriell-Wandler CH340 geführt. Er liefert über seine RTS-Leitung Daten und
über TXD ein Taktsignal an den Controller. Gleichzeitig werden Daten vom Pin PB1
zurück gelesen. DTR bildet die Reset-Leitung. Der Programmiervorgang wird
weiter unten noch genauer erläutert.
Dieselben Anschlüsse haben
aber auch noch eine andere Funktion. Mit passenden Programmen im
Mikrocontroller lässt sich eine serielle Schnittstelle realisieren, über die im
laufenden Betrieb Daten zwischen PC und Controller ausgetauscht werden. Der PC
sendet dann einen seriellen Datenstrom über TXD und empfängt Daten an RXD.
Diese serielle Schnittstelle wird auch für die Programmierung über den
Bascom-Bootloader verwendet.
Außerdem kann die Verbindung
zwischen PC und Controller auch statisch genutzt werden. Zwei Leitungen dienen
dann als Eingänge des Mikrocontrollers. Der PC legt 1- oder 0-Zustände an, die
ein Controllerprogramm über die Anschlüsse PB0 und PB2 lesen kann. Umgekehrt
kann über PB1 ein Zustand ausgegeben werden, den der PC über CTS liest. Abb.
1.4 zeigt alle Portanschlüsse des Mikrocontrollers und ihre Sonderfunktionen.
1.3 Entwicklungs-Software
Zur Installation der Software
muss das Anwenderprogramm zusammen mit weiteren Daten auf die Festplatte
kopiert werden. Entpacken Sie dazu das Archiv LPmicro85.zip von der CD in ein
Verzeichnis Ihrer Festplatte wie z.B. C:\Franzis\LPmikro85\. Mit enthalten ist
das Datenblatt des Mikrocontrollers, das man immer wieder aufschlagen sollte,
wenn neue Hardware-Elemente vorgestellt und erprobt werden.
Vor dem ersten Anschluss der
Platine muss der USB-Treiber des USB/Seriell-Wandlers CH340 installiert werden.
Starten Sie das Programm Install.exe (Abb. 1.5) im Verzeichnis CH341SER. Es
kopiert die notwendigen Dateien auf Ihren PC. Der Erfolg wird abschließend
angezeigt (Abb. 1.6).
Abb. 1.5: Das
Installationsprogramm
Abb. 1.6: Treiber installiert
Schießen Sie dann die Platine
über das beiliegende USB-Kabel an. Die Bereitschafts-LED auf der Platine
leuchtet und zeigt an, dass Betriebsspannung anliegt. Der USB/Seriell-Wandler
installiert sich als virtuelle serielle Schnittstelle, in den meisten Fällen
als COM2. Sie können die Installation mit dem Windows-Gerätemanager überprüfen
(Abb. 1.7). Die vergebene COM-Nummer ist wichtig, weil sie in der Software
angegeben werden muss.
Abb. 1.7: Erfolgreiche
Verwendung als COM2
Starten Sie das Programm
LPmikro85.exe. Der Startbildschirm zeigt das vereinfachte Schaltbild der
Hardware und den Anschluss an die virtuelle serielle Schnittstelle. Bei der
späteren Arbeit können Sie immer wieder einmal auf die Registerkarte „Start“
wechseln um dort nachzusehen, welcher Anschluss wo zu finden ist.
Abb. 1.8: Der Startbildschirm
Nun muss noch die verwendete
serielle Schnittstelle eingestellt werden. Klicken Sie auf COM und dann z.B.
auf COM2 oder eine andere Schnittstelle entsprechend der vergebenen COM-Nummer.
Wenn die Schnittstelle vorhanden ist und geöffnet werden kann, erscheint hier
ein Häkchen. Beim Beenden des Programms wird die verwendete Schnittstelle in
der Datei LPmikro85.ini gespeichert. Bei jedem neuen Start wird diese
Einstellung wieder übernommen.
Abb. 1.9: Auswahl der
Schnittstelle
Wechseln Sie als nächstes auf
die Registerkarte Fuses und klicken Sie auf die Schaltfläche 8 MHz, MCS
Bootloader (Abb. 1.10). Nach kurzer Zeit erhalten Sie eine ok-Meldung. Damit
sind einige Grundeinstellungen des Mikrocontrollers programmiert. Er arbeitet
nun mit einer Taktfrequenz von 8 MHz und ist für den späteren Einsatz mit dem
Bootloader vorbereitet.
Abb. 1.10: Programmieren der
Fuses
Öffnen Sie die Registerkarte
Upload (Abb. 1.11) und klicken Sie dann auf Load Hex (Abb. 1.12). Es öffnet
sich ein Dateimenü für Programmdateien im Hexadezimal-Format (Intel-Hex-Files).
Damit können Sie beliebige Hex-Files in den Controller laden. Beginnen Sie mit
dem Programm Interface.hex, das Sie im Grundverzeichnis LPmikro85 finden.
Abb. 1.11:
Software-Upload
Abb. 1.12: Öffnen einer
Hex-Datei
Mit der Auswahl des Hex-Files
beginnt die Datenübertragung. Das Programm wird in einem Textfenster
ausgegeben, sodass man bei Bedarf den Adressbereich und weitere Details
nachschauen kann. Ein Balken zeigt den Fortgang der Übertragung an (Abb. 1.13).
In der Kopfzeile steht der Pfad und der Dateiname des gerade geladenen Programms.
Abb. 1.13: Upload des
Programms Interface.hex
Die erfolgreiche Übertragung
wird mit einer ok-Meldung angezeigt (Abb. 1.14). Falls eine Fehlermeldung
erscheint, liegt es in den meisten Fällen an einer falsch eingestellten COM-Schnittstelle.
Mit der Reload-Taste kann dasselbe Programm noch einmal übertragen werden. Das
ist allerdings nur sinnvoll, wenn es in der Zwischenzeit bearbeitet und neu
kompiliert wurde und man die neue Dateiauswahl sparen will.
Abb. 1.14: Upload abgeschlossen
Das Programm Interface.hex
ist relativ lang und benötigt mehr als eine Minute für die vollständige
Übertragung. Die Upload-Funktion der Software ist also relativ langsam, wird
aber auch nur selten benötigt.
Später wird meist der
Bootloader verwendet, wobei die Übertragung direkt aus der
Basom-Entwicklungsumgebung wesentlich schneller ist. Dazu muss einmal die Datei
Bootlaoder85.hex in den Controller geladen werden. Das Programm sorgt dann für
eine schnelle Selbst-Programmierung des Controllers. Jedes fertige Programm
kann aber auch direkt mit der ISP-Programmierung über LPmikro85.exe in den
Controller geladen werden, dann ohne den Bootlaoder. Damit hat man ein
vielseitiges Programmiergerät für den ATtiny85, das übrigens auch für den
ATtiny45 funktioniert. Der ATtiny25 kann
dagegen nicht programmiert werden, weil er eine andere Blockgröße verwendet.
Software Download: LPmikro85.zip