PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : segelbootsteuerung



ralf berends
20.04.2014, 20:20
moin Leute,
ich bin Neuling.

Ich möchte erstmal einen Servo mit Arduino uno mit einem Digitalkompass HMC5883L steuern.
Den Kompass habe ich an 3,3V-3,3V, GND-GND, SDA-A4, SCL-A5, und den Servo an 5V, GND, PWM8 angeschlossen.

Könnte mir einer das Programm schreiben?;)

Es würde mir erstmal helfen, wenn das Boot einen eingestellten Kurs hält.

Später möchte ich den Kurs eventuell über einen Inkrementalgeber einstellen können, oder so.

Ich probiere mich grade erst mit den Buch: "30 Arduino Selbstbauprojekte". - ich bekomme den Servo noch nicht mit dem Kompass zusammen.:(

Liebe Grüße Ralf

Che Guevara
20.04.2014, 21:13
Hi,

wo genau hängst du den? Kannst du den Kompass auslesen, also bekommst du valide Werte? Kannst du den Servo ansteuern?
Einen Code wird dir hier wohl keiner schreiben, ist auch nicht der Sinn eines Forums. Zeig doch mal her, was du schon geschafft hast, dann könnte man es begutachten und evtl. Fehler melden.
Hast du den überhaupt eine Winkelangabe an deinem Arduino? Ohne diese wirst du nämlich sowieso keine validen Werte der Richtung bekommen, weil der Kompasssensor neigungsabhängig ist.

Gruß
Chris

Rabenauge
21.04.2014, 01:03
Ohne weiteres Zubehör ist der Kompass schlichtweg für das Projekt nicht zu gebrauchen.
Der Grund: er hat keinerlei Möglichkeit einer Neigungskompensation. Immer, wenn der auch nur minimal schief liegt, stimmen die Ergebnisse nicht mal annähernd.
Und auf nem Segler ist das eher die Regel als die Ausnahme..

Nen Programm, was aus den Kompassachsen so leidlich die Himmelsrichtungen macht, hat Jurs unlängst im deutschen Arduino-Forum gepostet. Teste es und guck mal, was der Sensor da so ausspuckt..

cdk
21.04.2014, 03:27
Die Bitte sich ein komplettes Programm schreiben zu lassen halte ich natürlich für Unfug. Aber die Diskussion finde ich interessant. Das ganze soll auf ein Boot - und das liegt ja eigentlich immer *im Wasser* :). Also die perfekte Annäherung an die Ebene schlechthin. Sofern man es nicht gerade in der Nordsee aussetzt.
Das bißchen Schaukeln auf einem Baggersee oder im Swimming-Pool sollte man doch eigentlich problemlos ausgleichen können wenn man die Kompass-Daten über 1..2 Sekunden mittelt, oder nicht?


Der Grund: er hat keinerlei Möglichkeit einer Neigungskompensation. Immer, wenn der auch nur minimal schief liegt, stimmen die Ergebnisse nicht mal annähernd. Wirklich "nicht mal annähernd"? Ist das tatsächlich so krass? Faszinierend. Ich glaub' ich sollte mir auch mal einen Arduino-Kompass anschaffen und etwas damit experimentieren...

oberallgeier
21.04.2014, 11:49
... der Kompass schlichtweg ... nicht zu gebrauchen ... wenn der auch nur minimal schief liegt, stimmen die Ergebnisse nicht mal annähernd ...Whow, gut dass ich das weiß. Bin mal bei acht Windstärken und Seegang 4 bis 5 ein paar Stunden mit ner 45er gesegelt. Groß ganz drin, Genua vielleicht ein Viertel, an die acht Knoten und das Schiffchen lag schon reichlich schief im Wasser. Bin aber da angekommen wo ich wollte - obwohl (?) ich nach Kompass gefahren bin (Autopilot bei dem Wetter mag ich nicht). Auch sonst, so bei fünf Windstärken und Seegang zwei, die Groß praktisch immer oberhalb vom Wasser, ein Bein am Deck und eins am Bordrand - damit man gut grad stehen kann, hatte ich mich immer nach dem Kompass gerichtet - und war richtig angekommen. Hab ich dann was falsch gemacht ? ? ? weil/dass es trotzdem so gut geklappt hat? Oder hat der gute Ratgeber vielleicht einen andern Kompass als ich??[/spöttisch]

