ich bin im Internet vor einiger Zeit über eine interessante Bauidee gestolpert.
Einen digitalen Hau den Lukas. Leider gab es keine genaue Beschreibung , nur ein paar Fotos. Also muss ich den größte Teil des HDL von Grund auf planen / bauen.
Ich hatte folgende Bedingungen :
Er sollte
- für kleine Kinder ( ab 8 Jahren ) und für Erwachsen benutzbar sein.Also eine anpassbaren
Schwierigkeitsgrad haben.
- Indor / outdor benutzbar sein.
- leicht zu transportieren sein.
- Ausbaufähig sein.
Interessante Idee. Klingt nach einem spaßigen Bastel-Projekt.
Mich würde ja mal interessieren, wie gut das mit dem Drucksensor hinsichtlich Latenz funktioniert. Könnte mir vorstellen, dass in den (industriellen) Anwendungen, bei denen solche Sensoren üblicherweise genutzt werden, häufig vergleichsweise langsame Veränderungen erwartbar sind und Präzision (bei statischen Druck) einen höheren Stellenwert hat als Reaktionszeit. Bis dorthin, dass bei vielen Anwendungen eine Messung pro Sekunde theoretisch ausreichend wäre.
Für einen Hammerschlag bräuchte man aber wohl eine sehr gute zeitliche Auflösung im Bereich weniger Millisekunden, damit man auch wirklich immer zuverlässig genau den Moment erfassen kann, in dem die Kraft maximal ist und nicht zufällig ein paar Millisekunden davor oder danach misst. Könnte mir vorstellen, dass das ein Problem sein könnte.
Also ich bin mir ziemlich sicher, dass dieses Problem lösbar ist (falls es überhaupt ein Problem ist). Bin nur neugierig, wie deine Erfahrungen diesbezüglich sind.
(08.06.2019)Markus schrieb: [ -> ]Interessante Idee. Klingt nach einem spaßigen Bastel-Projekt.
Mich würde ja mal interessieren, wie gut das mit dem Drucksensor hinsichtlich Latenz funktioniert. Könnte mir vorstellen, dass in den (industriellen) Anwendungen, bei denen solche Sensoren üblicherweise genutzt werden, häufig vergleichsweise langsame Veränderungen erwartbar sind und Präzision (bei statischen Druck) einen höheren Stellenwert hat als Reaktionszeit. Bis dorthin, dass bei vielen Anwendungen eine Messung pro Sekunde theoretisch ausreichend wäre.
Für einen Hammerschlag bräuchte man aber wohl eine sehr gute zeitliche Auflösung im Bereich weniger Millisekunden, damit man auch wirklich immer zuverlässig genau den Moment erfassen kann, in dem die Kraft maximal ist und nicht zufällig ein paar Millisekunden davor oder danach misst. Könnte mir vorstellen, dass das ein Problem sein könnte.
Also ich bin mir ziemlich sicher, dass dieses Problem lösbar ist (falls es überhaupt ein Problem ist). Bin nur neugierig, wie deine Erfahrungen diesbezüglich sind.
Das kann ich dir erklären ....
Der Sensor an sich ist nicht das Problem , der Arduino ist einfach nur zu langsam, bzw. der Impuls ist zu kurz 1 ms. Der Arduino schafft eine Abtastrate von 2 ms ( im besten Fall ). Dies hat zur folge das er die Spitze des Impulses verpasst .
Gelöst wurde das mit der kleine Kiste ( auf dem ersten Bild , hinter dem Schlagblock ) .
Die Verlänger den Impuls auf 3ms , so kann der Arduino den Spitzenwert messen.
Ggf. werde ich in Zukunft die Kiste umbauen , sodass der Impuls auf 4-5 ms verlängert wird, nur um sicher zu gehen.
Ah, war ich mit meiner Vermutung also tatsächlich richtig gelegen. Cool.
Außerdem natürlich erfreulich, dass du es auch geschafft hast, das zu lösen.
Wobei wir hier jetzt eine klassische Black Box Situation haben. Ich hatte mir eigentlich eine etwas mehr technische Erklärung erhofft, was in deiner "kleine Kiste" nun drin ist und wie das funktioniert.
(09.06.2019)Markus schrieb: [ -> ]Ah, war ich mit meiner Vermutung also tatsächlich richtig gelegen. Cool.
Außerdem natürlich erfreulich, dass du es auch geschafft hast, das zu lösen. [emoji2]
Wobei wir hier jetzt eine klassische Black Box Situation haben. Ich hatte mir eigentlich eine etwas mehr technische Erklärung erhofft, was in deiner "kleine Kiste" nun drin ist und wie das funktioniert.
Ich kann später mehr Details posten .
(09.06.2019)Saij schrieb: [ -> ]Wenn der Arduino zu langsam ist, schonmal dran gedacht nen Teensy zu nutzen? Finde ich mittlerweile eh den besseren Arduino
Nein, habe net drann gedacht .... taster der schneller ab ??
(09.06.2019)Lux schrieb: [ -> ]der Arduino ist einfach nur zu langsam, bzw. der Impuls ist zu kurz 1 ms. Der Arduino schafft eine Abtastrate von 2 ms ( im besten Fall ). Dies hat zur folge das er die Spitze des Impulses verpasst .
Was, nur 500Hz Abtastrate? Das kommt mir aber etwas sehr wenig vor. Da hat ja ein C64 schon mehr geschafft (mit nem ZN427 am Userport), bei nichtmal 1MHz CPU-Takt. Sollten das vielleicht µs sein?
(09.06.2019)Lux schrieb: [ -> ]der Arduino ist einfach nur zu langsam, bzw. der Impuls ist zu kurz 1 ms. Der Arduino schafft eine Abtastrate von 2 ms ( im besten Fall ). Dies hat zur folge das er die Spitze des Impulses verpasst .
Was, nur 500Hz Abtastrate? Das kommt mir aber etwas sehr wenig vor. Da hat ja ein C64 schon mehr geschafft (mit nem ZN427 am Userport), bei nichtmal 1MHz CPU-Takt. Sollten das vielleicht µs sein?
Ich denke net ....
Mein Script hat beim Testen eine Abtastrate von 2 ms ergeben .... ( alles ohne Gewähr )
(09.06.2019)mowny schrieb: [ -> ]Was, nur 500Hz Abtastrate? Das kommt mir aber etwas sehr wenig vor. Da hat ja ein C64 schon mehr geschafft (mit nem ZN427 am Userport), bei nichtmal 1MHz CPU-Takt. Sollten das vielleicht µs sein?
Hmm, die offizielle Arduino-Seite sagt dazu folgendes:
Zitat:On ATmega based boards (UNO, Nano, Mini, Mega), it takes about 100 microseconds (0.0001 s) to read an analog input, so the maximum reading rate is about 10,000 times a second.
(09.06.2019)mowny schrieb: [ -> ]Was, nur 500Hz Abtastrate? Das kommt mir aber etwas sehr wenig vor. Da hat ja ein C64 schon mehr geschafft (mit nem ZN427 am Userport), bei nichtmal 1MHz CPU-Takt. Sollten das vielleicht µs sein?
Hmm, die offizielle Arduino-Seite sagt dazu folgendes:
Zitat:On ATmega based boards (UNO, Nano, Mini, Mega), it takes about 100 microseconds (0.0001 s) to read an analog input, so the maximum reading rate is about 10,000 times a second.
2 ms scheint da in der Tat etwas langsam, aber wenn gleichzeitig noch andere Prozesse laufen, könnte es durchaus realistisch sein.
Ich denke dieser Wert ist , wenn er NUR analogread macht ... beim HDL , hat er noch ein par andere Dinge zu tun ... Werte vergelichen / speichern .
STARTPOST wurde um ein Video / Foto ergänzt .
Wenn man den Einschlagszeitpunkt eingrenzen könnte, könnte man vorübergehend anderen Kram wie LED-Ansteuerung mal aussetzen, und die ganze CPU-Power aufs sampling konzentrieren.
Mit Industrietechnik ist das irgendwie alles einfacher...
(09.06.2019)404compliant schrieb: [ -> ]Wenn man den Einschlagszeitpunkt eingrenzen könnte, könnte man vorübergehend anderen Kram wie LED-Ansteuerung mal aussetzen, und die ganze CPU-Power aufs sampling konzentrieren.
Mit Industrietechnik ist das irgendwie alles einfacher...
Der ganze Code ist eine State Machine , und in dem State macht er
- Analog read
- Wert speichern
- Wert erneut lesen
- Wenn neuer Wert größer als gespeicherter Wert , dann Wert ersetzen.
-- und wieder vomAnfang , bis --
- Wenn neuer Wert kleiner als gespeicherter Wert , dann erste gehts weiter.
Durch die State Machine , ist der Zeitpunkt ja schon eingegrenzt .