29
Das Franzis Lernpaket Mikrocontroller

Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Embed Size (px)

Citation preview

Page 1: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Das Franzis Lernpaket

Mikrocontroller

Page 2: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Mikrocontroller

65314-5 Titelei_A5.qxp 21.07.16 15:33 Seite 1

Page 3: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Das Franzis Handbuch

Mikrocontroller

Page 4: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Autor: Burkhard Kainka

© 2016 Franzis Verlag GmbH, Richard-Reitzner-Allee 2, 85540 Haar

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das

Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit

ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.

Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk

genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden.

Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

Bibliografische Information der Deutschen Bibliothek

Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;

detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.

Alle in diesem Buch vorgestellten Schaltungen und Programme wurden mit der größtmöglichen Sorgfalt entwickelt, geprüft

und getestet. Trotzdem können Fehler im Buch und in der Software nicht vollständig ausgeschlossen werden. Verlag und

Autor haften in Fällen des Vorsatzes oder der groben Fahrlässigkeit nach den gesetzlichen Bestimmungen. Im Übrigen haften

Verlag und Autor nur nach dem Produkthaftungsgesetz wegen der Verletzung des Lebens, des Körpers oder der Gesundheit

oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung

wesentlicher Vertragspflichten ist auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht ein Fall der

zwingenden Haftung nach dem Produkthaftungsgesetz gegeben ist.

Liebe Kunden!

Dieses Produkt wurde in Übereinstimmung mit den geltenden europäischen Richtlinien hergestellt und trägt

daher das CE-Zeichen. Der bestimmungsgemäße Gebrauch ist in der beiliegenden Anleitung beschrieben.

Bei jeder anderen Nutzung oder Veränderung des Produktes sind allein Sie für die Einhaltung der geltenden

Regeln verantwortlich. Bauen Sie die Schaltungen deshalb genau so auf, wie es in der Anleitung beschrieben wird.

Das Produkt darf nur zusammen mit dieser Anleitung weitergegeben werden.

Das Symbol der durchkreuzten Mülltonne bedeutet, dass dieses Produkt getrennt vom

Hausmüll als Elektroschrott dem Recycling zugeführt werden muss. Wo Sie die nächstgelegene

kostenlose Annahmestelle finden, sagt Ihnen Ihre kommunale Verwaltung.

Page 5: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

INHALT

Vorwort .....................................................................................................................................t 8

1 Einleitung ............................................................................................................................... 101.1 Bauteile ..................................................................................................................... 101.2 Die Controller-Platine ...............................................................................................121.3 Entwicklungs-Software ...........................................................................................14

2 Interface-Experimente ........................................................................................................202.1 Portausgänge ...........................................................................................................202.2 Porteingänge ............................................................................................................ 222.3 Spannungsmessung ............................................................................................... 252.4 Pullup-Widerstände .................................................................................................282.5 Der Fototransistor ....................................................................................................r 282.6 LED als Lichtsensor .................................................................................................r 292.7 Ladungsmessung.....................................................................................................312.8 Messungen an einem Elko .....................................................................................332.9 Das Oszilloskop ........................................................................................................342.10 Der PWM-Ausgang ...................................................................................................362.11 Schaltschwellen.......................................................................................................402.12 Programm-Upload ....................................................................................................41

3 Bascom-Grundlagen und Portzugriffe .............................................................................443.1 BASCOM-AVR ............................................................................................................443.2 Der Bootloader ..........................................................................................................r 503.3 Ein Wechselblinker ..................................................................................................r 543.4 Geschwindigkeitstest..............................................................................................t 563.5 Digitale Eingänge .....................................................................................................563.6 Eingang mit Pullup .................................................................................................. 573.7 Die UND-Funktion ....................................................................................................583.8 Das RS-Flipfl op ........................................................................................................603.9 Das D-Flipfl op ............................................................................................................613.10 Das Toggle-Flipfl op ..................................................................................................62

4 Die serielle Schnittstelle ......................................................................................................644.1 Print-Ausgaben ........................................................................................................644.2 Text- und Byte-Ausgabe .........................................................................................66

Page 6: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

6 | Inhalt

4.3 Daten empfangen ....................................................................................................694.4 Texteingabe .............................................................................................................. 704.5 Byte-Empfang ...........................................................................................................71

