Schrittmotortreiber Empfehlung in Kombination mit RPi

OP #4268947
Lesenswert?

Hallo allerseits.

Für ein Projekt benötige ich einen Schrittmotortreiber, welcher sich 
idealerweise mit dem Raspberry Pi kombinieren lässt (evtl. auch i2c).

Das Problem hierbei ist, es müsste einer sein, welcher einfach eine 
Anzahl an Voll bzw. Halbschritten ausführt.

Das liegt einfach daran, das ich einen Schrittmotor mit einem Getriebe 
nutzen muss, welches eine Untersetzung von 900:1 ausgibt.
(15V/150mA)

Ich habe bereits mit dem AMIS 30624 erste Erfahrungen gemacht, der 
jedoch ein Positionscontroller ist und nicht in der Lage ist 
Schrittimpulse auszuführen.

Also bin ich für jede Idee dankbar:)
Gast #4268983
Lesenswert?

Da ist erst mal die Frage, ist der Jitter eines Linux 
Userspace-Programmes ok?

Du kannst natürlich jeden Treiber anschließen. (Na gut, sollte mit den 
3,3V zurechtkommen). Hast dann aber die selben Probleme mit dem Jitter, 
wie die alten Parallelport-Treiber.
Gast #4269181
Lesenswert?

Cav P. schrieb:
> Das liegt einfach daran, das ich einen Schrittmotor mit einem Getriebe
> nutzen muss, welches eine Untersetzung von 900:1 ausgibt.
> (15V/150mA)

Dein Getriebe gibt eine Untersetzung aus und arbeitet mit 15 V / 150 mA?
Hat Dir denn in Deinem anderen Beitrag noch keiner gesagt gehabt, daß 
ein aktueller Schrittmotortreiber nicht mit Gurkenmotoren klarkommt - 
oder besser umgekehrt?

Besorg Dir einen passenden Motor, dann klappt das auch mit der 
Ansteuerung.
Gast #4269210
Lesenswert?

> einen µC als I2C Slave

Genau so etwas machen die meisten Teilnehmer dieses Forums.

Ein Raspi, ein 3,3V Mikrocontroller und diese Treiber mit Dir- und 
Step-Eingang sind schnell zusammengebaut.

Das Programm wird aber erstaunlich umfangreich. Wenn dein Stepper nicht 
nur ganz langsam laufen soll, brauchst du wie der AMIS 
Start-Stop-Rampen.

Im Prinzip musst du alles was der AMIS Chip macht nach programmieren, 
nur statt diesem bescheuerten Position-Range 32Bit/64Bit Zahlen nehmen.
OP #4269458
Lesenswert?

m.n. schrieb:
> Cav P. schrieb:
> Das liegt einfach daran, das ich einen Schrittmotor mit einem Getriebe
> nutzen muss, welches eine Untersetzung von 900:1 ausgibt.
> (15V/150mA)
>
> Dein Getriebe gibt eine Untersetzung aus und arbeitet mit 15 V / 150 mA?
> Hat Dir denn in Deinem anderen Beitrag noch keiner gesagt gehabt, daß
> ein aktueller Schrittmotortreiber nicht mit Gurkenmotoren klarkommt -
> oder besser umgekehrt?
>
> Besorg Dir einen passenden Motor, dann klappt das auch mit der
> Ansteuerung.

Dir Idee hatte ich auch schon bereits. Jedoch ist der Motor vorgegeben.

Noch einer schrieb:
> einen µC als I2C Slave
>
> Genau so etwas machen die meisten Teilnehmer dieses Forums.
> Ein Raspi, ein 3,3V Mikrocontroller und diese Treiber mit Dir- und
> Step-Eingang sind schnell zusammengebaut.
>
> Das Programm wird aber erstaunlich umfangreich. Wenn dein Stepper nicht
> nur ganz langsam laufen soll, brauchst du wie der AMIS
> Start-Stop-Rampen.
>
> Im Prinzip musst du alles was der AMIS Chip macht nach programmieren,
> nur statt diesem bescheuerten Position-Range 32Bit/64Bit Zahlen nehmen.

Mit dem Amis läuft der Motor erstaunlich schnell.  Mit dem a3964 nur 
halb so schnell bzw auch unruhiger. Ich frage mich auch, warum ich beim 
Amis wenn ich die Positionen bis zum Ende anfahren  (welche ja 2048 
vollschritte) betragen, am ende nicht dort stehen bleibt wo ich möchte. 
Ich mache zum Beispiel eine anfahrt auf Position 4095 von Position null 
aus. Das sollten in etwa 34,13° sein. Nach jeder vollen  Fahrt führe ich 
auch ein resetposition () durch. Nach 5 vollfahrten und ca. 9.3335°(560 
Schritte) sollte ich mich auf der Position 180°  befinden. Jedoch 
Schiesst  dieser immer über das Ziel hinaus. Ich kann es mir einfach 
nicht erklaren.

Sorry für die Rechtschreibung, heute antworte ich ausnahmsweise vom 
Handy aus.
Gast #4269633
Lesenswert?

Bekommst du jedes mal die gleiche Abweichung?

Schrittmotoren sind recht zickig. Kommt auch vor, dass unbelastete 
Motoren bei einem elektrischen Schritt mehrere mechanische Schritte 
machen.

Würde auch erst mal versuchen, ob deine Strategie mit den mehreren 
setposition und resetposition gut genug ist. Alle anderen Ideen ergeben 
hundertfachen Aufwand.
Gast #4270472
Lesenswert?

Hallo,

wenn du über i2c einen Treiberbaustein ansteuerst, kannst du die 
Schritte vom Programm in einer Schleife ansteuern.

Wichtig ist erstmal, wieviel Schritte /s machst du maximal?
Wie sind die Anfahrtsrampen definiert?
Untersetzung 900:1 wie genau ist das Getriebe?
So hohe Untersetzungen kenne ich nur von astronomischen Nachführungen.

So wie du es beschreibst, ist eher ein intelligenter Controller 
sinnvoll, der dann über CAN oder RS 485 angesteuert wird.

Dort kann man Fahrprogramme hinterlegen.
Wenn der Strangstrom bei 150mA ist , brauchst du eine gute 
Stromregelung, sonst Verglüht der Motor schneller als du 'Ups' sagen 
kannst.

Viele grüße
Bernd
OP #4270677
Lesenswert?

Hallo,

also es scheint so, als würde es mit dem AMIS 30624 nun doch klappen, 
habe jetzt die Shaft Funktion eingeschaltet und die Acceleration sowie 
Vmax und Vmin etwas heruntergeschraubt. Nicht zu vergessen, sind die 
Äquivalenten-Steps während Start und Stop Phase bzw. Rampen An- und 
Abfahrt. Mache es mit einer Schleife und ResetPosition. Habe noch 
Counter in der Software implementiert, welcher mir dann die genaueren 
Positionen angibt.

Zum Motor, es ist ein Faulhaber 1524-V-6-35 und ein Faulhaber 
Stirnradgetriebe AM15/8 mit einer 900:1 Untersetzung. Diese hohe 
Untersetzung wurde zur Fehlerminimierung der Messgenauigkeit gewählt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren