Hallo zusammen,

Zitat Zitat von oberallgeier Beitrag anzeigen
Hallo Robert,

irgendwie sind die Angaben etwas sehr dünn. PWM - 30 von wieviel? Es gibt ja PWM mit fast beliebig hoher Obergrenze, meine Motörchen (nicht nur die pololus) fahren PWM 8 bis 10bittig, manche PWMs fahre ich sogar deutlich höher. Gilt Deine Aussage für Motor mit Last (welche, wieviel, welche Fahrbahn etc) oder einfach nur testweise am Tisch liegend? Welche Spannung? Welcher maximal mögliche Strom?

Ich hab den 30:1 Metal Gearmotor 37Dx52L mm with 64 CPR Encoder (nach eigenen Messungen hat meiner aber 29:1) - dieses pololuding - MIT Encoder. Zwei davon habe ich in meinen archie eingebaut, fahrbereit aktuell ca. 6 kg, ca. 90+ cm hoch. Der archie fährt mit ca. 12+ V Akku (ca. max >50A MÖGLich, nie gemessen) am Motortreiber locker an die 7 kmh, vermutlich auch schneller, Anfahrt in der Ebene !im archie! bei ca. 15 PWM/8-bittig. Im Leerlauf, 12,5V, bei Strombegrenzung 4A, keine Last, Motor mit freier Achse, fährt der etwa bei 7..9 PWM/8bittig los.

Wie Hannes schreibt, ein bisschen Dampf brauchen unsere Motörchen schon - so wie jeder Motor ein gewisses Losbrechmoment hat. Ist ja auch kaum ein Problem - ausser wenn man die Motoransteuerung mit Werten von z.B. -255 bis +255 macht, dann braucht man in der Um-die-Null-Lücke ein bisschen if-then Tricks. Aber - kein Problem. Archie z.B. fährt butterweich von mässig vorwärts über langsamer werden - "durch die Null" - bis sanft nach rückwärts . . .
Ich nutze einen Raspi Zero gemeinsam mit Johnny Five (JavaScript). Hier ist PWM meines Wissens nach derzeit auf 8bit beschränkt. Ich arbeite zwischen 0-255. Die Motoren habe ich vorerst an einer Holzkonstruktion befestigt. Es handelt sich ja noch um einen ersten Prototypen. Gefahren wird eben auf Laminatboden. Die Konstruktion samt Akkus, Elektronik und Motoren hat ein Gesamtgewicht von ca. 1,5 KG.

Betrieben werden die Motoren mit einem 3S Lipo Akku. Also ca 12V.

Zitat Zitat von Holomino Beitrag anzeigen
Hmm,
ich hab mir dazu einen ZeroBoost in die Regelung eingebaut, weil dieser Minimal-PWM-Wert bei mir:
- abhängig von der Batteriespannung ist (sinkt während des Betriebs)
- abhängig vom Untergrund ist (anderer Wert für Teppich, als für Laminat)
- im Extremfall bis zur Vollaussteuerung gehen muss, insbesondere wenn der Roboter beim Anfahren direkt vor einem überfahrbaren Hindernis (Teppichkante o.ä.) steht.

Der Zeroboost ist bei mir ein Zähler, der im zyklischen Durchlauf der Motorregelung hochzählt, wenn keine Änderungen an den Inkrementalgebern angezeigt werden, der Roboter also steht. Bei einer Änderung der Inkrementalgeberwerte (hurra, die Masse bewegt sich) wird er auf 0 zurückgesetzt.
Multipliziert mit einer Konstante KZB wird der Zeroboost-Zähler auf den vom PID-Regler generierten PWM-Wert aufaddiert.

Eigentlich könnte das auch der I-Anteil des Reglers. Der allerdings neigt bekanntlich zu Überschwingen. Das ist insbesondere dann tödlich, wenn nur eine kurze Strecke zurückgelegt werden soll. Auch kann KZB wesentlich größer als KI gewählt werden, so dass die PWM-Rampe vor dem Anfahren schneller steigt.

Keine Ahnung, ob das so der amtliche Weg ist, mir fiel damals nix Besseres ein.
Die Idee finde ich super. Lässt sich sicher auch mit JavaScript gut umsetzten. Das einzige Problem was ich derzeit habe ist, das ich die Encoder noch nicht vernünftig auslesen kann. Hier muss ich noch ein wenig testen. Ich habe die Hoffnung das es mit Johnny Five am Ende irgendwie funktionieren muss... Am Ende sind es doch 2 einfach digitale Eingänge pro Encoder?

Gibt es Erfahrungswerte wie lange der höhere Anlaufstrom zur Verfügung gestellt werden muss, bevor ich wieder herunterregeln kann?