Motor Shield 2 mit Adafruit_MotorShield.h

Hallo Gemeinde,

ich probiere gerade mit einem Motorshield einen DC Motor zu drehen, klappt auch.
Meine Frage, die Beispiele geben leider nicht viel her und die Library finde ich nicht am PC?

Ich kann den Speed, Forwärts, Rückwärts, Relaese ansteuern. Der Motor macht entsprechendes.

Wie kann ich abfragen, ob sich der Motor dreht, sprich ob er angesteuert ist?

myMotor.run ?

http://adafruit.github.io/Adafruit_Motor_Shield_V2_Library/html/_adafruit___motor_shield_8h_source.html

Danke!

Include the required libraries
Make sure you #include the required libraries
#include 
#include 
#include "utility/Adafruit_MS_PWMServoDriver.h"
Create the Adafruit_MotorShield object
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
© Adafruit Industries https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino Page 54 of 67
Create the DC motor object
Request the DC motor from the Adafruit_MotorShield:
Adafruit_DCMotor *myMotor = AFMS.getMotor(1);
with getMotor(port#). Port# is which port it is connected to. If you're using M1 its1, M2 use 2, M3 use 3 and M4 use 4
Connect to the Controller
In your setup() function, call begin() on the Adafruit_MotorShield object:
AFMS.begin();
Set default speed
Set the speed of the motor using setSpeed(speed) where the speed ranges from 0 (stopped) to 255 (full speed). You
can set the speed whenever you want.
myMotor->setSpeed(150);
Run the motor
To run the motor, call run(direction) where direction is FORWARD, BACKWARD or RELEASE. Of course, the Arduino
doesn't actually know if the motor is 'forward' or 'backward', so if you want to change which way it thinks is forward,
simply swap the two wires from the motor to the shield.
myMotor->run(FORWARD);

4711:
die Beispiele geben leider nicht viel her

Die Beispiele geben das her, was die Lib kann.

4711:
und die Library finde ich nicht am PC?

Die Library befindet sich im library-Ordner deines Sketchbooks, und wo das ist, siehst Du unter Datei->Voreinstellungen.

4711:
Wie kann ich abfragen, ob sich der Motor dreht, sprich ob er angesteuert ist?

Der Motor dreht sich nur, wenn Du in gestartet hast. Du solltest also immer wissen, ob er dreht oder nicht.

Hallo,
oder den Motorstrom messen.

Ob der Motor dreht gibt es mehrere Möglichkeiten:

  • Sehr sicher: Drehung durch Sensor (Lichtschranke, Magnetsensor) messen. eventuell Encoder (teurer)

  • weniger sicher: Motorstrom messen: Einige Treiber können einen Strommeßwiderstand zwischen Treiber und Masse haben. Strommessung auf dem Pluspol durch INA219B

  • noch weniger sicher: messen ob Spannung am Motor zB durch 2 Optokoppler.

Grüße Uwe

Morgen,

dh aus der Library bekomme ich das nicht raus, will nur wissen ob er läuft bzw. das Shield angesteuert ist.

Ohne extra HW wäre nur der Weg dann einen Merker mit zu schleppen.

BG

4711:
Ohne extra HW wäre nur der Weg dann einen Merker mit zu schleppen.

So schwer zu schleppen hat man an einem Merker aber auch nicht gerade :wink:

Wenn Du das orginal Arduino Motor Shield nimmst dann kannst Du da den Motorstrom abgreifen.
grüße Uwe

4711:
Ohne extra HW wäre nur der Weg dann einen Merker mit zu schleppen.

Das ist ja der Waaaahnsinn :slight_smile: :slight_smile:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.