5 Timer/Counter und Interrupts ............................................................................................ 745.1 Zeitmessung ............................................................................................................. 745.2 Impulse zählen ......................................................................................................... 765.3 Timer-Interrupt..........................................................................................................t 775.4 Sekunden-Timer....................................................................................................... 795.5 PWM-Ausgang...........................................................................................................815.6 Der weiche Blinker ...................................................................................................r 825.7 Frequenzmessung ...................................................................................................835.8 Interrupt-Eingang 0 .................................................................................................865.9 Pin-Change-Interrupt..............................................................................................t 885.10 Watchdog und Power-Down...................................................................................89

6 Der AD-Wandler .....................................................................................................................r 926.1 10-Bit-Messung ........................................................................................................926.2 Messung an vier Kanälen........................................................................................956.3 Interne Referenz ...................................................................................................... 976.4 Differenzmessung ...................................................................................................986.5 Temperaturmessung ............................................................................................. 1006.6 Zweipunktregler .....................................................................................................r 102

7 Interfaces und Datenlogger..............................................................................................r 1067.1 Das universelle Interface ..................................................................................... 1067.2 Das Oszilloskop ...................................................................................................... 1097.3 Ein Transientenrecorder......................................................................................... 1117.4 Langzeit-Datenlogger ............................................................................................r 1157.5 Kennlinienschreiber ...............................................................................................r 1177.6 Der MCS Bootloader ...............................................................................................r 120

8 Messtechnik-Anwendungen ............................................................................................. 1248.1 DC-Millivoltmeter 0,1 mV bis 1100,0 mV ............................................................ 1248.2 AC-Millivoltmeter 0,1 mV bis 250,0 mV .............................................................. 1268.3 Widerstandsmessung 100 Ω bis 1 MΩ ................................................................ 1288.4 Kapazitätsmessung 1 nF bis 1000 μF ................................................................ 1308.5 Kapazitätsmessung 1 pF bis 1000 pF .................................................................1318.6 Sinusgenerator 0 bis 5 kHz .................................................................................. 134

Page 7: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Inhalt | 7

9 Arduino-Anwendungen ...................................................................................................... 1389.1 Der ATtiny in der Arduino-IDE ............................................................................... 1389.2 Software Serial ....................................................................................................... 1439.3 Bascom auf dem Arduino UNO ............................................................................ 1449.4 SIOS-Emulation ...................................................................................................... 1499.5 Analoge Plotter....................................................................................................... 1539.6 SIOS für den ATtiny85 ........................................................................................... 1559.7 Programmieren mit CompactDefi nition ............................................................ 158

Page 8: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

VORWORT

Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie benötigen keine Vorkenntnisse und können gleich durchstarten. Mikrocontroller sind nichts anderes als vollständige, kleine Computer mit Recheneinheit, Speicher, Schnittstel-len und allem, was sonst noch dazu gehört. Die neuere Entwicklung hat dazu geführt, dass immer mehr in einen kleinen Chip gepackt wurde. Ein achtbeiniges IC, wie der im Lernpaket enthaltene ATtiny85, bietet bereits so viele Möglichkeiten, dass es praktisch unmöglich ist, sie alle zu nut-zen.

Das neue Lernpaket Mikrocontroller ist eine Weiterentwicklung des Vor-gänger-Lernpakets, das den ATtiny13 verwendete. Statt einer seriellen Schnittstelle gibt es nun einen USB-Anschluss. Und während beim Vor-gänger der Schwerpunkt auf Programmierung mit Assembler gelegt war, wird nun vorwiegend mit Bascom gearbeitet. Alles ist etwas einfacher und komfortabler geworden. Falls Sie bereits mit der Vorgänger-Versi-on gearbeitet haben, werden Sie das Lernpaket mit dem ATtiny85 als Upgrade empfi nden. Er bietet achtfachen Speicher, neue Möglichkeiten, schnelleres Entwickeln, bleibt aber weiterhin ein kompakter kleiner Con-troller mit nur acht Anschlüssen. Durch die Möglichkeit der ISP-Program-mierung können Sie jederzeit einen fabrikneuen ATtiny85 in die Fassung setzen.

