Softwareunterstützter Laufradbau mit günstigen Bauteilen von Aliexpress

dunkelfalke

Schraubär
Registriert
19. August 2011
Reaktionspunkte
278
Ort
Hochtaunus
Wie bereits in dem China-Teile - Laber-Thread angekündigt, möchte ich aus Teilen und Werkzeugen von Aliexpress irgendwas machen, was mich beim Laufradbau unterstützt. Geplant ist eine Software, welche die Speichenspannung auf dem gesamten Laufrad grafisch darstellt, ohne dass man in die Tabellen schauen muss, später dann noch die Höhen- und die Seitenschläge und vielleicht sogar die Zentrierung direkt auf dem Zentrierständer. Weiterhin möchte ich für das verwendete Werkzeug eine Tabelle für die meisten gängigen Speichen machen. Für die Spannungsmessung wird Toopre TL-P11 verwendet, das Gerät gibt es regelmäßig für unter 30 Euro. Als Recheneinheit habe ich erstmal einen Arduino Nano genommen (kostet um die 4 Euro), später werde ich den vermutlich durch einen ESP32 ersetzen, damit ich die Daten auf den PC bzw Android in Echtzeit über Bluetooth übertragen kann. Ich werde dieses Thema schrittweise erweitern, die komplette Software und die Speichentabelle werde ich auf github stellen, damit das jeder nachbauen kann.

Wer Ideen für die Software hat, oder mir eine Speiche, die ich nicht habe, zum Ausmessen spenden kann (ich brauche nur jeweils eine, aber J-Bend) - meldet euch einfach. Folgende Speichentypen habe ich bereits und werde sie nach und nach ausmessen:

DT Swiss: Champion, Competition, Supercomp, Revolution, Alpine, Alpine III, Aero Speed, Aero Comp, Aerolite
Sapim: Race, Superspoke, CX-Ray, CX-Sprint
Pillar: PDB 1415, PDB 1417, PSR TB 2018, PBA 1420
cnSPOKE: STD 14C, Mac 424

arduino speichen.jpg
 
Das klingt sehr interessant, allerdings habe ich nicht ganz verstanden was du genau machen möchtest.

Als Vorarbeit für alle gängigen Speichen die Spannungskurven ermitteln, soweit klar.

Und dann geht es darum beim (fertigen) Laufrad mit dem kopplungsfähigen Digitaltensio einmal im Kreis alle Speichen der Reihe nach durchzumessen, die Messwerte an den Rechner zu übertragen und dort dann daraus ein Netzdiagramm mit zwei Linien zu erstellen?

Die Frage ist nun aber, wie diese Vorgehensweise den eigentlichen Bau des Laufrades im Sinne von Zentrieren unterstützen soll, oder ist das nur für Protokollierungszwecke gedacht?
 
Die Übertragung soll in Echtzeit passieren, an den Zentrierständer kommen auch zwei solche Meßuhren, so dass gleichzeitig zum Messen der Speichenspannung der Höhen- und der Seitenschlag an jeder Speiche gemessen wird. Falls mein Laser-Entfernungsmesser präzise genug ist, müsste ich damit auch die Zentrierung berechnen können, so dass man keine Zentrierlehre mehr braucht.

Das soll dann alles in der Software dargestellt werden, so ähnlich wie hier:
https://bikerumor.com/wp-content/up...e-Tension-App-builds-perfect-wheels_graph.jpg

Der erste Schritt ist aber schon mal, dass ich beim Spannen der Speichen direkt an dem Arduino-Display die Spannung ablesen kann, ohne dass ich in die Tabelle schauen muss.
 
die Zentrierung berechnen können, so dass man keine Zentrierlehre mehr braucht.

Das ginge auch mit der Umschlagprüfung nur mit deiner Messuhr für den Seitenschlag:
Mitte = (Min_L + Max_L + Min_R + Max_R) / 4

