Drehteller dreht nicht aufgrund eines zu schwachen Schrittmotors?

Hallo liebe Arduinobegeisterten,

Ich habe mir einen Drehteller (Durchmesser: 60cm und Dicke 1,2cm) gebaut und diesen mit einem Schrittmotor angetrieben. Gesteuert wird das über einen Arduino Uno mit Motorshield. Leider bewegt sich der Drehteller nicht, mein Schrittmotor zuckt nur und kann scheinbar den Widerstand des Drehtellers nicht überwinden.

Ich benutze ein einstellbares Netzteil (12V) mit 2A Ausgangsstrom zur Versorgung des Arduinos und Schrittmotors. Ist der Schrittmotor wirklich zu schwach für diesen Drehteller oder habe ich da bei der Stromversorgung etwas falsch gemacht ? Was meint ihr an was es liegen könnte ?

Schrittmotor:https://www.funduinoshop.com/epages/78096195.sf/de_DE/?ObjectPath=/Shops/78096195/Products/C-7-1%262

Ardunio Uno: https://www.funduinoshop.com/epages/78096195.sf/de_DE/?ObjectPath=/Shops/78096195/Products/A-2-2

Motorshield:https://www.funduinoshop.com/epages/78096195.sf/de_DE/?ObjectPath=/Shops/78096195/Products/A-1-1

Netzteil:%product-title% - Conrad Electronic Schweiz

Ich danke euch für eure Hilfe, Tipps oder Anregungen :slight_smile:

Die Trägheit des Drehtellers kommt dir hier nach deinen Beschreibungen in die Quere. Wie schwer ist das Teil denn?

Schaue mal hier >Schrittmotoren< hier besonders auf die Spannungsversorgung achten.
Das zucken des Motors deutet auf Schrittverlust hin als der Motor schafft es nicht den Schritten zu folgen "drehen".
Gruß
DerDani

Der Drehteller muß nicht zu schwer sich drehen sondern kann auch nur zuviel Masse haben sodaß der Motor das Massenträgheitsmoment nich schafft.
Wie steuerst Du den Motor an? mit einer Beschleunigungsrampe?
Grüße Uwe

@volvodani ne ist nicht besonders schwer, schätze vielleicht 1-1.5kg. Hab das dem Schrittmotor eigentlich schon zugetraut zu schaffen. Danke für den Link, Ich les mich da ein.

@uwefed nein ich starte den Motor mit "motor.setSpeed(30)". Du hast Recht, vielleicht ist eine Beschleunigungsrampe gut. So startet der Motor nicht mehr plötzlich und kann vielleicht die Trägheit überwinden. Zu Beschleunigungsrampen müsste es bestimmt Libarys geben oder ?

Ja, da fehlen noch ein paar Info's. 1-1,5kg ist nicht gerade wenig, und wie sieht die Mechanik aus? Wie ist der Teller gelagert? Lässt er sich leicht drehen? Ist ein Getriebe zwischen Teller und Schrittmotor? Ohne Getriebe bedeutet ein Schritt ja schon eine Bewegung von fast 1cm am äußeren Rand.
Und zeig mal den Sketch, mit dem Du das Ganze betreibst. Ohne Rampe wird es sicher nicht gehen.

@MicroBahner

Der Teller ist auf drei Kugellagern gelagert, ich benutze kein Getriebe. Zur Verdeutlichung hänge Ich noch ein paar Bilder an.

Mein Code:

// Stifte für den Taster regulieren
int buttonPin = 15;
int buttonvalue = 0;

#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(48, 1);


void setup() {
  // Pin 15 als Eingang des Tasters definieren und internen Pullup-Widerstand aktivieren
  
  pinMode (buttonPin, INPUT_PULLUP);
  pinMode (15,OUTPUT);

  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Stepper test!");

  motor.setSpeed(30);  // 30 


}

void loop() {
  // Wert der Eingabe auslesen! Entweder 1 oder 0 möglich

  buttonvalue = digitalRead (buttonPin);

  int i = 0;

  if (buttonvalue == LOW) {
    digitalWrite(13,HIGH);
    
    while (i<10){ // vorher hier i<1
      motor.step(1, FORWARD, MICROSTEP); // vorher steps auf 200, SINGLE DOUBLE INTERLEAVE MICROSTEP
      i = i + 1;
  
    }
  } else {
    digitalWrite(13,LOW);
    
  }

}

