PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rotationsgeschwindigkeit bestimmen



Tokmot
23.06.2019, 22:35
Guten Abend,

ich weiß nicht ob meine Frage in diesem Unterforum richtig positioniert ist. Aus diesem Grund bitte ich um Entschuldigung, falls es nicht der Fall ist.

Ich möchte ein Getriebe bauen. Die Ausgangswelle dieses Getriebes soll um bis zu 90° (mindestens 15°) mit einer Genauigkeit von <1° hin und zurück schwenken. (Die Genauigkeit ist bei der Rückwärtsbewegung unwichtig) Die Last an der Eingangswelle soll dabei bis zu 3 Nm sein.

An der Ausgangswelle wird als Sensor ein Potentiometer angebracht, welcher den aktuellen Winkel messen soll.

Meine Vorstellung ist es an die Eingangswelle einen DC Motor zu befestigen. Der DC Motor soll so lange drehen bis der Sensor an der Ausgangswelle nicht den notwendigen Winkel registriert. Über die Steuerung soll dies registriert werden und dem DC Motor der Strom abgestellt werden. (Dabei dachte ich auf den Einsatz von einer Bremse zu verzichten, bin mir aber nicht sicher).

Der Motor, welchen ich bisher dachte zu nehmen, würde die Ausgangswelle mit einer Geschwindigkeit von 5 - 8 rpm drehen. (Je nach Last). Die Ansteuerung würde über Arduino erfolgen.


Meine Frage: Ist die gewünschte Genauigkeit mit dieser Geschwindigkeit erreichbar? Falls nein, welche Geschwindigkeit wäre die notwendige?

Als Motorsteuergerät würde ich gerne dieses nehmen:

https://www.droking.com/dc-brush-motor-controller-16a-power-supply-module-dual-way-motor-drive-module-forward-reverse-pwm-motor-controller-h-bridge-control-board-for-arduino

Gnom67
23.06.2019, 23:01
Warum nimmst du nicht einen hinreichen kräftigen Servomotor?

Bei 5 RPM hast du für ein ° Bewegung ungefähr 0,55 ms Zeit. Nicht beachtet, dass du keine Information über die Beschleunigung, Trägheit usw. hast.
Wenn du sowas machen willst, bau dir ein Getriebe, das mit 1000:1 übersetzt, dann brauchst du nur einen 1/1000stel so starken Motor, hast jede Menge Zeit und höhere Genauigkeit. Genau das macht ein Servomotor.

Deine Anfrage kommt mir übrigens sehr bekannt vor. Hast du sie schon mal gestellt - hier oder im RPi-Forum?

Tokmot
24.06.2019, 00:55
Warum nimmst du nicht einen hinreichen kräftigen Servomotor?

Bei 5 RPM hast du für ein ° Bewegung ungefähr 0,55 ms Zeit. Nicht beachtet, dass du keine Information über die Beschleunigung, Trägheit usw. hast.
Wenn du sowas machen willst, bau dir ein Getriebe, das mit 1000:1 übersetzt, dann brauchst du nur einen 1/1000stel so starken Motor, hast jede Menge Zeit und höhere Genauigkeit. Genau das macht ein Servomotor.

Deine Anfrage kommt mir übrigens sehr bekannt vor. Hast du sie schon mal gestellt - hier oder im RPi-Forum?

Ich habe eine Frage in diesem Rahmen, nur eine andere Frage gestellt, aber ohne Antwort glaube ich.

Die Beschleunigung soll möglichst gering sein und daher soll keine Trägheiten betrachtet werden. (Der Verfahrweg ist auch sehr klein).

Welche Geschwindigkeit müsste bei diesem Aufbau wirken?

hbquax
24.06.2019, 11:11
Irgendwie hat der Titel nicht viel mit dem Thema zu tun... Wenn doch eh Poti und Arduino vorhanden, warum dann nicht einfach eine vernünftige Positionsregelung mit Anfahr- und Bremsrampen? Beim einfachen Stromabstellen läuft der Motor natürlich nach.

Gnom67
24.06.2019, 12:45
Ehrlich gesagt verstehe ich gar nichts mehr. Wo ist bei dir Eingang und Ausgangswelle?

Hebel = Ausgangswelle, wo du irgendwas messen willst, was du uns offensichtlich partout nicht verraten willst?
Eingang = Motor?

Wie lange darf der Messvorgang dauern? Wie viele Messpunkte werden angefahren und über welchen Winkel insgesamt (maximal 90 Messpunkte über 90° = 1° Auflösung)?

