Hallo, folgendes Projekt versuche ich gerade zu realisieren. Auf einer Dartscheibe soll die Position des geworfenen Darts über akustische Triangulation bestimmt werden. Dazu sollen 3-4 Mikrofone über den Umfang verteilt werden und auf einen starken Anstieg also einem plötzlichen Geräusch, wie dem Aufprall des Dartpfeils triggern. Über die Zeit, die vergeht, bis alle Mikrofone den Peak empfangen haben könnte man dann die Position ermitteln. Bei einer Schallgeschwindigkeit von 300 m/s würde 1 mm Weg 3,3 µs entsprechen. Über eine Schaltung sollen die Mikrofone bereits ihr analoges Signal in ein digitales Signal für einen Peak umwandeln. Das bedeutet der Microcontroller muss nurnoch auf einen Peak an einem der vier Eingänge warten und dann die Zeit bis zu den anderen drei Signalen messen. Meine Frage ist nun wie ich diese Zeitmessung am besten realisieren kann. Je genauer die Zeitmessung ist, umso besser kann die Position bestimmt werden. Da ich mich nicht so gut in dem Thema auskenne hoffe ich auf eure Anregungen und Ideen. Über mögliche Probleme die ihr in diesem Ansatz seht wäre ich auch dankbar. Vielen Dank.
Spontan würde ich einen langsam laufenden Timer regelmäßig einen Interrupt auslösen lassen (z.B. alle 250 ms), der als Timeout funktioniert und ein Array zurücksetzt. Dann würde ich einen schnell und frei laufenden Timer nehmen und sofort bei Ankunft eines Mikrofonsignals auslesen (entweder in einer Schleife oder mit Interrupts) und den langsamen Timer zurücksetzt. Da die absoluten Werte dieses Timers egal sind (wichtig sind die Differenzen), spielen Überläufe keine Rolle. Wenn alle N Mikrofone ihr Signal erhalten haben, wertest du das Array mit den Messwerten aus und setzt das Array dann zurück. Die Zählgeschwindigkeit des schnellen Timers gibt an, wie genau deine Messung ist, wird aber dadurch begrenzt, dass du maximal einen Überlauf pro Messperiode haben darfst. In deinem Fall ist die Rechenzeit eher irrelevant, weil du nach einer Messphase relativ viel Zeit hast, bis der nächste Pfeil eintrifft.
Das klingt gut. Ein Capture Register sollte das schaffen. Als Schaltung könnte das gehen: http://www.electroschematics.com/10166/piezo-trigger-switch/
pegel schrieb: > Das klingt gut. > Ein Capture Register sollte das schaffen. > > Als Schaltung könnte das gehen: Hm. Und wenn der Pfeil in der Mitte auftrifft, dann kommen an allen drei bis vier Pins gleichzeitig Capture-pulse. Ich zweifle, dass man das mit einem uC so ohne weiteres aufnehmen kann ohne ein Event zu verpassen oder zu verspäten. Vorausgesetzt, er hat nicht vier einzelne, synchron laufende Zähler. Ich würde das mit je einem einzelnen Zähler-IC pro Mikrofon machen und die Zähler synchron takten. Ein Schmitt-Trigger würde dann ein Halt-Signal (verlängert über ein FlipFlop oder Monoflop) auf die Zähler geben. Über den uC kann man dann ganz gemütlich pollen, ob alle vier Zähler ausgelöst haben und dann alle Zähler auslesen und zurücksetzen. So verpasst man garantiert keinen Puls, wenn sie (quasi) zeitgleich kommen.
:
Bearbeitet durch User
> Bei einer Schallgeschwindigkeit von 300 m/s würde 1 mm Weg 3,3 µs entsprechen.
Das setzt voraus, dass ein Mikrofon 3.3 µs als Impulsantwort auflösen
kann. Ist das realistisch?
Man muss die Piezos nicht symmetrisch anordnen. Dann ist das gleichzeitige Eintreffen des Impulses nicht mehr möglich.
Und wieder Bedenken: In einer dreieckigen Anordnung gibt es immer einen Schwerpunkt, so dass ein 'gleichzeitiges' Eintreffen immer möglich ist.
Korrektur: streiche Schwerpunkt; ersetze durch Schnittpunkt der Mittelsenkrechten.
Bei 3 klar, bei 4 nicht. Man kann dann mit 2 Dreiecken rechnen. Erhöht damit auch die Genauigkeit.
ich würdle mit dem 1. Eintreffen eines Signal einen Timer starten, und den Zählerstand bei jedem folgenden Impuls auslesen. Aus den 2 Werten kann man dann die Position berechnen.
Sind wir also bei 4 Mikros - richtig? ... bleibt bei der Einschätzung, ob eine Zeitauflösung, die über dem 10-fachen der Grenzfrequenz eines "normalen" Mikrofons liegt, in der Impolsantwort realistisch ist. Abgesehen davon: Wenn ich es richtig sehe, soll das Signal digitalisert werden. Die Amplitude bei der erwähnten Zeitauflösung ist aber um Zehnerpotenzen gegenüber dem Bereich, ist sagen wir 20 kHz, gefallen. Oder?
Guck dir mal die XMOS microphone arrays an. Die nutzen PDM Mikrofone, da ist die gefordete zeitliche Auflösung kein Thema. Ansonsten mit 384 KHz samplen. Das Mikrofon ist nicht das Problem, die Herausforderung ist die zeitliche Verschiebung der eintreffenden Signale so akkurat wie möglich zu ermitteln.
:
Bearbeitet durch User
> Das setzt voraus, dass ein Mikrofon 3.3 µs als Impulsantwort > auflösen kann. Die bewegte Masse muss so ausgelegt sein, dass sie 100kHz Sinus folgen kann. So etwas gibt es für ein paar Cent. Aber welche Frequenzen enthält der Knall? Sind die Flanken überhaupt steil genug? Dann noch ein Problem. In Holz ist die Schallgeschwindigkeit 10 mal so hoch, wie in der Luft. Erster Schritt wäre wohl, zwei Mikrofone an ein Speicheroszi anschliessen und die Signale mal anschauen.
> Guck dir mal die XMOS microphone arrays an. Die nutzen PDM Mikrofone, da
ist die zeitliche Auflösung kein Thema.
Ja. Das sind aber keine Piezos, von denen hier ja bisher die Rede war,
oder?
Bedenken schrieb: > Ja. Das sind aber keine Piezos, von denen hier ja bisher die Rede war, > oder? 1. Post vom TO: Mikrofone. SMD MEMS Mikrofone - z.b. von Knowles - eignen sich ja auch für Körperschall, und sind in der Regeln sogar im Ultraschallbereich sehr brauchbar.
:
Bearbeitet durch User
> 1. Post vom TO: Mikrofone
... wie auch immer. Die Schallgeschwindigkeit von über 3km/s, die 'Noch
einer' angesprochen hat, ist ein ein Thema.
Als Idee: Lässt sich mit Phasendifferenzen anstelle von
Zeitunterschieden etwas sinnvolles berechnen?
Habe gerade keinen einzelnen Piezo da, hatte aber schon mal einen auf das Regal gelegt und ans Oszi geschlossen. Die Kurve beim klopfen erinnert mich an das erste Oszi Bild. https://www.megadrum.info/forums/viewtopic.php?f=3&t=2549 Am Anfang war immer eine Flanke wie im Bild. Wenn man den Komparator wie oben im link benutzt, wird bei verschiedener Lautstärke natürlich auch die Zeit stark schwanken. Da ist leider nichts mehr mit Mikrosekunden.
Bedenken schrieb: > Als Idee: Lässt sich mit Phasendifferenzen anstelle von > Zeitunterschieden etwas sinnvolles berechnen? Ganz genau. Man nimmt es als Audiostreams auf, triggert bei Überschreitung einer gewissen Signalstärke, und verschiebt dann die Signal solange, bis sie maximal korellieren. Je höher die Abtastrate (daher PDM sehr geeignet), desto genauer das Ergebnis. Im Grunde ist es eine Zeitdifferenz die man detektiert. "Phase" setzt eine feste Frequenz voraus, die ja hier nicht vorhanden ist...
:
Bearbeitet durch User
Beitrag "BlueCoin Starter Kit , was fängt man damit an?" http://de.rs-online.com/web/p/sensor-entwicklungskits/1463848/?searchTerm=bluecoin Da habe ich gerade gefragt was man damit anfängt. Ich könnte mir vorstellen das die schon etwas mit den 4 OnBoard Mikros im Beispielprojekt machen. Mal forschen.
Ich geben mal noch folgendes zu bedenken : bei einer Dartscheibe gibt es zwischen den Feldern die Trenner (aus Draht). Wenn der Pfeil da drauf trifft, detektiert man (ausreichende Auflösung vorausgesetzt) eine Position genau auf dem Draht. Ob man dann noch feststellen kann in welches Feld der Pfeil danach abgelenkt wurde kann ich mir spontan nicht vorstellen. Bei Zielscheiben für Sportwaffen funktioniert das Prinzip wesentlich besser, da das Projektil nach dem ersten Aufprall nicht mehr abgelenkt wird.
:
Bearbeitet durch User
Vielen Dank schonmal, für die vielen Antworten, ich versuche auf so viel wie möglich davon einzugehen. Zur besseren Verständlichkeit hier ein Beispiel, wie ich vorhatte die Mikrofon Schaltung zu realisieren: http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/f2013/agw39_mag338/agw39_mag338/agw39_mag338/agw39_mag338.html Der Analog Filter circuit sorgt schon dafür, dass nurnoch ein digitales Signal aus den Mikrofonen kommt, zwischen denen gezählt werden muss. Die Herausforderung ist wohl auch noch die Schaltungen für alle Mikrofone so genau wie möglich hinzubekommen, damit die Bauteiltoleranzen ausgeglichen werden. S. R. schrieb: > Dann würde ich einen schnell und frei laufenden Timer nehmen und sofort > bei Ankunft eines Mikrofonsignals auslesen (entweder in einer Schleife > oder mit Interrupts) und den langsamen Timer zurücksetzt. Da die > absoluten Werte dieses Timers egal sind (wichtig sind die Differenzen), > spielen Überläufe keine Rolle. Was wären Hardwaremäßig Beispiele für diese Timer? Wenn ich dich richtig verstanden habe, dient der langsame Timer nur zum reset des Arrays und sobald ich ein Mikrofon Signal habe schreibe ich den Wert des schnellen Timers in das Array, setze den langsamen Timer zurück und habe dann 250 ms um das Array zu verarbeiten, bzw anderweitig zu speichern? Genau die Rechenzeit ist egal, dafür ist genug Zeit danach. pegel schrieb: > Das klingt gut. > Ein Capture Register sollte das schaffen. An sich hatte ich erstmal an Mikrofone gedacht. Da ich nicht weiß, wie gut Piezo Sensoren funktionieren. Interessant wären da die Vor- und Nachteile der beiden Systeme. Aber ein Capture Register scheint trotzdem eine mögliche Variante zu sein. Mit welcher Genauigkeit arbeiten die denn? Stefan S. schrieb: > Ich würde das mit je einem einzelnen Zähler-IC pro Mikrofon machen und > die Zähler synchron takten. Ein Schmitt-Trigger würde dann ein > Halt-Signal (verlängert über ein FlipFlop oder Monoflop) auf die Zähler > geben. Über den uC kann man dann ganz gemütlich pollen, ob alle vier > Zähler ausgelöst haben und dann alle Zähler auslesen und zurücksetzen. Was wären Beispiele für solche Schaltungen? Das Problem ist, dass ich mit Mikroelektronik bisher nicht viel mehr zu tun hatte als ein paar Arduino/Raspberry Pi Projekte. Ich würde es wohl hinbekommen die Schaltungen aufzubauen, nur habe ich keine Erfahrung was Bauteile angeht. Bedenken schrieb: > Das setzt voraus, dass ein Mikrofon 3.3 µs als Impulsantwort auflösen > kann. Ist das realistisch? Jedes Mikrofon muss mir ja nur einen Peak liefern, die Auflösung des Mikrofons sollte an sich in der Anordnung nicht zu wichtig sein. Sobald der Ton ankommt kommt das Signal und die Differenz zwischen den Mikrofonen reicht um die Position zu bestimmen. pegel schrieb: > Bei 3 klar, bei 4 nicht. > Man kann dann mit 2 Dreiecken rechnen. > Erhöht damit auch die Genauigkeit. Ja, ich denke auch 4 Mikrofone sind besser geeignet, man hat zur Sicherheit auch noch ein Mikrofon um eventuelle Fehler abzufangen. Bedenken schrieb: > ... bleibt bei der Einschätzung, ob eine Zeitauflösung, die über dem > 10-fachen der Grenzfrequenz eines "normalen" Mikrofons liegt, in der > Impolsantwort realistisch ist. Abgesehen davon: Wenn ich es richtig > sehe, soll das Signal digitalisert werden. Die Amplitude bei der > erwähnten Zeitauflösung ist aber um Zehnerpotenzen gegenüber dem > Bereich, ist sagen wir 20 kHz, gefallen. Oder? Woher nimmst du die Grenzfrequenz? Ich weiß nicht, ob ich in den Fall falsch denke, aber selbst wenn zum Digitalisieren etwas Zeit benötigt wird, ist die doch für alle Mikrofone gleich und somit bleibt die Differenz doch unverändert oder? Joe F. schrieb: > Guck dir mal die XMOS microphone arrays an. Die nutzen PDM Mikrofone, da > ist die gefordete zeitliche Auflösung kein Thema. > Ansonsten mit 384 KHz samplen. > Das Mikrofon ist nicht das Problem, die Herausforderung ist die > zeitliche Verschiebung der eintreffenden Signale so akkurat wie möglich > zu ermitteln. Sehen auf den ersten Blick sehr teuer aus. Hatte an normale Elektret Mikrofone gedacht. Sehe das bisher auch so, dass neben der vernünftigen Signalübertragung mit möglichst wenig Störgrößen die genaue Zeitmessung zwische nden Impulsen am wichtigsten ist. Noch einer schrieb: > Aber welche Frequenzen enthält der Knall? Sind die Flanken überhaupt > steil genug? > > Dann noch ein Problem. In Holz ist die Schallgeschwindigkeit 10 mal so > hoch, wie in der Luft. Die Frequenz der Flanken bzw. die Auswertung der Rampen des Aufpralls wäre ja eine Sache der Digitalisierungsschaltung und sollte durch etwas Feintuning kein Problem darstellen. Die Dartscheibe besteht aus Sisal, keine Ahnung wie da die Geschwindigkeit ist. Allerdings sollte diese, wenn ich nicht falsch denke zur Berechnung der Position irrelevant sein. weil die Differenzen gleich bleiben. Joe F. schrieb: > SMD MEMS Mikrofone - z.b. von Knowles - eignen sich ja auch für > Körperschall, und sind in der Regeln sogar im Ultraschallbereich sehr > brauchbar. Von MEMS Mikrofonen wusste ich bisher nichts, werde ich mir mal genauer durchlesen. Joe F. schrieb: > Ganz genau. > Man nimmt es als Audiostreams auf, triggert bei Überschreitung einer > gewissen Signalstärke, und verschiebt dann die Signal solange, bis sie > maximal korellieren. > Je höher die Abtastrate (daher PDM sehr geeignet), desto genauer das > Ergebnis. > Im Grunde ist es eine Zeitdifferenz die man detektiert. "Phase" setzt > eine feste Frequenz voraus, die ja hier nicht vorhanden ist... Interessante Variante, dafür wäre allerdings wirklich eine hohe Abtastrate und etwas Rechenaufwand erforderlich. Ich denke einfach nur den Peak zu betrachten müsste ausreichend sein für die Anwendung. Joe F. schrieb: > bei einer Dartscheibe gibt es zwischen den Feldern die Trenner (aus > Draht). > Wenn der Pfeil da drauf trifft, detektiert man (ausreichende Auflösung > vorausgesetzt) eine Position genau auf dem Draht. > Ob man dann noch feststellen kann in welches Feld der Pfeil danach > abgelenkt wurde kann ich mir spontan nicht vorstellen. > Bei Zielscheiben für Sportwaffen funktioniert das Prinzip wesentlich > besser, da das Projektil nach dem ersten Aufprall nicht mehr abgelenkt > wird. Der Fall kann natürlich eintreten, wäre natürlich ein Sonderfall. Ich habe bisher eine Variante gefunden, die diese Ortung mit Mikrophonen gemacht hat bei denen ist eine Auflösung von 2,5 cm herausgekommen, allerdings habe ich vor einige Änderungen am Aufbau vorzunehmen. https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0ahUKEwjO0_iL0MfXAhXHVRoKHZ2OCjEQFghoMAk&url=http%3A%2F%2Fweb.mit.edu%2F6.111%2Fwww%2Ff2005%2Fprojects%2Fmje_Project_Final_Report.pdf&usg=AOvVaw2e1Mmixt9LnmGWK95admnE
Ich würde statt "klassischen" Mikrofonen erst mal an Klopfsensoren aus dem Automobilbereich denken.
Bedenken schrieb: > Und wieder Bedenken: > In einer dreieckigen Anordnung gibt es immer einen Schwerpunkt, so dass > ein 'gleichzeitiges' Eintreffen immer möglich ist. Bedenken schrieb: > Korrektur: streiche Schwerpunkt; ersetze durch Schnittpunkt der > Mittelsenkrechten. Theoretiker :-( Praktisch lässt sich das ganz einfach vermeiden, indem der Schnittpunkt der Mittelsenkrechten der Anordnung außerhalb der - hoffentlich nicht unendlich großen - Dartscheibe liegt pegel schrieb: > Bei 3 klar, bei 4 nicht. So klar ist das nun wieder auch nicht. Ein vierter Sensor könnte sich allerdings günstig auf die Genauigkeit auswirken, wenn man immer nur drei Sensoren mit der günstigsten Lösungsgeometrie auswertet.
Marcel schrieb: > Bei einer Schallgeschwindigkeit von 300 m/s würde 1 mm Weg 3,3 µs > entsprechen. Bedenken schrieb: >> 1. Post vom TO: Mikrofone > ... wie auch immer. Die Schallgeschwindigkeit von über 3km/s, die 'Noch > einer' angesprochen hat, ist ein ein Thema. Dann wird die Anforderung an die Messgenauigkeit wohl einen Faktor 10 höher sein, um auf gleiche Positionsgenauigkeit zu kommen. > Als Idee: Lässt sich mit Phasendifferenzen anstelle von > Zeitunterschieden etwas sinnvolles berechnen? Dafür müsste der Pfeil nach dem Auftreffen schön nachschwingt, so dass sich eine hübsche, abklingede Schwingung in der Scheibe ausbreitet. Problem könnten dann allerdings Reflektionen vom Rand sein.
Marcel schrieb: > Zur besseren Verständlichkeit hier ein Beispiel, wie ich vorhatte die > Mikrofon Schaltung zu realisieren: > http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/f2013/agw39_mag338/agw39_mag338/agw39_mag338/agw39_mag338.html > Der Analog Filter circuit sorgt schon dafür, dass nurnoch ein digitales > Signal aus den Mikrofonen kommt, zwischen denen gezählt werden muss. Die > Herausforderung ist wohl auch noch die Schaltungen für alle Mikrofone so > genau wie möglich hinzubekommen, damit die Bauteiltoleranzen > ausgeglichen werden. Schau dir mal die Zeitskalen der Oszimessungen in dem Link an. Das sind 50ms/Kästchen. Du willst einzelne µs auflösen (oder Bruchteile davon, wenn du den Körperschall und nicht den Luftschall auswerten willst). Du wirst daher wahrscheinlich weniger ein Problem mit der Genauigkeit der einzelnen Verstärker haben sondern viel mehr ein Problem mit deren Geschwindigkeit. Der 500Hz-Tiefpass am Eingang der Verstärkerschaltung dürfte z.B. für deine Anwendung eher kontraproduktiv sein: du benötigst hohe Frequenzanteile im Schallsignal, wenn du einfach den Amplitudenanstieg auf µs genau feststellen willst. Das ist nicht nur ein Problem deines Mikros und deiner Verstärker, sondern wie noch einer schon schrieb: Noch einer schrieb: > Aber welche Frequenzen enthält der Knall? Sind die Flanken überhaupt > steil genug? Ich würde dir die selben Empfehlung geben wie er, bevor du in eine falsche Richtung entwickelst: Noch einer schrieb: > Erster Schritt wäre wohl, zwei Mikrofone an ein Speicheroszi > anschliessen und die Signale mal anschauen. Du musst erst mal ein Gefühl dafür kriegen, welches Signal du tatsächlich erwarten kannst, ehe du dich für die Auswertemethode festlegst.
> Auf einer Dartscheibe soll die Position des geworfenen Darts über > akustische Triangulation bestimmt werden. Alles klar, es ist wieder Freitag. Gerade fuhr ein Auto vorüber, dass offensichtlich durch akustische Stöße angetrieben wurde.
> Jedes Mikrofon muss mir ja nur einen Peak liefern > und sollte durch etwas Feintuning kein Problem darstellen. Den Aufwand für das Finetuning hast du gewaltig unterschätzt. Auch wenn die Scheibe aus dämpfendem Geflecht besteht, hast du ein Gemisch aus direktem Schall und Körperschall, der von anderen Bereichen der Scheibe abgestrahlt wird. Der indirekte kommt vor dem direkten Schall an. Dann ändert sich die Lautstärke mit dem Abstand. Die Mischung von Signalen unterschiedlicher Lautstärke ergeben ganz andere Peaks. Wahrscheinlich ist das Signal aus dem Körperschall so gering - du kannst es nicht auswerten. Aber es macht die Peaks des direkten Schalls kaputt. Wenn du mit einem Tiefpass die Grundfrequenz herausfilterst, wird dein Peak zu breit, du kannst nicht mehr genau sagen, wo der Peak liegt und bekommst eine Auflösung von mehreren cm. > und verschiebt dann die Signal solange, bis sie > maximal korellieren. Mal schauen, ob sich der Abstand einfach aus dem Signalgemisch berechnen lässt. Um die Metriken zur Signalverarbeitung überhaupt zu verstehen, braucht man erst mal ein Mathe-Studium.
Noch einer schrieb: > Auch wenn die Scheibe aus dämpfendem Geflecht besteht, hast du ein > Gemisch aus direktem Schall und Körperschall, der von anderen Bereichen > der Scheibe abgestrahlt wird. Der direkte Schall braucht grob einen Faktor 10 länger. Das wurde oben schon genannt. Ansonsten wird man für so eine Frage wohl immer Kontaktmikrophone verwenden, die so-gut-wie nur den Körperschall aufnehmen.
Bin erst jetzt dazu gekommen, weiterzulesen. Das stimmt der Körperschall wird auf jedenfall ein Problem werden. Es macht auch am meisten Sinn, wie vorgeschlagen, sich zuerst einmal die Signale vom Mikrofon am Oszi anzusehen. Bis ich die Möglichkeiten dazu habe dauert es aber noch ein paar Tage und ich würde gerne nochmal auf das eigentliche Ziel dieses Threads hinaus. Angenommen es gibt ein vernünftiges digitales Signal durch eine Schaltung aus den Mikrofonen. Wie würde ich jetzt diese kurze Zeit von µS oder sogar Zehntel µS am besten messen? Also wie könnte konkret so eine Schaltung aussehen, welche IC und µC könnte man dazu einsetzen? Das Problem mit der Peak-Erkennung kann dann erst fortgeführt werden, wenn ich tatsächliche Signale gemessen habe.
Marcel schrieb: > Wie würde ich jetzt diese kurze Zeit von µS oder sogar Zehntel µS am > besten messen? Laufzeitmessung hat nichts mit Leitfähigkeit zu tun ;-) https://de.wikipedia.org/wiki/Siemens_(Einheit) Für die Zeitmessung lässt du einen Hardware-Zähler laufen und liest beim Eintreffen des Pulses den Zählerstand ab, z.B. innerhalb des µCs mit einem Timer und Capture.
In dem oben erwähnten BlueCoin Starter Kit gibt es tatsächlich eine Lib die hier nützlich sein könnte: "AcousticSL library <provides an implementation for a real-time sound source localization algorithm: using 2 or 4 signals acquired from digital MEMS microphones, it can estimate the arrival direction of the audio source." Kennt sich jemand mit so etwas aus?
Marcel schrieb: > Bei einer Schallgeschwindigkeit > von 300 m/s würde 1 mm Weg 3,3 µs entsprechen. Ich komme auf 3.3ms
300m/s -> 100m=>0,33s=330ms -> 1m=>0,0033s=3,3ms -> 1mm=>0,0000033s= ?
Marcel schrieb: > folgendes Projekt versuche ich gerade zu realisieren. > Auf einer Dartscheibe soll die Position des geworfenen Darts über > akustische Triangulation bestimmt werden. Dazu sollen 3-4 Mikrofone über > den Umfang verteilt werden und auf einen starken Anstieg also einem > plötzlichen Geräusch, wie dem Aufprall des Dartpfeils triggern. Ich stelle mal in Frage das der Auftreffpunkt des Dartpfeil Ausgangspunkt der Schallwelle ist und benühe dazu einen Vergleich mit einer Glocke die mit einem Hammer angeschlagen wird. Kann man bestimmen wo der Hammer auf die Glocke trifft in dem man die Laufzeitunterschied in einem Mikrofonarray bestimmt? https://d2v9y0dukr6mq2.cloudfront.net/video/thumbnail/S8c4JvBAiu02bk7k/united-states-1930s-sound-waves-from-a-bell-as-hammer-strikes-it-sound-waves-travelling-through-the-air_rritmlyyl_thumbnail-small01.jpg
Tschuldigung, habe heute offensichtlich schon zuviel gedarted.
Soo, hat zwar etwas gedauert aber habe die ersten Messergebnisse. Hoffe es ist in Ordnung, dass ich diesen Thread wiederbelebe, hier ist bereits einiges darüber geschrieben worden und so muss ich nicht alles neu erzählen. Wir haben für einen "Machbarkeitsversuch" 2 Mikrofone mit Verstärkerschaltungen an ein Labornetzteil angeschlossen und die Ausgangssignale ans Oszilloskop gehängt. Dann wurde zwischen die Mikrofone die Dartscheibe gelegt (Mikrofone lagen nicht auf, evtl. störender Schall durch die Scheibe fehlt in diesem Versuch). Der Dartpfeil wurde auf die Scheibe geworfen und das Ausgangssignal gemessen. In den Bildern ist die Messung zu sehen. In der einen Ansicht ist ein größerer Ausschnitt des Signals zu sehen um einen Eindruck zu bekommen und in dem zweiten Bild ist der Ausschnitt näher herangezoomt um die genaue Zeit zwischen den Signalen abzulesen. Zwischen den ersten beiden Hochpunkten kann eine Zeitdifferenz von ca. 700 µs abgelesen werden. Umgerechnet bedeutet das eine zurückgelegte Strecke von 240 mm was auch nach groben Messungen der Position des Aufpralls entspricht. Heißt also, mit diesem Aufbau könnte man die Position des Pfeiles bestimmen. Wichtig hierzu noch, dass alles erstmal nur unter Laborbedingungen funktionieren muss. Also kann man davon ausgehen, dass es komplett ruhig ist und es relativ wenig Störungen gibt. Der nächste Schritt ist neben dem Befestigen der 4 Mikrofone an der Scheibe. Die Interpretation des Signals über einen Mikrocontroller. Mein Ansatz war eine Analoge Schaltung, die die Peaks erkennen kann und dann auf meinen Mikrocontroller nurnoch ein digitales Signal auf 4 Eingänge gibt, zwischen denen ich die Zeit messe. Dafür habe ich eine Anleitung für den ESP8266 gefunden, die einen sehr schnellen Timer erlaubt. Leider kenne ich mich nicht sehr gut in Analogelektronik aus und hoffe hier auf Anregungen, wie ich dieses Problem lösen könnte. Als Idee wäre, erstmal etwas Filterung der Signale und dann einen Schwellwerttrigger, der ab einer bestimmten Spannung das digitale Signal sendet. Nachteil dieser Umsetzung wäre, dass die Analogsignale unterschiedlich hohe Spannungen haben, je nach Lautstärke des Aufpralls. Speziell der Fall, wenn der eine Pfeil ganz nah bei einem und weit weg von den anderen Mikrofonen auftrifft, ist ein Unterschied in den Spannungen zu erkennen. Ist die Schwelle niedrig genug, würde es trotzdem funktionieren, allerdings würde der Trigger bei dem nahesten Mikrofon schneller auslösen, was etwas mehr Ungenauigkeit hereinbringt. Vielleicht fällt euch aber auch noch ein weiterer Weg ein, wie ich das Problem angehen kann, bin für jede Anregung dankbar.
Kann es sein, daß dies hier dasselbe Thema ist? Beitrag "Re: Sound erkennen mit Mikrocontroller" Wir betreiben Objekterkennung mit Ultraschallsensoren und arbeiten mit DSPS von Analog Devices. Mit Arduino und RaspBerry ist da nichts zu erreichen.
Wahrscheinlich würde es schon reichen einen Hochpassfilter mit einen einfachen Schwellwert zu koppeln. Das System Dart/Dartscheibe/Mikrofon kann man vereinfacht als einen kausalen Filter ansehen. Sprich jedes Signal wird erst mit dem Eintreffen des Darts beginnen. Ein Dart kündigt sich nicht schon im Vorfeld an. Dieser erste Impuls ist auch der zuverlässigste für die Positionsbestimmung, da danach quasi eine Kette von "Echos" kommt, wenn die Schallwelle an den Rändern der Scheibe reflektiert wird. Sprich ich würde da mal einen Hochpassfilter probieren, der das erste Auftreffen noch mitbekommt. Man sieht ja auf dem Oszilogram, dass diese Spitze recht steil und somit mit starken hochfrequenten Anteilen sein wird. Die Richtung dieser Spitze sollte eigentlich immer gleich sein, da ja die Scheibe immer nach "hinten" gestoßen wird. Ich denke, das müsste mit Hochpassfiltern, Komparatoren und Flip-Flops gehen. Der Komparator triggert das Flip-Flop, welches dann entweder gleich einen Zähler startet, oder auf einen Port eines Mikrocontrollers geht. Bei den niedrigen Anforderungen an das Echtzeitverhalten (3,3µs) kann das quasi jeder Mikrocontroller.
Das Auftreten bekommt man sicher einfach in den Griff. Notfalls auch mit einem Arduino. Aber der TE will ja die Position ermitteln. Der Schall macht 330m/s und so eine Dartposition muss mit 1mm genau ermittelt werden können. Das sind die genannten 3us. Der Aufprall wird ein "Plopp" im unteren Frequenzbereich auslösen und die Wellenlänge beträgt da bis zu einem Meter! Bei 100Hz hat das Signal einen Anstieg von 0,001%/us. Den Hub kriegst Du im Zeitbereich nicht erkannt, oder nur, wenn das Signal extrem genau und störfrei ist. Und das reicht ja nicht einmal: Wenn die Position über einen Kreis bestimmt werden muss, dann verursachen auch größere Positionsänderungen in der Querachse nur Bruchteile von Verschiebungen in den ankommenden Signalphasen und somit große Kalkulationsfehler. Wir arbeiten bei der Positionserkennung mit Ultraschall und können mit längeren Messzeiten im ersten Versuch gerade 1cm Auflösung erreichen, wenn wir das Objekt längere Zeit verfolgen. Erst nach mehren Messungen über einige Sekunden ist die Position auf etwa 0,1mm bekannt und die Annäherungsgeschwindigkeit kann zuverlässig berechnet werden.
Hallo ! Ein Problem das Du auch beachten solltest : Woherkommt das Schallsignal ? Bei Auftreffen des Pfeils auf der Scheibe erfährt diese eine Verformung , die sich über die Scheibe ausbreitet . Aber nicht mit 330 m/ s sondern mit der , dem scheibenmaterial innewohnenden Ausbreitungsgeschwindigkeit . Die ganze Scheide straht Schall ab . Da bin ich mir nicht sicher , ob es möglich sein wird den Auftreffort aus den Schallsignalen zu erkennen .
Es ist immer wieder interessant, dass "pegel" zu jedem, aber auch wirklich jedem Thema was zu sagen und null Ahnung hat, und das schon seit Jahren. Wer glaubt, über die Schallausbreitung in verarbeitetem Holz oder Plastik mit Oberflächenstrukturen, die zudem bevorzugte Richtungen aufweisen, den Ausgangspunkt einer Schallquelle im mm-Bereicht detektieren zu können, sollte erst mal ein Studium der Geophysik und Seismologie mit Schwerkpunkt auf Inversmodellierung inhomogener anisotroper Medien abschließen. So, pegel, und jetzt kommst du...
Ohoh, mal eben schnell ein mobiles Bodenradar im Kleinformat für Objektlokalisation nachbauen. Ob das was wird? pegeltrinker schrieb: > Wer glaubt, über die Schallausbreitung in verarbeitetem Holz oder > Plastik mit Oberflächenstrukturen, die zudem bevorzugte Richtungen > aufweisen, den Ausgangspunkt einer Schallquelle im mm-Bereicht > detektieren zu können, sollte erst mal ein Studium der Geophysik Das ist doch in diesem Forum die tägliche Realität: Unwissender 1 fragt, wie sich etwas Komplexes ganz einfach machen lasst, weil er die versteckten Details der Aufgabe nicht sieht, und ... Unwissender 2 tut sich mit einer scheinintelligenten Lösung hervor, weil auch er die versteckten Probleme möglicher Umsetzungen nicht sieht. Das Ganze krankt also an 2 Stellen: Am Konzept und der Realisation. Trotzdem soll es mit einem Smartphone in einer kostenlosen APP realisierbar sein. >akustische Triangulation Habe Ich in einer Anwendung einer Akustikkamera gemacht und erfordert Detailwissen auf dem Gebiet der Elektronik, Elektromechanik und der Signalverarbeitung, welche über das Level der Bastler hier im Forum deutlich hinaus geht. Allein schon die Auswertung und Korrektur der Mikrofonsignale ist eine größere Aktion. Nicht umsonst haben professionelle Firmen Experten im Team, die sich nur darum kümmern.
pegeltrinker schrieb: > null Ahnung hat, und das schon seit Jahren. Ah, ein treuer Fan. Keine Angst ich werde meinen Namen auch nicht ändern. Prost! Zum Thema: Anfang der 80er war ich in einer Schallmess Einheit. Allerdings ging es dort um Schallausbreitung in der Luft im Meter Bereich. Die Berechnung der Koordinaten der Schallquelle im Bezug auf drei bekannte Punkte müsste ich sogar noch hin kriegen.
pegel schrieb: > Zum Thema: Anfang der 80er war ich in einer Schallmess Einheit. > Allerdings ging es dort um Schallausbreitung in der Luft im Meter > Bereich. Wow, vor fast 40 Jahren hast du also mal mit Schall zu tun gehabt, seitdem alles vergessen und nichts dazugelernt, und das qualifiziert dich jetzt, zu jedem Beitrag, in dem das Wort "Schall" auftaucht, deinen unqualifizierten Senf abzugeben? > Die Berechnung der Koordinaten der Schallquelle im Bezug auf drei > bekannte Punkte müsste ich sogar noch hin kriegen. Ja, mit idealisierenden Annahmen kann das auch meine 16jährige Tochter, und sie kann im Gegensatz zu dir sogar denken, aber eine Dartscheibe ist nunmal keine Luft. Kümmer dich lieber um deinen Pegel.
pegel schrieb: > Die Berechnung der Koordinaten der Schallquelle im Bezug auf drei > bekannte Punkte müsste ich sogar noch hin kriegen. Das kriegt jeder hin. Das Problem ist das Erkennen der Punkte. Das sind nämlich Zeitpunkte, die sehr exakt bekannt sein müssen und man muss 3dimensional Denken. Schall wird gebeugt, reflektiert, frequenzabhängig gestreut und gedämpft.
Mar. W. schrieb: > Das kriegt jeder hin. Das Problem ist das Erkennen der Punkte. Das sind > nämlich Zeitpunkte, die sehr exakt bekannt sein müssen und man muss > 3dimensional Denken. Schall wird gebeugt, reflektiert, frequenzabhängig > gestreut und gedämpft. Und genau das bestreite ich. Wenn man hier die Signale der Mikrofone kreuz-korelliert findet man wahrscheinlich immer so ziemlich die gleiche Korellation heraus die die Unterschiede des "Plops" an unterschiedlichen Stellen der Scheibe beschreibt, bzw wahrscheinlich nur die Autokorellation des "Plops", deren Mittelpunktspeak wohl viel breiter ist als die Mikrosekunden die benötigt werden.
Christian B. schrieb: > Und genau das bestreite ich. Bestreitest Du, dass es geht, oder dass es nicht geht? Ich kann aus Erfahrung mit dem damaligen Projekt nur sagen, dass es eigentlich immer irgendwie geht und es einfach eine Frage des Aufwandes ist, den man treiben will. Je dichter die Mikrofone sitzen und je mehr es sind, desto besser ist die Auflösung. Mit einer AK von 128x128 lässt sich ein Dartpfeil bestimmt einem Feld zuordnen. Wahrscheinlich muss man aber von der Seite reinkucken und entzerren. Ich bin kein Dartexperte, somit weiß Ich nicht, wie genau das sein muss. Möglich, dass es auch reicht, nur den Umfang des dart boards mit Sensoren zuzupflastern und zu mitteln. Ist jemandem bekannt, wie das diese professionellen dart boards machen?
Markus W. schrieb: > Ist jemandem bekannt, wie das diese professionellen dart boards machen? Reagieren die nicht auf den Druck vom Dartpfeil-Einschlag?
Das meine Ich auch, daher die Idee mit dem Array der Drucksensoren. Ich nehme an, dass die so arbeiten dürften.
Ich habe eine elektronische Dartscheibe, allerdings keine professionelle, sondern eher ein Billigteil. Ist sowas ähnliches wie auf dme Bild in Beitrag "Re: Microcontroller für akustische Triangulation" zu sehen. Die macht es so, allerdings wäre "Sensoren" da etwas übertrieben. Ich habe das Teil zwar noch nicht von innnen inspiziert, aber es scheint so zu funktionieren, dass jedes Segment einzeln beweglich angebracht ist und einen Kontakt an der Rückseite hat. Dahinter dürfte ein Gegenkontakt oder einfach eine Blechplatte sein. Die Segmente werden durch Federn davon getrennt gehalten. Schlägt ein Pfeil ein, wird durch den Druck kurzzeitig der Kontakt des Treffersegments geschlossen.
:
Bearbeitet durch User
Das geht aber nur deshalb, weil die vordefinierte Löcher haben, in welche die Dart-Pfeile einsortiert werden, oder? Ist das bei den professionellen Wettkampf-baords auch so? Meines Erachtens sind das doch frei treffbare Felder, die "analog" also an jeder Stelle berührt werden können. Oder wird da feldweise gezählt?
Edi M. schrieb: > Das geht aber nur deshalb, weil die vordefinierte Löcher haben, in > welche die Dart-Pfeile einsortiert werden, oder? Die haben vordefinierte Löcher, aber die sind glaub ich deshalb vorhanden, weil man dann die Spitzen aus Kunststoff machen kann, was weniger gefährlich ist. > Ist das bei den professionellen Wettkampf-baords auch so? Meines Erachtens > sind das doch frei treffbare Felder, die "analog" also an jeder Stelle > berührt werden können. Ich denke, ja. Da wird auch nicht elektronisch gezählt. So wie hier: https://youtu.be/K0HvEH7o8A0 > Oder wird da feldweise gezählt? Ja, wird es.
Dann müsste es doch möglich sein, jedes Feld mit einem Kontakt auszurüsten. Gross eben mit mehr, als einem.
Hallo, ja, Idee und Prototypen dafür gab's auch schon, aber das war in der Praxis einfach nicht tauglich und wurde von Spielern (und "Markt") letztlich abgelehnt. Es läuft am Ende darauf raus, dass die jetzige E-Dart Lösung mit den Segmenten und Löchern praktisch gut genug ist. Ausserdem besticht sie durch die Einfachheit und gute Wartbarkeit. Man lebt halt damit, das manche Pfeile nicht zählen und manche falsch. Manche Abpraller zählen vermeintlich seltsame Dinge, vieles lässt sich aber technisch erklären, den es ist halt das, was die Sensoren im Automaten registrieren. Eine Hochgeschwindigkeitskamera kann das deutlich machen, aber die hohe Kunst ist dann, rein aus den Sensordaten diese Spezielfall zu erkennen. Eine einfache Korrektur-Funktion würden sich viele sicher wünschen, bei den Herstellen ist das aber bisher nicht angekommen oder ggf. auch zu Aufwendig in der Umsetzung. Praktisch wird ein Spiel halt neu gestartet, wenn der Automat zu falsch zählt. Manchmal muss er dann einfach mal "sauber gemacht" werden bzw mache Dinge ausgetauscht werden. In den letzten 20 Jahren ist die Mechanik vom Konzept her scheinbar ziemlich gleich geblieben, und das hat sich bewährt, weil: gut, einfach und schnell wartbar. Nur die Sensoren, die Elektronik und die Auswertung wurde halt etwas besser. Es scheint wohl keinen einfachen Weg zu geben um mechanisch oder optisch zu erkennen, wo/ob der Pfeil steckt oder nicht. Vielleicht hat sich auch jeder Verbesserung hier praktisch nur so minimal ausgewirkt, so dass die Spieler keinen wirklichen Vorteil bemerken und das damit unwirtschaftlich ist - im schlimmsten Fall nehmen sogar die Fehlerquellen zu und das kann der Technik-Laie nicht mehr so einfach kontrollieren und warten. Im Steel-Dart wollte viele Spieler meiner Meinung nach einfach keine abgehobene Lösung haben. Es soll das bekannte, bewährte und bezahlbare (Sisal-)Board zum Einsatz kommen, das ggf auch mal ganz ohne Technik benutzt werden kann - sei es nur, um einfach das "Rechnen" zu lernen (bzw. warum man wann welche Zahlen werfen sollte) oder um diverse Trainingsspiele zu machen (die die Elektronik oft nicht kann, weil die Entwickler diese Spiele garnicht kennen) Bei der Scheibe gibt es ausserdem den praktischen Aspekt, dass sie sich unterschiedlich schnell je Zahlen-Segment" abnutzt, denn auf einige Felder wird tatsächlich öfter geworfen als auf andere. Es ist also gut, wenn der Zahlenring gelegentlich unabhängig vom Board drehbar und die Zahlen nicht aufgedruckt sind. So kann man die Abnutzung insgesamt in Grenzen halten, bevor die Scheibe dann doch ausgetauscht mal werden muss. Bei Dartboards gibt es auf dem aktuellen Stand der Fertigungstechnik ausserdem einige Feinheiten und Kniffe, die teurere von billigeren Boards unterscheiden. Leider berücksichtigen das aber vielen elektronische Lösungen nicht und benutzen dann irgendein Board - das kommt bei den Spielern aber nicht gut an, die ziehen eben ein höherwertiges Board vor, weil es "besser" zu spielen ist. Unterm Strich schein eine elektronische Steel-Dartscheibe vielleicht nur kann Sinn zu machen, wenn die Elektronik quasi unsichtbar ist. Und idealerweise ganz von der Scheibe unabhängig ist. Studenten-Projekte mit optischer oder akustischer Erkennung gibt es immer wieder, wobei die akkustische Lösung alleine scheinbar nie die gewünschte Präzision bringt. Auch spezielle Board tauschen immer wieder auf, aber die scheinen einfach zu teuer zu sein. Insbesondere eine Scheibe mit einzelnen unabhängigen Sisal-Segmenten wie im E-Dart hat bisher niemand in akzeptabler Qualität, Wartbarkeit und Preis hinbekommen. Optische Lösungen zusammen mit Erschütterungsssensoren Sensoren scheinen ein praktikabler Weg zu sein. Aber ich habe den Eindruck, dass das Kalibrieren bisher zu aufwendig oder komplex ist. Oder das ganze System ist am Ende zu komplex wird, so dass die praktische Erkennungsrate eher wie beim beim E-Dart ist. Dann schauen die Spieler lieber gleich selber, wo der Pfeil steckt und tippen das nach drei Würfen in eines der vielen Zählprogramme/Apps ein - das ist eine praktikable Lösung und gut genug. Die Zählprogramme haben sogar alle eine gute Korrektur-Funktion, falls man sich vertippt oder verzählt. Ich würde jedem, der hier ernsthaft ein (ggf vermarktbares) Projekt plant, raten, das Problem nicht nur von der technischen Seite anzugehen. Mit (massivem) Einsatz von Technik ist das ganze lösbar und auch schon zig mal (fast) gelöst worden. Aber das vermarktet sich halt nicht und ist ggf viel zu teuer. Und manche vermeintlich tollen technische Lösungen funktionieren dann doch nicht so einfach. Da lohnt es sich dann auch, einmal im Detail zu verstehen, warum das so bisher nicht geklappt hat. Interessanter wäre es, eine Lösung zu finden, die die Zielgruppe (oft Technik-Laien!) tatsächlich nutzen (und bezahlen) könnte. Und die auch tatsächliche jemand nutzen würde, da manche Reize des Steel-Dart Spiels dann eben nicht durch vermeintliche Verbesserungen schlicht kaputt gemacht werden.
Axel H. schrieb: > Eine Hochgeschwindigkeitskamera kann das deutlich machen Mit einigen USB-Kameras sollte das kein Problem sein, einen Pfeil zu erkennen. Man muss nur warten, bis sich im Bild was bewegt und dann Ruhe herrscht, weil der Pfeil steckt. Dann durch Bildvergleich feststellt, wo sich was geändert hat, dort nach der Pfeilspitze suchen.
> Mit einigen USB-Kameras sollte das kein Problem sein, einen Pfeil zu > erkennen. Man muss nur warten, bis sich im Bild was bewegt und dann Ruhe > herrscht, weil der Pfeil steckt. Dann durch Bildvergleich feststellt, wo > sich was geändert hat, dort nach der Pfeilspitze suchen. Ja, so die Theorie - und im Labor unter Idealbedingungen klappt das natürlich meistens. Jetzt mal zur Praxis am Spielort: - Hardware * welche Platform und Rechenleistung ist nötig? * welche Kameras und wie viele USB Bandbreite?) und wo müssen die hängen? * welche Beleuchtung der Scheibe ist mindestens nötig? * Setup, Kalibrierung - User * Technik soll den Spielfluss nicht stören * mache haben einen recht schnellen Wurf-Rythmus * bei manchen stecken dei darts ziemlich schief * mache treffen die Scheibe auch garnicht * und dann gibt viele verschiedene Pfeile * irgendwas kann immer wackeln, manchmal auch das Board * manchmal fällt der Dart später raus - Software/Dart-Regeln * muss zumindest mal gut funktionieren * muss letztlich "einfach" (= "DAU-Kompatibel") sein * Auto-(Nach-)Kalibrierung? * "der Dart zählt dann, wenn die Dartspitze das Board berührt .... ". * ... und noch mehr Feinheiten - brauch manuelle Korrektur-Funktion! * darf nicht schlechter sein als das, was momentan verwendet wird Ich möchte das ganze wirklich nicht schlecht reden, aber da steckt dann scheinbar ein Haufen Arbeit drinnen, um das Projekt aus dem Labor zu bringen oder gar dort praktisch zufriedenstellende Ergebnisse zu liefern. Ich habe bisher halt etliche Projekte gesehen, die es scheinbar nie aus dem Labor raus geschafft haben. Und bei vielen wurde dann leider auch recht wenig veröffentlicht, wo zwischen Labor und Praxis es wirklich gescheitert ist. Vieles ist auch leider nicht als open source verfügbar, so das jemand da weiter machen könnte. Und so poppt die Idee alle Jahre wieder auf ... evtl würde es sich echt mal lohnen, alle bekannten Versionen hier im Wiki zu sammeln, damit das nicht immer wieder an den selben praktischen Problemen scheitert. EDIT: Wiki-Seite Dartscheibe angelegt.
:
Bearbeitet durch User
Ein Wiki für die Entwicklung einer Dartscheibe? Du erwartest nicht im Ernst, dass es da Beteiligung gibt. In dem parallele thread wurde schon ausgeführt, wie umfangreich das werden kann.
Ja, du hast natürlich recht. Ich werde den Artikel wieder löschen, denn so eine Linksammlung braucht keiner. Findet man ja alle eh mit den gängigen Suchmaschinen und wenn nicht dann ist halt Pech. Alle halbe Jahr kauen wir das dann wieder in einem neuen Thread durch...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.