DIY Chrony mit Arduino UNO

There are 153 replies in this Thread which has previously been viewed 13,077 times. The latest Post (October 2, 2022 at 2:46 PM) was by the_playstation.

  • Hallo zusammen,

    wollte mal mein aktuelles Projekt vorstellen: ein DIY-Chrony auf Basis eines Arduino UNO R3 für Materialkosten von insgesamt unter 20€ :)

    Hatte einfach keine Lust, einen 50€ Billig-Chrony aus China zu kaufen oder weit über 100€ für einen guten auszugeben. Und da ich ohnehin noch einen Arduino UNO rumliegen hatte und von Beruf Anwendungsentwickler bin, habe ich in drei Tagen mal eben schnell meinen eigenen gebaut. 8o Man braucht erstaunlich wenig:

    1x Arduino UNO R3 (ca. 12€)

    1x Multi-Function Shield (2-6€, je nach Anbieter)

    2x Photo-Sensor

    1x 10 kOhm-Widerstand (ja, nur einen)

    2x möglichst helle LEDs + Vorwiderstand

    1x Kunststoffröhre

    Das ist alles. Dank Multi-Function Shield hat man schon Buttons, Display, Speaker etc. und muss nur die zwei Sensoren anschließen. Für einen kann man die Pins für den Temperatur-Sensor nehmen, der bereits den 10 kOhm-Widerstand hat. Die Sensoren in 30cm Abstand in die Kunststoffröhre montieren, LEDs jeweils gegenüberliegend montieren, verdrahten, ein paar hundert Zeilen Code schreiben und auf den UNO laden und los geht's. :thumbup:

    Hab mit einem Testaufbau alle Funktionen getestet und für gut befunden. Leider davon keine Fotos gemacht. Muss jetzt noch auf die bestellte Kunststoffröhre warten, um den finalen Schusskanal bauen zu können.

    Hab dem Teil ordentlich was an Features verpasst: Messergebnis wahlweise in m/s oder Joule, diverse weitere Einstellmöglichkeiten (Gewicht, Sensor-Empfindlichkeit), Echtzeit-Test-Modus für beide Sensoren. Sogar die voreingestellten 30cm Sensor-Abstand können durch den Trimmer auf dem MFS verändert werden. Alles, ohne was am Code ändern zu müssen.

    Anbei ein paar Fotos, soll ja keiner sagen, das klingt zu gut, um wahr zu sein. ;) Mache ein ausführliches Video, wenn der finale Schusskanal gebaut ist.

    Einstellung Geschoss-Gewicht

    Test-Messung (m/s)

  • Toll gemacht. Schon mit einem anderen Chrony gegengecheckt ?

    Der Kluge macht so viel wie möglich richtig, der Weise so wenig wie möglich falsch.

  • Dazu muss der finale Schusskanal fertig sein. Bisher hab ich hauptsächlich diverse "Sachen" durch die Lichtschranken geworfen. ^^ Und ich bräuchte einen anderen Chrony (wenn ich den hätte, hätte ich keinen gebaut). Aber ich checke am Ende mit zwei Druckluftwaffen, dessen Geschwindigkeit mir bekannt ist.

    Im Prinzip kann da aber nicht viel daneben gehen. Die Zeit und Distanz ist bekannt und falsch rechnen wird der Arduino nicht. Ist das Projektil zu schnell, wird ein Fehler erzeugt (also nichts berechnet und damit auch nichts falsches angezeigt).

    Kritisch sind nur die Sensoren. Die müssen gerade eingebaut sein, sonst wird zu früh oder spät ausgelöst. Denke mal, mit +/- 5% Messfehler sollte man rechnen. Reicht mir.

  • wenn man es richtig auslegt, dann kann man das ding auf basis eines esp8266-01S moduls machen und das gesamte interface als fancy webseite auslegen und dann mitm handy auswerten. da krigt man den partcount extrem gedrückt

    da krigste den esp bei menge runter auf 1.50€ und die passiv komponenten sind auch centware. als röhre bietet sich der papp kern von alu oder frischhaltefolie an. die sind stark genug dass die formstabil bleiben wenn man die 4 löcher für die lichtschranken reinbohrt und aus einer rolle krigt man bestimmt 2 schusskanäle zu je 10 cm

    ich denk den krigt man auf unter 5€ gedrückt

  • 428m/s bei 0,52g Gewicht macht 47 Joule.

    Da hat Chuck Norris geworfen ;)

    ich bezweifle das im testaufbau tatsächlich 30cm zwischen den lichtschranken lagen.

    Das war ein Scherz. Vermutlich wurden die Sensoren nebeneinander gelegt und die Hand durch geschlagen. das wären dann etwas mehr als 10m/s bei gleicher Software.

    Für die Genauigkeit lohnt es sich mal den Sample Clock +/-1 zu ändern und den Fehler zu plotten. Also was würde heraus kommen wenn der Capture Input Wert eins größer oder kleiner als erwartet ist. Und dann noch die Entfernung mit +/-0,5cm Fehler.

    Bei Profilichtschranken werden die LEDs mit 1-10khz gepulsed und ein paar Samples verworfen um Störungen zu eliminieren. Aber das dürfte hier nicht möglich sein, deshalb auch die abschattung durch die Röhre.

  • @derBastler_2022 Falls du wegen Rundungen etc. Probleme haben solltest bzw unsicher bist kannst du gerne mal die Umrechnungsroutine zeigen und die Timerinitialisierung mit Clock.

  • Hatte ich so einen ähnlichen nicht schon vor Jahren vorgestellt?

    Ich hatte dann das Schußfenster auf beliebige Größe geändert. Die Exaktheit liegt bei mir bei <0,001m/s und entspricht vom Wert denen anderer Chrony.

    Warum hast Du keinen Display verwendet? Die 7 Segment Anzeige limitiert die Anzeige gewaltig.

    So fehlt z.B. die Anzeige von den Schüssen davor, Mittelwert, Maximalwert, Minimalwert, Joule, Umrechnung in andere Größen, Überschreitung von Sollwerten z.B. 7,5 Joule, ... Ein Matrix Display ist da gefälliger da mehr Daten gleichzeitig angezeigt werden können inkl. der dazu passenden Beschreibung.

    Bin gespannt.

    Gruß Play

    Die Realität ist eine Frage des Wissens. Gruß Play

  • Moin!

    Tolles Projekt! Respekt! :thumbsup:

    Sehr interessant.

    Würde das auch mit einem Arduino Mega laufen? Und wäre das Shield vom Uno verwendbar?

    Arduino Mega habe ich nämlich noch 2 liegen. ;)

    Dazu noch 2 RAMPS Boards und diverse Displays. Wäre Dein Projekt auch damit umsetzbar?

    Da wollte ich mal für meine 3D Drucker mit basteln, aber das Programmieren bekomme ich nicht auf die Reihe.... :(

    Diese Arduino Geschichten sind für mich immer noch (leider) völlig fremdes Terrain.

    Bin auf das Endergebnis sehr gespannt! 8):thumbup:


    Hatte ich so einen ähnlichen nicht schon vor Jahren vorgestellt?

    Gab es dazu jemals Bilder oder ähnliches? Kann ich mich nicht dran erinnern.

    Den Thread hattest du doch beerdigt wenn ich mich nicht irre. Oder?

    Früher war nicht alles besser, nur anders.

    Aber meistens ist anders einfach nur besser! ;)

    8) >>>VDB-Fördermitglied<<< 8)

  • Klar gab es Bilder mit Chronywerten auf dem Display. Wenn man einen anderen Arduino nimmt, paßt halt das Display Shield nicht mehr oder ähnliches. Das Programm muß man dann halt etwas umschreiben für die jeweils anderen Displays, ... Eingabetaster.

    März 2020:

    Beerdigt nur im Sinne von. Bei den Reaktionen hier im Forum und so wie ich angepißt wurde sehe ich keinen Grund, es zu teilen. Würdest Du Jemanden deine Steyr schencken, der dich davor ins Gesicht geschlagen hat?

    Gruß Play

    Die Realität ist eine Frage des Wissens. Gruß Play

    Edited 2 times, last by the_playstation (August 4, 2022 at 11:16 AM).

  • Schenken nicht, aber schießen lassen um ihn vom Gegenteil zu überzeugen.

    Früher war nicht alles besser, nur anders.

    Aber meistens ist anders einfach nur besser! ;)

    8) >>>VDB-Fördermitglied<<< 8)

  • Das geht natürlich. Auch ein 3d Druck Gehäuse hatte ich vorgestellt. War alles schon vor Jahren fertig.

    Hatte 2x Versionen. Eine zum aufstecken und eine mit einem 20*20 Schußfenster. 30*30cm, ... geht natürlich auch. Wäre interessant für Bogenschützen oder AB Schützen z.B. als 1*1m Version ohne gefummel, irgendwo exakt durchschießen zu müssen.

    Gruß Play

    Die Realität ist eine Frage des Wissens. Gruß Play

  • wenn man es richtig auslegt, dann kann man das ding auf basis eines esp8266-01S moduls machen und das gesamte interface als fancy webseite auslegen und dann mitm handy auswerten. da krigt man den partcount extrem gedrückt

    da krigste den esp bei menge runter auf 1.50€ und die passiv komponenten sind auch centware. als röhre bietet sich der papp kern von alu oder frischhaltefolie an. die sind stark genug dass die formstabil bleiben wenn man die 4 löcher für die lichtschranken reinbohrt und aus einer rolle krigt man bestimmt 2 schusskanäle zu je 10 cm

    ich denk den krigt man auf unter 5€ gedrückt

    Dann lass mal Taten folgen. :) Ein loser ESP8266-01S ist komplett unbrauchbar, da der außer einem 8-Pin-Header keine Anschlüsse hat. Du brauchst ein FTDI-Interface, sprich USB-auf-Seriell-Adapter, zum Programmieren (damit sind deine 5€ dann schon weg), eine Stromversorgung für den Stand-alone-Betrieb und laut Datenblatt hat der auch nur einen ADC. Selbst wenn du am Ende mit mehr realistischen 10-12€ hinkommst, brauchst du immer noch ein zusätzliches WLAN-fähiges Gerät wie Smartphone oder Notebook. Dann kann man auch gleich so eine "Mikrofon"-Lösung bauen. Aber will dich nicht abhalten - an einem 5€-Chrony gibt's sicher auch Interesse.

    Das war ein Scherz. Vermutlich wurden die Sensoren nebeneinander gelegt und die Hand durch geschlagen. das wären dann etwas mehr als 10m/s bei gleicher Software.

    Fast, so hab ich aber am Anfang tatsächlich getestet. Das Foto oben ist durch einen Unit Test entstanden, den ich mir auf die dritte Taste gelegt habe. Der triggert die Sensoren mit einem festen Zeitwert, so dass ich die Berechnung überprüfen kann. Und ja, Joule kommt hin. 47,75 berechnet er. :)

    Warum hast Du keinen Display verwendet? Die 7 Segment Anzeige limitiert die Anzeige gewaltig.

    So fehlt z.B. die Anzeige von den Schüssen davor, Mittelwert, Maximalwert, Minimalwert, Joule, Umrechnung in andere Größen, Überschreitung von Sollwerten z.B. 7,5 Joule, ... Ein Matrix Display ist da gefälliger da mehr Daten gleichzeitig angezeigt werden können inkl. der dazu passenden Beschreibung.

    Weil auf dem MFS nunmal dieses Display drauf ist und ich das schon da hatte. Ich denke auch anders: mit Limitierungen zu arbeiten ergibt bessere Ergebnisse, weil man sich mehr Gedanken macht. Ich brauche die Anzeige von duzenden Werten nicht gleichzeitig. Man kann einstellen, ob man m/s oder Joule angezeigt bekommen will. Überscheitung von Grenzwerten wird optisch (durch blinkende LEDs) und auch akustisch angezeigt.

    Min, Max und Durchschnitt habe ich bisher nicht eingebaut. Brauche ich persönlich auch nicht. Muss schauen, ob am Ende im Flash noch genug Platz frei ist, um das einzubauen.

    Jetzt warte ich erstmal noch auf die neue Röhre. :thumbsup:

  • Danke. :)

    Dieses Shield läuft leider nur am UNO und LEONARDO.

    Im Prinzip sollte sich die Software aber auf alles spielen lassen, was über die Arduino IDE unterstützt wird. Natürlich muss der Flash-Speicher groß genug sein (32K) und man muss alles an die Hardware anpassen, was INPUT/OUTPUT angeht.

  • Ging mir genau so. Hatte noch den Uno und das Display Shield rumliegen. Die Idee und Konzept war schnell fertig. Nur das Warten auf die Bauteile war nervig. Ich habe Einen Laserpointer-Laser genommen. Dadurch ist die Abschattung sauberer und die Meßkurve exakter. Funktioniert auch für schnelle Großkaliber.

    Habe damit dann noch eine Meßeinrichtung für RC Autos gemacht. Rundenzähler, Rundenzeiten, Geschwindigkeit, .....

    Bin gespannt! :thumbsup:

    Die Realität ist eine Frage des Wissens. Gruß Play

    Edited once, last by the_playstation (August 4, 2022 at 11:16 AM).

  • Laser hatte ich mir auch überlegt, aber hab zum einen keine da (helle LEDs hingegen massig) und denke auch, man muss dann die Mitte beim Schießen durch den Kanal verdammt genau treffen, weil man den Laser unterbrechen muss..?

    Klar, die LEDs machen das ungenauer. Aber wenn beide Sensoren exakt gleich gebaut sind und bei gleichem Schwellenwert getriggert werden (und man gerade schießt ;) ), hebt sich die Ungenauigkeit größtenteils auf, da man nur die zeitliche Differenz misst. Die ändert sich ja nicht, wenn z.b. beide Sensoren um den gleichen Wert zu früh oder zu spät getriggert werden.

    Aber wie geschrieben, das soll kein Gerät mit Laborgenauigkeit werden.

  • Laser hatte ich mir auch überlegt, aber hab zum einen keine da (helle LEDs hingegen massig) und denke auch, man muss dann die Mitte beim Schießen durch den Kanal verdammt genau treffen, weil man den Laser unterbrechen muss..?

    Klar, die LEDs machen das ungenauer. Aber wenn beide Sensoren exakt gleich gebaut sind und bei gleichem Schwellenwert getriggert werden (und man gerade schießt ;) ), hebt sich die Ungenauigkeit größtenteils auf, da man nur die zeitliche Differenz misst. Die ändert sich ja nicht, wenn z.b. beide Sensoren um den gleichen Wert zu früh oder zu spät getriggert werden.

    Aber wie geschrieben, das soll kein Gerät mit Laborgenauigkeit werden.

    Naja, rein rechnerisch ist da fix mal 0,5m/s Fehler drin, vor allem wenn man hohe Geschwindigkeiten nahe der 7,5 Joule messen möchte. Aber das ist m.M.n für die angedachte Anwendung völlig egal.

  • Also um 0,5 m/s mache ich mir keinen Kopf. Die Nachkommastellen zeige ich bei m/s aktuell nicht mal an. :saint: (nur bei Joule, weil da natürlich wichtig)

  • Solche Projekte finde ich immer spannend.

    Ich sehe Elektronikkram und Kauderwelsch auf einem Monitor, und es fasziniert mich.

    Ich denke mir dann, daß ich sowas auch bauen könnte, wenn schon alles da ist.

    (Versandkosten sind in Euren Rechnungen nicht existent)

    Die Minicomputer sind schon fix und fertig, paar Kabel an Widerstände und LED löten,

    ein Programm auf die Elektronik laden und irgendwas mit weißem Bastelkleber.

    Es klingt so einfach.

    <

    Ich zeige Eure Worte dann Google und lasse mir die Ergebnisse zeigen.

    Ein Teil mit Nummern und Buchstaben.

    *Ach, schau an, das ist was mit WLAN. Okay, das ist dann die Datenübertragung.*

    Okay, Google. Was ist MFS? Antwort:

    "Das Ministerium für Staatssicherheit, auch kurz StaSi genannt, ...

    Okay, Google. STOP!

    <

    10 REM Mitlesekommentar

    Gruß, Ralf
    Alt, aber bewaffnet. :thumbsup:

    Orbis non sufficit quod Omnia tempus habent.