mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Schrittmotor: Beschleunigung ohne Rampe


Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
vielleicht kann mir hier jemand helfen. Ich möchte eine Masse von 0,8 kg 
mit einer Schnurr über eine Trommel hochziehen. (wie eine Seilwinde) Die 
Trommmel (Durchmesser 30mm) möchte mit einem Schrittmotor direkt (ohne 
Getriebe) montieren und im Halbschitt laufen lassen. Ich dachte an einem 
Motor mit Schrittwinkel 1,8 Grad  und die Stepperfrequenz sollte ca. 100 
Hz sein.
Denn ich möchte in ca. 2 sec. die Masse um 90mm nach oben ziehen.

Vielleicht kann mir jemand sagen, welche Leistung der Motor ungefähr 
benötigt, wenn ich dies ohne Rampe (d.h. sofort 100 Hz an Clock) 
realisieren möchte?
Bzw. ist das überhaupt möglich?

Ich bin um jede Hilfe dankbar.
Schönen Gruß
Andi

Autor: Thomas S. (tsalzer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Durchmesser = 30mm d.h. Hebelarm 15mm!

F=m*a, 0.8kg * 9.81 m/s^2 = 7,84 N

Drehmoment = F*l = 7,84N * 15 10^-3m = 0.1178Nm

-> Motor aussuchen, nicht Haltemoment!

guude
ts

Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Thomas,
wenn mein Motor dieses Drehmoment hat, kann ich ihn dann auch ohne Rampe 
auf die 100 Hz Stepperfrequenz beschleunigen? Oder muss ich da mit 
Schrittverlusten rechnen?

Grüßle
Andi

Autor: anonymous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, denn du musst ja auch noch alles beschleunigen. Dadurch benötigst 
du bein "Anfahren" ein höheres Drehmoment.

Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das heißt dass selbst die relativ langsamen 100 Hz (Stepperfrequenz, das 
wären 0,5 U / sec.) nicht ohne Rampe zu beschleunigen sind, oder?

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kommt aufs Drehmoment des Motors an. Das notwendige Drehmoment zur 
Überwindung der Gewichtskraft ist Dir ja schon vorgerechnet worden. 
Jetzt rechnest Du noch Trägheitsmoment aus und weißt, was für einen 
Motor Du brauchst.

Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.h. das Trägheitsmoment muss ich mit dem Drehmoment addieren.
Ich muss zugeben, dass ich beim berechnen des Trägheitsmoment meine 
Probleme habe.
M = J x w´   , mit J = m x r^2   OK

aber was ist die Ableitung der Winkelgeschwindigkeit?

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andi schrieb:
> aber was ist die Ableitung der Winkelgeschwindigkeit?
Winkelbeschleunigung?! öÔ

J phi'' = m g l sin(phi) - Ms - Mr

J = ///v r^2 dm

Ms ist dein Stellmoment, dass der Motor ausführt. Mr ein Reibmoment 
(vernachlässige das einfach). Diese DGL bestimmt den Winkel (und seine 
Ableitungen) in Abhängigkeit von deinem Stellmoment. Wenn du nun eine 
gewisse Winkeländerung phi' in zu einer gewissen Zeitdifferenz erreichen 
möchtest, kannst du das auch so ansetzen.
Ich würde das ganze um einen Arbeitspunkt linearisieren und einen 
einfachen Regler bauen, welcher natürlich auch erst auf den Arbeitspkt 
angefahren werden muss.
Du musst schon eine gewisse Arbeit investieren und kannst nicht alles 
vereinfachen.
Ebenfalls solltest du bedenken, dass im Halbschrittbetrieb sich beide 
Haltemomente überlagern. Ich glaube es war: sqrt(2) * Vollschrittmoment


///v ist ein Volumenintegral, welches sich in deinem Fall sicherlich am 
leichtesten mit Zylinderkoodinaten lösen lässt. Das Trägheitsmoment ist 
aber nicht konstant, da du die Rolle ja aufwickelst (vernachlässige das 
einfach).

Hast du mathematische Vorkenntnisse? Studium, etc.. ?
Gib uns bitte mehr Informationen bezüglich deines Vorhabens 
(Motordatenblatt) und deines Kenntnissstandes...

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Ich denke ich habe das ganze etwas verkompliziert. Ich 
betrachte das ganze eher wie einen Stab, wobei die Position des Seils 
(mit der Masse) sich auf einer Kreisbahn bewegt. Das soll die Rolle 
beschreiben, was aber total übertrieben ist... Das Seil bleibt ja auf 
einer Seite hängen und die Position über der Rolle ändert sich nicht...

Wenn ich mich nicht irre müsste folgendes gelten:

Phi''(t) = (1/J)*(m*g*l-M)

Phi' ist deine Winkelgeschwindigkeit, welche du durch Integration 
erhälst.
M ist dein Stellmoment vom Motor.
l = 15mm
m = 0,8 kg

Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, aber erlich gesagt bin ich überfordert dies auszurechnen. Kann 
mir evlt. jemand weiterhelfen?

Gruß Andi

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wäre dankbar könnte sich jemand die Gleichung nochmal zu gemüte 
führen und sagen ob sie richtig ist. Ich denke mal, da war schonmal ein 
Vorzeichenfehler drin.

J phi'' = Ms - m g l

Um J zu bestimmen muss ich deine Wickelrolle kennen. Annahme 
Vollzylinder mit 0.05kg Masse.
Nebenbei: Es geht auch ohne das Volumenintegral über alle 
infinitisimalen Massestücke selbst auszurechnen. Vielleicht kannst du 
deine Rolle ja an einen einfachen Körper annähern...
http://de.wikipedia.org/wiki/Tr%C3%A4gheitsmoment#...

-> Jrolle = 0.5 m_rolle l^2

Dazu kommt natürlich noch das Trägheitsmoment deines Motors!
Dieser z.B. 
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C39... 
hat ein Trägheitsmoment (rotor inertia) von Jmotor = 68 [g cm^2] .

J = Jmotor + Jrolle

Nun wird die sehr(!) einfache Gleichung zu:
(c=0, wenn du keine Anfangsgeschwindigkeit hast, was hier angenommen 
werden soll -_-')

phi'[Ms] = (1/J) (0.5 Ms^2 - m g l Ms) + c

<-> 0 = Ms^2 - 2 m g l Ms - 2 J phi'
Ms = (m g l) +-sqrt{(m g l)^2 + 2 J phi'}

Nun bin ich mir selber unsicher, was ich mit der zweiten Lsg mache...

Jedenfalls: phi' = 3 pi, da du ja einen Rollenumfang von U = 2 pi l = 
30mm pi und eine Seillänge von 90mm hast, welche du in 2s aufwickeln 
willst. Das sind 3 Umdrehungen (3 2 pi) in 2s. So wie du es forderst.

Das kannst du jetzt aber sicherlich ausrechnen... -_-'
Jmotor ist so winzig, dass du es vernachlässigen kannst. Das fällt bei 
den ganzen Näherungen nicht mal ins Gewicht. Das Gewicht der Rolle ist 
auch nicht so entscheidend, wie der Radius.
Ich hatte das gestern mal exemplarisch durchgerechnet und kam auf 
(gerundet) etwas wie 0.235Nm = 23.5Ncm (um es mal auf die Einheit des 
Datenblatts zu bringen vom Reichelt Motor).

Ob du nun einen Motor, der ein derartiges Haltemoment (bzw 
sqrt(2)*Haltemoment im Halbschrittbetrieb) bietet, wählen solltest, weis 
ich nicht. Soweit ich weis, beschreibt das Haltemoment ja nicht das 
Umschaltmoment/Drehmoment, da es ja Haltemoment heißt! öÔ
Wie du dem Datenblatt entnehmen kannst ist der Motor mit Mhalte = 49Ncm 
beim Drehen mit 1000pps (pulse per second?!) bei etwa M = 37.5Ncm. Wenn 
das alles so stimmt, dann sollte es damit z.B. möglich sein; "ohne 
Rampe" wie du meinst.
Wobei der Motor selber schon eine Rampe bilden wird (du gibst sie 
elektronisch eben nur nicht vor) um auf seine 100Hz anzufahren. Es 
bleibt ja ein physikalisches System in dem Sprünge nicht möglich sind.


Da gestern keine Antwort kam, dachte ich schon, dass du es aufgegeben 
hast, oder einfach mit einem XYZ Motor so irgendwie hinbiegen 
wolltest...

Es wäre jetzt aber auch ein perfekter Zeitpunkt sich mit 
Regelungstechnik zu beschäftigen (beim robotornetz.de oder so, gibts 
glaube einen netten Artikel) und das ganze halbwegs professionell 
aufzubauen. Das mathematische Modell hast du ja bereits (sofern es 
richtig ist) und der Sonntag ist noch lang. :)

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da das ganze doch eh von einem Mikrokontroller gesteuert wird, ist es 
doch kein Problem mit einer Rampe auf die Sollgeschwindigkeit zu 
beschleunigen. Du willst es doch professionell machen, dann mach es mit 
Rampe. Die Beschleunigungsfahrt kannst du bequem auf einem PC 
vorberechnen. Das legst du dann als Tabelle im Kontroller ab.

Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Bernd,
jetzt habe ich mal einen Anhaltspunkt. Ich werde den von dir 
ausgesuchten Motor (von reichelt) bestellen und es ausprobieren.

Ich wollte ohne Rampe fahren, da ich alles mit einer SPS steuern möchte. 
Diese  kann aber nur max. 50 Hz ausgeben. Diese Stepperfrequenz ist mir 
zu langsam. Deshalb dachte ich mir mit einem SPS Ausgang einen 
Rechteckoszillator anzusteuern, welcher dann die 100 Hz auf die 
Schrittmotorendstufe (Clock Eingang) überträgt.
Über schnelle Eingänge (bis 1 kHz) verfügt die SPS und somit könnte ich 
die Impulse zählen und beim Erreichen einer gewissen Position den 
Rechteckoszillator wieder deaktivieren.

Was glaubt ihr, könnte das so funktionieren, bzw. gibt es da bessere 
Lösungen?

Gruß
Andi

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst da sicherlich auch einen kleineren Motor nehmen. Die anderen 
beiden die es bei Reichelt von der Firma gibt sind glaube ich nicht im 
Datenblatt, weswegen ich den Größten in meinem Post erwähnt habe.

So im Schnitt brauchst du nur 65% der "Leistung", die der Motor da 
bringt (unter der Annahme, das meine Rechnung richtig ist).

Autor: _Andi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, es spielt keine größe Rolle, ob der Motor ein wenig kleiner ist, 
oder nicht. Hauptsache er schafft das...
Weißt du, ob es fertige Rechteckoszillatoren gibt, welche ca. 100 Hz 
ausgeben?

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ging nicht darum, dass der Motor ein wenig kleiner ist, sondern 
darum, dass er ein wenig kleiner sein kann.

Es gibt fertige Schrittmotorcontroler, welche gewisse Betriebsweisen 
(z.B. Halbschritt) unterstützen. Ich kenne aber keine.
Alternativ lässt sich das sicherlich auch mit Logikbausteinen oder 
Komperatoren oder Schmitttrigger oder mit dem NE555 oder ..... aufbauen.

Die Forumssuche oder Google ist da sicherlich mehr als hilfreich. Wenn 
nicht, dann fragen.

Ich will dir nicht auf die Füße treten, aber es hat den Anschein, dass 
du dich nicht in die Thematik eingearbeitet hast. Demnach würde ich 
einen fertigen Controller empfehlen. Alleine mit einem Rechtecksignal 
ist es nicht getan. Du brauchst 2 Signale, welche sich auf eine gewisse 
Art und Weise überlappen.

+ + 0 - - - 0 +
0 + + + 0 - - -

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du tretest mir keineswegs auf die Füsse, denn ich hatte nicht vor 
soetwas selbst zu bauen. Ich bin schon froh, das hier geschriebene zu 
verstehen und einsetzen zu können.

Danke für eure Hilfe.
Andi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.