Hallo liebe Hobby-Regelungstechniker. Ich habe einen tiny 2313 von Atmel, einen l298 Treiber und diese ( http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=71&products_id=135 ) Drehgeber hier. Beschaltung Auslesen der drehgeber und Ausgabe der PWM hab ich im griff, mir fehlt nur eine Idee zu folgendem Problem: Der Controller soll über SPI Geschwindigkeiten für die beiden Motoren erhalten, außerdem sind die beiden Drehgeber angeschlossen. Die Geschwindigkeit soll aber mit einer moderaten Beschleunigung geregelt werden um schlupf beim Anfahren und hohe Anlaufströme zu vermeiden. Wichtig ist es, dass der Roboter genau geradeaus fährt, wenn er für beide Motoren den gleichen speed erhält. Was momentan vom Roboter schon existiert könnt ihr hier sehen: http://letsmakerobots.com/node/5984 Bitte kein pid-Fachchinesisch, bin kein studierter Automatisationstechniker
Auch wenn Du kategorisch dagegen bist, ist ein PID-Regler die beste Lösung und wird bei sowas auch am häufigsten verwendet. Man muss auch kein studierter Automatisationstechniker sein, um einen PID-Regler zu verstehen. Eine gute Beschreibung findest Du auf http://www.roboternetz.de/wissen/index.php/Regelungstechnik . MfG Mark
Ja, vielleicht habe ich das ein wenig überbetont. Danke für den Link, die Basics sind da ja ganz gut beschdieben, aber eine konkretere Antwort währe mir trotzdem lieber ;-)
Hallo Philipp, 1. erkennen ob Geradeausfahrt 2. beide Radumdrehungen pro Zeiteinheit zählen 3. sollwert rechter Motor = Sollwert + Faktor*Umdrehungsdifferenz 4. sollwert linker Motor = Sollwert Auf die Vorzeichen aufpassen, da die Abweichung positiv oder negativ werden kann. Das währe mit einfachen Worten ein P-Regler. Damit kannst Du erst mal ins Rennen gehen. Der Faktor muss durch Probieren herausgefunden werden. Ist er zu groß, gibt es hecktische Korrekturen. Ist er zu klein bleibt etwas Schieflauf.
Wenn Du Beispielcode suchst kann ich Dir http://www.henkessoft.de/Roboter/ASURO.htm empfehlen. Auf der Seite ist ziemlicch weit unten ein Programm enthalten, welches den ASURO mit einem PID-Regler einer Linie folgen lässt. Man könnte es als Basis für eine Geschwindigkeitsregelung verwenden, in dem man die aktuelle Geschwindigkeit anstatt die Daten der Helligkeitssensoren verarbeitet. MfG Mark
@ axel: Ja danke, genau so habe ich mir das auch gedacht, nur dass hier die Beschleunigung umso grösser ist, je weiter der Sollwert vom Istwert entfernt ist oder verstehe ich das falsch? das würde ja bedeuten erst mal mit vollgas aus dem stand los Übrigens Danke für die schnelle Antworten ihr beiden @ mark : danke, werds mir mal anschauen
Dann musst du halt eine Rampe vorgeben anstatt gleich die volle Endgeschwindigkeit draufzuknallen.
Nein, der P-Regler bedeutet, dass der Motor der zu langsam ist etwas zu seinem Sollwert addiert bekommt. Oder ist er zu schnell bekommt er etwas von Sollwert abgezogen. Axel
Ok, wie währe das: Ich fahre eine Rampe bis zur ungefähr gewünschten Geschwindigkeit und zähle einfach alle Inkremente, wer als erster überläuft kriegt weniger saft? edit: vergesst das, ich nehm den p-regler
ok, danke für die schnellen antworten, kriegt man sonst nirgends so fix. ich werde jetzt erstmal versuchen einen p-regler zu implementieren. Falls weitere Probleme auftauchen mach ich nen neuen Thread auf, aber jetzt schmeiß ich erstmal das avr-studio an, danke nochmal
> Nein, der P-Regler bedeutet, dass der Motor der zu langsam ist etwas zu > seinem Sollwert addiert bekommt. Oder ist er zu schnell bekommt er etwas > von Sollwert abgezogen. Das ist ein klassischer I - Anteil bei einem Regler ... Grüße, Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.