Hallo zusammen,
mal eine kleine Geschichte zum Anfang. Wen es nicht interessiert, soll
gleich zum Ende springen, da fasse ich das ganze Dilemma noch einmal
zusammen.
Ich habe mir vor einiger Zeit, ein Arduino Uno gekauft und auch schon
einpaar Sachen zum laufen gebracht. Also hab ich mir gedacht ich spiele
mal mit ein paar Motoren rum.
Das einfachste für meine ersten Schritte (dachte ich), war, mir ein
Arduino motor shield r3, einen 12V DC Motor und einen Schrittmotor (EMIS
E547-52500) zu kaufen.
Fehler 1: Lesen macht Klug. Ich hätte mich vorher informieren sollen,
was es so an Schrittmotoren gibt und was es damit auf sich hat.
So ab nach Hause, motor shield drauf gesteckt aufs Uno und etwas
rumprobiert.
Nach ein paar Stunden und etwas Studium in der Arduino Referenz, bekomme
ich den DC Motor zum laufen.
Fehler 2: Das Glück der Dummen hält nicht ewig.
Mein erster Gedanke war: "Ist doch leicht, mal schauen was ich mit dem
Schrittmotor mache."
Kurz ins Datenblatt geschaut und gleich mal angeschlossen.
Channel A: + Blau
- Orange
Channel B: + Gelb
- Rot
Schwarz und weiß bleiben lose.
Fehler 3: Das Glück der Dummen hält wirklich nicht ewig.
Ein paar Stunden und einige Zahn abdrücke im Tisch später läuft der
Schrittmotor.
Fehler 4: Zu früh gefreut.
Er dreh sich links, er dreht sich rechts und ich drehe vor Freude mit.
Dann der Schreck. Ich schaue auf das Labornetzteil und sehe das der
Motor 3A zieht und noch immer nicht genug hat. zur Kontrolle schließe
ich alles ab und greife auf den Motor.
Erstaunlicherweise hab ich mir nicht die Finger verbrannt (war aber nah
dran).
Also die Verkabelung gecheckt, auf einen Kurzschluss. Nichts.
Programm gecheckt, auf irgendetwas. Nichts.
Datenblatt gecheckt auf irgendetwas. Nichts.
Nach einigem Suchen und lesen, hab ich heraus gefunden, das ich
möglicherweise einen bipolaren Kandidaten vor mir habe und dass es da
einige Probleme gibt(die ich nicht verstehe).
Fehler 5: Zuwenig, zuspät gelesen.
Auf der Suche nach Erkenntnis, bin ich jetzt irgendwie in einer
Sackgasse gelandet.
------------------------------------------------------------------------
--
So und jetzt zum Punkt.
Ich habe:
1 x Arduino Uno
1 x Motor shield r3
1 x EMIS E547-52500
http://www.conrad.at/ce/de/product/198398/Emis-Schrittmotor-E547-52500-12-VDC-Halte-Moment-025-Nm-Phasen-Strom-max-06-A-Wellen-5-mm?queryFromSuggest=true
1 x Code
1 | #include <Stepper.h>
|
2 |
|
3 | const int stepsPerRevolution = 48; // change this to fit the number of steps per revolution
|
4 | // for your motor
|
5 |
|
6 | // initialize the stepper library on the motor shield
|
7 | Stepper myStepper(stepsPerRevolution, 12,13);
|
8 |
|
9 | // give the motor control pins names:
|
10 | const int pwmA = 3;
|
11 | const int pwmB = 11;
|
12 | const int brakeA = 9;
|
13 | const int brakeB = 8;
|
14 | const int dirA = 12;
|
15 | const int dirB = 13;
|
16 |
|
17 | int x = 0;
|
18 | void setup() {
|
19 | Serial.begin(9600);
|
20 | // set the PWM and brake pins so that the direction pins // can be used to control the motor:
|
21 | pinMode(pwmA, OUTPUT);
|
22 | pinMode(pwmB, OUTPUT);
|
23 | pinMode(brakeA, OUTPUT);
|
24 | pinMode(brakeB, OUTPUT);
|
25 | digitalWrite(pwmA, HIGH);
|
26 | digitalWrite(pwmB, HIGH);
|
27 | digitalWrite(brakeA, LOW);
|
28 | digitalWrite(brakeB, LOW);
|
29 |
|
30 | // initialize the serial port:
|
31 | Serial.begin(9600);
|
32 | // set the motor speed (for multiple steps only):
|
33 | myStepper.setSpeed(2);
|
34 | }
|
35 |
|
36 |
|
37 | void loop() {
|
38 |
|
39 | myStepper.step(48);
|
40 | myStepper.step(-48);
|
41 |
|
42 | delay(2000);
|
43 |
|
44 | }
|
Anschluss des Motors:
Channel A: + Blau
- Orange
Channel B: + Gelb
- Rot
Schwarz und weiß bleiben lose.
Die Frage ist nun, wo ist der Fehler (oder die Fehler).
Kann mir bitte jemand sagen was da nicht passt und warum?
Ich vermute mal das es entweder, irgendetwas Triviales ist, oder ich die
Grundlagen nicht Verstanden habe.
Ich hoffe mal ich habe alle wichtigen Informationen mit reingepackt
(wenn nicht bitte nicht schlagen).