Mal im Ernst - der Einwand kann sicher stimmen, wenn man den Kompass nur falsch genug auswählt. Sonst hätten wir bei der Seefahrt doch ein gewisses Problem. (Anmerkung: Pfadfinder- und Wandererkompasse sind für aufrecht gehende Menschen gedacht, haben auf Schiffen nix zu suchen).

Besserwessi
21.04.2014, 13:43
Einige Fehler verursacht die Neigung beim Kompass schon, aber so schlimm ist es auch nicht. Das Problem ist hat, das die Feldlinien hier mit etwa 45 Grad von oben kommen. Je nach Boot wäre da ein Kompensation der Neigung schon angebracht - bei so etwas wie einem Katamaran sollte es auch noch ohne gehen.

Auch Schiffen hat man nicht umsonst den Kompass oft ein einer Kardanischen Aufhängung, damit er immer horizontal bleibt. Bei einem elektronischen Sensor ist da ggf. die Messung der Neigung, oder aller 3 Feldkomponenten die einfachere Wahl.

Rabenauge
22.04.2014, 14:50
Es war nach dem HMC5883L gefragt.

Das Ding liegt hier und ich hab ihn erst neulich wieder getestet...nackt ist der praktisch so gut wie nicht zu gebrauchen.
Die Abweichungen sind so gross (bei Neigung irgendwo hin) dass damit kein Kurs gefahren werden kann.
Eventuell kann da ein richtiger Matheprofi noch einiges rausrechnen-ich kanns nicht.

Aber: man kann das Ding natürlich aufbohren. Beispielsweise gibts recht preiswert die 9DoF-Sensoren, die den Kompass, nen Gyro und einen Beschleunigumgsmesser drauf haben.
Da man mittels Acclerometer leicht herausfinden kann, wo "unten" ist, dürfts auch kein grosses Problem mehr sein, die Neigung rauszurechnen, und schon funktioniert die Geschichte.
Oder man kombiniert den Kompass mit nem 6DoF- das ist das Gleiche in Grün.

Wenn es allerdings nur drauf ankommt, einfach das Schiffchen ne Weile geradeaus fahren zu lassen: das wurde schon vor mehr als 50 Jahren problemlos gemeistert- ganz unelektronisch.:)
Heute würd ich da wohl einfach nen Kreisel nehmen, und den ans Ruderservo hängen. Gibts fertig, im Modellhelibereich.
Dazu muss dann natürlich noch ein Servotester, damit das Ruderservo (bzw. der Gyro) erstmal gültige PPM-Signale bekommt- das könnte man natürlich nen Arduino erledigen lassen.

oberallgeier
22.04.2014, 17:09
Es war nach dem HMC5883L gefragt ...Sorry, Du hast Recht, bitte um Entschuldigung. Ich hatte nur Dein "... ist der Kompass schlichtweg ..." gelesen und gedacht dass EIN Kompass (eher so im Allgemeinen) gemeint wäre. Tut mir leid.

Rabenauge
22.04.2014, 19:16
Kein Ding- mit nem mechanischen Kompass ists einfacher: den kann der an Bord befindliche Segler in die Hand nehmen und grade halten. ;)
Gibt elektronische ja auch in "besser"- aber die kosten auch das Zehnfache.

ralf berends
22.04.2014, 21:33
Vielen, vielen Dank für eure Hilfe,

ich muß jetzt auf die Suche nach "Jurs" im DAF und nach 9Dof-Sensoren gehen.

Lieber Sly und Chris,
hätte nicht gedacht, dass ich so eine Welle auslöse :)

"Future electronics" oder "Funny Robotics" hat mir verschidene CODE geschickt. Auf die Frage: Wo ich hänge? - Noch ganz am Anfang!:-b
Ich hatte nur Hardweare.

In meiner Schulzeit, als alle mit dem C64 "spielten" hatte ich leider andere Flausen im Kopf. Mist- Jetzt muß ich die sprache C lernen.

Nochmals Danke an Alle. Wird jetzt etwas dauern, bis ich eure Ratschläge umgesetzt habe.

Gruß Ralf

Rabenauge
22.04.2014, 22:28
Teil das Ganze in mehrere einzelne Projekte auf.
Alleine daran, ein Segelboot per Rechner zu steuern, ist schon manch einer verzweifelt.
Und grade dieser Kompass- naja. Mir fehlt das mathematische Wissen um aus dem Kauderwelch, was der Sensor als Rohdaten ausgibt, in was brauchbares umzuwandeln. Aber ich habs auch bisher nicht allzu herzhaft versucht, einfach, weil ich das Ding im Moment nirgends so recht brauchen könnte.