Mit Arduino die elektronische Welt entdecken

Text
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

Physikalische Größen

Da ohne eine vorhandene Spannung elektrische Geräte nichts weiter sind als nutzlose Elektrogeräte, möchte ich auf die physikalischen Größen kurz eingehen. Zu den physikalischen oder auch elektrischen Grundgrößen gehören vor allem die elektrische Spannung, der elektrische Strom, der elektrische Widerstand und die elektrische Ladung. Um mit deinem Arduino eigene Projekte bauen zu können und sie nicht nur nachzubauen, ist es wichtig, den Zusammenhang zwischen Spannung, Strom und Widerstand zu verstehen. Da dies kein Elektroniklehrbuch ist, sondern ein praxisbezogenes Arduino-Buch, kann ich dies nur kurz anreißen. Falls dahingehend Interesse besteht, verweise ich auf mein Buch Elektronik verstehen durch spannende ExperimenteAnalog- und Digitaltechnik, ISBN 978-3-946496-23-6, das die Grundlagen der Elektronik vertiefend darstellt.

Was ist Spannung?

Alle uns umgebenden Materialien – fest, flüssig oder gasförmig – bestehen aus Atomen. Ein einzelnes Atom ist aus einem Atomkern und einer Atomhülle zusammengesetzt, wobei der Atomkern aus positiv geladenen Protonen und neutralen Neutronen besteht. In der Atomhülle flitzen die negativ geladenen Elektronen um den Kern herum. Ist die Anzahl der Elektronen gleichmäßig verteilt, dann bemerken wir hinsichtlich einer elektrischen Erscheinung eigentlich nichts. Wir merken erst etwas, wenn das elektrische Gleichgewicht in irgendeiner Weise gestört wird. Werden zum Beispiel einem Körper diese negativen Ladungsträger, die durch die Elektronen repräsentiert werden, entzogen und einem anderen Körper zugeführt, dann besteht zwischen den beiden Körpern ein elektrischer Zustand, der das vormals vorhandene Ladungsgleichgewicht aufgehoben hat. Je größer dieses Ungleichgewicht, desto größer auch der elektrische Zustand.

Das ist vergleichbar mit zwei Menschen, die unterschiedlicher Ansicht sind und zwischen denen sich aus diesem Grund eine bestimmte Spannung aufbaut. Je größer die Differenzen, desto größer auch die Spannung. Und somit wurde der erste Aspekt eines elektrischen Zustandes zur Sprache gebracht: die elektrische Spannung.

Bei der genannten Trennung der Ladungen handelt es sich um einen ruhenden, also statischen Zustand, denn es bewegt sich nach der Trennung der Ladungsträger nichts. Die vorherrschende Spannung kann gemessen werden. Die Einheit für die Spannung lautet Volt und wird mit dem Buchstaben V abgekürzt.

So weit so gut, doch was nützt einem dieser Ladungsunterschied, der eine bestimmte Spannung repräsentiert? Der statische Zustand ändert sich schlagartig, wenn zwischen den beiden Körpern eine mehr oder weniger leitende Verbindung hergestellt wird, die die Elektronen überbrücken können. Das kann durch die unterschiedlichsten Materialien wie zum Beispiel Kupfer, Aluminium oder Silber erfolgen.

Auf der folgenden Abbildung 5 ist auf der linken Seite eine gleichmäßige Verteilung von negativen und positiven Ladungsträgern zu sehen. Beide liegen in einem ausgewogenen Verhältnis vor und aus diesem Grund gibt es keinen Potentialunterschied und keine Spannung. Im Gegensatz dazu sind auf der rechten Seite die Ladungsträger getrennt. Die linke Seite wird von den negativen, die rechte von den positiven Ladungsträgern dominiert. Dieser Potentialunterschied führt zu einer Spannung.


Abb. 5: Wann liegt eine Spannung vor?

Ein etabliertes Ladungsungleichgewicht hat stets das Bestreben, einen Ausgleich herbeizuführen und die Elektronen wandern bei einer Verbindung von einem zum anderen Körper, wobei die Wanderung vom Elektronenüberschuss zum Elektronenmangel erfolgt. Erst, wenn diese Möglichkeit gegeben ist, kommt es zu einem Stromfluss, wie das auf der folgenden Abbildung 6 zu sehen ist:


Abb. 6: Ein Stromfluss kommt zustande.