Entwickeln Sie Ihre eigenen Anwendungen und damit praktisch Ihr ei-genes Spezial-IC. Sei es eine spezielle Alarmanlage, ein Messgerät oder eine Robotersteuerung – mit den vorgestellten Grundlagen können Sie Ihre Ideen umsetzen. Die im Lernpaket enthaltene Hardware ist zugleich Entwicklungsplattform und Programmiergerät. Sie können beliebig viele Mikrocontroller programmieren und dann in Ihre Schaltungen einbauen.

Burkhard Kainka, Juni 2016

8

Page 9: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

9

65314-5 Mikrocontroller_04.indd 965314-5 Mikrocontroller_04.indd 9 22.07.2016 11:36:4822.07.2016 11:36:48

Page 10: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

10

1 EINLEITUNG

Vor den eigentlichen Experimenten müssen Sie nur den Mikrocontroller in die Fassung stecken, den USB-Treiber installieren und die Software in-stallieren. Diese Vorbereitungen sind jedoch schnell erledigt. Hier fi nden 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-Schnittstel-le und allen erforderlichen Bauteilen. Bitte überprüfen Sie den Inhalt und stellen Sie sicher, dass Sie die Bauteile korrekt zuordnen.

1 Bestückte 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)

65314-5 Mikrocontroller_04.indd 1065314-5 Mikrocontroller_04.indd 10 22.07.2016 11:36:4822.07.2016 11:36:48

Page 11: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

11

Abb. 1.1: Bauteile im Lernpaket

Setzten Sie den Mikrocontroller in den IC-Sockel, wie es das Foto (Abb.  1.2) zeigt. Richten Sie dazu die Anschlussbeinchen parallel aus, damit sie genau in den Sockel passen. Bei einem neuen IC sind die Bein-chen meist etwas nach außen gespreizt. Sie lassen sich leicht zurecht-biegen, 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 Plati-nen-Ecke.

65314-5 Mikrocontroller_04.indd 1165314-5 Mikrocontroller_04.indd 11 22.07.2016 11:36:4822.07.2016 11:36:48

Page 12: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

12 1 | Einleitung

1

Abb. 1.2: Der eingesetzte Controller

1.2 | Die Controller-Platine

Die vollständige Schaltung des Entwicklungssystems sehen Sie inAbb. 1.3. Der Mikrocontroller ATtiny85 ist ein IC im achtbeinigen DIP-Ge-häuse. Alle Anschlüsse sind an zusätzliche Sockelkontakte geführt undkönnen in den Versuchen mit anderen Bauteilen verbunden werden. Achtweitere Anschlüsse des Sockels stellen ein kleines Experimentierfeld dar.Hier können die zusätzlichen losen Bauteile eingesteckt werden. Der ins-gesamt 24-polige IC-Sockel dient also sowohl zur Aufnahme des Cont-rollers als auch als Stecksystem.

65314-5 Mikrocontroller_04.indd 1265314-5 Mikrocontroller_04.indd 12 22.07.2016 11:36:4922.07.2016 11:36:49

Page 13: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

1.2 | Die Controller-Platine 13

Das Experimentiersystem benötigt keine weitere Stromversorgung, da esüber den USB-Anschluss mit 5 V versorgt wird. Zur Absicherung gegenKurzschlüsse ist eine Polyswitch-Sicherung eingebaut. Dennoch soll-ten Kurzschlüsse und Verbindungen zu externen Stromquellen sorgfältigvermieden werden.

Der USB-Adapter benötigt einen präzisen Takt und verwendet dazu einen12-MHz-Quarz. Der Mikrocontroller ATtiny85 braucht dagegen keinenQuarz, weil er über einen präzisen internen Oszillator verfügt. Das machtden Baustein so interessant, denn man kann Anwendungen ganz ohneexterne Bauteile entwickeln.

Der Mikrocontroller verwendet drei Leitungen an den Anschlüssen PB0bis PB2 und zusätzlich die Reset-Leitung für die Programmierung. Siesind mit Widerständen direkt an den USB/Seriell-Wandler CH340 geführt.Er liefert über seine RTS-Leitung Daten und über TXD ein Taktsignal anden Controller. Gleichzeitig werden Daten vom Pin PB1 zurückgelesen.DTR bildet die Reset-Leitung. Der Programmiervorgang wird weiter untennoch genauer erläutert.

Abb. 1.3: Das Schaltbild der Pla-tine

