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...