Forum: Analoge Elektronik und Schaltungstechnik ACCELSTEPPER Schrittmotor beim Rückwärts drehen kaum Drehmoment


von Enrico S. (key-board)


Lesenswert?

Hallo
Ich betreibe einen dieser kleinen 5V Schrittmotore die einem für wenig 
Geld im 5er pack hinterher geworfen werden dank meines Arduinos wie 
einen servo. Also Poti gint die Absolute Position vor und der Servo 
fährt da auch hin. Das funktioniert soweit super.
Problem: der Motor hat beim Rückwärts drehen ein viel geringeres 
Drehmoment als beim vorwärtsdrehen. sobald er etwas last bekommt rutscht 
der Motor quasi durch und ruckelt. damit lande ich nicht auf der 
Position auf die ich will und die kalibrierung des 0 Punktes ist auch 
fürn a....

Ich arbeite dafür mit der moveTo Funktion weil die nicht blockt. 
Merkwürdiger weise muss ich mich selber um die Drehrichtungserkennung 
kümmern und diese vorgeben.
Hier meine Lösung aus dem Code

•
1
 
2
AccelStepper Azi(4, 9, 10, 11, 12);
3
...
4
//void Setup()
5
...
6
Azi.setCurrentPosition(0);
7
  Azi.setAcceleration(1000);
8
  Azi.setMaxSpeed(300);
9
...
10
//Loop()...
11
if(Azi.currentPosition()<sollAziPos)
12
        {
13
          SteppDirCW(Azi);
14
        }
15
        else
16
        {
17
          SteppDirACW(Azi);
18
        }
19
        Azi.moveTo(sollAziPos);
20
21
. . .
22
bool SteppDirCW(AccelStepper &my_stepper)
23
{
24
  my_stepper.setPinsInverted(true, false, false);
25
  return (true);
26
}
27
28
bool SteppDirACW(AccelStepper &my_stepper)
29
{
30
  my_stepper.setPinsInverted(false, false, false);
31
  return (true);
32
}

Das "Gehirn" bildet eine Arduino Micro

Wie gesagt. Funktioniert prima außer dass der Motor im Rückwärtsbetrieb 
nicht genügend Drehmoment aufbringt...
ich habs mit mehreren Motoren probiert und auch mit mehreren der SBT0811 
Plattienen. immer das selbe...

Hat jemand schonmal dieses Phänomen beobachtet und dafür eine Lösung 
gefunden?
Anderen Motor schließe ich schonmal aus, weil durch eine geänderte 
Geometrie des Motors meine CNC Gefräßte Bodenplatte auf der dieser 
Montiert wird für den Müll währe und das will ich nicht... muss also 
über Software gelöst werden...

: Verschoben durch Moderator
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Enrico S. schrieb:
> einen dieser kleinen 5V Schrittmotore
Welche denn?

> Wie gesagt. Funktioniert prima außer dass der Motor im Rückwärtsbetrieb
> nicht genügend Drehmoment aufbringt...
(Wie) hast du das gemessen?  Bringt er weniger Drehmoment, oder ist 
die Mechanik schwergängiger? Wie ist der Motor an welche Elektronik 
angeschlossen? Hast du auch im Stillstand unterschiedliche Haltemomentr 
in die beiden Richtungen? Was passiert, wenn du beide Wicklungen 
vertauscht?

Hast du mal versucht,  Position über 2 Taster vorzugeben,  z.B. so, dass 
jeder (entprellte) Tastendruck 100 Schritte macht. Oder hast du 
versucht, den Motor immer zwischen 2 Positionen hin und her fahren zu 
lassen?

> das will ich
So funktioniert die Welt üblicherweise nur an Weihnachten...

: Bearbeitet durch Moderator
von Wolfgang (Gast)


Lesenswert?

Enrico S. schrieb:
> ich habs mit mehreren Motoren probiert und auch mit mehreren der SBT0811
> Plattienen. immer das selbe...

Dann gib bitte einen vernünftigen Link auf so ein "Plattinen" an. Ich 
habe jetzt keine Lust in große Suchaktionen auszubrechen und das was 
Google zu "SBT0811" auswirft, erscheint auf den ersten Blick wenig 
hilfreich.
Also: Motorspezifikationen, Treiberspezifikationen, Angabe zur 
Betriebsspannung, mechanischer Aufbau.
Vielleicht sprichst du deinen Motor auch mit zu hoher 
Schrittgeschwindigkeit, i.e. ohne Beschleunigungsrampe an. Ohne Angabe 
zu den verwendeten Libraries und deren Doku, hilft der Programmcode 
herzlich wenig.

von Enrico S. (key-board)


Angehängte Dateien:

Lesenswert?

habe einfach mal ein bild gemacht.
vom haltemoment her würde ich sagen beim drehen deutlicher 
kraftunterschier ihn festzuhalten, aber sobald er meint sein ziel 
erreicht zu haben und steht merke ich keinen unterschied mehr. egal aus 
welcher Richtung er stehen geblieben ist.

Die Libary ist die ACCELSTEPPER
[[http://www.airspayce.com/mikem/arduino/AccelStepper/index.html]]

Motor und Elektronik sind hier einmal beschrieben
[[http://www.hobby-werkstatt-blog.de/arduino/357-schrittmotor-28byj48-am-arduino.php]]

die Ansteuerung über knopf mal links und mal rechts herum hat das selbe 
ergebniss.

Die Mechnik ist (handgefühl) in beide Richtungen gleich leichtgängig

für die Beschläunigung nutze ich die Funktion der AccelStepper Libary 
und ist auf 1000 gestellt. mit anderen werten gleiches ergebniss

Auch die Ausgangsspannung des DC-DC Wandlers bleibt konstant

Ein verringern der Geschwindigkeit lindert das Problem etwas. Es ist 
noch immer ein deutlicher unterschied zwischen den drehrichtungen aber 
er hat zumindest jetzt im Rohbau genug kraft im Linkslauf einigermaßen 
flüssig zu drehen

: Bearbeitet durch User
von zyxw (Gast)


Lesenswert?

Der von dir verlinkte Blog schreibt doch von Problemen bei Verwendung 
einer Lib.
Es handelt sich um unipolare Motoren. Die Lib ist für Motoren und 
Treiber mit 2, 3 und 4 Pins geeignet, was immer das heißen mag.
Evtl. musst du der Lib mitteilen, dass es sich um einen unipolaren Motor 
an einem SBT (ULN2803?) handelt.
Schaltplan?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.