Man braucht dafür zwar einen Schritt mehr, weil man das Laufrad wenden muss, aber dafür wäre die Methode sehr genau, verzichtet auf ein weiteres Messinstrument und könnte sogar teilautomatisiert werden.


Das soll dann alles in der Software dargestellt werden, so ähnlich wie hier:

So etwas hatte ich schon vermutet, aber das verlinkte Bild scheint nur für Protokollierungszwecke zu sein. Mir ist noch nicht ganz klar, wie eine solche Grafik während des Zentriervorgangs helfen kann.

Dass der Zahlenwert auf der Tensioskala in eine Vorspannkraft umgerechnet wird, ist sicherlich komfortabel. Es müsste dann aber die Möglichkeit geben schnell zwischen zwei Speichen Profilen hin- und herzuwechseln, praktisch per Knopfdruck, falls unterschiedliche Speichen auf beiden Seite verwendet werden, so wie bei deinen letzten Laufrädern auch.
 
Zuletzt bearbeitet:
Das ginge auch mit der Umschlagprüfung nur mit deiner Messuhr für den Seitenschlag:
Mitte = (Min_L + Max_R) / 2

Man braucht dafür zwar einen Schritt mehr, weil man das Laufrad wenden muss, aber dafür wäre die Methode sehr genau, verzichtet auf ein weiteres Messinstrument und könnte sogar teilautomatisiert werden.

Jepp, das habe ich mir auch schon gedacht, aber so einen Laser-Entfernungsmesser dafür zu nehmen fand ich ziemlich interessant. Kann gerne beide Möglichkeiten einbauen.

So etwas hatte ich schon vermutet, aber das verlinkte Bild scheint nur für Protokollierungszwecke zu sein. Mir ist noch nicht ganz klar, wie eine solche Grafik während des Zentriervorgangs helfen kann.

Ich persönlich weiß noch nicht, ob und wie das hilft, aber zumindest ein Benutzer sieht das so.

Dass der Zahlenwert auf der Tensioskala in eine Vorspannkraft umgerechnet wird, ist sicherlich komfortabel. Es müsste dann aber die Möglichkeit geben schnell zwischen zwei Speichen Profilen hin- und herzuwechseln, praktisch per Knopfdruck, falls unterschiedliche Speichen auf beiden Seite verwendet werden, so wie bei deinen letzten Laufrädern auch.
Genau, das war der Plan, oder zwei Werte gleichzeitig an einem vierzeiligen Display anzeigen, für links und für rechts. Weiß noch nicht, was besser ist und der Preisunterschied bei den Displays ist nur 1 Euro oder so. Falls nichts dazwischenkommt, werde ich die Umschaltmöglichkeit am Wochenende einbauen und den Quellcode auf github stellen. Das größere Display ist noch unterwegs, kann also etwas dauern.
 
Die Frage ist nun aber, wie diese Vorgehensweise den eigentlichen Bau des Laufrades im Sinne von Zentrieren unterstützen soll, oder ist das nur für Protokollierungszwecke gedacht?
Wenn ich alle paar Jahre mal ein Rad baue, messe ich (auf der Zielgeraden, aber eben noch nicht am Ende) die Speichenspannungen und lasse mir ein einfaches Spinnennetz dazu anzeigen. Die letzten Nippeldrehungen sind dann der Kompromiss aus möglichst kleiner spannungsmäßiger und geometrischer Abweichung - meistens konvergiert das ganz ok.

Wenn es jetzt noch die Zaubereinrichtung dazu gäbe, die mir die Geometrie (Seiten-/Höhenschlag) automatisch erfasst und ebenfalls visualisiert, fänd ich das entzückend. Einfach Laufrad eine Runde drehen lassen und das Gizmo liest automatisch die Messuhrenwerte aus (z.B. getaktet anhand eines "Speichenzählers" oder etwas in der Art).

