Forum: Analoge Elektronik und Schaltungstechnik Schittmotor Nema 17 und A4988


von Salway (Gast)


Lesenswert?

Guten Tag,

ich sitze seid einigen Tagen an einem Problem mit dem Antrieb eines 
Schrittmotors von Typ Nema 17.

Hier der Motor auf Pollin.
1
https://www.pollin.de/shop/dt/NjQ1OTg2OTk-/Motoren/Schrittmotoren/Schrittmotor_PSM42BYGHW603_1_8_.html

Ich besitze folgendes CNC Shield.
1
http://www.tinydeal.com/de/3d-cnc-shield-v4-arduino-nano-4988-stepper-drivers-f-arduino-p-137252.html

Die Ansteuerung erfolgt mit einem Arduino Nano, auf welchen ich bereits 
GRBL geladen haben.

Der A4988 ist richtig angeschlossen. Das Netzteil ist ein 24V 10A 
Gleichstrom Netzteil. (Das Shield verträgt 7-23V, ich habe das Netzteil 
auf 22,5V reguliert).


Ich habe Bereits den G-Code-Sender ausprobiert und SerialComCNC von 
einem User hier aus dem Forum. Die Verbindung klappt soweit gut.

Versuche ich nun den Motor zu bewegen, zuckt er nur ganz kurz oder macht 
Garnichts. Wenn er Garnichts macht kann ich ihn auch nicht drehen es ist 
also ein Haltemoment da.

Nach der bewussten Änderung der Verbindung zwischen Motor und dem Shield 
pfeift der Motor nur, manchmal Vibriert er auch für einige Sekunden.


Gibt es vielleicht von euch Ideen oder Vermutungen wo das Problem ist?

Ich wäre über jede Hilfe Dankbar.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Salway schrieb:
> Gibt es vielleicht von euch Ideen oder Vermutungen wo das Problem ist?

Ja gibt es.

Lass Dir mal in der Software die Einstellungen von GRBL anzeigen( $$ ) 
und kopier die mal hierhin. Oder versuche anhand der Werte selber zu 
ergründen wo das Problem liegt.

Salway schrieb:
> Das Netzteil ist ein 24V 10A
> Gleichstrom Netzteil. (Das Shield verträgt 7-23V, ich habe das Netzteil
> auf 22,5V reguliert).

Das ist aber sehr grenzwertig. Der Spannungsregler auf dem Arduino Board 
wird wahrscheinlich zu heiss werden, ca. 9 bis 12 V wären besser.
Ich weiss ja nicht wie die Beschaltung auf diesem komischen Kombi-Board 
aussieht, aber normalerweise kann die Motorversorgung für das 
A4988/Shield bis zu 35V vertragen.

: Bearbeitet durch User
von Salway (Gast)


Lesenswert?

Hallo Albert,

danke für deine Antwort. Ich habe jetzt bisschen mit den Einstellungen 
von GRBL rumgespielt konnte aber das besagte Problem nicht finden.

Unten die Einstellungen, wäre nett wenn du mir kurz sagen könntest wo 
das Problem liegt an diesen Einstellungen.
1
$0=10 (step pulse, usec)
2
3
$1=25 (step idle delay, msec)
4
5
$2=0 (step port invert mask:00000000)
6
7
$3=0 (dir port invert mask:00000000)
8
9
$4=0 (step enable invert, bool)
10
11
$5=0 (limit pins invert, bool)
12
13
$6=0 (probe pin invert, bool)
14
15
$10=3 (status report mask:00000011)
16
17
$11=0.020 (junction deviation, mm)
18
19
$12=0.002 (arc tolerance, mm)
20
21
$13=0 (report inches, bool)
22
23
$20=0 (soft limits, bool)
24
25
$21=0 (hard limits, bool)
26
27
$22=0 (homing cycle, bool)
28
29
$23=0 (homing dir invert mask:00000000)
30
31
$24=25.000 (homing feed, mm/min)
32
33
$25=500.000 (homing seek, mm/min)
34
35
$26=250 (homing debounce, msec)
36
37
$27=1.000 (homing pull-off, mm)
38
39
$100=200.000 (x, step/mm)
40
41
$101=200.000 (y, step/mm)
42
43
$102=200.000 (z, step/mm)
44
45
$110=250.000 (x max rate, mm/min)
46
47
$111=250.000 (y max rate, mm/min)
48
49
$112=250.000 (z max rate, mm/min)
50
51
$120=10.000 (x accel, mm/sec^2)
52
53
$121=10.000 (y accel, mm/sec^2)
54
55
$122=10.000 (z accel, mm/sec^2)
56
57
$130=200.000 (x max travel, mm)
58
59
$131=200.000 (y max travel, mm)
60
61
$132=200.000 (z max travel, mm)

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Salway schrieb:
> $120=10.000 (x accel, mm/sec^2)
> $121=10.000 (y accel, mm/sec^2)
> $122=10.000 (z accel, mm/sec^2)

