MINT - Unterricht  mit  Arduino und anderen

Das Arduino-Board kann über seine Ausgänge nur kleine Ströme (20 - 40 mA) bereitstellen. Sollen Motoren angeschlossen werden, die mehr Strom benötigen, muss die Versorgung direkt von der Stromquelle erfolgen und das Ein- und Ausschalten über externe Schalter realisiert werden. Für solche Schaltvorgänge ist der Transistor "TIP 120 STM" geeignet. Das Schalten geht über drei Anschlüsse: Gate (Tor), Drain (Auslass) und Source (Quelle).

Im Anschlussplan unten versorgt der 9V Block sowohl das Board als auch den Motor mit Strom. Der Arduino muss also nur zur Programmierung mit dem Computer verbunden sein. 

Wie die Abbildung oben zeigt, ist der Minuspol des 9V Blocks mit GND, der Pluspol mit einem Pin des Motors und Vin am Arduino verbunden. Das Gate des Tansistors ist mit Pin13, Drain ist mit dem Motor und Source mit GND verbunden. 

Zum Ausprobieren eignet sich das Programm „Blink", das in der Arduino-Software als Beispiel geliefert wird. Immer wenn Pin13 auf „HIGH" gesetzt wird, werden Drain und Source kurzgeschlossen: Strom fließt, der Motor läuft an.


 

Genügt es nicht, Motoren nur an- und auszuschalten, sondern soll auch auf die Drehrichtung Einfluss genommen werden, wird ein Motorentreiber benötigt. Bewährt hat sich der L293D, mit dem zwei Motoren gesteuert werden können. Er kann dauerhaft bis zu 600 mA pro Kanal zur Verfügung stellen.

Eine Alternative zum L293D ist ein komplett bestücktes Motorentreiber-Modul, das schon für wenige Cent mehr zu haben ist.

Die Steuerung kann jedes Arduino-Board übernehmen. Abgebildet ist ein Arduino NANO. Die Pins 11 und 10 sind mit IA2 und IB2 und die  Pins 9 und 6 mit IA1 und IB verbunden. Ein 9V Block versorgt über einen Clip und zwei Y-förmig geteilte Kabel sowohl den NANO als auch den Motorentreiber mit Strom. Plus- und Minuspol sind am Arduino mit Vin und GND und am Motorentreiber mit VCC und GND verbunden. Die Motoren werden über die Schraubverbindungen OB2  bzw. OB1 angeschlossen..

Hier die mit Kabelbindern auf einer 9x12cm großen Sperrholzplatte befestigen Komponenten. Die Motoren sind an der Unterseite mit Heißkleber festgeklebt.

 

Tischtennisballhälften verhindern das Kippen des Fahrzeugs nach hinten und vorn. 

 

Wird Pin 6 in der Programmierung auf „HIGH" und Pin 9 auf „LOW" gesetzt, läuft einer der beiden Motoren an und dreht in eine bestimmte Richtung. Wird nun Pin 6 auf „LOW" und Pin 9 auf „HIGH" gesetzt, ändert sich die Drehrichtung des Motors. Entsprechendes gilt auch für den zweiten Motor, der über die  Pins 10 und 11 ansprechbar ist.

Die Pins 6, 9, 10 und 11 ermöglichen Pulsweitenmodulation (PWM), sodass sowohl Drehrichtung auch Geschwindigkeit der Motoren beeinflusst werden können.

Mit dem nachfolgenden Programmierung soll das Fahrzeug ein Stück weit geradeaus fahren, stoppen, eine180-Grad-Drehung auf der Stelle vollführen, erneut stoppen, zurückfahren und anhalten. Die unterschiedlichen Drehzahlen der Motoren dienten in dem gezeigten Fall dem Geradeauslauf.

void setup() {

  pinMode(6, OUTPUT);

  pinMode(9, OUTPUT);

  pinMode(10, OUTPUT); 

  pinMode(11, OUTPUT); 

  

  analogWrite(6, 150);

  digitalWrite(9, LOW);

  analogWrite(10, 130); 

  digitalWrite(11, LOW);

  delay(3000); //beide Motoren 3s gleichsinnig mit regulierten Drehzahlen

  digitalWrite(6, LOW);

  digitalWrite(10, LOW);

  delay(500); // beide Motoren stoppen kurz

  analogWrite(9, 150); 

  analogWrite(10, 130);

  delay(400); // Motoren drehen gegensinnig (auf der Stelle wenden)

  digitalWrite(9, LOW);

  digitalWrite(10, LOW);

  delay(500); //beide Motoren stoppen kurz

  analogWrite(6, 150); 

  analogWrite(10, 130);

  delay(3000); //beide Motoren 3s gleichsinnig mit regulierten Drehzahlen 

  digitalWrite(6, LOW); 

  digitalWrite(10, LOW);

  } 

void loop() {  

  }

 



 

Der Baustein „L293D" und der Transistor TIP 120 STM können kostengünstig bei der Firma Reichelt erworben werden.

NANO, Motorentreiber, Motoren mit Rädern oder einen kompletten Bausatze gibt es hier unter DIY-Elektronik.