Man hat damit quasi den (momentanen) Laufradzustand kartografiert und sieht, was wo wahrscheinlich noch nicht stimmt. Ganz besonders, wenn man sich nicht auf jahrelange Routine verlassen kann, gibt das dem ganzen Vorgang mehr Struktur. Man rennt nicht mehr "planlos" den Extrempunkten hinterher, sondern bekommt recht früh ein ganz gutes Gefühl für das Gesamtbild und kann zielgerichteter eingreifen.
 
Zuletzt bearbeitet:
So, der erste commit ist auf github. Diese Version hat nur Sapim Race hardcodiert, aber die Version gibt es nur als Backup bevor ich (falls nichts dazwischen kommt) am Wochenende so richtig viele Änderungen mache.
https://github.com/dunkelfalke80/spokeduino

Was für das WE geplant ist:
  • Die erste kleine Datenbank mit den Kalibrierungen von 10 gängigsten Speichen
  • Auswahlmenü für die linke und die rechte Speiche
  • Umschalten zwischen links und rechts mit einem Fußpedal, damit der Tensiometer nicht abgelegt werden muss
Was für Januar geplant ist:
  • Datenbankerweiterung
  • Dafür eine Speichererweiterung mit einem FeRAM-Modul
  • LCD mit 4 Zeilen
  • Bauanleitung
Danach ist die Entwickung für die Standalone-Version abgeschlossen, falls keine Featurevorschläge kommen. Das Gerät ist dann einsatzbereit. Danach setze ich mich an die PC-Software, werde dann die Hardware und die Firmware entsprechend dafür anpassen, wenn ich soweit bin. Dann mache ich vielleicht noch eine Platine dafür, damit das Gerät weniger Platz braucht.

Die jetzige Hardware sieht so aus:

IMG_20250104_003713_880.jpg
 
Sehr geil! Kann leider nix betragen, finde das aber echt spanend und sehr cool das du das hier teilst! Respekt
 
Ich habe drei unterschiedliche Speichen ausgemessen, zwischen 400N und 1500N in 100N-Schritten. Habe dann daraus ein Diagramm erstellt und sofort gesehen, dass alle drei recht ähnliche Kurvenverläufe haben.
Und danach, muss ich gestehen, habe ich ChatGPT mit den Daten gefüttert und gebeten, daraus eine Gleichung zu bauen, die lediglich unterschiedliche Koeffizienten haben, damit ich auch vernünftige Zwischenwerte haben kann. Softwareentwicklung im Embeddedbereich kann ich recht gut, aber diese Art von Mathematik ist 25 Jahre her und ich kann mich an nichts mehr erinnern, daher. Ich werde noch mehr Speichen ausmessen, falls die Gleichung dann nicht mehr aufgeht, kann ich immer noch auf die reinen Messergebnisse zurückfallen und für die Werte zwischen zwei Messpunkten den linearen Wert errechnen, dafür brauche ich kein ChatGPT.

Das sind meine Messdaten:

Code:
Newton     PBA 420    PDB 1415    Alpine 3
400            1,14        2,21        2,37
500            1,27        2,36        2,54
600            1,37        2,52        2,67
700            1,44        2,60        2,74
800            1,53        2,70        2,84
900            1,59        2,78        2,92
1000          1,66        2,86        3,00
1100          1,70        2,92        3,05
1200          1,75        3,02        3,12
1300          1,80        3,07        3,16
1400          1,82        3,14        3,23
1500          1,87        3,18        3,26
 
Zuletzt bearbeitet:
Ich muss jetzt auch noch mal blöd fragen: Das unmittelbare Etappenziel sind erst mal nur
  1. digitale Umrechnungs-/Kalibrierkurven für das verwendete Tensiometer (und diverse Speichentypen) und
  2. die Arduino-Blackbox, welche aus dem Messwert mittels passender Kurve einen Spannungswert macht
?


Ich bin mir nicht sicher, ob der zweite Teil notwendig ist (bzw. wozu). Perspektivisch würde doch sowieso ein PC oder eine Android-Kiste angeschlossen(?) Dort kann dann auch jedwede Umrechnung stattfinden.

Die Probleme an der Stelle sind eher prozesstechnischer Natur: Du willst ~30x sehr zügig hintereinander messen, ohne nennenswert umgreifen/absetzen zu müssen und hast keine Hand frei. Das heißt, eigentlich geht es erst mal "nur" darum, den Messwert zum richtigen Zeitpunkt an den PC zu übermitteln. Ich nehme an, dass die geplante Pedaleingabe dafür gedacht ist.

Kleine Kisten, die per Knopfdruck den Messwert der Uhr übermitteln, gibt es für viele elektronische Messuhren fertig zu kaufen. Längeres Kabel und noch ein bisschen 3D-Druck ringsrum und man hat einen Fußtaster. Eine komplette Eigenentwicklung würde sich insofern nur über nennenswerten Mehrwert demgegenüber rechtfertigen.
 
So gibt es nur eine Kiste statt drei, da ich auch die Messuhren am Zentrierständer anschließen will. Ist dann auch relativ einfach, auf Bluetooth umzurüsten. Und wenn man nur mal eben ein Rad überprüften will, muss man dann auch nicht den PC dafür einschalten, die wichtigstesn Infos sind alle in einem kompakten Gerät. Das Fußspedal ist in diesem Standalone-Modus zum Umschalten zwischen zwei Speichentypen gedacht.
 
Hier sind noch zwei Messungen.

DT Comp:
Newton;mm
1500;3,14
1400;3,1
1300;3,05
1200;3
1100;2,94
1000;2,87
900;2,8
800;2,73
700;2,64
600;2,53
500;2,43
400;2,28

DT Champion:
Newton;mm
1500;3,49
1400;3,45
1300;3,39
1200;3,36
1100;3,28
1000;3,22
900;3,15
800;3,06
700;2,96
600;2,88
500;2,77
400;2,62
 
Das sind meine Messdaten:

Code:
Newton     PBA 420    PDB 1415    Alpine 3
400            1,14        2,21        2,37
500            1,27        2,36        2,54
600            1,37        2,52        2,67
700            1,44        2,60        2,74
800            1,53        2,70        2,84
900            1,59        2,78        2,92
1000          1,66        2,86        3,00
1100          1,70        2,92        3,05
1200          1,75        3,02        3,12
1300          1,80        3,07        3,16
1400          1,82        3,14        3,23
1500          1,87        3,18        3,26
Ich glaube, die erste Speiche ist eine PBA 1420.

Und danach, muss ich gestehen, habe ich ChatGPT mit den Daten gefüttert und gebeten, daraus eine Gleichung zu bauen, die lediglich unterschiedliche Koeffizienten haben, damit ich auch vernünftige Zwischenwerte haben kann.
Mit deinen Rohdaten habe ich nochmals den Ansatz von ChatGPT überprüft. Der ist nicht ganz schlecht. Dennoch hat er ein paar größere Abweichungen.

1736027609983.png


Die hellblaue Linie ist die Kurve, die sich durch deine Formel von ChatGPT ergibt. Die roten Punkte sind deine originalen Messpunkte. Die dunkelblaue Kurve ist die Abweichung der gemessenen Werte zur geglätteten Ausgleichskurve der Formel. Die Abweichung beträgt rund ±40N, das ist nicht ganz ohne.
Daher würde ich diesen Ansatz 👇 auch nicht wählen:
kann ich immer noch auf die reinen Messergebnisse zurückfallen und für die Werte zwischen zwei Messpunkten den linearen Wert errechnen


Den größten Nachteil der Formel sehe ich in der "Abhängigkeit" von einem externen Programm. Man muss die Referenzpunkte aufnehmen, und dann ein "Orakel" befragen, daraus einen Zusammenhang herzustellen. Das Ergebnis muss dann wiederum in das Programm einprogrammiert werden, um die Daten nutzen zu können.


Ich habe daher mal aus deinen Rohdaten eine "eigene" Kurve erstellt.

1736028212616.png