Das Gewicht hat ein unmittelbare einfluss auf das Drehmoment das man braucht zum Beschleunigen.
Bei der kleinen Welle und so einem großen Umfang braucht man noch ordenlicht Moment. Auch über die Kugellager werden da noch ihr übriges tun, da sie eine Lineare bewegung brauchen und du mit einer Radius Bewegung "drüberschubberst" das wird sich massiv erhöhen mit dem zusätzlichen Gewicht.
Rampe erstmal testen oder mit der kleinsten Geschwindigkeit. Die Stepper haben da auch genug Kraft vorrausgesetz die Kraft reicht für den Aufbau..
Gruß
DerDani

P.S.: Ich she gerade der Motor hat "nur" 48 Schritte das ist bei dem Umfang immens viel weg und damit auch beschleunigung. Hier wäre Microsteps ratsam sind aber mit deiner Hardware nicht umzusetzen. Dafür braucht man einen Stepper Controller.

Ist der Schrittmotor wirklich zu schwach für diesen Drehteller

Ich sage ja!
(aus dem Bauch)

Kannst du auch selber prüfen!
Du benötigst dazu die Drehmomentangabe aus dem Datenblatt des Motors und eine Federwaage.

Wieviel Umdrehungen pro Minute soll dein Teller machen?

Schrittmotore sind super gut zum positionieren.
Musst du Positionen anfahren?

Wenn nein, dann dürfte ein DC Motor mit Getriebe die viel bessere Wahl sein.
Und auch dafür gibt es Drehencoder, bzw. Motore mit Encoder, wenn denn Positionieren Pflicht ist.

volvodani:
P.S.: Ich she gerade der Motor hat "nur" 48 Schritte das ist bei dem Umfang immens viel weg und damit auch beschleunigung. Hier wäre Microsteps ratsam sind aber mit deiner Hardware nicht umzusetzen. Dafür braucht man einen Stepper Controller.

Werde jetzt einfach mal die Rampe probieren und an den Schritten etwas rumspielen. Evtl. dann nen Stepper Controller benutzen oder mir einen stärkeren Stepper anschaffen.

combie:
Ich sage ja!
(aus dem Bauch)

Wieviel Umdrehungen pro Minute soll dein Teller machen?

Schrittmotore sind super gut zum positionieren.
Musst du Positionen anfahren?

Das dachte Ich mir eben auch schon. Ich habe keine genaue Vorgabe zur Geschwindigkeit. Eher eine langsame Bewegung ca. 1/4 U/s. Ich will damit auch keine Positionen anfahren. Es geht mir darum, den Teller durch einen Taster in Bewegung zu setzten, beliebig lang drehen zu lassen und dann ebenfalls durch eine Tasterbetätigung zu stoppen.

Du brauchst auch keine Drehrichtungsumkehr?

Dann wäre ein DC-Motor mit Getriebeuntersetzung, der einfach über einen Logik-Level-MOSFET geschaltet wird, die sinnvollste Lösung.

Gruß Tommy

Scheibenwischermotor, vom Schrott?

Dann kannste auch einen jungen Elefanten auf den Teller stellen.

volvodani:
P.S.: Ich she gerade der Motor hat "nur" 48 Schritte

Wo siehst Du das? der hat die üblichen 200 Schritte/Umdrehung. Was bei dem Teller aber trotzdem recht wenig ist.

ADRIANWINKLER:
Ich will damit auch keine Positionen anfahren. Es geht mir darum, den Teller durch einen Taster in Bewegung zu setzten, beliebig lang drehen zu lassen und dann ebenfalls durch eine Tasterbetätigung zu stoppen.

Dann ist ein Schrittmotor hier definitiv fehl am Platze. Wie schon vorgeschlagen ist ein DC-Getriebemotor die zweckdienliche Lösung. Und einen Arduino braucht man dafür eigentlich auch nicht ...

volvodani:
P.S.: Ich she gerade der Motor hat "nur" 48 Schritte das ist bei dem Umfang immens viel weg und damit auch beschleunigung. Hier wäre Microsteps ratsam sind aber mit deiner Hardware nicht umzusetzen. Dafür braucht man einen Stepper Controller.

Laut link auf Motor im ersten Post ist es ein einfacher 200 Step 12V 400mA Hybridmotor.

Grüße Uwe

Im Sketch in Post #5 hat er einen 48 Schritt Stepper initialisiert, deswegen bin ich darauf gestoßen.

Gruß
DerDani

volvodani:
Im Sketch in Post #5 hat er einen 48 Schritt Stepper initialisiert, deswegen bin ich darauf gestoßen.

Stimmt!
Habe nun etwas rumprobiert und der Motor ist definitiv zu schwach.
Meint ihr mit diesem Schrittmotor würde das klappen ? mein alter Schrittmotor hat ein Haltemoment von 0,27 Nm und dieser hier eines von 1,68 Nm. %product-title% - Conrad Electronic Schweiz

Möchte vorerst bei einer Lösung mit Arduino und Schrittmotor bleiben.

