Forum: Mikrocontroller und Digitale Elektronik Schrittmotortreiber Empfehlung in Kombination mit RPi


von Cav P. (justcp213)


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:)

von Noch einer (Gast)


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.

von Cav P. (justcp213)


Lesenswert?

Ob der Jitter in Ordnung ist kann ich dir nicht genauer sagen... aber 
mit Timing Problemen muss je nach Bibliothek gerechnet werden. Dennoch 
wäre es kein Problem einen µC als I2C Slave umzustellen und die Pulse 
über ihn zu schicken.

von m.n. (Gast)


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.

von Noch einer (Gast)


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.

von Cav P. (justcp213)


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.

von Noch einer (Gast)


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.

von Patrick B. (p51d)


Lesenswert?

Schon mal die Treiber von Trinamic angeschaut?

von Bernd (Gast)


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

von Cav P. (justcp213)


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.

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.