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
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
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.
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?
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...
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
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#Haupttr.C3.A4gheitsmomente_einfacher_geometrischer_K.C3.B6rper
-> 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;GROUPID=3299;ARTICLE=62654;START=0;SORT=artnr;OFFSET=16;SID=32roep5awQASAAADBMWwM0186e2ca87d74f0631a897b18b80390a
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. :)
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.
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
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).
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?
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 - - -
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