PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausrichtung eines Motors nach vorheriger Positionsbestimmung



Hurgamurga
19.12.2015, 12:07
Hallo zusammen,

ich bin neu hier und möchte mich daher kurz vorstellen. Ich heiße Kevin, bin 24 Jahre alt und besitze leider nicht das notwendig Wissen zur Umsetzung meiner Idee, weshalb ich mich an dieses Forum hier wende.
Ich möchte gerne, dass sich bspw. ein fernseher oder ein Licht auf diese Position ausrichtet, an der ich mich befinde.
Ich habe mich in diese Thematik bereits eingelesen, aus verschiedenen Quellen Informationen geholt und auch von diversen Sensoren (IR, Ultraschall, etc.) und möglichen Vorgehensweisen Kenntniss genommen.
Jedoch kenne ich leider niemanden, der mir eine Steuerung oder eine Software erstellen kann, die das erkannte Sensorsignal so umschlüsselt, dass es der Motor erkennt und sich dementsprechend zu dieser Position ausrichtet.

Aus finanzieller Sicht sollte die Beschaffung der benötigten Komponenten keine Rolle spielen.

Ich würde mich sehr freuen, wenn sich ein Fachmann dieses Falls annehmen würde und mir weiterhelfen kann.

MfG Kevin

i_make_it
19.12.2015, 12:41
Hallo,

soweit ich das rauslesen kann, geht es um eine einzelne Drehachse (Drehung um die Hochachse) ohne Nickachse (hoch-runter schwenken).
Es gibt da zwei Ansätze, als Regelung aktiv den Sensor in die Positionsregelung einbeziehen. Dabei kann es je nach Sensor und Regelung dazu kommen das der Antrieb ständig um den Zielwert rumregelt (Also ein ständiges Wackeln/Zittern)
Oder ein Anfahren einer Position das einer Ausrichtung zur der vom Sensor vorher ermittelten Position entspricht.
In dem Fall kann man mit die Winkelstellung mit einem inkrementellen oder einem absoluten Meßsystem bestimmen (Ähnlich einem Modellbauservo)
Ein inkrementelles Meßsystem braucht nach jedem Einschalten eine sogenannte Refferenzfahrt damit von diesem "Nullpunkt" aus die Schritte/Pulse zur Istposition gemessen werden können.
Ein absolutes Meßsystem weis hingegen immer welche Position es inne hat.
Wenn weniger als 180° oder 270° Drehbereich notwendig sind kann man ein genaues Potentiometer als Sensor nehmen (Mit Wendelpotis sind auch bis 10 Umdrehungen möglich)
Die Steuerung muß eine Umrechnung vom Maßstab des Sensorwertes auf den Maßstab des Meßsystems bereitstellen, das kann per Berechnung oder per Lookup Tabelle mit vorher ermittelten Werten erfolgen.
Wenn beide Maßstäbe linear sind ist die Berechnung zur Laufzeit meist einfacher.
wenn ein Maßstab nicht linear und nicht mit einem Logatithmus oder Expotentialfunktion beschrieben werden kann, bietet sich meist eine Lookup Tabelle an mit linearer interpolation der Zwichenwerte.
Dazu kommt noch die Geometriche Beziehung zwichen Position des Sensors und Position der Bewegungsachse.
Sind diese beiden Positionen nicht identisch, kommte es je nach Position an der Du dich befindest zu Abweichungen bei der Ausrichtung.

Hurgamurga
19.12.2015, 13:05
Danke für die schnelle Antwort. Ich kann deine Info zu 80% nachvollziehen / verstehen.
Richtig, es gibt nur eine Drehachse, um es für mich erst mal so einfach wie möglich zu halten.
Das wackeln / zittern möchte ich nicht haben, weswegen ich den Lösungsweg mit dem anfahren der Position bevorzuge.
Dass es dann aber eine Nullpunktfahrt benötigt, ist auch kein problem.
Es sind weniger als 180° notwendig.
Nun noch die alles entscheidende Frage: Wie setz ich das als Laie um?
Gruß Kevin