Achtung in der Beschreibung ist 2x der Motorstrom falsch angegeben: es sind 1,68A nicht mA!

Für diesen Motor brauchst Du einen Stromtreiber. Das Motorshield im Anfangspost ist für diesen Motor nicht geeignet ( geht kaputt) Mit einem A4988, DVR8825 oder ähnlichem funktioniert er.
Du brauchst ein 12V und 3A Netzteil. Die Spannung kann auch höher sein ( zB 24V).

Kontrolliere ob das Getriebe wirklich 1:5 Übersetzung hat. Oft werden gerne krumme Übersetzungen genommen damit zwei Zahnräder nicht immer die gleichen Zähne eingreifen sondern alle mit allen. Dan ergibt sich ein Übersetzungsverhältnis das dann gerne gerundet wird. Dieser Motor könnte ein Planetengetriebe haben und die Übersetzung gerade sein. Wie gesagt kontrollieren. 100 Umdrehungen laufen lassen und schauen ob er in der gleichen Position stehen bleibt.

Der Motor ist kräftiger aber ob er wirklich mit Deinem Drehtellen und den Objekten, die Du draufstellst funktioniert, kann ich Dir nicht sagen.

Grüße Uwe

uwefed:
Achtung in der Beschreibung ist 2x der Motorstrom falsch angegeben: es sind 1,68A nicht mA!

Für diesen Motor brauchst Du einen Stromtreiber. Das Motorshield im Anfangspost ist für diesen Motor nicht geeignet ( geht kaputt) Mit einem A4988, DVR8825 oder ähnlichem funktioniert er.
Du brauchst ein 12V und 3A Netzteil. Die Spannung kann auch höher sein ( zB 24V).

Der Motor ist kräftiger aber ob er wirklich mit Deinem Drehtellen und den Objekten, die Du draufstellst funktioniert, kann ich Dir nicht sagen.

Vielen Dank Uwe !
Das hat mich auch gewundert dass der Motor 1,68mA braucht laut Angabe :slight_smile:
Auf den Drehteller kommen Schuhleisten. Muss man wohl einfach ausprobieren

Hallo,

Du solltst das Drehmoment messen das du benötigst.

Das kannst Du mit einer Federwage oder auch einer Küchenwage/ Briefwage machen. Aussen am Duchmesser deines Tellers musst du mit der Federwage ziehen, oder mit der Briefwage drücken und das im rechten Winkel zum Duchmesser.

Dann kannst Du die Kraft ablesen die Du benötigst um den Teller zu bewegen. Mit dem Radius kannst Du nun das Drehmoment bestimmen.

Beispiel:Du liesst an der Waage 1 Kg ab um den Teller zu bewegen. Dann entspricht das fast 100N. 10N Dein Radius des Tellers beträgt 300mm

Dann benötigst Du ein Drehmoment von 10N*0,3m= 3Nm um den Teller an der Achse zu drehen. Ich wurde da jetzt noch mal 20% drauf rechnen weil Du den Teller ja auch beschleunigen willst.

Heinz

Nachtrag : Rechnung war falsch

Rentner:
Hallo,

Du solltst das Drehmoment messen das du benötigst.

Habe ich gemessen, beträgt ungefähr 0.6 Nm.

uwefed:
Für diesen Motor brauchst Du einen Stromtreiber. Das Motorshield im Anfangspost ist für diesen Motor nicht geeignet ( geht kaputt) Mit einem A4988, DVR8825 oder ähnlichem funktioniert er.
Du brauchst ein 12V und 3A Netzteil. Die Spannung kann auch höher sein ( zB 24V).

Meine Frage an dich Uwe: Wie schliesse ich den Strom von meinem Netzteil an den A4988 an ? Ist ein ganz normales Netzteil das nen Anschluss für den Arduino hat und kann mir nicht vorstellen wie ich das mit den Pins des A4988 (VMot und GND) verbinden kann. Wenn Ich mein 24V Netzteil an den Arduino anschliesse geht der ja in Rauch auf :slight_smile: entschuldigt mich wenn das jetzt einfach ist, aber ich verstehe das nicht. Hier ein Bild zum Aufbau.

Hi

Genau so schließt Du Das an - nur, daß der Arduino noch eigene Spannung an Vin oder am 5V-Pin bekommt.
Durch die Verbindung zum Treiber sind die GND verbunden.

Wenn Du am 5V-Pin einspeist, darfst Du kein normales USB-Kabel am Arduino anschließen, da so die 5V vom PC mit den 5V vom Arduino verbunden würden - Dir kann dabei der PC sterben !!!

An Vin hast Du dieses Problem nicht, da dieser Strompfad entkoppelt ist.

MfG