65314-5 Mikrocontroller_04.indd 1365314-5 Mikrocontroller_04.indd 13 22.07.2016 11:36:4922.07.2016 11:36:49

Page 14: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

14 1 | Einleitung

1 Dieselben Anschlüsse haben aber auch noch eine andere Funktion. Mit passenden Programmen im Mikrocontroller lässt sich eine serielleSchnittstelle realisieren, über die im laufenden Betrieb Daten zwischen PC und Controller ausgetauscht werden. Der PC sendet dann einen seri-ellen Datenstrom über TXD und empfängt Daten an RXD. Diese serielle Schnittstelle wird auch für die Programmierung über den Bascom-Boot-loader verwendet.

Außerdem kann die Verbindung zwischen PC und Controller auch statisch genutzt werden. Zwei Leitungen dienen dann als Eingänge des Mikrocon-trollers. 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-So� ware

Zur Installation der Software muss das Anwenderprogramm zusammenmit weiteren Daten auf die Festplatte kopiert werden oder starten Sie esdirekt von der CD. Als Datei enthalten ist auch das Datenblatt des Mikro-controllers, das man immer wieder aufschlagen sollte, wenn neue Hard-ware-Elemente vorgestellt und erprobt werden.

Vor dem ersten Anschluss der Platine muss der USB-Treiber des USB/Seriell-Wandlers CH340 installiert werden. Kopieren Sie das Verzeich-nis CH341SER auf Ihren PC und starten Sie das Programm setup.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.4: Anschluss-belegung und Zusatzfunktionen des ATtiny85

65314-5 Mikrocontroller_04.indd 1465314-5 Mikrocontroller_04.indd 14 22.07.2016 11:36:4922.07.2016 11:36:49

Page 15: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

1.3 | Entwicklungs-Software 15

Schießen Sie dann die Platine über das beiliegende USB-Kabel an. DieBereitschafts-LED auf der Platine leuchtet und zeigt an, dass Betriebsspan-nung anliegt. Der USB/Seriell-Wandler installiert sich als virtuelle serielleSchnittstelle, in den meisten Fällen als COM2. Sie können die Installationmit dem Geräte-Manager von Windows überprüfen (Abb. 1.7). Die vergebeneCOM-Nummer ist wichtig, weil sie in der Software angegeben werden muss.

Abb. 1.5: Das Instal-lationsprogramm

Abb. 1.6: Treiber installiert

Abb. 1.7: Erfolgrei-che Verwendung als COM2

65314-5 Mikrocontroller_04.indd 1565314-5 Mikrocontroller_04.indd 15 22.07.2016 11:36:5022.07.2016 11:36:50

Page 16: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

16 1 | Einleitung

1 Starten Sie das Programm LPmikro85.exe. Der Startbildschirm zeigt dasvereinfachte Schaltbild der Hardware und den Anschluss an die virtuelleserielle Schnittstelle. Bei der späteren Arbeit können Sie immer wieder einmal auf die Registerkarte Start wechseln, um dort nachzusehen, wel-tcher Anschluss wo zu fi nden ist.

Nun muss noch die verwendete serielle Schnittstelle eingestelltwerden. Klicken Sie auf COM und dann z. B. auf COM2 oder eineandere Schnittstelle, entsprechend der vergebenen COM-Num-mer. Wenn die Schnittstelle vorhanden ist und geöffnet werdenkann, erscheint hier ein Häkchen (Abb.  1.9). Beim Beenden desProgramms wird die verwendete Schnittstelle in der Datei LPmik-ro85.ini gespeichert. Bei jedem neuen Start wird diese Einstellungwieder übernommen.

Wechseln Sie als Nächstes auf die Registerkarte Fuses und kli-cken Sie auf die Schaltfl äche 8 MHz, MCS Bootloader (Abb. 1.10).rNach kurzer Zeit erhalten Sie eine ok-Meldung. Damit sind einigeGrundeinstellungen des Mikrocontrollers programmiert. Er arbeitetnun mit einer Taktfrequenz von 8 MHz und ist für den späteren Ein-satz mit dem Bootloader vorbereitet.

Abb. 1.8: Der Startbildschirm

Abb. 1.9: Auswahl der Schnittstelle

65314-5 Mikrocontroller_04.indd 1665314-5 Mikrocontroller_04.indd 16 22.07.2016 11:36:5022.07.2016 11:36:50