Sicherlich hast du schon einmal davon gehört, dass es unterschiedliche Spannungsformen gibt, die sich Gleich- und Wechselspannung nennen. Auf der folgenden Abbildung 7 sind diese Spannungsformen im zeitlichen Verlauf zu sehen, wobei das Arduino-Board mit Gleichspannu‌ng betrieben wird. Diese Spannungsform – es wird auch von Stromform gesprochen – hat die Eigenschaft, dass sich Stärke und Richtung nicht ändern. Gleichspannung beziehungsweise Gleichstrom wird mit den Buchstaben‌ DC für Direct Cur‌rent bezeichnet. Im Gegensatz dazu gibt es noch den Wechselstrom, der m‌it AC für Alternating C‌urrent bezeichnet wird. Die Rockgruppe ACDC hat daher übrigens auch ihren Namen. Beide Formen sehen wir auf der folgenden Abbildung 7:


Abb. 7: Gleich- und Wechselspannung

Bei Gleichstrom‌ ändert sich die Höhe der Spannung U nicht, wobei der Wechselstrom‌ die Charakteristik hat, dass die Spannung U zwischen einem positiven und negativen Grenzwert hin- und herpendelt. Es handelt sich hierbei um einen sinusförmigen Verlauf.

Was ist Strom‌?

Nun hast du schon gehört, dass bei einer vorhandenen Spannung ein elektrischer Strom fließen kann. Doch was ist elektrischer Strom überhaupt? Was passiert in einem leitenden Material wie zum Beispiel Kupfer, wenn Strom hindurchfließt? Durch das Anlegen einer Spannung und dem damit einhergehenden Potentialunterschied werden die auf der äußersten Schale von Atomen vorhandenen Elektronen herausgelöst und wandern als freie Elektronen wie eine Wolke durch das Material. Das passiert deswegen, weil durch das Herauslösen der freien Elektronen ein Atom zu einem sogenannten Ion‌ wird. Ein Ion ist dabei ein Atom‌ mit einem Ungleichgewicht zwischen Elektronen und Protonen. Das Atom ist dann nach außen hin nicht mehr neutral. Ein herausgelöstes Elektron hinterlässt also eine Lücke im Atomverbund, die dann durch ein anderes freies Elektron wieder gefüllt werden kann.

Dieser Prozess des Herauslösens und Wiederauffüllens der Lücken durch die Elektronen wird als elektrischer Strom bezeichnet. Auf den beiden folgenden Abbildungen ist der Stromfluss durch einen Leiter zu sehen. Dabei spielen der Querschnitt des Leiters und der zu beobachtende Zeitabschnitt zur Strommessung eine entscheidende Rolle. In der ersten Abbildung sind pro markierten Abschnitt ganze sechs Elektronen zu sehen. Nicht viel, wie später noch zu sehen ist, aber das spielt auch im Moment eine untergeordnete Rolle.


Abb. 8: Zahlreiche Elektronen auf dem Weg durch einen Leiter

In der zweiten Abbildung sind pro markierten Abschnitt im Vergleich dazu weniger Elektronen, nur vier, zu sehen. Der Stromfluss ist also geringer.


Abb. 9: Wenige Elektronen auf dem Weg durch einen Leiter

Der elektrische Stromfluss kann also über das folgende Verhältnis definiert werden:


Natürlich spielt auch der Durchmesser des Leiters eine Rolle, denn je enger der Durchflusskanal für die freien Elektronen ist, desto größer ist auch der Widerstand und desto geringer der Stromfluss. Da die Elektronen eine Ladung besitzen, kann die Summe der zu betrachtenden Elektronen pro Zeitabschnitt auch als sogenannte Ladungsmenge‌ angesehen werden. Eine derartige Ladungsmenge besitzt ebenfalls einen Formelbuchstaben und wird mit Q bezeichnet. Jetzt kann das Ganze mathematisch schon etwas präziser ausgedrückt werden:


Der Buchstabe I steht für den Strom und das kleine Dreieck ∆ – auch Delta‌ genannt – wird in der Mathematik für Änderungen oder Differenzen eingesetzt. Es bedeutet also, dass die Stromstärke gleich der Änderung der Ladungsmenge Q pro Zeit t ist. Für das oben gezeigte Beispiel von sechs beziehungsweise vier Elektronen pro Zeitabschnitt kann festgestellt werden, dass das sehr, sehr, sehr wenig ist und die folgende Rechnung kommt der Realität etwas näher. Es gilt, die Anzahl der Elektronen zu ermitteln, die bei einer Stromstärke von 1A (A steht für Ampere‌, das ist die Maßeinheit des elektrischen Stroms) im Zeitabschnitt von 1 Sekunde durch den Leiter flitzen. Wie kann das aber berechnet werden? Es wird dazu die gezeigte Formel nach der Ladungsmenge umgestellt, so dass sie wie folgt lautet:


