INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Motor mit kontrollierter Kraft und Positionsangabe
24.09.2015, 00:34
Beitrag #1
Question Motor mit kontrollierter Kraft und Positionsangabe
Hallo,

ich weiß nicht ob ich hier richtig bin, aber da ich mein Projekt gerne mit Arduino bauen würde, dachte ich, es schadet ja nichts hier auch mal zu fragen:

Ich möchte einen Motor so ansteuern, dass ich

1) immer genau weiß wo er gerade steht, relativ zu einer (kalibrierten) Nullstellung.

2) dabei zwischen zwei Leistungsmodi hin- und herschalten kann. Wenn ich den Motor im niedrigen Leistungsmodus betreibe, möchte ich ihn solange drehen bis er auf einen Widerstand stößt, den er mit der ihm zur Verfügung stehenden Leistung nicht überwinden kann. Dann kommt es darauf an, dass ich genau weiß, wo der Motor gerade steht (also z.b. wieviele Steps er gemacht hat).

Kann mir jemand ein paar Tipps geben, welche Hardware ich da benötige und wie ich die mit meinem Arduino ansteuern kann? Ich habe nicht sonderlich viel Erfahrung in dem Bereich bisher, lerne aber schnell und lese mir gerne Dinge an, wenn ich weiß wonach ich suchen muss.


Vielen Dank schonmal und Grüße,

Chris
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 07:39 (Dieser Beitrag wurde zuletzt bearbeitet: 24.09.2015 09:22 von HaWe.)
Beitrag #2
RE: Motor mit kontrollierter Kraft und Positionsangabe
hallo,
es kommt ntl auf die Leistungsaufnahme an, welchen Motor du dafür brauchst, sein Drehmoment, seine Rotationsgeschwindigkeit, seine erlaubte Größe etc.

Grundsätzlich brauchst du einen Gleichstrom-Motor mit Rotationsencodern, eventuell geht auch ein Modellbauservo. Und eine Motortreiber-Patine, die die Gleichstrom-Motoren mit ausreichend Strom versorgt (der Arduino alleine kann das nicht an seinen Pins). Für Gleichstrommotoren werden häufig Platinen mit den Treiber-Chips L293 oder L298 benutzt - aber ntl auch noch etliche mehr.

Die Position ermittelst du über die Encoder-Stellung, die Richtung über Richtungs-Pins am Arduino, die Kraft regulierst du über die sog. pwm-Funktion deiner Arduinos (0-255 => 0-100%)

Für den Bereich bis max. 8-12V und 1-2A verwende ich sehr gerne die Encodemotoren von Lego Mindstorms, die es inzwischen in 3 verschiedenen Bauformen gibt (1 alte und 2 neue). Sie drehen mit etwa 100-150° / 100ms (ca. 200-300 U/Min.) und der eingebaute Drehencoder hat eine Auflösung an der Antriebsachse von 720 Encoder-Ticks /U.
Ich selber lese ihn meist mit halber Genauigkeit aus, dann habe ich genau 360°/U.

Bevor du anfängst, musst du aber unbedingt ein komplettes Arduino-Tutorial machen.

Danach, wenn du was von der Materie verstehst, kannst du dir ja mal dies hier ansehen:

http://www.mindstormsforum.de/viewtopic.php?f=78&t=8309

http://www.mindstormsforum.de/viewtopic....624#p67235
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 12:45
Beitrag #3
RE: Motor mit kontrollierter Kraft und Positionsangabe
Hallo HaWe,

erstmal vielen Dank für deine ausführliche Antwort Smile

Was du geschrieben hast, klingt verständlich und hilft mir sicherlich schonmal weiter. Eine Frage hab ich allerdings (was vllt auf eine Anforderung zurückgeht, die ich nicht initial genannt habe). Ist bei einem solchen Motor garantiert, dass ich nicht "zu weit" drehe, wenn ich ihn auf eine bestimmte Position fahren will? Es ist nämlich dann nicht möglich zurückzufahren bei dem was ich da machen möchte. Ich nehme an, wenn ich langsam genug fahre, kann ich die Position überwachen und schnell genug den Motor stoppen wenn er da steht wo er hin soll, oder rollt der noch etwas weiter ohne Strom?