Page 17: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

1.3 | Entwicklungs-Software 17

Ö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 Programmdatei-en im Hexadezimal-Format (Intel-Hex-Files). Damit können Sie beliebigeHex-Files in den Controller laden. Beginnen Sie mit dem Programm Inter-face.hex, das Sie im Grundverzeichnis LPmikro85 fi nden.

Abb. 1.10: Programmieren der Fuses

Abb. 1.11: Soft-ware-Upload

65314-5 Mikrocontroller_04.indd 1765314-5 Mikrocontroller_04.indd 17 22.07.2016 11:36:5022.07.2016 11:36:50

Page 18: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

18 1 | Einleitung

1

Mit der Auswahl des Hex-Files beginnt die Datenübertragung. Das Pro-gramm wird in einem Textfenster ausgegeben, sodass man bei Bedarf den Adressbereich und weitere Details nachschauen kann. Ein Balkenzeigt den Fortgang der Übertragung an (Abb. 1.13). In der Kopfzeile stehender Pfad und der Dateiname des gerade geladenen Programms.

Abb. 1.12: Öffnen einer Hex-Datei

Abb. 1.13: Upload des Programms Interface.hex

65314-5 Mikrocontroller_04.indd 1865314-5 Mikrocontroller_04.indd 18 22.07.2016 11:36:5022.07.2016 11:36:50

Page 19: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

1.3 | Entwicklungs-Software 19

Die erfolgreiche Übertragung wird mit einer ok-Meldung angezeigt (Abb.  1.14). Falls eine Fehlermeldung erscheint, liegt es in den meis-ten 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 undneu kompiliert wurde und man die neue Dateiauswahl sparen will.

Das Programm Interface.hex ist relativ lang und benötigt mehr als eineMinute für die vollständige Übertragung. Die Upload-Funktion der Soft-ware ist also relativ langsam, wird aber auch nur selten benötigt.

Später wird meist der Bootloader verwendet, wobei die Übertragung direktaus der Bascom-Entwicklungsumgebung wesentlich schneller ist. Dazumuss einmal die Datei Bootloader85.hex in den Controller geladen wer-den. Das Programm sorgt dann für eine schnelle Selbst-Programmierungdes Controllers. Jedes fertige Programm kann aber auch direkt mit der ISP-Programmierung über LPmikro85.exe in den Controller geladen wer-den, dann ohne den Bootloader. Damit hat man ein vielseitiges Program-miergerät für den ATtiny85, das übrigens auch für den ATtiny45 funktio-niert. Der ATtiny25 kann dagegen nicht programmiert werden, weil er eineandere Blockgröße verwendet.

Abb. 1.14: Upload abgeschlossen

65314-5 Mikrocontroller_04.indd 1965314-5 Mikrocontroller_04.indd 19 22.07.2016 11:36:5122.07.2016 11:36:51

Page 20: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

20

2 INTERFACE-EXPERIMENTE

Die ersten Schritte mit dem Mikrocontroller ATtiny85 sollen hier noch ohne eigene Programmierung vorgestellt werden. Das Programm In-terface.hex bietet den Zugang zu allen Anschlüssen des Mikrocontrol-lers und kann zusammen mit der Interface-Funktion in LPmikro85.exeverwendet werden, um die grundlegenden Eigenschaften der Hardware kennenzulernen. Damit erhält man einen guten Überblick zu den Mög-lichkeiten des Controllers.

2.1 | Portausgänge

Der ATtiny85 hat acht Anschlüsse. Neben den Betriebsspannungsan-schlüssen GND und VCC und dem Reset-Pin RES stehen fünf frei ver-wendbare Portanschlüsse zur Verfügung. Bei der Verwendung als Inter-face werden allerdings zwei Leitungen als Datenleitungen TXD und RXD zur seriellen Kommunikation mit dem PC gebraucht. Damit bleiben noch die drei Leitungen B0, B3 und B4 für sonstige Zwecke übrig. Jeder dieser Ports kann als Ausgang oder als Eingang verwendet werden. Außerdem haben sie jeweils noch Sonderfunktionen.