Mit den eingetragenen Vorgaben sieht das dann wie folgt aus:


Wie schon erwähnt, ist die Ladungsmenge Q die Anzahl n der Elektronen und nun ist es zur Lösung der gestellten Aufgabe gut zu wissen, wie denn die sogenannte Elementarladung eines Elektrons ist. Diese wird mit dem Formelbuchstaben e gekennzeichnet und hat den Wert von 1,602176 · 10–19 C. Das C (Coulomb‌) ist dabei die Bezeichnung beziehungsweise die Maßeinheit einer elektrischen Ladung. Nun kann in der letzten Formel das ∆Q durch die Anzahl der Elementarladungen ersetzt werden, so dass sie wie folgt lautet:

 

Hier ist auch sehr gut zu sehen, dass 1C (Coulomb) auch die Maßeinheit As besitzen kann, was gleich beim Kürzen in der Formel zum Tragen kommt. Umgestellt nach n und mit konkreten Werten versehen lautet die Formel inklusive des Ergebnisses dann folgendermaßen:


Das Ergebnis ist aufgrund der sehr hohen Anzahl der Elektronen (6 Trillionen) schon beeindruckend.

Nun habe ich die elektrischen Größen wie die elektrische Spannung und den elektrischen Strom kurz angesprochen und es fehlt noch der elektrische Widerstand. Damit das jedoch nicht zu trocken wird und ein Herunterbeten von puren Fakten ist, wird der elektrische Widerstand in den Kapiteln besprochen, in denen er wichtig ist. Das ist zum Beispiel im Bastelprojekt 1 über die Ansteuerung einer Leuchtdiode der Fall, denn dieses elektronische Bauelement, das wie eine kleine Lampe arbeitet, darf nicht ohne Begrenzung des Stromflusses betrieben werden. Und diese Funktion der Strombegrenzumg übernimmt ein bestimmtes elektrisches Bauteil. Doch dazu später mehr.

Unterschiedliche Signalarten

Ich habe ja bereits weiter oben in diesem Kapitel die Ein- und Ausgänge am Arduino Uno gezeigt. Diese werden über sogenannte Header‌ zur Verfügung gestellt, wie das auf der folgenden Abbildung zu erkennen ist:


Abb. 10: Die Header des Arduino Uno

In die Header können entweder kleine sogenannte Patchkabel oder direkt Bauteile eingesteckt werden. Es gibt unterschiedliche Kategorien von Anschlüssen, auf die ich jetzt ein wenig genauer eingehen möchte. Zuvor muss ich jedoch noch etwas ausholen, damit der Unterschied zwischen analogen und digitalen Signalen verständlicher wird.

In der Natur sind sogenannte stufenlose Signalformen mit stufenlosen Verläufen wie zum Beispiel Temperatur oder Helligkeit zu finden. Wenn wir uns die Signalkurve eines Tons auf einem Oszillographen ansehen, dann hat er im Falle einer Sinuskurve folgenden Verlauf:


Abb. 11: Ein sinusförmiger Kurvenverlauf

Wir erkennen entlang der horizontalen Zeitachse t keine Unterbrechung und die Werte gehen stufenlos ineinander über. Wollten wir ein derartiges Signal in einem Computer abbilden, hätten wir Probleme, denn ein Computer kennt lediglich An oder Aus, was Spannungspegeln von HIGH (5V TTL-Logik) beziehungsweise LOW (0V) entspricht. Ein derartiger Verlauf sieht dann beispielsweise wie folgt aus:


Abb. 12: Ein digitaler Kurvenverlauf

Hinsichtlich des analogen Spannungsverlaufs‌ sind beim Arduino und auch anderen Mikrocontrollern Einschränkungen vorhanden, auf die ich später noch zu sprechen komme.

Die digitalen Ein- und Ausgänge

Der Arduino‌ Uno verfügt über diverse digitale Ein- und Ausgänge. Auf der folgenden Abbildung erkennen wir neben den Buchsen entsprechende Bezeichnungen:


Abb. 13: Die digitalen Ein- und Ausgänge

Es gibt von rechts nach links eine Durchnummerierung von 0 bis 13, wobei manchen Nummern eine Schlangenlinie – auch Tilde‌ genannt – voransteht. Auf diese Besonderheit gehe ich gleich noch genauer ein. Ebenso gibt es zwei Pins, an denen sich die Zusatzinformationen RX‌ und TX‌ befinden. Sie sollten im Normalfall nicht zur Ansteuerung verwendet werden, da sie von der seriellen Schnittstelle standardmäßig belegt sind. Die Buchse mit der Bezeichnung GND (Ground)‌ stellt die Masse zur Verfügung. Vielleicht stellt sich der eine oder andere nun die Frage, welche der genannten Anschlüsse zur Kategorie Ein- beziehungsweise Ausgänge gehört. Die Antwort ist einfach. Jeder der digitalen Anschlüsse kann über die Programmierung frei konfiguriert werden und sowohl als Ein- oder als Ausgang arbeiten. Wenn ein Anschluss als Eingang arbeiten soll, muss auf jeden Fall darauf geachtet werden, dass die Spannung 5V nicht überschreitet! Andernfalls nimmt der Mikrocontroller solchen Schaden, dass er entsorgt werden muss.

Die analogen Ein- und Ausgänge‌

Kommen wir nun zu den analogen Verbindungen. Auf der folgenden Abbildung 14 sind die analogen Eingänge zu erkennen:


Abb. 14: Die analogen Eingänge

Die Bezeichnungen von A0 bis A5 ergeben insgesamt sechs analoge Eingänge. Auch hier besteht die Einschränkung, dass nur mit Spannungswerten zwischen 0V und 5V gearbeitet werden darf. Wer jetzt jedoch Ausschau nach den analogen Ausgängen hält, wird auf dem Arduino-Board lange suchen und dann vielleicht entmutigt feststellen, dass sie vergessen wurden. Na ja, nicht ganz. Sie befinden sich an einer anderen Stelle und haben ein Verhalten, das sich von dem unterscheidet, was sich die meisten vielleicht darunter vorstellen.

Nun sind wir bei den digitalen Anschlüssen mit den Tilden angelangt. Das wären dann die Anschlüsse D3, D5, D6, D9, D10 und D11. Sie können als analoge Ausgänge konfiguriert werden. Digitale Ausgänge sollen als analoge Ausgänge umfunktioniert werden?! Das hört sich schon etwas merkwürdig an.

Jetzt kommt PWM ins Spiel. Diese Abkürzung steht für Puls-Width-Modulation‌, was übersetzt Puls-Weiten-Modulation‌ heißt. Wir haben es hier jedoch mit einem digitalen statt mit einem analogen Signal zu tun. Das scheint auf den ersten Blick nicht logisch, doch sehen wir uns das genauer an. Ein PWM-Signal besitzt eine konstante Frequenz mit einer konstanten Spannung. Was jedoch variieren kann, ist der sogenannte Tastgrad‌.


Abb. 15: Impuls- und Periodendauer im zeitlichen Verlauf

Wenn die Frequenz f gleich bleibt, bedeutet dies, dass die Periodendauer‌ T ebenfalls konstant ist. Das einzige, was sich ändern kann, ist die Impulsdauer t. Je breiter der Impuls‌ – quasi größere Fläche –, desto größer ist auch die Energie, die an den jeweiligen Verbraucher übertragen wird. Sehen wir uns vier markante Möglichkeiten an.


Abb. 16: Einige PWM-Beispiele

Wie die Ansteuerung funktioniert, werden wir noch im Detail besprechen.

Die interne Stromversorgung

An der Buchsenleiste‌ liegen die folgenden Pins und Funktionen:


Tabelle 2: Spannungsversorgungs-Pins
Bezeichnung Funktion
VIN Eingangsspannung für das Arduino‌-Board für externe Spannungsversorgung
5V Regulierter 5V-Ausgang
3V3 Regulierter 3,3V-Ausgang. Maximaler Strom beträgt 50mA.
GND Masse
IOREF Die Referenzspannung für die I/O-Ports beziehungsweie des Mikrocontrollers

Der Reset-Taster

Über den Reset-Taster‌ erfolgt ein Neustart des Mikrocontrollers. Der geladene Sketch wird nicht gelöscht, sondern lediglich neu gestartet.


Abb. 17: Der Reset-Taster

Die serielle Schnittstelle‌

