Bluetooth Laufrad

Hallo zusammen,

Ihr kennt doch die Laufräder, um Strecken aufzumessen. Im 4stelligen Meter und 2stelligen Zentimeter Bereich.
So ein Teil würde ich gerne mit einem Arduino nachbauen und die gemessenen Werte an mein Handy schicken, via Bluetooth.

Nun meine Frage. Was für einen Sensor brauche ich, um exakt bis in den Zentimeter Bereich zu "rollen"?
Also oben am Griff stelle ich den Counter auf null und schiebe los.

Dann wäre noch eine digitale Anzeige interessant, welche wasserdicht ist. Das Bluetooth Modul ist klar.

Vielen Dank schon mal. :slight_smile:

Hallo
Encoder. zB 200 Pulse / Umdrehung. Wenn dein Laufrad einen Umfang von 600 mm hat kannst du auf 1.5 mm auflösen .
Heinz

Hallo Heinz,
Kannst du einen Encoder empfehlen? Am besten auch wasserdicht.

für "wasserdicht mit Display" nehme ich am liebsten Gehäue mit transparentem Deckel.
So als Idee https://www.aliexpress.com/item/1pc-85x58x33mm-Waterproof-Cover-Clear-Plastic-Electronic-Project-Box-Enclosure-CASE/32665428577.html?spm=a2g0s.9042311.0.0.27424c4dRuXbjD

Hallo
Google Mal nach Encoder kaufen

Amazon ,Conrad
er sollte für 5 Volt Versorgungsspannung sein

Heinz

Der Preis wird Dir nicht gefallen.

Hallo Uwe, der Preis für was genau?

Die Hüllen für die Teile werd ich mir wohl drucken. Das sollte kein Problem sein.

Hi

An Deinem Fahrrad hast Du einen Magneten am Vorderrad - damit kannst Du ganze Umdrehungen erkennen (sofern kein Zurückrollen möglich ist).
Das ist recht grob, Zentimeter schon gar nicht.
Wenn Du nun zehn Magnete einbringst, hast Du, bei gleichmäßiger Aufteilung, eine 10-fach größere Auflösung.
Wird Dir beim Fahrrad immer noch nicht helfen, wenn Du Zentimeter brauchst.

Stichwort: 3D-Drucker

Drucke Dir eine Zahnscheibe mit möglichst vielen Zähnen, Die 2cm weniger Durchmesser hat, als Dein Laufrad, Welches Du messen willst.
Diese Zähne sind dann spätetsens im 1cm-Abstand - Deine Auflösung.
Wenn Das nicht reicht, baue ein Getriebe dazwischen, 2:1 - die Zahnscheibe dreht sich doppelt so schnell, doppelte Auflösung.

Das Spiel geht natürlich nicht endlos - das Laufrad will ja noch rollen können.

Ähnliche Idee: Bandmaß auf die Lauffläche geklebt und die mm-Striche erfassen - gibt eine Auflösung in ganze Millimeter, wenn auch die Erfassung nicht ganz einfach werden wird.

Wie viel musst/willst Du erfassen/
Wie genau muß Das sein?
Nur gerade Strecken? -> Laser Entfernungsmesser

MfG

Ich bin im kabelkanalbau tätig. Wir verbuddeln hunderte Meter an Rohre oder gleich Kabel.
Irgendwann muss die Strecke aufgemessen werden.
Zum Beispiel 300 Meter Trasse. Nun Rolle ich los.
12,3m sind im Pflaster. Danach kommen 9 Meter Asphalt, dann 100,2 Meter auf ner wiese usw.
Bisher habe ich die Hände voll. Einmal das traditionelle Rad mit Zähler in der einen und in der anderen Zettel und Stift.
Dann muss ich das aufschreiben und nach Feierabend schön abmalen. Umständlich.
An GPS als Zusatz habe ich auch gedacht.
Dazu noch Laser oder Ultraschall, um Entfernungen zu messen, wo ich nicht hinrollen kann.

Hi