Öffnen Sie die Registerkarte Interface (Abb. 2.1). Aktivieren Sie die Da-tenrichtungsbits ddrb.0, ddrb.3 und ddrb.4 durch Setzen eines Häk-chens. Damit sind alle drei Ports als Ausgänge initialisiert. Nun können Sie den jeweiligen Portzustand über die Kästchen portb.0 bis portb.4 um-schalten. Einschalten liefert eine Spannung von 5 V am entsprechenden Pin, Ausschalten eine Spannung von 0 V. Verwenden Sie ein Voltmeter zur Überprüfung der Zustände. Gleichzeitig wird jeder Anschluss auch als Eingang gelesen und in pinb.0 bis pinb.4 angezeigt. Der gelesene Zu-stand entspricht dem ausgegebenen Zustand, d. h. Sie können den re-alen logischen Zustand auch ohne eine Spannungsmessung erkennen.

65314-5 Mikrocontroller_04.indd 2065314-5 Mikrocontroller_04.indd 20 22.07.2016 11:36:5122.07.2016 11:36:51

Page 21: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

21

Schließen Sie eine LED mit Vorwiderstand, wie in Abb. 2.2 gezeigt, am Port PB3 an, die Sie dann per Software beliebig ein- und ausschalten können.

Abb. 2.1: Direkter Zugang zu den Controllerports

Abb. 2.2: Eine LED am Port B3

65314-5 Mikrocontroller_04.indd 2165314-5 Mikrocontroller_04.indd 21 22.07.2016 11:36:5122.07.2016 11:36:51

Page 22: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

22 2 | Interface-Experimente

2

Gleichzeitig mit der Portfunktion verwendet das Interface-Programm die beiden Eingänge B3 und B4 als analoge Eingänge. Sie können also direkt die tatsächliche Spannung am Port ablesen. Bei Belastung mit einer LED ergibt sich aufgrund des Innenwiderstands am Port eine geringfügig klei-nere Ausgangsspannung als 5 V. Der digitale Zustand wird aber immer noch als 1 gelesen.

2.2 | Porteingänge

Schalten Sie alle ddrb-Bits und alle portb-Bits aus. Die Ports sind damit hochohmige CMOS-Eingänge. Berühren Sie die Eingänge mit einem Draht oder einem Widerstand. Dabei laden sie sich zufällig auf. Sie können 0 oder 1 sein oder ständig wechseln. Tatsächlich liefern Sie beim Berühren eines Eingangs meist eine 50-Hz-Brummspannung, also einen dauern-den Zustandswechsel. Ganz zufällig bleibt, je nach Zeitpunkt des Loslas-sens, ein 1- oder ein 0-Zustand stehen, der sich jedoch nach kurzer Zeit von allein wieder ändern kann.

Abb. 2.3: Aufbau der LED-Schaltung

65314-5 Mikrocontroller_04.indd 2265314-5 Mikrocontroller_04.indd 22 22.07.2016 11:36:5122.07.2016 11:36:51

Page 23: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

2.2 | Porteingänge 23

Allgemein werden offene Eingänge in der Digitaltechnik vermieden,eben weil sie keine defi nierten Zustände haben. Wenn ein Eingangz. B. verwendet werden soll, um einen Schalter abzufragen, verwendetman zusätzliche Widerstände gegen Masse (Pull Down) oder gegen dieBetriebsspannung (Pull Up). Sie können Pullup- oder Pulldown-Wider-stände simulieren, indem Sie beim Berühren eines Eingangs gleichzeitigVCC oder GND berühren. Ihre Hand dient dann als Widerstand, der eineeindeutige Spannung an den Eingang legt.

Der ATtiny85 enthält aber auch interne Pullup-Widerstände, die sich beiBedarf einschalten lassen. Dazu muss das jeweilige Port-Bit eingeschal-tet werden, während das Datenrichtungsbit low ist. Schalten Sie die Bitsportb.3 und portb.4 ein. Es werden dann bei offenem Eingang 1-Zustän-de zurückgelesen. Die entsprechenden Spannungen an den Eingängen betragen 5 V.

Abb. 2.4: Offene Eingänge

65314-5 Mikrocontroller_04.indd 2365314-5 Mikrocontroller_04.indd 23 22.07.2016 11:36:5222.07.2016 11:36:52

Page 24: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

24 2 | Interface-Experimente

2

In diesem Zustand lassen sich externe Schalter gegen Masse abfragen. Ein geöffneter Schalter liefert 1, ein geschlossener Schalter 0. Verwenden Sie einen Draht nach GND zur Simulation eines geschlossenen Schalters. In diesem Fall können Sie auch den 1-kΩ-Widerstand als leitende Verbin-dung verwenden, weil die internen Pullups wesentlich hochohmiger sind.

Abb. 2.5: Einschal-ten der internen Pullup-Widerstände

Abb. 2.6: Low-Zu-stand durch Draht-brücke oder Wider-stand

65314-5 Mikrocontroller_04.indd 2465314-5 Mikrocontroller_04.indd 24 22.07.2016 11:36:5222.07.2016 11:36:52

Page 25: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

2.3 | Spannungsmessung 25

2.3 | Spannungsmessung

Die analogen Eingänge des Mikrocontrollers lassen sich auch für all-gemeine Spannungsmessungen verwenden. Untersuchen Sie z.  B. dieDurchlassspannung der LED. Ein Port wird dazu als Ausgang geschaltet,der zweite als hochohmiger Messeingang. Die LED wird, wie in Abb. 2.7gezeigt, über den Anschluss PB3 und einen Vorwiderstand von 1 kΩ ein-geschaltet. Der 10-kΩ-Widerstand dient hier zunächst nur als Drahtbrü-cke zur Messung der LED-Spannung über den Anschluss PB4.

Im eingeschalteten Zustand fi nden Sie eine LED-Spannung von ca. 1,9 V. Am Port liegt eine Spannung von 4,9 V. Damit beträgt der Spannungsab-fall am Vorwiderstand 4,9 V – 1,9 V = 3 V. Der LED-Strom ist also 3 V / 1 kΩ= 3 mA. Gleichzeitig lässt sich der Innenwiderstand des Ausgangsportsbestimmen. Bei einem Spannungsabfall von 0,06 V und einem Strom von3 mA ergibt sich ein On-Widerstand von ca. 20 Ω (60 mV / 3 mA = 20 Ω).

Abb. 2.7: Messung der LED-Spannung

65314-5 Mikrocontroller_04.indd 2565314-5 Mikrocontroller_04.indd 25 22.07.2016 11:36:5222.07.2016 11:36:52

Page 26: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

26 2 | Interface-Experimente

2

Verwenden Sie nun einen Vorwiderstand von 10 kΩ, indem Sie PB4 alsAusgang und PB3 zur Spannungsmessung verwenden. Die LED leuchtetschwächer, weil der LED-Strom nun nur noch etwa 0,3 mA ist. Die Span-nung an der LED verringert sich aber nur geringfügig auf 1,8 V. Dies ist auf die steile Diodenkennlinie (vgl. Kap. 7.5) der LED zurückzuführen.

Einen noch geringeren Strom liefert der interne Pullup des Ports. Schal-ten Sie das Datenrichtungsbit des Ausgangsports aus und das Portbitein. Ein schwaches Leuchten der LED ist nur noch bei Abdunkelung desUmgebungslichts zu erkennen. Die LED-Spannung beträgt aber immer noch über 1,7 V.

Abb. 2.8: LED-Span-nung mit Vorwider-stand 1 kΩ

65314-5 Mikrocontroller_04.indd 2665314-5 Mikrocontroller_04.indd 26 22.07.2016 11:36:5222.07.2016 11:36:52

Page 27: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

2.3 | Spannungsmessung 27

Abb. 2.9: LED-Span-nung mit Vorwider-stand 10 kΩ

Abb. 2.10: Interner Pullup als Vorwider-stand

65314-5 Mikrocontroller_04.indd 2765314-5 Mikrocontroller_04.indd 27 22.07.2016 11:36:5222.07.2016 11:36:52

Page 28: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

28 2 | Interface-Experimente

2 2.4 | Pullup-Widerstände

Die einschaltbaren internen Pullup-Widerstände an jedem Port habenlaut Datenblatt einen Widerstand zwischen 20  kΩ und 50  kΩ. Dieser Wert kann sehr einfach überprüft werden. Lassen Sie den Pullup-Stromüber einen bekannten Widerstand fl ießen und bestimmen Sie den Span-nungsabfall. Bei einem Messwiderstand von 10 kΩ wurden 1,09 V gemes-sen. Daraus kann nach den Gesetzen der Reihenschaltung der internePullup zu 35,9 kΩ bestimmt werden. Der Wert liegt also im angegebenenBereich.

