Go Down

Topic: Probleme mit der Steuerung von Schrittmotor !!! (Read 2045 times) previous topic - next topic

robinsun

Hallo an alle Forenmitglieder,

mei Anliegen ist folgendes : Habe mein Motor shield von ladyada.net bekommen und habe auch dann einen Schrittmotor angeschloßen.(unipolarer Schrittmotor)
Das Beispielprogramm von der site ebenfalls auf den arduino übertragen.(AFmotor.h)
Soweit so gut der Schrittmotor hat sich in bewegung gesetz hat auch das gemacht was im Programm stand,nur zimlich langsam (10 rpm)
Habe dann ein bischen mit der Geschwindigkeit rumprobiert und muste feststellen das im bereich 1 - 120 rpm der motor die richtige positionen anfährt,
ABER sobalt ich noch höchere geschwindigkeiten fahren will funzunier es entweder garnicht oder die Positionen werden nicht korekt abgefahren .

Brauche euren rat,was kann man da machen oder mache ich es nur nicht richtig.

gruß
ROBINSUN

stundenblume

Hi,

ohne den Code ist schwer zu helfen ;)


Sebastian
Libraries:
  - multiCameraIrControl [V1.6]
  -

robinsun

Sorry !!!
Code: [Select]
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

// Connect a stepper motor with 48 steps per revolution (7.5 degree)
// to motor port #2 (M3 and M4)
AF_Stepper motor(200, 1);

void setup() {
  motor.setSpeed(60);  // 60 rpm   
}

void loop() {
  motor.step(200, FORWARD, SINGLE);
  delay(2500);
  motor.step(200, BACKWARD, SINGLE);

 
}

Webmeister

Quote
ABER sobalt ich noch höchere geschwindigkeiten fahren will funzunier es entweder garnicht

Welche Geschwindigkeiten erlaubt dein Motor?
Vielleicht ist der Motor nicht für Geschwindigkeiten grösser als 120 rpm ausgelegt.

Es ist ziemlich schwierig eine Aussage zu machen, wenn man keine detailierten Angaben hat. Grundsätzlich scheint ja deine Anwendung zu laufen.

robinsun

Zum Motor :
Es ist nicht so einfach,denn die einzige Daten die ich habe sind :
200 Schritte/2,9V/1,9A
Leider kein Dattenblatt

Ist es nicht von der Software abhängig wie schnell der motor dreht ???
Ich denke das der Arduino die einzelnen Schritte angibt und wie schnell er von Schritt zu schritt braucht !!! ODER !!!
Habe auch ein exterenes netzteil angeschloßen den 1,9A ist nicht wenig.

uwefed

Hallo robinsun

Das ladyada motor sheet hat als Treiberbaustein für den Schrittmotor einen L293D. Dieser verträgt 600mA, kurzzeitg 1200mA pro Motorwindung.
Mit einem 1,9A Schrittmotor machts Du definitiv den L293D kaputt. Vieleicht hat er sich gerettet weil das Netzteil nicht soviel Strom geben konnte.

Für diesen Motor brauchst Du zB diesen Treiber: 
http://www.watterott.com/de/Pololu-A4983-Schrittmotortreiber?x8551e=mrbok1hrc9g6rsbjm1kb92d7t5

Du kannst einen Motor in 2 Arten ansteuern: mit konstanter Spannung oder konstanten Strom.
Der L293D steuert mit konstanter Spannung, der A4983 mit konstantem Strom.

Durch die Induktivität der Motorwicklungen kann der Strom nur langsam ansteigen. Bei wenigen Schritten in der Sekunde ist dieser Effekt nicht sehr ausgeprägt. Wenn Du aber 120 RPM (das entspricht 24000 Schritte pro Minute oder 400Hz) hast, hat die Induktivität einen größeren Einfluß. Dadurch geht die Leistung zurück und ist ab einem bestimmten Punkt zu klein um die Lagerreibung zu überwinden. Auch brauchst Du eine Beschleunigungskurve da der Motor nicht von 0 auf 120RPM hochbeschleunigen kann.

Zum Motor. Das Modell das auf den Datenschield steht wäre hilfreich.

Als Ratschlag: für das ladyada-shield brauchst Du einen anderen Motor oder für einen Motor einen anderen Motordriver zb das Motorshield von Pololu mit dem A4983 und ein Netzteil für 12V und 2,7A ( ich weiß, daß der Motor 2,9V und 1,9A hat). Bei einem Stromtreiber brauch man mindestens die 4 fache Spannung und da der Motor 2 Wicklungen hat und wegen der Strom-Schritt- Charakteristik den 1,41fachen Windungsstrom.

Grüße Uwe
 

Go Up