Motoren

Gleichstrommotor

Ein Gleichstrom-Bürstenmotor (auch DC-Motoren) wird über die Geschwindigkeit kontrolliert. Indem die Pole vertauscht werden, kann auch die Richtung verändert werden in die der Motor läuft. Um die verschiedenen Richtungsanweisungen, wie Vorwärts, Rückwärts, Leerlauf und Bremsen zu gewährleisten, gibt es integrierte Schaltungen, die Motortreiber genannt werden. Auf dem Calliope mini V3 ist der DRV8835 Chip integriert. Bei den vorherigen Versionen kommt der DRV8837 Chip zum EInsatz. Die Drehgeschwindigkeit eines Motors wird über ein PWM-Signal geregelt.

Spannung Verschieden. Der integrierte Motortreiber ist auf 9V beschränkt
Positionsregelung offener Regelkreis
Geschwindigkeit die Geschwindigkeit lässt sich variieren

DC-Motoren eignen sich gut, um Fahrzeuge oder Propeller zu bauen, wenn es dabei nicht auf eine exakte Rotor- und Winkelstellung ankommt. Mit DC-Motoren können Dinge schnell und mit viel Kraft vor oder zurück bewegt werden.

Calliope mini

Stromversorgung

Die Spannung des Motortreibers entspricht bei Versorgung über USB Kabel ca. 4.7V, bei Versorgung mit vollen Batterien 2.8V. Beim Anschluss von Motoren ist darauf zu achten, dass diese Spannung zur Nennspannung des Motors passt. Über die 2 Pins Vm und GND kann eine externe Stromquelle angeschlossen werden, hier werden Spannungen bis 9V unterstützt. Im Vergleich zum mini 1 & 2 wird außerdem der gesamte mini über diesen Anschluss mit Strom versorgt.

Die Pins, an denen Motortreiber, Batterie und Motor angeschlossen werden, befinden sich unterhalb der LED Matrix auf der 30 Pin Stiftleiste.

Datenblatt: DRV8835

Anschluss

Um Motoren anzuschließen stehen zwei Anschlüsse M0 und M1 bereit, bei denen jeweils ein Motor an den Plus Pin und den Minus Pin angeschlossen wird. Im Unterschied zum mini 1 & 2 kann jeder Anschluss (M0 & M1) jeweils einen Motor vorwärts und rückwärts regeln, da jeder Anschluss eine vollwertige H-Brücke enthält.

Aufbau für einen Motor

Positiver Anschluss des Motors an M0+, negativer Anschluss des Motors an M0-.

Aufbau für 2 Motoren

Positiver Anschluss des 1. Motors an M0+, negativer Anschluss des 1.Motors an M0-. Positiver Anschluss des 2. Motors an M1+, negativer Anschluss des 2. Motors an M1-.

Stromversorgung

Die Spannung, die der Calliope mini als Ausgang hat, liegt bei 3,3 V und wird für viele DC-Motoren nicht reichen. Deshalb werden diese über eine externe Stromquelle versorgt, die durch den Motortreiber auf maximal 9V beschränkt ist und nicht überschritten werden sollte.

Die Pins, welche Motortreiber, Batterie und Motor verbinden, befinden sich unterhalb der LED-Matrix.

Datenblatt: DRV8837

Aufbau für einen Motor

Falls ein Motor angeschlossen wird, können die beiden logischen Pins A und B miteinander mit dem Motor verbunden werden. Die Reihenfolge ob A mit dem Minuspol oder B mit dem Pluspol des Motors verbunden werden, entscheidet darüber in welche Richtung dieser sich dreht.

Aufbau für 2 Motoren

Falls zwei Motoren angeschlossen werden, dann wird pro Motor ein logischer Pin A oder B und zusätzlich ein Masseanschluss (GND) verwendet. Da sich die Motoren jetzt jeweils eine unabhängige Halbbrücke des Motortreibers teilen, können sie nicht entgegenlaufen oder rückwärts fahren, sondern nur gemeinsam Vorwärts fahren und Bremsen oder jeweils einen Motor bremsen und den anderen in den Fahrmodus schalten.