Zur Kontrolle können Sie den Kurzschlussstrom am Port mit einem Digi-talmultimeter messen. Es wurde ein Strom von 134 μA gefunden. Darausfolgt ein Pullup-Widerstand von 37,3 kΩ, was im Rahmen der Messgenau-igkeit mit dem oben gefundenen Ergebnis übereinstimmt.

2.5 | Der Fototransistor

Analoge Eingänge werden oft für Messungen an Sensoren eingesetzt.Ein Programm könnte z.  B. die Helligkeit überwachen und bei einembestimmten Grenzwert einen Schaltvorgang auslösen. Die entsprechen-de Schaltungstechnik können Sie mit dem Interface erproben. SchaltenSie den Fototransistor mit einem zusätzlichen Messwiderstand von 10 kΩan einen anlogen Eingang. Der Spannungsabfall am Widerstand ist dannein Maß für die Helligkeit.

Abb. 2.11: Messung des Pullup-Wider-stands

65314-5 Mikrocontroller_04.indd 2865314-5 Mikrocontroller_04.indd 28 22.07.2016 11:36:5322.07.2016 11:36:53

Page 29: Das Franzis Lernpaket Mikrocontroller - Leseprobe · PDF fileVORWORT Dieses Lernpaket ermöglicht Ihnen einen einfachen und schnellen Ein-stieg in die Welt der Mikrocontroller. Sie

Das Franzis Lernpaket

MikrocontrollerDieses Franzis Lernpaket ermöglicht Ihnen einen einfachen und schnellen Einstieg in die Welt der Mikrocontroller. Sie benötigen keineVorkenntnisse und können gleich loslegen. Im Mittelpunkt steht derkleine und extrem leistungsfähige Mikrocontroller ATtiny85. Dieser Controller bietet so viele Möglichkeiten, dass es praktischunmöglich ist, sie alle zu nutzen.

Auf der fertig bestückten Platine gibt es einen USB-Anschlusszur Stromversorgung, zur Programmierung und zum Daten-austausch. Im Schwerpunkt wird mit Bascom gearbeitet, aber auch die Arduino-IDE wird eingesetzt. Die vorgestelltenProjekte sind einfach und leicht zu überschauen, holen aberdennoch alles aus dem Controller heraus.

Die im Lernpaket enthaltene Platine ist zugleich Entwicklungs-plattform und Programmiergerät. Sie können beliebig vieleMikrocontroller programmieren und dann in Ihre Schaltungeneinbauen. Entwickeln Sie Ihre eigenen Anwendungen, sei eseine spezielle Alarmanlage, ein Messgerät oder eine Roboter-steuerung.

Das umfangreiche illustrierte Handbuch bietet Unterstützungfür den Einstieg in die Programmierung und erläutert Schritt fürSchritt den Aufbau der Programme. So gelingt die praktischeUmsetzung, und schon bald können Sie mit dem System auch eigene anspruchsvolle Projekte entwickeln.

Dieses Franzis Lernpaket zeichnet sich durch hohe Qualitätund leichte Umsetzbarkeit auch für Einsteiger aus. Alle Experimente wurden sorgfältig überprüft und auf ihrePraxistauglichkeit getestet. Sie können also sicher sein, dassauch bei Ihnen zu Hause alles klappt. Franzis Lernpakete halten,was sie versprechen: Projekte, die wirklich funktionieren!

Projekte, die wirklich funktionieren

Einfache Entwicklung

Eigene Projekte umsetzen

• Spannungsmessung

• Zeitmessung

• Zähler

• Lichtsteuerung

• Temperaturmessung

• Datenlogger

• Oszilloskop

• Kennlinienschreiber

• DC-Millivoltmeter

• RMS-Millivoltmeter

• Widerstandsmessung

• Kapazitätsmessung

• Sinusgenerator

Die Bauteile im Überblick

Mehr Bücher, Elektronik und Software unter www.elo-web.de

ISBN 978-3-645-65314-5

Diese Projekte programmieren Sie selber:

Ein leicht verständliches Handbuch

Für Kinder unter14 Jahrennicht geeignet!

Kondensatoren

LEDs

Fotowiderstand

Widerstände

Mikrocontroller

Platineinkl. USB-Kabel