Welche Kraft brauchst du maximal am Ausgang?

Der Rest ist Dreisatzrechnen!

Tokmot
25.06.2019, 13:53
Ehrlich gesagt verstehe ich gar nichts mehr. Wo ist bei dir Eingang und Ausgangswelle?

Hebel = Ausgangswelle, wo du irgendwas messen willst, was du uns offensichtlich partout nicht verraten willst?
Eingang = Motor?

Wie lange darf der Messvorgang dauern? Wie viele Messpunkte werden angefahren und über welchen Winkel insgesamt (maximal 90 Messpunkte über 90° = 1° Auflösung)?

Welche Kraft brauchst du maximal am Ausgang?

Der Rest ist Dreisatzrechnen!

An der Eingangswelle sitzt der Motor!
An der Ausgangswelle will ich nur die Position, sprich den Drehwinkel messen, mehr nicht.

Der Messvorgang soll nur einen Punkt anfahren (vorher eingestellt). Bei max. 90° und Auflösung von <1° wären es dann mindestens 90 Messpunkte.

Ich brauche ein Drehmoment von bis zu ca. 25 Nm, hab aber im Mechanismus selbst eine Untersetzung von i=10.

Die Frage stelle ich, weil ich nicht weiß wie genau die Position bei einer Geschwindigkeit von ca. 5 - 8 rpm eingestellt werden kann. Wie kann dies bestimmt werden?

Gnom67
25.06.2019, 14:59
Für die 90° brauchst du 3 s, also 55 ms pro Qinkelgrad (bei 8 RPM noch weniger). Du musst sozusagen im richtigen Moment anhalten. Ggf. nachjustieren.
Wenn du mehr Zeit für das Anfahren der Position brauchst, müsstest du eine größere Untersetzung wählen.
Das Problem dürfte eher die Genauigkeit der Messung sein, als die Steuerung des Motors.

Warum benutzt du nicht einen mechanischen Anschlag? Eine Scheibe mit 90 Löchern drin, wo man den Stift bei der gewünschte Position einsteckt und wo der Hebel dagegen läuft.
Und nächste Frage, warum überhaupt ein Motor? Da kann ich den Hebel doch auch gleich mit der Hand bewegen. Das alles erscheint mir nur sinnvoll, wenn die Messung vollautomatisch ablaufen soll, also auch die Teile zur Messung automatisch eingelegt werden.

Tokmot
25.06.2019, 19:11
Für die 90° brauchst du 3 s, also 55 ms pro Qinkelgrad (bei 8 RPM noch weniger). Du musst sozusagen im richtigen Moment anhalten. Ggf. nachjustieren.
Wenn du mehr Zeit für das Anfahren der Position brauchst, müsstest du eine größere Untersetzung wählen.
Das Problem dürfte eher die Genauigkeit der Messung sein, als die Steuerung des Motors.

Warum benutzt du nicht einen mechanischen Anschlag? Eine Scheibe mit 90 Löchern drin, wo man den Stift bei der gewünschte Position einsteckt und wo der Hebel dagegen läuft.
Und nächste Frage, warum überhaupt ein Motor? Da kann ich den Hebel doch auch gleich mit der Hand bewegen. Das alles erscheint mir nur sinnvoll, wenn die Messung vollautomatisch ablaufen soll, also auch die Teile zur Messung automatisch eingelegt werden.

Der Winkel soll bis zu 90° eingestellt werden. Also auch z.B. 20°! Ich kann von Hand nicht so genau einstellen.

HaWe
25.06.2019, 20:18
Der Winkel soll bis zu 90° eingestellt werden. Also auch z.B. 20°! Ich kann von Hand nicht so genau einstellen.

wieso brauchst du dazu eine Rotations-Geschwindigkeit und nicht einen Rotations-Winkel?

Tokmot
25.06.2019, 21:29
wieso brauchst du dazu eine Rotations-Geschwindigkeit und nicht einen Rotations-Winkel?

Ich will die Rotationsgeschwindigkeit nicht messen, sondern den Winkel. Meine Frage ist, ob mit der angegeben Geschwindigkeit die Messung der Position und die Positionierung (Einstellen des Rotationswinkels) möglich ist?

HaWe
25.06.2019, 21:37
Ich will die Rotationsgeschwindigkeit nicht messen, sondern den Winkel. Meine Frage ist, ob mit der angegeben Geschwindigkeit die Messung der Position und die Positionierung (Einstellen des Rotationswinkels) möglich ist?

Drehgeschwindigkeit = Drehwinkel/Zeit,
also
Drehwinkel = Drehgeschwindigkit * Zeit