Pinleiste
Zur Verbindung der Motoren kann eine 2,54 mm Stiftleiste verwendet werden und angelötet werden. Alternativ können auch lötfreie "Hammer"-Stiftleisten verwendet werden, die wieder entfernt werden können.

Zahnstochertrick
Für einen schnellen Aufbau, der nicht permanent sein soll, gibt es die Haushaltsalternative mit Zahnstochern. Dafür die Enden der Kabel von der Isolierung freilegen und dann die Litze mit Zahnstochern in die kleinen Löcher der Pins vorsichtig drücken. Solange der Kontakt zwischen Kabel und Pin hergestellt wird fließt auch ausreichend Strom für die Motoren.

Programmierung

Makecode

In Makecode sind die Motorblöcke under den Standardblöcken direkt zu finden

Ein Motor

Der Motor wird vorwärts bewegt, indem die Geschwindigkeit in der Programmierung auf eine positive Prozentzahl gesetzt wird. Um den Motor rückwärts zu bewegen werden negative Prozent eingestellt.

Für einen Motor gibt es noch die Modi "ausrollen", "bremsen" sowie schlafen:

  • Rollt oder schläft der Motor wird keine Spannung angelegt, der Motor ist im Leerlauf.
  • Bremst der Motor, dann wird dieser aktiv auf 0 Prozent Geschwindigkeit runtergeregelt.


code

Zwei Motoren

Um zwei Motoren zu steuern, wird der Block verwendet, indem Motor A und B, sowie A + B eingestellt werden können.
Um ein Fahrzeug z.B. nach rechts oder links zu bewegen, wird entsprechend die Geschwindigkeit des einen Motor verlangsamt, beziehungsweise auf 0 gesetzt und die des anderen Motors erhöht.

Die Fahrmanöver können wie hier im Beispiel in Funktionen definiert und abgerufen werden

code

FAQ


Servomotor

Ein Servomotor ist ein spezieller elektrischer Motor, der über die Winkelposition gesteuert wird. Ein zusätzlicher integrierter Sensor (Potentiometer) gibt die Informationen über die Position zurück. Über ein PWM-Signal wird anhand der Pulslänge die Winkelstellung übermittelt.

Spannung Verschieden. Viele mit 5 - 6 Volt
Positionsregelung geschlossener Regelkreis (0 - 180°)
2 verschiedene Versionen Servos die sich um 180 und um 360 Grad drehen

Servomotoren werden dann eingesetzt, wenn die Bewegung geschlossen und exakt sein muss. Im Modellbau werden sie z.B. für die Bewegung einer Schranke, oder das schwenkbare Höhenruder eines Flugzeugs verwendet.

Calliope mini

Anschluss

Ein Servomotor hat 3 Pins. Einen Pluspol (VCC), Masse (GND) und ein Signalkabel, welches die Winkelstellung als PWM-Signal übermittelt.

Stromversorgung Calliope mini V3 (<3 V)

Servomotoren, die mit 3 Volt oder weniger betrieben werden, können direkt über den VCC Anschluss des Calliope mini mit Strom versorgt werden. Dazu wird VCC an den Pluspol und GND an den Minuspol verbunden, die Verbindung kann über Jumper Kabel an die 30 Pin Stiftleiste oder über Krokodilklemmen an die Touch Pins passieren. Um Servos zu verwenden, kann jeder Pin verwendet werden, es ist aber darauf zu achten, dass die Pins nicht als Display Pins verwendet werden oder das Display deaktiviert werden muss. Die Pins P0 bis P3, C4, C8, C9, und C13 bis C17 eignen sich gut.

externe Stromquelle (>3 V)

Servomotoren mit mehr als 3 Volt können über eine externe Stromquelle, wie z.B. Batterien, betrieben werden.
Für Batterieversorgung wird sowohl die Versorgungsspannung des Servos (VCC) an den Pluspol, als auch die Masse (GND) an den Minuspol einer Batterie angeschlossen. Nur das Signalkabel (meist gelb) verbindet den Calliope mini. Dabei ist auch darauf zu achten, dass die Masse vom Servo auch mit der des Calliope Minis verbunden ist, damit der Stromkreis für die Signalleitung geschlossen ist.
Gegebenenfalls können stärkere Servos auch über den VM Anschluss des mini V3 angeschlossen werden. Wenn der mini über USB Verbunden wird, hat der VM Anschluss eine Spannung von ca. 4.7V. Der Anschluss erfolgt dann analog zu dem Anschluss über VCC, nur mit dem Unterschied dass das rote Kabel des Servos bei VM statt bei VCC eingesteckt wird.

