Mittwoch, 28. Dezember 2016

Erste Schritte mit dem Arduino Micro

Ich habe ein größeres Projekt geplant, der Bau eines 4WD Roboters. Möglicherweise wird die Steuerung oder ein Teil mittels eines Arduino Mikrocontroller geschehen.
Nun habe ich mir für ca. 29 Euro bei Conrad einen Arduino Micro gekauft.
Im folgenden Beschreibe ich eine Transistor-Schaltung die ich zu Versuchszwecken aufgebaut habe. Die Transistor-Schaltung dient dazu einen Verbraucher An- bzw. Auszuschalten, der seine Leistung nicht direkt über einen I/O Pin des Arduino bezieht. Das ist notwendig, wenn der Verbraucher (z.B. ein DC Motor) mehr als 5 V Spannungsversorgung oder 20 mA Dauerstrom bzw. 40 mA Spitzenstrom benötigt (siehe Spezifikation des Arduino Boards, Kapitel "Input and Output").

Arduino Micro Pin-Belegung (von https://www.arduino.cc)
Nach der automatischen Installation der Treiber des Arduinos unter Windows 7 und der Installation der IDE habe ich zunächst das Programm "Blink" auf den Arduino hochgeladen. Dies ist der Abschließende Schritt des "Getting Started" Tutorials auf Arduino.cc. Dieses Programm führt dazu, dass die LED auf dem Controller-Board blinkt: 1 Sekunde an und 1 Sekunde aus. Gleichzeitig liegt auch an dem I/O-Pin D13 eine Spannung von 5V bzw. 0V im 1 Sekundetakt an.

Nachfolgende Zeichnung zeigt die Schaltung, die ich als erstes zum Testen aufgebaut habe:

Die LED ist der Verbraucher-Dummy. Durch das programmierte Schalten von Pin D13 am Arduino wird ein NPN Transistor gesperrt bzw. auf Durchlass geschaltet. Wenn der Transistor auf Durchlass geschaltet ist, liegt an der LED der 3-Zellen LiPo Akku als Spannungsquelle an (11,1 V). Für eine LED sind keine 11,1 V notwendig. Später soll aber die LED durch ein DC Motor ersetzt werden, dieser braucht höhere Spannungen und Ströme als direkt vom Arduino am Pin D13 bereitgestellt werden können.
Schaltung um Verbraucher (LED) mittels Transistor An und Aus zuschalten.

Als Transistor wurde ein NPN 2N2222A verwendet. Welcher Pin am Transistor Emitter, Collector und Basis sind, kann dem verlinkten Datenblatt entnommen werden. Im Schaltbild zeigt der Pfeil den Emitter an. Die Basis ist über einen Widerstand mit dem steuerbaren Pin D13 am Arduino verbunden.

Der Vorwiderstand und Parallelwiderstand bei der LED sind so dimensioniert, dass bei durchgeschaltetem Transistor (11,1 V) durch die LED 15 mA Strom fließt. Ein größerer Strom würde die LED zerstören. Zudem muss die LED richtig herum eingebaut werden. Das längere Beinchen muss an den Plus-Pol.

Obige Schaltung wurde auf einem Steckbrett aufgebaut. Siehe nachfolgende zwei Fotos:

Die LiPo-Batterie ist nicht auf den Bildern gezeigt. Oben ist das "Blink"-Programm im "HIGH" Modus und unten im "LOW" Modus.

Diese Schaltung kann nicht direkt verwendet werden um einen DC Motor zu steuern. Zunächst habe ich einen Modelcraft 1:18 6V Getriebemotor zum Testen gekauft. Dieser benötigt 1,6 A Strom unter Last. Zudem ist eine Stall-Current von 20 A angegeben. Der hier verwendete Transistor kann nur 800 mA Strom über Collector-Emitter leiten und geht bei höheren Strömen kaputt.
Zunächst plane ich den MOSFET IRLZ34 oder IRLZ44 statt des Bipolartransistors zu verwenden. Zudem muss beim Betrieb eines DC Motors eine Freilaufdiode parallel zum Motor geschaltet werden. Andererseits führt beim An- bzw. Ausschalten des Motors der gegenläufige Induktionsstrom zum Durchbrennen des Transistors oder anderer Bauelemente.

Dienstag, 5. Januar 2016

Hyperloop Hamburg nach Berlin

"Hyperloop all cutaway" by Camilo Sanchez - Own work. Licensed under CC BY-SA 4.0 via Commons - https://commons.wikimedia.org/wiki/File:Hyperloop_all_cutaway.png#/media/File:Hyperloop_all_cutaway.png

In letzter Zeit wurde viel über den Hyperloop von San Francisco nach Los Angeles berichtet. Hierbei handelt es sich um ein zukünftiges (leicht utopisch erscheinendes) öffentliches Verkehrsmittel. Elon Musk bezeichnet den Hyperloop als 5. Verkehrsmodus (folgend auf Schiff, Eisenbahn, Auto und Flugzeug). Es handelt sich hierbei um eine teilevakuierte Stahlröhre welche so gerade wie möglich auf Pylonen zwischen zwei Städten gebaut werden soll. In der Stahlröhre "hovern" Kapseln welche Personen oder Fracht transportieren. Die Kapseln stauen während ihrer sehr schnellen Reise durch die Röhre (über 1000 km/h) die Restluft vor sich auf, diese wird durch einen Hochleistungsventilator in der Front der Kapsel eingesogen, komprimiert und hinten an der Kapsel aus einer Druckluftdüse rausgeschossen. Zudem wird ein Teil der Luft genutzt um Luftkissen zwischen Kapsel und Rohrwand zu bilden.
Dieses System hat energetisch gegenüber dem normalen Rad-Schiene-System folgende Vorteile:
1. Die Rollreibung wird sehr stark reduziert. Es gibt keine Räder mehr, sondern nur Luftkissen zwischen Schiene (=Stahlrohr) und Rad (=Ski der Kapsel)
2. Der Luftwiderstand wird sehr stark reduziert. Aufgrund des geringen Luftdrucks in der Röhre und des wegaugens der Stauluft wird der Luftwiderstand fast auf Null gesenkt.
Hauptsächlich werden die Kapseln durch Linearmotoren beschleunigt (ähnlich wie beim Transrapid) welche aber nur an sehr kurzen Streckenabschnitten am Anfang und Ende (zum Bremsen) gebaut werden. Dank der fast nicht vorhandenen Reibungsverluste braucht es keinen dauerhaften Antrieb. (Wobei ein kleiner Antrieb durch den Ausstoß der Stauluft am hinteren Ende der Kapsel ja zur Verfügung steht).
Der Vorteil dieses Systems ist sein sehr geringer Energieverbrauch und auch Flächenverbrauch. Somit ist es ein sehr ökologisches Transportmittel. Zudem können vergleichbare und höhere Reisegeschwindigkeiten erreicht werden, als beim Flugzeug.
Weitere Details können dem White paper von Elon Musk (SpaceX) entnommen werden.

Der Hyperloop hört sich zwar utopisch und fantastisch an, aber ich denke tatsächlich, dass dies ein machbares und sehr sinnvolles Konzept ist.
Wenn man aufeinmal in 30 min von San Francisco nach LA reisen kann, dann braucht man z.B. für seinen Arbeitsplatz nicht in die andere Stadt ziehen. Der Hyperloop ist sozusagen das Metro-System zwischen den Metropolen. Verschiedene Städte lassen sich genauso schnell erreichen wie einzelne Stadtteile in einer Stadt.
Nun, wie würde der Hyperloop in Deutschland aussehen? Hier würde sich die Verbindung Hamburg-Berlin als erstes anbieten. Einerseits weil viele Menschen zwischen den beiden Städten pendeln (größte und zweitgrößte Stadt Deutschlands), andererseits weil zwischen den Städten vergleichsweise flaches und unbesiedeltes Land liegt. Es ist einfacher als zwischen anderen Städten Platz für eine kurvenarme Hyperloopstrecke zu finden.

Route bei google-maps
Mit dem Hyperloop ließen sich diese knapp 300 km (Strecke per Auto) in unter 30 min bewältigen. Zur Zeit braucht der ICE etwa 1:50h.  Nebenstehendes Bild zeigt eine mögliche Hyperloop-Route zwischen Hamburg und Berlin in Rot.  Schwarz ist die direkte Luftlinie.
Die Routenplanung muss sehr sorgfältig durchgeführt werden, da die Strecke möglichst wenige Kurven aufweisen darf. Kurven erzeugen bei schnellen Geschwindigkeiten Zentrifugalkräfte. Der Mensch hält zwar Beschleunigungen kurzzeitig bis mehrere g aus, aber der Hyperloop soll keine Achterbahn sein, sondern eine angenehme Reise bieten.
Genauso wie im orginal white paper habe ich angenommen, dass laterale Zentrifugalbeschleunigungen nicht größer als a = 0,5g betragen dürfen. Aus dieser Vorderung lässt sich für eine Geschwindigkeit der minimale Kurvenradius bestimmen: Es gilt a = v²/R. Die Nächste Abbildung zeigt die Krümmungsradien über die gesamte Strecke und die aus der begrenzten Zentrifugalkraft resultierende maximal erträgliche Geschwindigkeit.

Krümmung der optimierten Route zwischen HH und Berlin. In blau die daraus resultierende maximale Geschwindikeit.
Diese Grafik habe ich wie folgt erzeugt:
Zunächst habe ich eine Route aus google-maps exportiert. Die Route besteht aus Punkten die in Längen- und Breitengraden angegeben sind. Immer 3 aufeinanderfolgende Punkte der Route können zu einem Dreieck verbunden werden (Der Erdradius steht senkrecht auf der Ebene des so gebildeten Dreiecks). Aus der Geometrie ist bekannt, dass es genau einen Kreis mit Radius R gibt (Umkreis) auf dem diese 3 Punkte liegen. Dieser Kreis beschreibt die lokale Krümmung der Route.
Der Umkreisradius lässt sich über eine einfache Gleichung aus den Seitenlängen des Dreiecks berechnen (siehe z.B. hier). Nachfolgende Abbildung zeigt die Krümmungskreise entlang der Route. Wobei ich hier die gekrümmte, dreidimensionale Erdoberfläche in zwei Dimensionen und in Kugelkoordinaten gezeichnet habe. Dies und das Verhältnis der x/y-Skalierung erklärt die leicht verzerrte Form der Kreise.
Krümmungskreise an der Hyperloop-Strecke
 Um die Krümmungskreise zu zeichnen muss man neben dem Radius auch den Kreismittelpunkte bestimmen. Dieser lässt sich durch ein bisschen lineare Algebra berechnen:
Zunächst berechnet man die Richtungsvektoren der Ebene die durch das Dreieck aufgespannt werden.
Die Längen und Breitenkoordinaten der einzelnen Punkte werden zuerst in kartesischen Koordinaten dargestellt mit dem Erdmittelpunkt im Ursprung (0,0,0).
Der erste Richtungsvektor u ergibt sich einfach aus der Differenz von Punkt 1 und 2 (p12) des Dreiecks und anschließender Normierung seiner Länge auf 1 (u=p12/|p12|).
Bildet man die Differenz h aus Punkt 2 und 3 (oder 3 und 1) und bildet das Kreuzprodukt aus u und h: n=u x h, so ist n ein Vektor der senkrecht zu u und senkrecht zu h steht. Dies kann nur ein Vektor sein der Senkrecht auf der gesuchten Ebene steht. Nun berechnet man einfach v = u x n und normiert v auf Länge 1. u und v bilden die Richtungsvektoren der vom Dreieck aufgespannten Ebene.
Der Kreismittelpunkt lässt sich über Vektoraddition ausrechnen.
P1, P2 und P3 haben jeweils R Abstand zum Mittelpunkt M. Somit bildet P1 M P2 ein gleichschenkliges Dreieck. Daraus folgt, dass die Winkelhalbierende von M auf die Seite P1P2 gleich die Seitenhalbierende von P1P2 ist. Man kann also einfach ein rechtwinkliges Dreieck konstruieren und alle drei Seitenlängen über den Satz von Pythagoras berechnen. Nun ergibt sich der Mittelpunkt M aus:
M = P1 + u*|p12|/2 +v*Wurzel(R² + (|p12|/2)²)

Die Kreisgleichung mit t von 0 bis 2pi in drei Dimensionen lautet
X=u*R*sin(t)+(u x v)*R*cos(t)+M
Gemäß dieser Gleichung wurden die Krümmungskreise dann in der obigen Grafik gezeichnet. Kleine Kreise (große Krümmung) wurden rot und große Kreise (geringe Krümmung) wurden grün gezeichnet.
Aufgrund der starken Bebauung in den Städten Hamburg oder Berlin und im Umland wird es in der Nähe der Städte immer schwieriger eine gerade Strecke zu konstruieren. Die Dichte der "roten" Kreise erhöht sich. Die maximal mögliche Reisegeschwindigkeit verringert sich.

Die nebenstehende Abbildung zeigt die Betriebsgeschwindigkeit der Hyperloop-Kapseln auf der Strecke HH-Berlin. Die Strecke wurde in google-maps iterativ immer wieder optimiert (Kurven längergezogen, Punkte versetzt) um möglichst hohe Geschwindigkeiten zuzulassen. Es wurde versucht möglichst wenige Grundstücke oder gar Häuser zu queren. Auch wurde versucht die Strecke möglichst entlang von schon bestehenden Gleisen oder Autobahnen zu führen. Dies senkt den Preis des Baus der Strecke, da weniger Grundstücke von Privat gekauft werden müssen. Der größte Teil der vollen Distanz von etwa 258 km wird mit 1100 km/h zurückgelegt. Diese Geschwindigkeit wird über 4 sehr kurze Beschleunigungsstrecken erreicht und innerhalb von 4 sehr kurzen Bremsstrecken abgebaut.
Die Hyperloopstrecke besteht also zu 99% aus "inaktiver" Stahlröhre. Nur an den Beschleunigungsstellen müssen teure Magnete zur Beschleunigung installiert werden.
Die nächste Abbildung zeigt die Zentrifugalbeschleunigung über die Distanz Hamburg nach Berlin.
Seitliche Beschleunigung (gestrichelt) und Beschleunigung in Fahrtrichtung
  Die Vorletzte und Letzte Grafik zeigt die Strecke in Reisezeit. Die gesamte Reisezeit beträgt weniger als 28 min. Dabei ist die Kapsel nur 7 min mit der Höchstgeschwindigkeit unterwegs. Die meiste Zeit (aber kürzeste Strecke) ist sie mit unter 200 km/h unterwegs.