Ich würde die Werte testeshalber mal auf 2 oder 3 setzen. Gerade bei 
kleinen Steppermotoren habe ich es schon erlebt, dass die keine hohen 
Beschleunigswerte vertragen haben (wobei 10 eigentlich nicht so hoch 
ist). Übrigens ist es ein Unterschied ob die Motore belastet sind oder 
nicht. Manchmal treten unter unter Last die Macken nicht mehr auf. 
Ansonsten kann ich bei den Einstellungen nichts entdecken. Ah ja, ich 
habe $1 auf 255 stehen, aber das dürfte mit Deinem Problem nichts zu tun 
haben. Und noch was: Ist der Strom auf dem A4988 Board passend für 
Deinen NEMA 17 eingestellt?

Im übrigen habe ich selber einige dieser A4988 Boards mal mit meinem 
Programm ebenfalls an NEMA 17 Motoren erfolgreich getestet (1/8 Schritt 
und step/mm auf 1600). Also prinzipiell muss es gehen.

: Bearbeitet durch User
von Salway (Gast)


Lesenswert?

Danke nochmal für deine Hilfe Albert,

ich habe alles eingestellt wie du gesagt hast und habe es getestet. 
Leider ohne Erfolg.

In der Zwischenzeit habe ich mich weiter schlau gemacht über die A4988.

Mir ist schon seid längerem aufgefallen das die Dinger auf der Oberseite 
eine Art Potentiometer verbaut haben. Nach bisschen Recherche konnte ich 
feststellen das der Potentiometer für das Begrenzen des Stromes ist.

Ich habe dann während das Board am Abarbeiten eines G-Codes war an dem 
Potentiometer gedreht und hörte komische Geräusche aus dem Motor 
inneren, außerdem wurde dieser leicht Warm.

Kann es sein das mein Motor nicht den nötigen Strom abbekommt? Wie weit 
sollte ich den Potentiometer drehen?

von Micha (Gast)


Lesenswert?

Du musst die Ausgangspannung über den Potentiometer auf deinen 
Schrittmotor anpassen.
Die Formel dazu lautet Vref*2.5.
Also zb. bei einem 2 ampere schrittmotor muss du die Ausgangsspannung 
auf 0.8 Volt einstellen.
Denn 0.8V*2.5 = 2 ampere .
Messen kannst du das mit dem multimeter auf dem VMOT Pin und dem 
Potentiometer selber. Beim messen muss nur die logic mit 5 volt versorgt 
werden.

Gruß Micha

von Micha (Gast)


Lesenswert?

Ach und das hab ich vergessen:

wenn du dauerhaft nur haltemoment auf den motoren hast, dann versuch mal 
diese Zeile auf 1 zu stellen

$4=1 (step enable invert, bool)

Gruß Micha

von FloF (Gast)


Lesenswert?

Und nie unter keinen Umstaenden waehrend dem Betrieb die Verbindung 
Motor - Motortreiber unterbrechen / anschliessen. Das moegen die Alegros 
gar nicht.

So ein Phaenomen kann auch daher kommen, dass der Motor nicht korrekt 
angeschlossen ist. Dann wackelt der nur ein bissl.

von Micha (Gast)


Lesenswert?

Ah und darauf achten dass die a4988 Treiber maximal nur 1.5 ampere 
vertragen. Also wären 0.8 mV zu viel des guten. Maximal wären demnach 
0.6 mV für einen 1.5 ampere schrittmotor.
Und bei alles über 1 ampere muss der Chip auf jeden Fall gekühlt werden. 
Mindestens ein passiv kühler drauf!

Gruß Micha

von Bastler (Gast)


Lesenswert?

.. und drauf achten dass der TO sich im Mai zum letzten mal gemeldet hat 
:)

von Micha (Gast)


Lesenswert?

Jetzt ist der thread wenigstens auch für andere User von nutzen. Vorher 
standen mehr oder weniger nur unbeantwortete fragen hier drinnen ;)

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.