Schritt Motor Controller

OP #4672426
Lesenswert?

Hallo,

Ich bräuchte da mal ein paar Tipps von euch.

Ich plane Grade an einem Projekt mit einem Schrittmotor und einem dem 
Raspberry Pi ähnelnden Mikroprozessorbord. Der Mikroprozessor ist ja 
kein Echtzeitsystem und somit ist die Ansteuerung des Motor wohl nicht 
so einfach. Ich suche daher einen Controller der die Ansteuerung für 
mich übernimmt. Lieder bin ich bis heute noch nicht dazu gekommen mich 
mit Schrittmotoren näher zu beschäftigen und weiß daher nicht so genau 
was da im Detail passiert. Daher wollte ich fragen ob mir da jemand ein 
Paar hilfreiche Tipps geben kann.

zu den Anforderungen:

Der Motor steht schon fest, der liegt schon auf meinem Tisch.
es ist der 8-2030-4-050
Im Datenblatt auf Seite 15 stehen folgende Angaben
I=0.5A U=2,5V R=5Ohm L=1,2mH s=0,003mm/step

ziel:
Ich habe zwei Lagenendschalter und möchte erst die beiden Endpositionen 
anfahren um meine relative Position zu bestimmen. Danach möchte ich 
gezielt die Mitte oder jede andere Position zwischen den beiden 
Endschaltern anfahren können. Dabei ist eine hohe Auflösung notwendig.
8 Mikrosteps/Step, Außerdem möchte ich mit bis zu 9500 Mikrosteps/Seck 
fahren können. Die hohe Auflösung bitte nicht überbewerten. Ich möchte 
nicht exakt an genau eine Mikrometer genaue Position fahren. Wenn hier 
ein paar Mikrosteps verschluckt werden ist das nicht so schlimm. Ich 
möchte einen Sensor hin und her fahren und dann während er fährt mit 
konstanter Frequenz Messwerte abtasten. Wichtig ist daher, dass der 
Motor mit einer möglichst konstanten Geschwindigkeit, aber nicht all zu 
langsam, fährt und dass von Punkt a zu Punkt b. Als Schnittstelle käme 
mir i2C sehr gelegen.

zu den Fragen:

Was brauche ich alles?(Treiberstufe Controller ...)
Welche Bauteile würdet ihr empfehle?
Gibt es was fertiges was man kaufen kann?
Angehängte Dateien:
Gast #4672445
Lesenswert?

als plug & Play mit treiber kann ich dir Nanotec SMCI12 oder 33 
empfehlen entweder mit USb oder mit RS485.

die Kommunikationsbeschreibung findest du online.
http://de.nanotec.com/produkte/1023-smci12-schrittmotorsteuerung/

Überleg dir aber auch, mit welchen Ungenauigkeiten du leben kannst. Die 
Positionsmeldung muss ja immer mit dem sensor synchronisiert werden.

vll ist ein schrittbetrieb besser geeignet.

sg
Gast #4672451
Lesenswert?

Joachim J. schrieb:
> I=0.5A U=2,5V R=5Ohm L=1,2mH s=0,003mm/step

Also richtig schlecht. Hohe Spannung, hohe Induktivität, hoher 
Widerstand.

Joachim J. schrieb:
> Ich habe zwei Lagenendschalter und möchte erst die beiden Endpositionen
> anfahren um meine relative Position zu bestimmen. Danach möchte ich
> gezielt die Mitte oder jede andere Position zwischen den beiden
> Endschaltern anfahren können. Dabei ist eine hohe Auflösung notwendig.
> 8 Mikrosteps/Step, Außerdem möchte ich mit bis zu 9500 Mikrosteps/Seck
> fahren können.

Solche Chips bietet Trinamic an, ich glaube, schon der kleinste
http://www.trinamic.com/products/integrated-circuits/integrated-motion-controller-stepper-driver/tmc222
erfüllt deine Anforderungen.
OP #4672481
Lesenswert?

zoggl schrieb:
> vll ist ein schrittbetrieb besser geeignet.

ein Kollege hat an einem ähnlichen Projekt mitgearbeitet. anderer Motor 
aber der selbe Sensor. Damals wurde die Steuerung von irgend einer Uni 
entwickelt. Habe aber leider Keinen Kontakt zu dehnen. Mein Kollege 
meint die haben versucht den Motor um eine feste Schrittweite zu 
verfahren, haben dann angehalten und den Messwert aufgenommen. Die das 
aber haben nicht hingekommen. Die einzige Lösung war damals wohl die, 
den Motor kontinuierlich fahren zu lassen und mit fester Abtastrate 
abzutasten.

damit der Motor möglichst ruckel frei fährt ist die hohe Auflösung wohl 
schon wichtig (aussage meines Kollegen)
Gast #4672511
Lesenswert?

nö, nicht unbedingt.

ein Motor mit geringem Rastmoment und vll noch einem Dämpfer bringt 
wahrscheinlich bessere Ergebnisse, als ein schlechter Motor mit 
wahnsinniger Mikroschrittauflösung.

Joachim J. schrieb:
> Mein Kollege
> meint die haben versucht den Motor um eine feste Schrittweite zu
> verfahren, haben dann angehalten und den Messwert aufgenommen. Die das
> aber haben nicht hingekommen. Die einzige Lösung war damals wohl die,
> den Motor kontinuierlich fahren zu lassen und mit fester Abtastrate
> abzutasten.

da es keine Angaben zu den Messzeiten oder der abtastrate gibt, ist 
diese aussage per Definition richtig.

sg
Gast #4672543
Lesenswert?

MaWin schrieb:
> Joachim J. schrieb:
>> I=0.5A U=2,5V R=5Ohm L=1,2mH s=0,003mm/step
>
> Also richtig schlecht. Hohe Spannung, hohe Induktivität, hoher
> Widerstand.

Blödsinn, der Motor ist in Ordnung.

Joachim J. schrieb:
> Was brauche ich alles?(Treiberstufe Controller ...)
> Welche Bauteile würdet ihr empfehle?
> Gibt es was fertiges was man kaufen kann?

Beitrag "Schrittmotoransteuerung mit A4982 und ATmega328"
OP #4672586
Lesenswert?

zoggl schrieb:
> nö, nicht unbedingt.
>
> ein Motor mit geringem Rastmoment und vll noch einem Dämpfer bringt
> wahrscheinlich bessere Ergebnisse, als ein schlechter Motor mit
> wahnsinniger Mikroschrittauflösung.


also der Motor steht ja schon fest und ob jetzt Vollschritte reichen 
oder Mikroschritte nötig sind ist nicht absolut sicher. Ich werde daher 
am besten erst mal auf Mikroschritte setzen und einen Controller 
verwenden der auch mit Vollschritten fahren kann. Wenn ich das 
feststelle das Vollschritten reichen kann ich ja in einer Nächsten 
Version runter skalieren.
#4672587
Lesenswert?

>I=0.5A U=2,5V R=5Ohm L=1,2mH s=0,003mm/step

Wenn's ein wenig genauer gehen soll: 
http://www.dr-henschke.de/RAPS128.html Dieser Treier schafft auch  1/128 
Mikrostepping und Einstellung der Decay-Modi.

Jedenfalls brauchst Du eine Stromversorgung für die Treiber, dessen 
Spannung im Bereich von vier - bis zwölffachen Wert der Nennspannung des 
Motors liegt. In Deinem Fall wäre es von 10 bis 30 VDC. Natürlich, darf 
die maximale Betriebsspannung des Treibers nicht überschritten werden.
OP #4672590
Lesenswert?

Maxim M. schrieb:
>>I=0.5A U=2,5V R=5Ohm L=1,2mH s=0,003mm/step
>
> Wenn's ein wenig genauer gehen soll:
> http://www.dr-henschke.de/RAPS128.html Dieser Treier schafft auch  1/128
> Mikrostepping und Einstellung der Decay-Modi.
>
> Jedenfalls brauchst Du eine Stromversorgung für die Treiber, dessen
> Spannung im Bereich von vier - bis zwölffachen Wert der Nennspannung des
> Motors liegt. In Deinem Fall wäre es von 10 bis 30 VDC. Natürlich, darf
> die maximale Betriebsspannung des Treibers nicht überschritten werden.

Jo, das habe ich. Ich verwende ein Netzteil mit 24V. Das brauche ich 
auch für den Sensor.
Gast #4672595
Lesenswert?

Joachim J. schrieb:
> I=0.5A U=2,5V R=5 Ohm

Naja, geht doch. Da kommst du vielleicht sogar schon mit 12 Volt für den 
Motortreiber aus, wenn du nicht schnell fahren willst. Ansonsten ziele 
mal 24 Volt an.

Ansonsten laß dir gesagt sein, daß du solche Motoren nicht einfach mit 
konstanter Geschwindigkeit fahren darfst, denn da verschluckt sich der 
recht leicht.

Also mußt du ab Start auframpen, dann mit deiner versorgungsabhängigen 
Vmax fahren und dann bei Annäherung an dein Ziel wieder abrampen. (Du 
mußt vorher wissen, wo dein zweiter Endlagenschalter sein wird...)

Tja, und das kostet einiges an Interrupts, die so ein Raspberry nicht 
bieten kann, obendrein ist das Beobachten deiner Endlagenschalter nebst 
geeigneter Reaktion auf selbige vonnöten. Also ist eigentlich ein völlig 
separater µC nebst EEPROM für etwaige Kalibrierdaten das Mittel der 
Wahl.

Ach ja, und im Stillstand den Motorstrom geeignet absenken, sonst werden 
die Dinger nur heiß.

W.S.
Gast #4672676
Lesenswert?

Maxim M. schrieb:
> Dieser Treier schafft auch  1/128 Mikrostepping

Was bei einem Motor nichts nützt, der ein stärkeres Rastmoment hat, weil 
er dann viele Mikroschritte Richtung Rastung zieht. Der Schrittmotor, 
der zufällig vor mir liegt, macht z.B. 5% Winkelfehler im Mikroschritt, 
eben genau deswegen. Da nützen 0.78% elektrische Auslösung auch nichts 
mehr (die ich nicht habe, sondern 1:16).

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