Kannst Du dann nicht 'einfach' nur die Zahlenwalzen überwachen?
Wir hatten Mal so ein Rad, gelb, mit Walzenzählwerk - entweder an der Narbe oder oberhalb des Rades.
Dort könnte man schauen, ob man die kleinste Zahlenstelle detektieren kann (wie Es bei Gas-Uhren möglich sein soll, da ist wohl die 5 reflektierend).
Wenn Du rechts von den Zahlen noch ein Striche-Rädchen hast, müssten dich auch Diese erfassen lassen.

Da Du wohl über einen 3D-Drucker verfügst, sollte ein Aufsetz-Rahmen, Der den Sensor hält, kein größeres Problem darstellen.
Die Schwierigkeit wäre erst Mal, ob Du von den Walzen was erkennen/detektieren kannst.

Weil: Viel genauer, als das Zählwerk, wirst Du's wohl auch nicht brauchen.

Die Übertragung zum Handy - mit Sicherheit möglich, dann hast Du die Zahlen aber eben nur auf dem Handy - die Handarbeit dürfte wohl bleiben - mit dem Unterschied, daß Du nun nur noch Zahlen, ohne Örtlichkeit, hast.

Aber ggf. kann man dem Arduino ja mehrere Zählwerke mit geben:

  • Graben
  • Pritsche
  • Weitspann-Pritsche
  • Steigetrasse
  • C-Schiene
  • mit/ohne Kabel bzw. Deren Anzahl ggf. anpassbar
    (wie man die Auswahl wählbar macht ... kA, da wäre vll. sogar eine Handy-App interessant - sonst OLED und Drehencoder, meine Wahl)

Diese ganzen Daten kann der Arduino ja ebenfalls zusammen zählen - und Dir dann als Einzelsummen ausspucken.
Einen ausgegebenen Gesamt-Weg kannst Du mit dem Walzenzählwerk vergleichen, müsste passen.

MfG

zum eigentlichen Wegmessen habe ich keine Idee.
Aber ein GPS Empfänger und eine SD-Karte würde ich dazugeben.
Zwei Taster: ein Start - ein Stop
mit Start die Wegmessung starten, Anfangs-Koordinaten und Datum/Uhrzeit merken.
mit Stop Wegmessen beenden, und alles inkl. End-Koordinatien auf SD-Karte Speichern.
Du könntest das zwar mit Bluetooth aufs Handy schicken, aber dann bräuchtest da noch eine App um das irgendwie zu speichern und evtl. deine Notizen zu ergänzen.
Daher würde ich das eher umdrehen und die "Anmerkungen/Notizen" zwar am Handy eingeben, aber dann zum Microkontroller senden (und gemeinsam mit den Wegpunkten auf die SD-Karte zu schreiben).

Bluetooth ist vermutlich eine Geschmackssache.
Ich denke ich würde da eher einen Wemos/Nodemcu nehmen und über WLAN schicken, und statt der SD-Karte ins Filesystem des Wemos/NodeMCU schreiben.
Am Tagesende dann die Datei vom Wemos/NodeMCU "Runterladen". Hast alles beinander.
Hast mal kein Handy zur Hand, kannst trotzdem deine Wegstrecken abfahren und deine Tagesdatei erstellen.

Jetzt bin ich am PC und kann nun vernünftig schreiben. :slight_smile:

Die Konstruktion vom Laufrad habe ich mir wie folgt vorgestellt:

Ich laufe mit dem Rad los und messe die Strecke der aktuellen Oberfläche. Mit einem Joystick wähle ich die aus. Asphalt, Pflaster, Rasen… Nun drücke ich OK (am Joystick) und via Bluetooth werden die Meter und Zentimeter, sowie die Koordinaten vom GPS und die ausgewählte Oberfläche übertragen.

Zwecks Android-Programmierung sehe ich da keine Probleme, um das dann auszudrucken oder auf einem Server zu speichern.

Hallo,

nochmal zum Thema Encoder,

warum sollstest Du da was selber basteln . Lösung mit GPS ( zwischen start-stop ) funtionieren doch nur bei gearden Strecken (Luftlinie) und auch nicht wenn es den Berg rauf oder runter geht.

Industrie taugliche Teile mit Schutzart kosten so ab 130€ Wenn Du auf die Schutzart nicht so viel Wert legst schau noch mal bei Amazon nach ab 10€

hier mal ein Beispiel mit 600I/U.

man kann ja auch erst einen Vorteiler verwenden wenn die Auflösung zu hoch sein sollte.

Anschluss 5-30V open collector passt doch supi

Heinz

Bis auf das GPS Modul habe ich mir heute die Teile bestellt. GPS ist ja im Handy.
Die Koordinaten will ich dann nutzen, um den Ort, die Straße mit Hausnummer usw. zu kennen und mit zu speichern.
Samstag kommt hoffentlich das Paket, dann geht die bastelei los. Und hier bestimmt die fragerei:)

Hallo, ich habe euch ja gewarnt :slight_smile:

Heute habe ich den Encoder mit dem Sketch dieser Seite ausprobiert:

Alles läuft perfekt. Bis auf eine Sache. Es wird nur bis 6,55 m gemessen.

Er hat ja den Bereich mit 0xFFFF auch so angegeben. Aber wenn ich den nun auf 9999999 ändere,
ist trotzdem nach 0xFFFF Schluss.

Nun habe ich irgendwo gelesen, dass das der größte Wert ist, den man mit 2 Byte darstellen kann.

Was kann ich machen, um auch Meterzahlen im 100er Bereich zu messen? Oder muss ich da mit Addition rechnen?

Hallo,

da gibts eigendlich zwei Varianten ich denke du solltest aber beides machen

  1. einen Vorteiler verwenden die Auflöung wird ja sowiso viel zu hoch sein. D.h die Variable die Du jetzt als Ergebniss erhälst lässt Du nur bis z.B 100 zählen .Jedesmal wenn 100 erreicht ist setzt Du die Variable wieder auf Null und erhöhst eine zweite Varialbe um 1 . Damit hast Du dann durch 100 geteilt erkennst aber z.B nicht mehr 1mm sondern nur noch 100mm.

  2. Du verwendest keinen Integer Datentyp sondern long , negative Werte brauchst Du ja sicher auch nicht dann kannst Du noch unsigend long nehmen.

lass mal wissen was Du jetzt fü einen Encoder genommen hast.

Heinz

Nachtrag :

hab e gerade gesehen das da schon unsigned long für vorwärts verwendet wird. Lass uns mal wissen was Dein Rad für einen Umfang hat und was der Encoder für eine Impulsrate hat.

Rechnen wirst du sicher auch müssen , letztlich willst Du ja Meter anzeigen , also must Du ja irgendwie den Umfang des Messrades berücksichtigen.

Ich habe eben alle Integer in Long Variablen geändert. Nun klappt das auch mit den höheren Zahlen.

Der Encoder hat 600p/r und das Rad einen Durchmesser von 8 cm.

Aber du hast schon Recht. Die Auflösung im Millimeterbereich ist viel zu genau. Die Stellen nach dem Komma, also die Millimeter lasse ich mir auch gar nicht anzeigen.

Was muss ich ändern, damit er nicht in Millimeter rechnet, sondern in Zentimeter?

Hi ,

80mm durchmesser = 251,2 mm Umfang

251,2/600=0,4mm Auflösung.

wenn ich mich jetzt nicht verrechnet habe kommst Du mit einem unsigend long bis ca 1.7Km. Ich denke das sollte so reichen.

ich hab den Skatch nur mal überflogen weiss aber nicht warum in der Berechnung noch mal durch 40 geteilt wird

Distance = Count_1 * C / 40;

Count_1 ist ja der positive Zählerstand. und C ist der Umfang. Also nach einer Umdrehung müsste der Count_1 auf 600 stehen und Deine Länge auf 251,2mm

heinz

Mit den / 40 hatte ich es probiert. Da hat er aber falsch gemessen. Ca. 9 cm zu viel.
Dann habe ich aus der 40 eine 60 gemacht und es hat funktioniert.

Der Encoder zu dem Sketch hat 400 p/r. Meiner 600. Ich denke mal, dass das damit zusammen hängt.

Wie bist du auf die 1,7km gekommen?
Am fertigen Rad will ich dann eins nehmen, das einen Umfang von einem Meter hat. Also wie die gängigen Messräder.