Danke und Grüße,

Chris
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 13:50 (Dieser Beitrag wurde zuletzt bearbeitet: 24.09.2015 13:51 von HaWe.)
Beitrag #4
RE: Motor mit kontrollierter Kraft und Positionsangabe
ein Motor hat so gut wie immer Nachlauf, aber du kannst ihn mit dem nötigen Geschick so programmieren, dass er sein Ziel punktgenau erreicht und genau da stehen bleibt. (Z.B. mit einer PID-Steuerung).
Das ist aber nichts für blutige Anfänger.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 14:10
Beitrag #5
RE: Motor mit kontrollierter Kraft und Positionsangabe
Wäre dann ein Schrittmotor nicht sinnvoller, oder kann man den nicht mit besagtem Encoder kombinieren?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 14:21
Beitrag #6
RE: Motor mit kontrollierter Kraft und Positionsangabe
Mit Schrittmotoren kenne ich mich nicht aus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.10.2015, 09:18
Beitrag #7
RE: Motor mit kontrollierter Kraft und Positionsangabe
Mein Lösungsweg:
Ein Motor, der mir seine Umdrehungen per Kontakt zurückgibt und zusätzlich Endschalter hat.
Sowas hier z.B.
Aktuator Superjack DARL 3608+ Schubstangenmotor - 8 Zoll (20.3cm) mini - 36V DC https://www.amazon.de/dp/B00BCJU6AM/ref=...hwb0FW8KVZ

Ein Motorshield um den Motor anzusteuern:
FERTIGGERÄT MOTOR ARDUINO-SHIELD VMA03 https://www.amazon.de/dp/B00FILN8N2/ref=...hwb78F0338


Hallgeber am Arduino anschließen.
Bei Vorwärts die Var Position hochzählen bei Puls.
Bei Rückwärtsfahren runter zählen.

Im Setup fährt der Motor langsam zurück auf Null.
Kommen keine Pulse mehr, ist Motor ganz zurück gefahren.
Dann Position auf Null setzen.
Motor ganz langsam ausfahren bis zum Hindernis.
PWM solange erhöhen, bis Motor anläuft.
Läuft er, kann die der PWM Etwas gesenkt werden.


Bein Fahren Richtung Hindernis die Umdrehungen mitzählen.

Wird das Hindernis erreicht, bleibt der Motor stehen, weil dessen Kraft nicht ausreicht.
Zählerwert zurückgeben über Display, Serial.Println() o.Ä.

Motor wieder zurück auf Nullpunkt fahren.



Programm rechnet Ziel aus, bei Annäherung an dieses Ziel wird langsamer gefahren, ansonsten 100%.
Dieses Abbremsen kann in Stufen erfolgen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Motor reagiert nur auf 5 Volt Flap 18 487 22.10.2016 10:31
Letzter Beitrag: hotsystems
  Schrittmotor ruckelt beim Start und im laufenden Betrieb - Arduino+Motor Shield grt35a 3 270 21.09.2016 06:56
Letzter Beitrag: Bitklopfer
  Arduino hängt bei DC-Motor MeisterQ 4 241 27.08.2016 18:39
Letzter Beitrag: Binatone
  Past der Schritt Motor??? Uwe1475 0 158 11.08.2016 19:56
Letzter Beitrag: Uwe1475
  Motor Shield wird Heiß erwin 8 1.121 24.03.2016 11:29
Letzter Beitrag: hotsystems
  Bipolar Motor ansteuern #elextro19 7 742 12.02.2016 02:11
Letzter Beitrag: Wetteronkel
  Motor shield #elextro19 2 653 25.01.2016 09:24
Letzter Beitrag: #elextro19
  Problem mit adafruit motor shield Philthy 13 1.802 22.12.2015 15:27
Letzter Beitrag: hotsystems
  Steuerung Motor 12V 20A Maxi290997 2 1.028 13.09.2015 00:13
Letzter Beitrag: Maxi290997
  für Due (3.3V): kompakte 5-6x Motor H Bridge, je 1-4A ? HaWe 5 1.608 28.05.2015 08:11
Letzter Beitrag: HaWe

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste