Arduino motor shield r3 Emis Schrittmotor

Gast #3237492
Lesenswert?

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).
Gast #3237775
Lesenswert?

Hi

>Eingestellt waren 12 V, aber wegen des hohen Verbrauch und meiner
>eingestellten Begrenzung auf 3 A, hat es sich auf ca. 6 V eingependelt.

Also die Angabe: 0,7A/Phase im Datenblatt einfach ignoriert. Und da 
wunderst du dich noch, das der heiß wird? Möglicherweise hast du ihn 
schon dauerhaft geschädigt.

Man kann Motor/Treiber mit höheren Spannunungen betreiben. Dazu muss man 
aber die Sense-Ausgänge auswerten und den Treiber entsprechend 
ansteuern.

MfG Spess
(Firma: mechapro GmbH) Persönliche Seite #3237877
Lesenswert?

Ich kenne mich mit dem Arduino Motor-Shield nicht aus. Nach Überfliegen 
der Beschreibung scheint das Board aber keinen Stromregler in Hardware 
zu enthalten. Offenbar muss man das selbst in Hard- oder Software 
realisieren, oder eben die Versorgungsspannung der Brücke an den Motor 
anpassen...

Mit freundlichen Grüßen
Thorsten Ostermann
Gast #3238152
Lesenswert?

Hi

>Gibt's da eigentlich einen speziellen Grund dafür, das sowas nicht über
>den Spulenwiederstand gemacht wird (wie beim DC Motor)?

Weil bei einer höheren Spannung die Stromanstiegsgeschwindigkeit in den 
Spulen größer ist. Das macht sich in höherer Leitung und höheren 
möglichen Schrittgeschwindigkeiten bemerkbar.

>Ok kurz mal zusammen gefasst, ich muß mir eine Strom abhängige Steuerung
>in Software zusammen basteln?

Ich rate dir zu einem vernünftigen Treiber. Der L298P ist ein Veteran 
der Schrittmotortreiber.

Die 0,7A schafft ein L6219 gerade noch. Leistungsfähiger sind z.B. L6205 
oder L6208. Alle mit integrierter Choppersteuerung. Es gibt aber noch 
wesentlich mehr z.B. von Trinamic.

Wenn du den L298 unbedingt weiter verwenden willst, kannst du ihm einen 
L297 spendieren. Der wird zwischen Controller und L298 geschaltet und 
übernimmt die Choppersteuerung.

MfG Spess
Gast #3238587
Lesenswert?

Hi

>Danke für die Hilfe. Ich werd es mal so probieren

Was willst du probieren? Software-Chopper? Übliche Chopperfrequenzen 
liegen im zweistelligen kHz-Bereich. Bei 15kSps des ADC ist das sehr eng 
zumal Arduinos nicht gerade mit schnellem Code glänzen. Außerdem sind 
Softwarelösungen in dem Bereich kritisch. Wenn der Controller hängt 
bekommt der Motor die volle Ladung ab.

>und mir den L298 besorgen.

Nimm einen L297. sonst hast du zwei L298.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren