Ruderweg Messung mit Arduino

jweber

User
Hab irgendwo nen lauffähigen sketch zum MMA8451, setze den gerne hier mal ein zum selber experimentieren ....

gerne, der MMA8451 steht noch auf der Liste und wird bestimmt auch nochmal ausprobiert.


Meine Beweggründe waren andere: Ich habe mir als Beispiel einen Segler genommen. Der hat eine Wölbklappenposition mit 2 mm Ausschlag.
Ausserdem finde ich die Lösung mit zwei Sensoren an einem Display zielführend, wenn ich einstelle. Dazu müssen die aber gleichlaufen.
Einer meiner Sensoren streut offensichtlich ganz ordentlich. (Offset 46 von 255 :confused: ) Da sinkt die Auflösung dann noch weiter.
Ich bin mir auch über die Genauigkeit im klaren, wollte nur nicht damit leben, dass 1 Sensor auf dem Metallklotz 1 mm und der andere 2mm angezeigt hat, wenn ich 2,5 mm unterlege.
Mit dem neuen Stand zeigt mir die eine Seite 2,4, die andere 2,6 mm an. Damit kann ich gut leben. Und die Schwankungen sind so, daß ich damit einstellen kann.
Ich werde mir auch nochmal einen ADXL bestellen und den faulen rausschmeissen.
Und ich war positiv überrascht, dass das trotz der rechnerischen Genauigkeit so gut mit dem ADXL funktioniert hat.
Jörn
 
Mal ne blöde frage...

wäre denn der GY-521 MPU 6050 nicht eine gute alternative dafür die Dinger sind recht genau was ich so sehen konnte, habe einen in einem Modell verbaut und der reagiert sehr gut mit 16BIT Auflösung, mit dem OXS Sketch wird er mit zwei stellen hinter dem Komma ausgegeben und kostet nur ein paar Cent...

Oder bin ich da ganz auf dem falschen Dampfer und der eignet sich gar nicht dafür?





 

kalle123

User
Mal ne blöde frage...

wäre denn der GY-521 MPU 6050 nicht eine gute alternative dafür die Dinger sind recht genau was ich so sehen konnte, habe einen in einem Modell verbaut und der reagiert sehr gut mit 16BIT Auflösung, mit dem OXS Sketch wird er mit zwei stellen hinter dem Komma ausgegeben und kostet nur ein paar Cent...

Oder bin ich da ganz auf dem falschen Dampfer und der eignet sich gar nicht dafür?


Mach doch einfach mal ... ;)


cu KH
 
Ich dachte da jetzt mehr an Dich... Kalle Du hast doch bestimmt noch einen 6050 aus OXS Zeiten rumliegen :D
Da er ja auch über I2C läuft müsste das doch recht einfach zu testen sein, denke ich zumindest aber die Experten in dem Thema wissen das bestimmt ob das möglich ist oder sogar einen Sinn ergibt.
Mir fehlt der ganze Rest wie Display und Ahnung ;)

Es war ja auch nur so eine Idee, bin grade hier drüber gestolpert und ich hatte was von 10Bit gelesen und da ist mir der 6050 eingefallen.
 

Eckehard

User
Hallo Zusammen,

ahhh, hier geht ja noch etwas ... cool...

@Jörn: Ich habe folgende Bitte:
Kannst Du Deine Weiterentwicklung meines ino Sketches bitte im Code eindeutig kennzeichnen, damit man das in Zukunft auseinanderhalten kann.

Dazu bieten sich die Zeilen, gleich am Anfang des Codes an:

Code:
  int ino_version = 5;
  long ino_date = 171007;

an...

Vorschlag für "Deine" Werte:

int ino_version = 6;
long ino_date = 181112;

Die Release Notes hast Du ja schön ergänzt :-)

Danke

Grüße
Eckehard

Danke!
 

kalle123

User
Ich dachte da jetzt mehr an Dich... Kalle Du hast doch bestimmt noch einen 6050 aus OXS Zeiten rumliegen :D
Da er ja auch über I2C läuft müsste das doch recht einfach zu testen sein, denke ich zumindest aber die Experten in dem Thema wissen das bestimmt ob das möglich ist oder sogar einen Sinn ergibt.
Mir fehlt der ganze Rest wie Display und Ahnung ;)

Es war ja auch nur so eine Idee, bin grade hier drüber gestolpert und ich hatte was von 10Bit gelesen und da ist mir der 6050 eingefallen.

Sicher, nen 6050 hab ich hier. :)

Nur ... ICH HAB MOMENTAN KEINE ZEIT FÜR WEITERE EXPERIMENTE.

Meine Aktivitäten bezüglich dieses Themas ruhen seit 4/2018.

Ich schau hier mal rein, wenn Fragen da sind. That's it!

Grüße KH
 

jweber

User
Hallo Eckehard,

ich habe das ehrlich gesagt nicht als Weiterentwicklung gesehen, sondern wollte nur das zeigen, was ich gemacht habe und dabei Deinen Sketch als Basis dokumentiert lassen.
Ich hätte dazu aber eigentlich anders benennen sollen, ich glaube, ich kann es jetzt aber nicht mehr ändern.
Nächstes Mal berücksichtige ich das.

Ich dachte das auch als Anregung, dass da vielleicht jemand aufspringt, der sich besser auskennt und einen richtigen Filter einsetzt.

Jörn
 
MMA8451

MMA8451

Hallo Allerseits,

ich habe nun sowohl Kalle's Einzel-Version gebaut, als auch Eckehard's Doppel-Version mit dem Button-Shield. Die Einzel-Version funktioniert sehr gut, ohne Kalibrierung. Ich habe den Sensor auf eine kleine Platine geklebt und eingeschrumpft. Die Platine ist genau 42mm lang. Gebe ich 42mm als Chord ein und hebe den Sensor über die Drehachse 10mm an, dann zeigt das Diplay auch 10mm. Das ist genau genug für mich, mir ist der genaue Angleich der Klappenausschläge untereinander wichtiger als 0,5mm beim Gesamtausschlag.

Die Version von Eckehard funktioniert auch, nur beide Sensoren zeigen deutliche Abweichungen von deutlich über 5mm bei größerem Ausschlag (beide winkelig auf ein winkeliges Stück Alu befestigt). Ich hatte irgendwo eine Schritt für Schritt Anleitung inkl. Berechnung zur Kalibrierung gefunden, kann diese aber nicht wiederfinden. Kennt da jemand etwas gutes und verständliches ? War das evtl. sogar hier im thread weiter vorne ?

Heute sind die Teile gekommen für die Version von J'm aus dem RCGroups-Forum. Die basiert auf ein kleines OLED-Display, mit Arduino Nano, Druckknopf und einem MMA8451 Sensor, welcher eine höhere Auflösung gegenüber dem ADXL345 bietet.

Die Version hat nur einen Druckknopf. Diesen hält man länger als 2 Sekunden um ins Menü zum Einstellen der Rudertiefe zu kommen. Die Einstellung erfolgt durch kippen des Sensors. Wenn die Rudertiefe eingestellt ist, dann nur noch kurz drücken. Der Sensor nullt sich bei der Initialisierung. Alle teile sind schon hier. Ich gehe die Woche an's Basteln und melde mich mit dem Ausgang ;)

IMG_0501.jpg

Viele Grüße, Todde
 

kalle123

User
Todde, du nimmst den Abgleich (ich hasse das Wort Kalibrierung :rolleyes: ) von hier

https://learn.sparkfun.com/tutorials/adxl345-hookup-guide/all

Im Terminalfenster der Arduino IDE kriegst du diese Anzeige. Richte den Sensor so aus, das jeweils eine Achse (x, y und z) einmal nach oben und dann nach unten senkrecht stehen. Wenn die Position stabil da ist, was in die obere Zeile im Terminal eingeben und senden.

pF9lEIgl.png


Ist ganz einfach, einfach mal machen.:)

Damit kriegste für alle drei Achsen MAX und MIN Wert.

Und was du suchst steht in #117.

Warum suchst du nicht selber danach? Ich hab das auch nicht parat liegen ....

Gute Nacht!

PS. Von den OLEDs krieg ich Augenkrebs und so eine 1 Tasten Bedienung. Nein Danke!

Das ist das Ding hier

EgFRRPFl.png


Die Rechenvorschrift da ist interessant, glaube Jeroen und ich habe die auch abgekupfert, aber mit vernünftiger Anzeige und Bedienung ....
 
Danke Kalle ! :)

Das war dann doch hier im Forum ... ich wusste es nicht genau. Das gucke ich mir dann mal genau an.

Ich weiss, das Teil ist klein und vielleicht nicht so schlank in der Bedienung, aber ich möchte mit allen Optionen experimentieren. Ich gucke mir die Version, die Du mit Jeroen gemacht hast, auch noch an. Wenn ich dann fertig bin, habe ich hier 4 Messgeräte zur auswahl ... :D

(Wenn noch einer eines braucht ...)

Das kleine 128x32 Oled läuft schon auf dem Steckbrett. Hello World hat geklappt und damit habe ich auch die gültige U8g2 constructor line für den Sketch. War mit dem gelieferten constructor zickig. Es erscheint schon die Initialisierung auf dem Display. Morgen geht's weiter mit der Verkabelung des MMA8451.

Gute Nacht ;)

Todde
 

kalle123

User
Todde, freu mich, dass du dich für so was begeisterst!

Berichte bitte und setze Bilder ein.

Bin momentan dabei, meinen Rechner hier umzubauen. Stand 2009 -> 2018. Von Intel auf AMD Ryzen. Von BIOS auf UEFI. Unter Linux. Wenn das Ding nicht wie ein Schweizer Uhrwerk läuft, bin ich nicht zufrieden. Da ist dann rechts und links kein Platz für anderes ....

Und nach nem halben Jahr, wo ich mich nicht mit den Programmen Ruderwegmessung beschäftigt habe, bist du raus. Sich da wieder einzuarbeiten, wird dauern. ;)

Gruß KH
 
Hallo Kalle,

Du hast mich überzeugt :-) Die Oled-Version war mir zu klein und umständlich. Habe nun Deine/Jeroen's Version geladen und damit experimentiert.

Läuft gut. Ich muss den Sensor noch kalibrieren. Auf den Bildern ist die fertig aufgebaute ADXL345-Version von Dir. Ich habe nur das Display abgekoppelt für den Versuchsaufbau.

Hier ist der Vogel-Nest-Aufbau:

IMG_0502.jpg

IMG_0503.jpg

Ich werde die bestehende ADXL345-Version von Dir umflashen und das dann mit dem MMA benutzen.

Ich erwarte noch auf Wiegesensoren, dann geht's an die Arduino-Schwerpunktwaage. Ein freundliches Forumsmitglied hat mit die Kunststoffteile schon gedruckt und die Elektronik ist schon hier.

Viele Grüße, Todde
 
Zuletzt bearbeitet:

kalle123

User
Hi Todde.

Sieht gut aus. Steckbrett in der Phase ist immer sinnvoll, bevor das Lötgerät angeschmissen wird :)

(Komm hier langsam mit den Schei... Rechnern weiter, werde in den nächsten Tagen ALT <> NEU switchen.
Sind noch ein paar kernel Meldungen da, die irritieren. AMD Ryzen, Secure boot. Hätte vielleich doch besser wieder Intel genommen :( ) Naja, vielleich greif ich auch noch mal die MMA auf. Fliegen hier irgendwo rum ....

cu KH
 
DANKE AN ALLE !

DANKE AN ALLE !

Hallo Kalle,
jo, die Erfahrung zuerst zu Löten und dann mich zu ärgern habe ich schon zu oft gemacht ...:)