Eine weitere Möglichkeit der Kommunikation mit dem Arduino‌-Board ist die über die serielle Schnittstelle. Diese Schnittstelle wird ja über den USB-Port zur Verfügung gestellt und kann über jedes Terminal-Programm‌ wie beispielsweise PuTTY‌ abgefragt werden. Doch eine Zusatzsoftware ist in unserem Fall nicht erforderlich, denn die Arduino‌-Entwicklungsumgebung stellt den sogenannten Serial-Monitor‌ bereit, der sehr nützlich ist. Mit ihm können zur Laufzeit eines Sketches Werte angezeigt werden, was einerseits sehr gut zur Überwachung bestimmter Sensorwerte ist und andererseits bei einer eventuellen Fehlersuche sehr hilfreich sein kann. Doch auch weiterreichende Funktionen wie beispielsweise die Bereitstellung von Messwerten, die von anderen Programmen empfangen und optisch aufbereitet werden, sind über die serielle Schnittstelle problemlos zu realisieren. In diesem Zusammenhang ist die Programmiersprache Processing sehr geeignet.

Details zur seriellen Schnittstelle und zum USB-Port

Vielleicht sind beim Erwähnen der seriellen Schnittstelle und der Kommunikation darüber ein paar Stirnrunzler aufgetreten. Wir haben den Arduino doch lediglich über den USB-Anschluss mit dem Rechner verbunden und sollen jetzt über die serielle Schnittstelle mit ihm in Kontakt treten. Wie funktioniert das denn? Nun, die Sache hat folgenden historischen Hintergrund: Der erste Arduino wurde über die serielle Schnittstelle RS232‌ mit dem Rechner verbunden, denn ein USB‌-Anschluss war nicht vorhanden. Nachfolgende Modelle bekamen dann einen sogenannten FTDI-Chip (Future Technology Devices International), der es ermöglichte, eine serielle Schnittstelle über USB verfügbar zu machen. Somit wird nach erfolgreicher Treiberinstallation ein zusätzlicher COM-Port für den Arduino angeboten. Der Arduino Uno hat nun anstelle eines FTDI-Chips (FT232RL) einen zusätzlichen Mikrocontroller mit der Bezeichnung ATmega8u2‌ erhalten. Der Vorteil dieses Chips, der natürlich frei programmierbar ist, ist die universelle Einsatzbarkeit als USB-Device wie zum Beispiel einer Tastatur oder Maus. Viele weitere Informationen zu diesem Thema und anderen interessanten Aspekten sind unter der folgenden Adresse zu finden:


https://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq

 

Die unterschiedlichen Spei‌cher

Eingangs habe ich unterschiedliche Speicher genannt, die da lauten:

 Flash‌

 SRAM‌

 EEPROM‌

Es ist wichtig zu wissen, worin die Unterschiede bestehen und für welche Anwendungsgebiete diese Speicher zum Einsatz kommen. Weiterführende Informationen sind unter der folgenden Adresse zu finden:


https://www.arduino.cc/en/Tutorial/Memory

Der Flash-Speicher

Ein Programm, das im Arduino-Umfeld Sketch genannt wird, muss irgendwo innerhalb des Mikrocontrollers abgelegt beziehungsweise gespeichert werden. Ein Sketch teilt dem Mikrocontroller mit, was er zu tun hat und welche Aufgaben zu erledigen sind. Ein Programmierprojekt wird in einzelne Programmschritte (Befehle beziehungsweise Kommandos) unterteilt, die in einer bestimmten Reihenfolge abgearbeitet werden. Der Flash-Speicher übernimmt diese Aufgabe der Ablage. Wird der Arduino von der Spannungsversorgung getrennt und ist somit stromlos, dann bleibt der Sketch, der auf den Mikrocontroller übertragen wurde, resistent im Speicher. Nach erneuter Verbindung mit der Spannungsversorgung stehen diese Informationen wieder zur Verfügung.

Das SRAM

Die Abkürzung von SRAM lautet Static Random Access Memory‌. Wird ein Sketch zum Beispiel zur Verarbeitung von Messwerten benötigt, dann müssen diese Werte in irgendeiner Form innerhalb des Mikrocontrollers abgelegt werden. Dazu nutzt man sogenannte Variablen, die als Platzhalter fungieren. Es handelt sich um spezielle Speicherbereiche für den Datenaustausch und zur Datenmanipulation. Diese Speicherbereiche sind jedoch flüchtig, was bedeutet, dass sie ihre Informationen nach dem Abschalten der Spannungsversorgung verlieren. Das ist jedoch kein Problem, denn ein Sketch nutzt diese Daten nur zur Laufzeit und sie werden nach dem erneuten Starten wieder hergestellt. Da der Speicherbereich je nach Modell sehr begrenzt ist, ist es möglich, Daten statt im SRAM im Flash-Speicher abzulegen. Nähere Informationen hierzu sind unter der folgenden Adresse zu finden:


https://www.arduino.cc/en/Reference/PROGMEM

Weitere Bücher von diesem Autor