Motor Shield

Roboteranwendungen mit Arduino werden meist mit Servos oder kleinen Gleichstrommotoren betrieben. Beim Einsatz von durchlaufenden Servos (Continous Servos) wird keine externe Ansteuerungselektronik verwendet. Servos können direkt an den digitalen Arduino-Ports angeschlossen und per PWM-Signal angesteuert werden.

Werden für den Antrieb des Roboters kleine Gleichstrommotoren (auch DC-Motoren genannt) verwendet, wird eine Leistungsstufe für die Ansteuerung benötigt, da die Ausgänge des Arduino nicht genügend Strom liefern können und die Motorspannung meist höher als 5 Volt ist. Für das Arduino-Board stehen dazu eine ganze Anzahl Erweiterungsplatinen, sogenannte Shields, zur Verfügung. Diese Shields beinhalten die Ansteuerungslogik und die Leistungsendstufe. An den Ausgängen können dann direkt ein oder mehrere DC-Motoren angeschlossen werden. Häufig verwendete Motor Shields sind der Ardumoto von Sparkfun, das Motor/Stepper/Servo Shield von Adafruit oder das Motor Control Shield von NKC Electronics. Kürzlich wurde das neue Motor Shield R3 vom Arduino Team vorgestellt.

Das Motor Control Shield von NKC habe ich auf einem meiner Testroboter verwendet. Das Shield wird dabei als Bausatz geliefert und kann 2 DC-Motoren ansteuern.

Arduino Roboter

Bild: Roboter mit NKC Motor Shield

Als Chassis für diesen Roboter wurde ein Chassis-Kit von Dragu verwendet, welches neben der Mechanik auch 2 Gleichstrommotoren beinhaltet.

Die einfache Aufbau dieses Roboters kann auch mit Teilen aus der eigenen Werkstatt realisiert werden. Für die beiden Grundplatten kann dabei Sperrholz, Plexiglas oder sogar Karton verwendet werden.

Die Ansteuerung mit einem Arduino-Board und einem Motor Shield wird dabei auf der oberen Platte befestigt.

Für weitere Roboter habe ich das bereits verwendete Motor Shield geplant. Dieses ist aber momentan beim Lieferanten nicht verfügbar. Darum musste eine andere Lösung her. Ich habe nicht für eine fertige Lösung entschieden sondern für eine Selbstbaulösung – ein eigenes Motor Shield, realisiert mit Fritzing.

Entwicklung, Produktion bei Fritzing Fab und Lieferung der Platine hat knapp 3 Wochen gedauert.

Motor Shield

Die Schaltung der Platine habe ich vom Motor Shield von NKC Electronics übernommen und habe somit eine kompatible Lösung zum NKC-Kit.

Für den Anschluss der Motoren und der externen Motoren-Versorgungsspannung habe ich Schraubklemmen verwendet. Für die Motorspannung kann die Arduino-Versorgungsspannung oder eine extern zugeführte Spannungsversorgung verwendet werden. Bei Motor-Versorgung über die Spannungsversorgung des Arduino wird die Motorspannung vom Arduino-Board über Pin Vin auf das Motor Shield geführt. Wird eine externe Motorspannung verwendet, muss der Widerstand R5 entfernt werden. Die Motorspannung wird in diesem Fall über die Schraubklemme Vin oder über den Buchsenstecker  auf dem Motor Shield zugeführt.

Download des Motor Shield-Projekts auf der Fritzing-Plattform.

Motor Shield

Motor Shield Motor Shield


4 Responses to “Motor Shield”  

  1. 1 Stefan"

    Super cooles Projekt. Was wird der Roboter machen, wenn er fertig ist?

  2. 2 arduino-praxis

    Der Roboter dient als Basis für verschiedene Testaufbauen und soll noch mit verschiedenen Sensoren wie Endschalter, Abstandssensor, Lichtsensor ausgerüstet werden. Er wird wohl nie wirklich fertig sein. 😉

    Die Basis dient u.a. als Modell für einen Roboter-Kurs für Kinder. Dazu teste ich noch verschiedene Materialien.

    Auf jeden Fall hat sich gezeigt, dass Fritzing ein ideales Tool ist um auch kleinere Serien von Leiterplatten zu realisieren.

  3. 3 Gerriet

    Hallo ;D

    Könnte man den Roboter eigentlich auch mit Scratch verbinden. Scratch ist ne Programmiersprache, wo man über so Blöcle programmieren kann.

    http://scratch.mit.edu/

    WAs mir vorschweben würde, ist von einem Android Smartphone einen kleinen Roboter wie deinen steuern zu können. Vielleicht ne kleine Webcam drauf geschnallt ;D

    Bin noch Anfänger, aber sowas wie dein Projekt würde mich sehr reizen ;D

    Tschöö

    Bogus

  4. 4 arduino-praxis

    Ich habe zwar noch nie etwas mit Scratch gemacht, aber eine kurze Recherche und Beispiele mit Arduino sind gefunden.

    Da das angedachte Projekt mehrere verschiedenen Komponenten und Herausforderungen für Anfänger beinhaltet, würde ich mich zuerst in die einzelnen Themen einarbeiten. Dazu musst du dich aber zu allererst mit Arduino und der Programmierung mit dem Arduino-Befehlssatz beschäftigen.

    Der erste produktive Schritt könnte dann der Aufbau eines Roboters wie das Beispiel sein, welches dann über eine Smartphone-Steuerung und weiterer Funktionen Schritt für Schritt ausgebaut wird.

    Viel Erfolg bei diesem spannenden Projekt. 🙂

Leave a Reply



Kategorien