i_make_it
19.12.2015, 13:54
Das kommt jetzt auf den Sensor an mit dem Du Deine Position bestimmst.
Ein Ultraschall Sensor (US) z.B. gibt ja z.B. die Entfernung zu einem Ziel aus.
man stellt also nur fest, befindet sich etwas in der Sensorreichweite und wenn ja wie weit ist es weg.
Dann hat so ein US ja einen bestimmten Öffnungswinkel in dem er Abstrahlt und empfängt.
Man kann so einen Sensor z.B. auf einen Modellbau Servo montieren, und in 5° oder 10° Schritten den Servo bewegen, messen, bewegen, messen etc. (bewegen heist Positionsvorgabe an den Servo senden und dann etwas warten damit er die Position auch erreichen kann bevor man misst).
Dann bekommt man auf 180° (bei 5°) 37 Messwerte. Man kann jetzt immer einen Messwert und den angefahrenen Winkel abspeichern (in ein Array schreiben).
Dann durchsucht man das Array nach dem kleinsten Entfernungswert, und hat damit das Objekt das am nächsten dran ist (das solltest dann Du sein)
Jetzt nimmt man die zu dieser Entfernung gehörende Winkelangabe (alternativ kann man auch einfach zählen der wievielste Wert im Array der kleinste ist und mal 5° nehmen um den Winkel zu ermitteln).
Für den Drehantrieb benötigt man einen Sensor (im einfachsten Fall ein Poti das an einem Analogeingang der Steuerung hängt) und die Schritte/Impulse die dieser Sensor bei 180° ausgibt. Teilt man das durch 36, erhält man die Schritte pro 5°.
Damit weis man dann welcher Schrittwert die Zielposition ist.
Als nächstes kommt dann die Berechnung des Verfahrprofils an die Reihe um den Antriebsmotor von null Drehzahl an der ist Position zu beschleunigen und so wieder abzubremsen zu null Drehzahl an der Zielposition, so das man an der Zielposition ankommt ohne zu bremsen als ob man grade vor eine Wand fährt. (Beschleunigungs- und Bremsrampen)
Übrigens kann man sich in der Praxis den Zwichenschritt über Winkelgrade sparen, und direkt von dem Sensormaßstab in den Maßsstab des Meßsystems umrechnen.
Die Winkelgrade habe ich nur eingefügt, da es sich dabei um eine Angabe handelt die man als Mensch gewohnt ist.

Ubrigens das wackeln, bzw. Zittern ist etwas das man nur bei schlechter Regelung bzw. Reglerauswahl bekommt.
Ein Zweipunktregler wird immer zwichen seinen beiden Werten schaukeln. Ein PID Regler mit den richtigen Werten wird im nicht wahrnehmbaren Bereich flattern, bzw. mit einer Dämpfung unter Last ruhig bleiben.


Dein Projekt kann man grob in folgende Teilaufgaben zerlegen.
A- Sensor Art festlegen
B- Winkelposition des Ziels ermitteln
C- umrechnung Sensormaßstab in Meßsystemmaßstab
D- Ist- und Sollposition des Antriebs ermitteln
E- Fahrprofil mit beschleunigungs- und Bremsrampen berechnen
F- Positionsregelung des Antriebs entsprechend des Fahrprofils

Jetzt kommt es darauf an welche Massen mit welchen Dimensionen (Größe) zu bewegen sind und in welcher Zeit (Stellzeit) um sich Gedanken über den Antrieb machen zu können.

Holomino
19.12.2015, 15:28
Bitte überlege einmal genau den Ansatz Deiner Idee: Ist es immer angebracht, den Fernseher oder die Lampe auf DICH auszurichten oder hast Du auch manchmal Besuch?

Wenn Du den Fernseher auf Dich ausrichtest, richtest Du ihn ja eigentlich auf Dein Gesicht aus. Das wäre ein Ansatz für eine typische Gesichtserkennung (kennst Du sicherlich von Deiner Digital-/Handykamera). Interessant wird es dann, wenn die Gesichtserkennung den Besuch auch noch erkennt und aus der Position mehrerer Köpfe den optimalen Einstellwinkel ermittelt. (Es sei denn, das dreijährige Besuchskind springt bei Dir im Wohnzimmer herum und der Fernseher dreht wild Amok:p)

Beim Ausrichten einer Lampe - naja - wer will schon das Licht direkt ins Gesicht bekommen? Da wird es wohl eher um das Buch auf dem Schoß oder die Arbeit am Schreibtisch gehen. Das wiederum scheint eher eine Anwendung für eine aktive Sensortechnik mit Sender (Ein IR-Armband, o.ä.), wo der Lichtkegel Deinen Händen beim Arbeiten folgt.

(Ein Beispiel, bei dem die Lampe mit Gesichtserkennung NICHT zur Beleuchtung dient, ist die Pixar lamp (http://www.heise.de/make/meldung/Pixar-Lampe-im-Eigenbau-erkennt-Gesichter-2791446.html))