Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 65
  1. #41
    Registriert seit
    09.01.2016
    Beiträge
    1.215

    Standard

    Hallo,

    ich finde das "Gegenruder" wird bei unseren relativ hoch gedämpften Schiffen von dir etwas zu hoch bewertet.
    Unter https://github.com/Klothilde/autopilot liegt mittlerweile auch das Script, allerdings leichter lesbar und zusätzlich mit tilt-compensation.

    Die nächsten Tage wird ein Fehler in der PWM-Rampe berichtigt:
    PWM braucht ein 8-bit Integer. Daher ist die Funktion, derzeit noch in "float", etwas doof.


    Peter

  2. #42
    Registriert seit
    07.10.2012
    Ort
    Mittelfranken, weit vom Wasser
    Beiträge
    2.203

    Standard

    Hallo Peter, Deine Taktik, das Originalfile, das nicht von Dir, sondern von mir stammt, erstmal unter Deinem Namen/Pseudonym online zu stellen, halte ich für mehr als fragwürdig.
    Selbstverständlich hatte ich auch Dir erlaubt, mein File als Basis für eine Eigenentwicklung zu nehmen, aber online stellen solltest Du Eigenes, nicht etwa Kopiertes.
    Wenn Du das Programm weiterentwickelst (was ich selbstverständlich begrüße), solltest Du mindestens einen Versuchsaufbau zur Verfügung haben, um die Lauffähigkeit zu testen! Ohne Versuchsaufbau (oder realer AP-Mechanik) wirst Du ins Blaue entwickeln und das Ding ist nicht viel wert. Ich hatte erstmal Überlegungen angestellt, ein Modellschiff herzunehmen, das aber schnell verworfen.
    Weil der ArduinoNano Isp-fähig ist, habe ich die eigentliche Programmierarbeit erst nach dem Einbau auf dem Schiff vorgenommen,, und gesehen, daß viele Annahmen, Spekulationen und Erwartungen sich in der Realität ganz anders gestalten.
    Dankbar wäre ich, wenn es Dir gelänge, eine echte Tiltkompensation für den Kompaß zum laufen zu bringen. Beispiele und angeblich lauffähige Programme gibt es reichlich, ich habe einige durchprobiert, keines erfüllte die Erwartungen. Ein weiteres Kapitel ist ein Kalman-Filter, das ich ebenfalls nicht zum Funktionieren gebracht habe. Ich habe jedoch für beides eher simple Auswege gefunden, die zwar einen etwas "unprofessionellen" Eindruck machen, aber in der Realität funktionieren und ganz brauchbar sind. Bis zu einem echten PID-Regler bin ich noch garnicht vorgedrungen.
    Viele Grüße
    nw
    Πάντα ῥεῖ (*)
    * Man kann nicht zweimal auf dem selben Fluß fahren.

  3. #43
    Registriert seit
    09.01.2016
    Beiträge
    1.215

    Standard

    Hallo,

    gemach, ich verbleibe anonym und helfe nur.
    Aber das braucht seine Zeit.

    Derzeit ist dein code da drinn.
    Kannst ja leicht vergleichen wie wenig oder viel davon in der derzeitigen Version noch drin ist.
    Aber dafür ist diese Version jetzt lesbar.

    Wie geschrieben:
    Integer und Float passen noch nicht, bei Ruderlage und MotorPWM.


    Peter

  4. #44
    Registriert seit
    13.02.2009
    Beiträge
    2.497

    Standard

    moin kl,
    hilfst du mir deine tilt kompensation zu verstehen? also zeilen 190 bis 233
    ich kann trigonomie und hab mal turbo pascal programiert, du musst also nicht bei zero anfangen... also meine ersten paar fragen wären was bedeutet:

    int_16t ?; bestimmt irgend ein ganzzahl format aber welches, bzw welcher wertebereich ist damit gemeint mit dem t
    auf welche zeile greift "GetSmoothedSensorVariables" zu;
    welche sprache ist es in der hier programiert wird?
    die 2 in atan2 (zeile 211)
    letzte frage : M_PI ? ist das einfach pi in dieser sprache? (zeile 230)

    bestimmt alles ziemlicheche basics aber damit wäre mir einiges weitergeholfen beim verstehenversuchen
    thx haribo

  5. #45
    Registriert seit
    07.10.2012
    Ort
    Mittelfranken, weit vom Wasser
    Beiträge
    2.203

    Standard

    Hallo Haribo, es gibt mindestens ein Dutzend, wahrscheinlich mehr fertig in Arduino-C programmierte Beispiele für einen Tilt-kompensierten Kompass. Das Problem ist, das zum Laufen zu bringen, so daß sinnvolle Werte erscheinen. Es ist genau dieses Problem, mit dem ich angefangen habe, und ich habe viele, viele Stunden mit ergebnislosen Versuchen verbracht. Das ist mein Kenntnisstand von vor etwa 2 Jahren, heute ist das vielleicht anders.
    Um da Versuche zu starten, braucht man einen PC mit installiertem Arduino-IDE, einen Arduino und ein Kompaßmodul, z.B. dieses: https://www.ebay.de/itm/GY-91-MPU925...UAAOSwxS9cb~KH
    Das Original-Modul, für das ich das Programm geschrieben hatte, gibt es offenbar nicht mehr, dieses hat alles drin was man braucht, und es kostet nur noch die Hälfte.
    Als Display nimmt man zunächst den im IDE integrierten Monitor, für die paar Drahtverbindungen reicht ein Breadboard (solange das auf dem Schreibtisch bleibt) und schon kannst Du erste Erfahrungen sammeln. Meine Programmiertaktik kannst Du dem Programmfile noch ansehen, denn ich habe jeden erfolgreichen Schritt oben vermerkt, bevor ich den nächsten Schritt angepackt habe.

    Ich hatte die Tiltkompensation schließlich aufgegeben, auch weil ich gesehen habe, es geht auch ohne.
    Wenn es hier jemand fertigbringt, eine Tiltkompensation in diesem Rahmen zum Laufen zu bringen, schreibe ich das gerne ab und integriere das in mein Programmfile!
    Viele Grüße
    nw
    Πάντα ῥεῖ (*)
    * Man kann nicht zweimal auf dem selben Fluß fahren.

  6. #46
    Registriert seit
    13.02.2009
    Beiträge
    2.497

    Standard

    ja sucher, verstehe ich schon lange, darum schreibst du ja auch maxsimple(x) drüber nach vielen vergeblichen bemühungen

    ich versuche eben erstmal irgendeine grundlage zu begreifen (hier die programierung) denn die geometrie einer neigung als solche bereitet mir weniger sorgen
    haribo

  7. #47
    Registriert seit
    07.10.2012
    Ort
    Mittelfranken, weit vom Wasser
    Beiträge
    2.203

    Standard

    Hallo haribo, wenn Du einen wirklich ganz einfachen Anfang suchst, empfehle ich Dir, noch einen Schritt zurückzugehen, dorthin wo der Arduino nur Lerncomputer für Kinder ist. Da besorgst Du Dir erstmal dieses: https://www.ebay.de/itm/Set-Kit-fur-...4AAOSwxJlc1sz1
    Diese Starterkits gibt es in unterschiedlicher Zusammensetzung (der obige ist etwas mager, aber billig), das Wesentliche dabei ist, die im IDE mitgelieferten Beispielprogramme kann man mit so einem Starterkit laufen lassen. Das verhilft einem zu sowohl Erfolgserlebnissen als auch zu einem Grundlagenwissen, weil das recht sicher funktioniert, und einiges (bei weitem nicht alles) von dem abdeckt, was der Arduino kann.
    Auf die Idee, daß die Programmierung der Winkelfunktionen schwierig sein könnte, kommst Du nur, weil Du schon die erste schwere Hürde mangels Versuchsaufbau überhaupt nicht gesehen hast: Den I2C-Bus zum Laufen zu bringen, denn erst dann kannst Du das Kompaßmodul anschließen!
    Du siehst, um zum Erfolg zu gelangen, muß man die richtige Reihenfolge einhalten!
    Viele Grüße
    nw
    Πάντα ῥεῖ (*)
    * Man kann nicht zweimal auf dem selben Fluß fahren.

  8. #48
    Registriert seit
    09.01.2016
    Beiträge
    1.215

    Standard

    Zitat Zitat von haribo Beitrag anzeigen
    moin kl,
    hilfst du mir deine tilt kompensation zu verstehen? also zeilen 190 bis 233
    ich kann trigonomie und hab mal turbo pascal programiert, du musst also nicht bei zero anfangen... also meine ersten paar fragen wären was bedeutet:

    int_16t ?; bestimmt irgend ein ganzzahl format aber welches, bzw welcher wertebereich ist damit gemeint mit dem t
    auf welche zeile greift "GetSmoothedSensorVariables" zu;
    welche sprache ist es in der hier programiert wird?
    die 2 in atan2 (zeile 211)
    letzte frage : M_PI ? ist das einfach pi in dieser sprache? (zeile 230)

    bestimmt alles ziemlicheche basics aber damit wäre mir einiges weitergeholfen beim verstehenversuchen
    thx haribo
    Hallo,

    das in16_t ist integer 16 bit, von -255 bis 255
    Das uint16_t ist unsigned integer von 0 bis 32767

    Das ganze ist "C" bzw. cpp
    bspw. atan2(y,x) wird unter C erklärt

    Wenn du dich über das Verhalten von Funktionen (haben eine Klammer "()" am Namen)
    kundig machst, ist dir sehr geholfen.

    Frage an alle:
    Hat der Arduino Compiler bzw. IDE Einzelschritt-Modus?
    Dann könnte man sie Sprünge optisch nachvollziehen.


    Peter

  9. #49
    Registriert seit
    07.10.2012
    Ort
    Mittelfranken, weit vom Wasser
    Beiträge
    2.203

    Standard

    Hallo Peter, das (kostenlose) Arduino IDE hat m.W. keinen Einzelschrittmodus. Ich weiß jedoch, daß es eine Reihe anderer C-Compiler gibt, die dieses können. Du könntest vermutlich Dein Programm in so einen einzelschrittfähigen Compiler laden und dort durchchecken. Ich meine, das orginal Atmega IDE(*) kann das. Ich denke jedoch, Du schaffst Dir damit mehr Probleme als Du löst.
    Ich mache das so: An den Stellen, die mich interessieren füge ich einen Schreibbefehl mit der darzustellenden Variablen für den IDE-Monitor in das Programmfile ein, und anschließend einen Delay, der mir erlaubt, das visuell abzulesen. Letztlich ist das sowas wie ein Einzelschrittmodus. Wenn das Problem gelöst ist, kommt das wieder raus.
    Das Programm fehlerfrei durch den Compilercheck zu bekommen, ist ja nur ein Teil des Problems. Genauso wichtig ist die Funktion! Da führt kein Weg um einen Versuchsaufbau herum!
    viele Grüße
    nw

    * Für viel wichtiger halte ich die Möglichkeit, Teile des Programms in Assembler (Maschinensprache) zu schreiben. Das Arduino-IDE kann das auch nicht.
    Πάντα ῥεῖ (*)
    * Man kann nicht zweimal auf dem selben Fluß fahren.

  10. #50
    Registriert seit
    09.01.2016
    Beiträge
    1.215

    Standard

    Hallo,

    das Atmel Studio kann beides.
    Na dann ... eben nicht.

    @haribo
    Das Programm fängt am Schluß an,
    ist groß bezeichnet mit Programmanfang bzw. Programmschleife.
    Alles davor sind Zwischenrechnungen bzw. selbst erstellte Funktionen(), Variablen, Konstanten u.s.w.


    Peter

Ähnliche Themen

  1. Najad !
    Von Wollebuch im Forum Yachten
    Antworten: 21
    Letzter Beitrag: 30.10.2013, 15:39
  2. Najad :(
    Von skegjay im Forum Fragen, Antworten & Diskussionen
    Antworten: 41
    Letzter Beitrag: 19.10.2011, 14:18
  3. Najad 34
    Von Witzkomm im Forum Yachten
    Antworten: 0
    Letzter Beitrag: 13.03.2008, 21:42
  4. Najad 37
    Von Merkur im Forum Yachten
    Antworten: 0
    Letzter Beitrag: 01.09.2006, 19:36

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •