Hallo, ich möchte mir eine einfache Kursautomatik mit Modellbautechnik für mein Kanu bauen. Das ganze soll aus einer kleinen anschraubbaren Schweberuderanlage mit Getriebemotor und einer elektronischen Kursautomatik für Geradeauslauf bei ca. 2 kn Fahrt bestehen. Der Funktionsumfang soll spartanisch sein - ein wasserdichter Schalter für An/Aus - Kurs halten mit dem aktuellen heading. Ich habe in Punkto Microcontroller- und Regeltechnik nur gefährliches Halbwissen, daher meine Fragen: > Hat irgendwer schon mal einen solchen Kursautomat gebaut und kann mir jemand eine Empfehlung für die notwendige Hardware geben? Das rumgoogeln hat bis dato folgenden Ansatz für die Kursregelung hervorgebracht (http://www.gunt.de/static/s4716_0.php?p1=&p2=&pN=): Schiffssteuerung = Kugelwippe Über eine Fuzzy-Regelung soll, eine bestimmte Position der Kugel (ein bestimmter Schiffskurs) durch Neigen der Wippe (durch Ruderlage) gehalten werden, auch wenn die Kugelposition (der Schiffskurs) durch äußere Eingriffe verändert wird. Die Position der Kugel (Der Schiffskurs) wird über ein resistives Messsystem (einen Kompass) erfasst. Ein Potentiometer erfasst die Neigung der Wippe (Ein Encoder am Motor des Ruderantrieb – Ruderlagengeber erfasst die Ruderlage). Diese Aufnehmer liefern scharfe Signale für den Fuzzy-Regler. Dort werden die Signale in unscharfe Eingangswerte umgewandelt, inferiert und anschließend in einen scharfen Ausgangswert zurückgewandelt. Ein Servomotor mit Schubstange (Der Ruderantrieb) verändert die Neigung der Wippe (die Ruderlage) und dient als Aktor. > Gibt es einen 'universell' programmierten PID-Regler den man für eine solche Kursautomatik benutzen könnte? Gruß aus Kiel
http://arduino.cc/playground/Code/PIDLibrary http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/ http://fermentationriot.com/arduinopid.php
Einen universellen PID Regler? Eher nicht. Die Differential Gleichungen fuer so ein Projekt werden einiges komplizierter sein. Dazu kommt moch eine Zustandsmaschine. Wenn ich's richtig verstanden habe.
So wie ich es jetzt verstehe möchtest Du einen Kompasskurs halten? Warum dann nicht einen Magnetfeldsensor/Kompass (evtl. +Gyro) + µC + Servo Allerdings brauchst Du dann schon noch etwas Progammiererfahrung. Es gibt auch "fast fertige" IMUs (http://www.watterott.com/de/Sensoren/IMU), damit würde das basteln/löten größtenteils entfallen. Materialkosten ~ 100-200€, 1-2 Monate Bastelzeit (mit Erfahrung, ohne 1/2 Jahr)
> einen Magnetfeldsensor
Solange Brücken aus Stahl sind scheint mir die Lösung weniger
zuverlässig als GPS.
oszi40 schrieb: >> einen Magnetfeldsensor > Solange Brücken aus Stahl sind scheint mir die Lösung weniger > zuverlässig als GPS. Aber sobald sich bei GPS der Empfang verschlechtert kann es dich auch mal um ein paar Meter versetzen...
>Aber sobald sich bei GPS der Empfang verschlechtert kann es dich auch >mal um ein paar Meter versetzen... Das wird doch wieder ausgeregelt ;-)
Magnetfeldsensoren sind scheisse und müssen ständig kalibriert werden. Dann lieber GPS. PID Regler ist auch Overkill. P-Regler mit langer Zeitkonstante reicht vollkommen. Hier mal ein Billigalgorithmus der wahrscheinlich sogar funktioniert:
1 | if (currentcourse < setcourse) |
2 | rudder = rudder_center - abs(currentcourse-setcourse)*rudderconst; |
3 | else if (currentcourse > setcourse) |
4 | rudder = rudder_center + abs(currentcourse-setcourse)*rudderconst; |
rudder = PWM-Wert für den Servo rudder_center = Konstante bei der das Ruder geradeaus steht rudderconst = empirisch zu ermittelnde Konstante Das ganze per IRQ alle 1..10 Sekunden (testen) aufrufen, das sollte schon brauchbar sein.
Ach ja, die Richtungswerte vom GPS/Magnetsensor sollte man gut filtern. Medianfilter oder so.
Wow, so viele Antworten :-) @ Mike - Cheers und danke, der PID scheint weit verbreitet und gut supported, Bier wird ja auch überall getrunken - he he. Hast Du selbst schon mal einen solchen Standard-PID "verbaut"? @ all the others - Ich wollte eigentlich kein GPS nehmen, weil ich mir nicht vorstellen kann, daß man bei 2 kn Fahrt ein stabiles Kurssignal aus einem solchen Modul herausholen kann. Pro Sekunde ein Ort mit einer Genauigkeit nicht besser als +-5m ergibt wahrscheinlich einen fürchterlichen Zick-Zack-Kurs, der arme Regler... Daher der Ansatz Kompass, einfach gerade aus und ohne weitere Korrekturen von Drift. Den Kompass würde ich sogar trotz tilt compensating auch noch kardanisch aufhängen. Wer von Euch hat denn schon mal mit Kompassdaten gearbeitet - muß man die wirklich noch filtern...? Ich glaube nicht, das ein reiner P-Regler funktioniert, der wird doch immer überschwingen, die Zeitkonstante wird das ganze dann lediglich strecken...!? Gruß aus kiel
Wer googelt der findet.... http://media2mult.uos.de/pmwiki/fields/pgs10/index.php?n=Main.SensorenIPhoneGPS http://media2mult.uos.de/pmwiki/fields/pgs10/index.php?n=Main.SensorenIPhoneCompass http://media2mult.uos.de/pmwiki/fields/pgs10/index.php?n=Main.SensorenAndroidMessung Hat irgendwer schon mal solche Untersuchungen für Mikrocontroller Sensoren gemacht? http://webuser.hs-furtwangen.de/~webers/Automatisierungstechnik%20Skript.pdf - auf Seite 3 schwingt er oder schwingt er nicht? Gruß aus Kiel
Meine Fresse, probiers halt aus. Mal abgesehen davon dass ich Recht hatte und das Uniskript den gleichen scheiss Algorithmus benutzt den ich dir oben schon aufgeschrieben hatte. Hättest also schon fertig sein können wenn du auf mich gehört hättest. Wieso fragst du überhaupt, wenn du gar nicht vor hast, irgendwelche Ratschläge anzunehmen?
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.