allerdings muss dazu die Drehgeschwindigkeit konstant sein, ansonsten muss man in sehr kurzen Abständen Zwischenmessungen der Drehgeschwindigkeit vornehmen
Drehwinkel = Drehgeschwindigkeit1 * Zeit1 + Drehgeschwindigkeit2 * Zeit2 + ... +Drehgeschwindigkeit3 * Zeit_n +Drehgeschwindigkeit4 * Zeit_n

Tokmot
25.06.2019, 22:58
Drehgeschwindigkeit = Drehwinkel/Zeit,
also
Drehwinkel = Drehgeschwindigkit * Zeit

allerdings muss dazu die Drehgeschwindigkeit konstant sein, ansonsten muss man in sehr kurzen Abständen Zwischenmessungen der Drehgeschwindigkeit vornehmen
Drehwinkel = Drehgeschwindigkeit1 * Zeit1 + Drehgeschwindigkeit2 * Zeit2 + ... +Drehgeschwindigkeit3 * Zeit_n +Drehgeschwindigkeit4 * Zeit_n

Dies ist mir bekannt.

Ich versuche meine Frage etwas anders zu beschreiben:

Ich habe ein DC Motor gefunden, welcher ein Nenndrehmoment von 75 mNm bei 4000 U/min hat. Bei einer Untersetzung von 580 würde er eine Geschwindigkeit von ca. 5 rpm haben. Kann mit diesem Motor bei dieser Geschwindigkeit eine Position von 20° eingestellt werden?

Die Geschwindigkeit für 20° würden 2/3 sek. betragen. Ist dies zu schnell oder kann dies noch durch die Regelung registriert werden?

Gnom67
26.06.2019, 00:14
Wenn du die Position über ein Poti misst oder mit einer anderen Methode (Drehgeber, Lichtschranke, ...) kannst du an der gewünschten Stelle den Motor abschalten. Falls er nachläuft, musSt du halt die Abschaltung rechtzeitig einleiten oder die Position nachregeln, bis sie stimmt.
Unter Last wird Drehgeschwindigkeit * Zeit wenig bringen, weil die Geschwindigkeit nicht konstant sein wird. Andererseits hat der bei der Übersetzung 43,5 Nm - da dürften die zu messenden 3 Nm keinen sehr großen einfluss haben. Trotzdem würd ich mich darauf nicht verlassen.
Wie willst du den Motor an der gewünschten Stelle eigentlich halten? Ich denke, mit einem passenden Schrittmotor hättest du da viel weniger Probleme. Position anhand der berechenbaren Schritte anfahren. Haltemoment nutzen. Fertig. Für wenig Geld bekommst du Schrittmotoren mit 0,5 bis 3 Nm - kleine Übersetzung dran und das Ganze sollte kein großes Problem sein. Zeit und Geschwindigkeit sind dann für den Winkel nicht mehr relevant.

HaWe
26.06.2019, 08:42
die Nenndrehzahl laut Datenblatt ist nicht genau genug, um die echte aktuelle Drehgeschwindigkeit als Rechenbasis zu verwenden:
Du musst sie messen!
Das ist aber IMO aber viel schwieriger als "nur" einen Drehwinkel zu messen, dies würde ich mit einem Rotationssensor ("Drehgeber") tun.
Wenn du punktgenau stoppen willst, muss dieser entsprechend hoch auflösend sein, und die Zielposition lässt sich dann sehr gut mit sog. PID-Reglern steuern (das sind entspr. Softwarealgorithmen).

Gnom67
26.06.2019, 09:24
Ok, ich geb jetzt mal die Antwort, die der TO höhren will:

Das ist überhaupt kein Problem. Du schaltest mit dem Mikrocontroller einfach für exakt 666,6 ms den Strom an und erreichst dann den Winkel von exakt 20,00 °.
Beschleunigung und Bremsen sind vernachlässigbar.
Die Kraft, die auf den Motor wirkt (Messobjekt) spielt keine Rolle.
Massenträgheit und Nachlauf interessieren keinen.
Die Drehgeschwindigkeit ist exakt 5 RPM (mindestens 3 Stellen hinterm Komma genau) - egal, wie groß die Spannung ist, die du anlegst.
Der DC-Motor hat zwar kein Haltemoment, aber da ist ja auch nicht so wichtig.

Vergiss einfach alle Ratschläge, die dir zahleiche Leute in ZWEI Treads gegenen haben, die haben alle absolut keine Ahnung.

Mach einfach dein Ding!