Forum: Mikrocontroller und Digitale Elektronik Regelkreis, aber bitte kein pid-fachchinesich


von Philipp D. (thejoker)


Lesenswert?

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

von Mark .. (mork)


Lesenswert?

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

von Philipp D (Gast)


Lesenswert?

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 ;-)

von Axel D. (axel_jeromin) Benutzerseite


Lesenswert?

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.

von Mark .. (mork)


Lesenswert?

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

von Philipp D. (thejoker)


Lesenswert?

@ 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

von *.* (Gast)


Lesenswert?

Dann musst du halt eine Rampe vorgeben anstatt gleich die volle 
Endgeschwindigkeit draufzuknallen.

von Axel D. (axel_jeromin) Benutzerseite


Lesenswert?

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

von Philipp D. (thejoker)


Lesenswert?

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

von Philipp D. (thejoker)


Lesenswert?

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

von Michael K. (Gast)


Lesenswert?

> 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
Noch kein Account? Hier anmelden.