Die orangene Kurve ergibt sich nun aus meiner ermittelten Formel. Die grüne Kurve stellt wiederum die Abweichung der Messwerte von der geglätteten Ausgleichskurve dar. Dabei konnte ich die Abweichungen mit ±23N ungefähr halbieren.

Die orangene Kurve ist ein Ausgleichspolynom zweiten Grades. Ich hab auch spaßeshalber mal ein Ausgleichspolynom dritten Grades getestet, aber der Unterschied lag im Bereich von lediglich 0,5N weil die original Messwerte schon sehr nahe an der Kurve liegen und nicht all zu sehr streuen.


Der enorme Vorteil wäre zudem, dass sich diese Art von Ausgleichskurven komplett ohne externe Programme erstellen lässt, und über einen entsprechenden Code in der Software könnte man weitere Speichenprofile nachträglich kalibrieren und abspeichern.
 
Zuletzt bearbeitet:
Dankeschön! Könntest du vielleicht noch anhand der Werte von DT Comp und Champion überprüfen, ob die Formel noch passt? Ich hoffe, die Abweichungen werden jetzt kleiner sein - habe sauberer gemessen. Die nachträglichen Kalibrierungen der Speichenprofile hatte ich auch vor, alleine schon weil nicht jeder den gleichen Tensiometer nutzt, das kommt aber erst in der PC-Software. Und ich bin auf die Formel auf jeden Fall gespannt.
Zum Statusupdate: habe heute weniger geschafft, als geplant, aber es geht voran. Habe ein kleines Hilfsprogramm in C# hinzugefügt zum Ausmessen der Speichen. Denke, das wäre vorerst der richtige Ort für die Berechnung der Ausgleichskurven, bis die PC-Software geschrieben ist.
 
Die orangene Kurve ergibt sich nun aus meiner ermittelten Formel. Die grüne Kurve stellt wiederum die Abweichung der Messwerte von der geglätteten Ausgleichskurve dar. Dabei konnte ich die Abweichungen mit ±23N ungefähr halbieren.
Ich will gleich gestehen, dass ich bei Regressionsanalyse mindestens 1x zu oft Kreide holen war. Aber allein auf Basis der Methode des scharfen Hinsehens kommen mir die Hüpfer in den Messwerten eher wir zufälliges Rauschen dieser einen Messreihe vor. Denen würde ich bei der Modellierung nicht allzu sehr nachrennen. Hinzu kommt, dass der interessante Bereich eh begrenzt ist (vielleicht ~600...1.200 N?) - falls die anderen Messwerte ähnlich aussehen, hätte ich nicht mal Bauschmerzen, da einfach eine Gerade hineinzulegen (d.h. Anfang und Ende ignorieren).

Ungeachtet dessen: Gibts irgendeine Lehrbuchformel für die Auslenkung als Funktion der Speichenkraft (das ganze entspricht ja ungefähr einem Seilspannungsmessgerät)?
 
Zuletzt bearbeitet:
Den größten Nachteil der Formel sehe ich in der "Abhängigkeit" von einem externen Programm. Man muss die Referenzpunkte aufnehmen, und dann ein "Orakel" befragen, daraus einen Zusammenhang herzustellen. Das Ergebnis muss dann wiederum in das Programm einprogrammiert werden, um die Daten nutzen zu können.
Das muss man doch in jedem Fall, ganz unabhängig vom Formeltyp(?) Ob das externe Programm nun eine lokale Excelinstanz ist oder irgendein Elektroheizkwerk mit KI in Übersee ... der Aufwand, die Messwerte mit Maschinenorakel in einen Funktionszusammenhang zu überführen und irgendwo zu implementieren, bleibt.
 
Ugh. Meine Streckbank für die Speichen hat sich gerade zerlegt. Muss eine stabilere bauen. Egal, 5 Stück reichen um die Firmware weiterzuentwickeln und sobald die Ersatzteile da sind, geht es auch mit den Messungen weiter.
 
Zurück