Forum: Analoge Elektronik und Schaltungstechnik Motorposition ohne Sensor herausfinden?


von Bernd (Gast)


Lesenswert?

Ich versuche mich gerade von A-Z durchzulesen wie man so Hobby Roboter 
baut und es gibt ja einige Fertigbausätze für sowas.

Bei allem was ich mir durchlese finde ich etwas sehr interessant und 
wollte fragen, ob folgendes tatsächlich so ist.

Überall wo ein Motor ist von dem man wissen will, in welcher Stellung er 
gerade ist, braucht man Sensoren die diese Stellung messen.

HALL Sensoren, Endschalter, Lichtschranke, etc.

Ich habe nun einiges gesucht, aber es scheint es gibt keine Möglichkeit 
dies zu ermessen, errechnen oder dergleichen, ohne einen Sensor.

Wenn ein Motor wirklich genau arbeitet und man den Strom misst, könnte 
man ja errechnen bei 2 Sekunden 0,2A Strom mit bekanntem 
Rotordurchmesser, rpm, etc. etc., dass sich der Motor jetzt genau 5 mal 
gedreht hat und nun in dieser Stellung steht.

Aber ich denke kein Messgerät und keine Toleranz in unserer derzeitigen 
Technik erlaubt eine so genaue Messung, dass man aus gemessenen Daten 
die Position des Rotors errechnen kann.

Ist das richtig? Oder gibt es High-End Technik die sowas schafft?

von MaWin (Gast)


Lesenswert?

Bernd schrieb:
> Wenn ein Motor wirklich genau arbeitet

Das ist schon mal die erste völlig falsche Annahme.

> und man den Strom misst

Der Strom sagt nichts über die Drehzahl, sindern nur etwas über das 
Drehmoment.

> könnte
> man ja errechnen bei 2 Sekunden 0,2A Strom mit bekanntem
> Rotordurchmesser, rpm,

Bei bekannten rom ist es leicht, die Anzahl der Umdrehungen nach Zeit zu 
errechnen.

> etc. etc., dass sich der Motor jetzt genau 5 mal
> gedreht hat und nun in dieser Stellung steht.

Bei sehr sehr geringen Anforderungen an die Positioniergenauigkeit macht 
man das tatsächlich so: Motor gegen einen Anschlag fahren lassen in dem 
man ihn lange genug in eine Richtung drehen lässt, dann eine definierte 
Zeit den Motor an eine feste Spannung legen, und aus Erfahrung weiss man 
dann ungefähr, wie weit er bzw. das an sein Getriebe angeflanschte Teil 
gedreht hat. Sehr ungefähr aber nur.

von J. T. (chaoskind)


Lesenswert?

Nein, das ist so nicht richtig. Der Strom sagt nichts darüber aus, wie 
schnell der Motor dreht. Der Strom sagt aus, wie viel Drehmoment der 
Motor abgibt.
Die Drehzahl hängt von der Spannung ab. Aber das ist alles irgendwie 
lastabhängig.

von npn (Gast)


Lesenswert?

Bernd schrieb:
> Wenn ein Motor wirklich genau arbeitet und man den Strom misst, könnte
> man ja errechnen bei 2 Sekunden 0,2A Strom mit bekanntem
> Rotordurchmesser, rpm, etc. etc., dass sich der Motor jetzt genau 5 mal
> gedreht hat und nun in dieser Stellung steht.

Das wird sich aber in Abhängigkeit der Belastung, der Lager-Reibung usw. 
so stark ändern, dass man keine Aussage über die Position des Rotors 
treffen kann. Die einzige Möglichkeit die ich sehe, ist die Erfassung 
der Back-EMF. Diese beginnt aber nicht bei Drehzahl Null, sondern 
erfordert eine Mindest-Drehzahl, damit die Back-EMF gross genug ist um 
sie erfassen zu können.
Eine Bestimmung der Rotorposition unabhängig von der Drehzahl (also auch 
bei Stillstand) funktioniert nur mit Sensoren.

von Georg (Gast)


Lesenswert?

Bernd schrieb:
> Ist das richtig? Oder gibt es High-End Technik die sowas schafft?

Das ist nicht wirklich HiEnd, man kann einen Schrittmotor nehmen, der 
dreht sich für jeden Impuls einen bestimmten Winkel weiter. Genau ist 
das schon, aber es fehlt die Erfolgskontrolle, verliert der Motor z.B. 
wegen Überlastung Schritte, so stimmt die Position von da an nicht mehr. 
Für einen Roboter ist das meiner Meinung nach nicht tragbar, für eine 
Rollladensteuerung kann man Fehler akzeptieren.

Dein Konzept klappt sowieso nicht. Es stimmt ja nicht nur die aktuelle 
Position nicht, der Fehler setzt sich fort und addiert sich immer weiter 
auf. Ich nehme mal an, der Roboter macht nicht nur eine einzige 
Bewegung.

Nebenbei bemerkt, man braucht sowieso einen Sensor für eine 
Startposition, von der aus gerechnet werden kann.

Georg

von Andreas B. (bitverdreher)


Lesenswert?

Georg schrieb:
> verliert der Motor z.B.
> wegen Überlastung Schritte,

Dann ist er falsch dimensioniert.

von oszi42 (Gast)


Lesenswert?

Für Chaosrobotik reichts. Ein Saugroboter schlägt eine zufällige 
Richtung ein, wenn er gegen ein Hindernis prallt und muss nicht wissen 
wo er ist.

von oszi42 (Gast)


Lesenswert?

Stichwortsuche "Chaospendel"

von Wolfgang (Gast)


Lesenswert?

Bernd schrieb:
> Überall wo ein Motor ist von dem man wissen will, in welcher Stellung er
> gerade ist, braucht man Sensoren die diese Stellung messen.

Nein, braucht man nicht. Es kommt auf den Motor drauf an.
Guck beispielsweise mal nach "sensorless" + "BLDC". Du musst ab einer 
bekannten Position (Endanschlag) nur die Kommutierungen mitzählen. Bei 
einem Schrittmotor gibst du sie sogar extern vor.

von Tester (Gast)


Lesenswert?

Oder Du misst indirekt, bis z.B. der Arm horizontal ist, z.B.: mit einer 
elektronischen Wasserwaage.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Für Roboter ist dann, entweder ein Servo (für Kleinlasten) oder ein 
Stepper (wie oben schon andere vorschlugen) zu wählen.
Ooder für richtig Kräftige wie Fanuc oder Kuka sind es dann Servomotoren 
mit Pulscoder.
Gleichstrommotoren sind nicht geeignet um positionsgenau zu fahren, ohne 
eine Kontrolle.
Synchromotoren würden da schon eher gehen. die sind den Steppermotoren 
eher ähnlich und lassen eine genauere Positionierung zu,
als DC oder Drehfeld Motoren.

Denoch wenn ich Roboterarme baue (kleine mit Stepper) oder (große mit 
Synchro) ist in jeden Fall ein Positionssensor oder Pulscoder mit dabei.
Den gerade so ein Roboter kann durch Einflüsse von außen seine aktuelle 
Position verlieren oder ändern dann sollte die Elektronik schon darüber 
Informiert werden.
Es gibt sehr gute Magnetsensoren die Berührungsfrei eine genaue 
Gradangabe der Position haben. Die sind sehr Langzeitstabiel im 
gegensatz zu analog Servo mit Poti als Winkelgeber. ;-)

: Bearbeitet durch User
von Euro (Gast)


Lesenswert?

Geht es jetzt um die Positionsbestimmung eines mobilen Roboters per 
Odometrie oder um die Ansteuerung eines Roboterarms?

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.