Anschluss

Ein Servomotor hat 3 Pins. Einen Pluspol (VCC), Masse (GND) und ein Signalkabel, welches die Winkelstellung als PWM-Signal übermittelt.

Stromversorgung Calliope mini (<3 V)

Servomotoren, die mit 3,3 Volt betrieben werden, können direkt über den Calliope mini mit Strom versorgt werden. Dazu wird VCC an den Pluspol und GND an den Minuspol der Krokodilklemmenanschlüsse/Touchpins verbunden. Es kann theoretisch jeder analoge Pin am Calliope mini für das Signal verwendet werden. Um jedoch bei den Touchpins zu bleiben, kann sowohl Pin P1, als auch P2 für das Signal verwendet werden.

externe Stromquelle (>3 V)

Servomotoren mit mehr als 3 Volt sollten über eine externe Stromquelle, wie z.B. Batterien, betrieben werden.
Dafür wird die Versorgungsspannung (VCC) an den Pluspol, als auch die Masse (GND) an den Minuspol einer Batterie angeschlossen. Nur das Signalkabel (meist gelb) verbindet den Calliope mini. Dabei ist auch darauf zu achten, dass die Masse vom Servo auch mit der des Calliope Minis verbunden ist, damit der Stromkreis für die Signalleitung geschlossen ist.

Programmierung

Makecode

In Makecode befinden sich die Blöcke für die Servoansteuerung bereits in der Bibliothek. Diese finden sich unter den Fortgeschrittenen Blöcken unter Pins.

Servo zum Winkel bewegen

Mit "Setze Winkel..." wird der Servo in die jeweilige Winkelstellung mit kontinuierlicher Geschwindigkeit gefahren.

Pulslänge einstellen

Über die Pulslänge des PWM-Signals wird die Winkelstellung der Achse ermittelt. Die Frequenz bleibt dabei einheitlich bei 20 ms (50 Hz). der kürzeste Impuls, stellt den Servo auf 0 Grad und der längste auf die maximale Stellung von 180°. Alle anderen Positionen werden entsprechend dazwischen verteilt. Servos haben allerdings verschiedene Pulslängen. Diese kann in MakeCode angepasst und konfiguriert werden. Die meisten Servos haben eine Pulslänge zwischen 1 und 2 Millisekunden. Die neutrale Stellung zwischen den Werten wird im Editor festgelegt.

Die Pulslänge wird oft in Mikrosekunden (µs) angegbene. Das sind 1000 Millisekunden.

Open Roberta Lab

Roboterkonfiguration

Im Open Roberta Lab, müssen zuerst der Pin für den Servomotor in der Roboterkonfiguration konfiguriert werden. Unter Aktion finden sich der entsprechende Servomotor-Block. Der Servomotor kann an jeden beliebigen analogen/PWM Pin konfiguriert werden.

Servo zum Winkel bewegen

Der Block um den Servo in eine bestimmte Position zu bewegen befindet sich im Editor bei den fortgeschrittenen Blöcken (☆2) unter Bewegen
Der Servo wird in die jeweilige Winkelstellung mit kontinuierlicher Geschwindigkeit gefahren, die als Parameter gesetzt ist.

FAQ


Schrittmotor

Ein Schrittmotor bewegt sich, wie der Name es schon sagt, schrittweise in einem kleinen Winkel nach vorne. Anders als ein Servo gibt dieser keine Information über seine Position zurück. Auch wenn sie sehr exakt sind, fahren Drucker in denen Schrittmotoren eingebaut sind, ihre Patrone deshalb in eine Ecke, um sich neu zu orientieren und auszurichten. Der Schrittmotor läuft meistens langsamer und hat deshalb ein größeres Drehmoment.

Spannung Verschiedene Spannungen, beginnend ab 2-3 V
Positionsregelung offener Regelkreis
2 verschiedene Bauarten Unipolare und bipolare Schrittmotoren

Schrittmotoren werden in Maschinen und Automaten verbaut, die exakt und präzise arbeiten, wie 3D-Drucker, CNC-Fräsen, CD-Laufwerke, sowie Spiel- und Getränkeautomaten.

Unterschied Unipolar / Bipolar

Es gibt verallgemeinert zwei verschiedene Bauformen bei den Schrittmotoren:

Unipolar

Unipolare Schrittmotoren haben meistens 5, manchmal auch 6 oder sogar 8 Anschlüsse. Die beiden Spulen werden in der Mitte mit der Phase verbunden und so halbiert. Dadurch, dass jede halbe Seite der Spule unabhängig magnetisiert werden kann, kann die Polarität umgekehrt werden, ohne den gesamten Stromkreis umzukehren. Nachteil bei der Nutzung der halben Spule ist eine reduzierte Magnetkraft und ein geringeres Drehmoment.

  • 5-6 Kabelverbindungen
  • kein Treiber für Spannungsumkehrung, aber Transistorschaltung (Darlington-Array) erforderlich
  • geringeres Drehmoment
  • höhere Maximalgeschwindigkeit

Bipolar

Bipolare Schrittmotoren haben 4 Anschlüsse. Sie haben zwei Anschlüsse pro Spule. Der Vorteil von Bipolaren Schrittmotoren ist, dass sie effizienter sind, weil sie die ganze Wicklung der Spule verwenden. Der Nachteil ist, dass sie oft einen Treiber wie eine H-Brückenschaltung brauchen (ähnlich wie die DC-Motoren), damit die Polarität umgekehrt werden kann und dieser sich in die andere Richtung dreht.

  • nur 4 Kabelverbindungen
  • braucht einen Treiber zur Spannungsumkehrung (H-Brücke)
  • höheres Drehmoment
  • geringere Maximalgeschwindigkeit

Unipolarer Schrittmotor

Der meisten unipolaren Schrittmotoren brauchen für die höheren Ströme, um den Motor anzutreiben, eine Darlingtonschaltung, da die Ausgangsströme der Pins des Calliope mini nicht reichen würden, um die Spulen in den Schrittmotoren zu magnetisieren. Dafür kommen die Motortreiber in Spiel.
Je nachdem welche Spannungen die Motoren benötigen, sollte dies auch mit der zulässigen Spannung des Treibers abgestimmt werden. Diese Beispiele wurden mit dem 5 Volt Schrittmotoren getestet und einem Motortreiber basierend auf der Darlington-Schaltung:

Anschluss

Die Pins, die später im Editor konfiguriert werden, werden mit den vier IN-Eingängen der Treibermoduls verbunden. In diesem Beispiel werden die Pins C0 - C3 vom Calliope mini verwendet.

Die Pins C0 - C3 sind die "durchgeschleiften" Touchpins P0 - P3, die im Editor MakeCode auch nur als solche zu finden sind.

Es können aber auch alle anderen digitalen Pins verwendet werden. Mit die Ausgänge des Treibermoduls (OUT) wird der Motor angeschlossen. Da der Calliope mini nur 3,3V liefert, muss der Motor über den Motortreiber mit einer externen Stromquelle mit einer Spannung von 5V betrieben werden.
Die Masse (GND) des Calliope mini, als auch den der Batterie werden mit dem Ground (GND) des Treiberboards verbunden.

Programmierung

Für einen Unipolaren Steppermotor 28BYJ-48 gibt es eine Erweiterung, die in den Editor geladen werden kann. Dazu auf Erweiterungen klicken und den folgenden Link in die Suchzeile eingeben: github.com/sarahhyy/pxt-28BYJ-48-stepper

Link kopieren


Beim Start sollten die ausgewählten digitalen Pins des Calliope minis in der richtigen Reihenfolge für der Eingänge (in) des Treibermoduls ULN2003 vergeben werden.

Um den Schrittmotor vor- oder zurück zu bewegen können die folgenden "move"-Blöcke verwendet werden. Ein Schritt sind im Vollschrittmodus 11.25° Grad. Also braucht der Schrittmotor ungefähr 32 Schritte für eine ganze Umdrehung. In dem Block können sowohl, die Schritte, als auch volle Umdrehungen ausgewählt werden.

FAQ