Hier ist die fertige Version, die reicht mir nun. Ich muss nur noch den Sensor kalibrieren. Ich habe eine kleine Änderung im Sketch gemacht - der D2 Button hat nicht so funktioniert, wie ich wollte. Da habe ich die Routine geändert - ist nun die gleiche, wie bei den anderen Buttons. Der Schiebeschalter ist nun nicht mehr aktiv. Der war für die Umschaltung auf Sekante bei der ADXL-Version auf Pin5.

Ich habe nun ein Arduino R3 Klon inkl. Keypad Shield fertig aufgebaut mit 2x ADXL345 über. Wenn das jemand haben möchte, dann bitte per PN melden. Geht für schmal ...

IMG_0504.jpg

Viele Grüße, Todde
 
Gehäuse

Gehäuse

Jetzt noch den Umbau in ein anständiges Gehäuse. Gerade habe ich mit meiner kleinen Proxxon-Fräse den LCD-Ausschnitt gefräst. Passt alles saugend mit einer 9v Blockbatterie. Das Board wird ein Arduino Pro Mini 5V, welches direkt über einen Wippschalter auf dem RAW-Eingang mit 9V gespeist wird. Die 5V für das Display und den Sensor liefert dann VCC auf dem Board. Sensor-Anschluss wird ein MPX 6-Pol-Stecker im Einbaurahmen an der Seite.

Für heute ist erstmal schluss. Morgen kommen dann die Öffnungen für den Wippschalter, die 4 Buttons und den MPX-Stecker.


IMG_0508.jpg

IMG_0510.jpg

IMG_0509.jpg

Viele Grüße, Todde
 

Rätl

User
Hallo zusammen,

meine Teile sind nun alle eingetroffen und ich fange morgen mit den Lötarbeiten an. Die passende Software hab ich auch schon da, um das Board damit zu füttern.

Welcher Sketch ist denn der aktuelle? Es gab ja einige Veränderungen bzw. Anpassungen.


Viele Grüße
Matthias
 

Rätl

User
Hallo zusammen,

habe heute auch mal angefangen, ein bisschen zu löten. Vorab: Respekt an eure Lötkünste :D

Ich vermisse auf meinem Arduino-Board VCC. A4/A5 ist da, wie auch GND (ist es egal an welchen, da doppelt vorhanden?).


Laut meinem Verständnis und den Bildern zufolge, wäre das weitere Vorgehen, dass ich auf das Lochraster vier Pins löte, an die das 4-adrige Servokabel vom Sensor angeschlossen wird. Die Pins verbinde ich dann mit angelöteten Kabeln an VCC/GND/A4/A5 auf dem Board. Ist das soweit richtig?

Danke vorab und viele Grüße

Matthias
 

Anhänge

  • IMG_0433.jpg
    IMG_0433.jpg
    599,5 KB · Aufrufe: 39
  • IMG_0434.jpg
    IMG_0434.jpg
    710 KB · Aufrufe: 38

Oxymoron

User
Beim Arduino Nano ist es der PIN 5V (Ausgang vom integrierten Spannungsregler) statt VCC... und GND ist immer Masse, also egal welcher PIN.
 
GND ist GND = Masse ist also egal welchen du nimmst.

Der Rest kommt drauf an mit welcher Spannung du in den Ardu gehen möchtest ? Wenn du eine geregelte Spannungsversorgung als Zuleitung hast die 5V Stabil ausgibt kannst du auf den 5V Anschluss gehen. (der 5V Anschluss kann beides... )
Als 5V Ausgang wenn über VIN / Raw mit einer höheren Spannung eingespeist wird und als Eingang wenn du mit einer Externen stabilen 5V einspeist.
 
Ansicht hell / dunkel umschalten
Oben Unten