Liste der Anhänge anzeigen (Anzahl: 8)
Roboterbasis mit Mecanum Wheels
Moin!
Zum Jahresende finde ich wenigstens mal die Zeit, noch so diverse halbfertige Projekte zu bearbeiten, die ich noch in der Pipeline habe ... :-) Ein bißchen weitergekommen bin ich in den letzten Tagen mit folgendem:
Neben den Allseitenrädern, mit denen ich bisher schon ein wenig experimentiert habe, gibt es ja noch die sog. Mecanum Wheels. Ich habe mir kürzlich einen Satz 100 mm Mecanum Wheels direkt vom chinesischen Hersteller nexusrobot besorgt, um auch diesen Radtyp mal praktisch kennenzulernen. Die Räder machen einen sehr guten Eindruck.
Anhang 29536 Anhang 29537
Ich habe Adapternaben zum Verbinden der Räder mit vier Getriebemotoren, die ich noch rumliegen hatte, angefertig:
Anhang 29538 Anhang 29539 Anhang 29540
Die Motoren mit den Rädern wurden ihrerseits an einer einfachen Rahmenkonstruktion aus Aluminium-Strangprofilen befestigt. Somit war auf ziemlich simple Art eine mobile Basis mit Mecanum Wheels schnell fertiggestellt:
Anhang 29541 Anhang 29542 Anhang 29543
Der nächste Schritt besteht nun darin, die Motorachsen mit Drehencodern auszustatten und geeignete Motortreiber aufzubauen, um die erforderliche Drehzahlregelung für die vier Achsen umzusetzen.
Auf meiner Homepage gibt's noch ein paar Bilder mehr.
Fortsetzung folgt ... :-)
Gruß
Malte
Liste der Anhänge anzeigen (Anzahl: 5)
Mal ein kurzes Update ...
Ich habe mittlerweile die Elektronik für die Getriebemotoren fertig. Jeder Motor bekommt eine Platine mit eigenem mega168. Die AVRs werden als I2C Slaves von dem übergeordneten Master-Controller angesprochen, optional ggf. über einen PCA9600. Ein AS5048A (magnetischer Drehencoder) misst die Stellung des Motorabtriebs. Das klappt bei dem Motor sehr gut, weil der Abtrieb auf der Rückseite des Getriebekastens rausguckt. Dort befindet sich der Magnet für den Encoder, die Platine mit dem Encoder und dem Rest der Elektronik ist über Sechskantbolzen in den Befestigungslöchern der Getrieberückwand verschraubt. Dadurch ist die Platine genau ausgerichtet. Motortreiber ist ein - eventuell etwas unterdimensionierter - DRV8801. Der lokale AVR wird dann später auf dieser Grundlage eine Drehzahlregelung für das jeweilige Rad durchführen. Die Regelung zu implementieren ist jetzt der nächste Schritt. Hier ein paar Bilder:
Anhang 29821 Anhang 29822 Anhang 29823
Anhang 29824 Anhang 29825
Fortsetzung folgt!
Gruß
Malte
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
Zitat:
In Bezug auf Daisy-Chain würde ich dir empfehlen pro Platine zwei Datenstecker vorzusehen, dann kann man einen Stecker als Eingang und einen als Ausgang verwenden. Ist ein wenig angenehmer beim verkabeln.
Ich habe ja einen Stecker für Flachbandkabel-Quetschverbinder vorgesehen. Ein Flachbandkabel mit mehreren Buchsen schleift die Signale ja quasi auch einfach nur durch. Insofern braucht man für Daisy Chain nichtmal mehr als eine Buchse pro Slave.
Ich habe mir mittlerweile mal ein paar Sprungantworten des Antriebs angeguckt. Ich habe dazu die PWM in Schritten von 16 von 15 bis 255 (8 bit PWM) erhöht und rückwärts wieder erniedrigt. Währenddessen habe ich die Drehzahl in einem Intervall von 2.048 ms aufgezeichnet. Die Treppe habe ich viele Male wiederholt und dann samplegenau gemittelt. Das Video nur zur Anschauung, hat ansonsten keinen Erklärungswert.
http://youtu.be/izpkCuhH2BE
Abgesehen von einer Schwelle am unteren Ende des Drehzahlbereiches verhält sich das Ding recht linear - besser als ich erwartet habe. Ich habe die Ausgleichsvorgänge nach einem Sprung mal als PT1-Glied gefittet (f(t) = k*(1-e-t/τ)), auch das kommt sehr gut hin. Schaut man sich die Zeitkonstanten über sämtliche Sprünge an, sind sie einigermaßen im selben Bereich, wiederum abgesehen vom ersten Schritt nach der Schwelle, aber das ist ja auch nicht weiter überraschend. Folgend mal als Bild (die x-Achse ist etwas wild, aber man sieht wohl was es bedeutet). Die mit höherer Auflösung gezeigten Sprungantworten sind beliebige Beispiele.
Anhang 29857
Jetzt muss ich mal überlegen wie ich weitermache. Ein wenig (wirklich nur ein wenig) mehr Erfahrung habe ich mit Temperaturregelungen, die Regelstrecken mit denen ich da bisher zu tun hatte, konnte man enigermaßen als PT2 modellieren, was eine Parametrisierung über die klassischen Einstellregeln erlaubt hat (wobei ich dann immer auch noch per Hand nachgetuned habe). Da das PT1 natürlich keine Verzugszeit hat, die bei den Einstellregeln (ich kenne nur Chien/Hrones/Reswick und Ziegler/Nichols wie hier beschrieben) aber immer im Nenner steht, kann man diese nicht sinnvoll verwenden. Vielleicht ist das mal ein Anlass, ein ordentliches Modell in Matlab zu basteln.
Gruß
Malte