
Elektrisch besteht das Design des Sensors nur aus Leitern. Grundstufe.
Keine Umreifung - im Prinzip - das sind zwei "Tasten" von Masse zu den Ports 2 und 3, einfacher als ein Detektorempfänger!

Ein kleiner Exkurs in die Geschichte (kursiv) - Ich beschäftige mich seit mehr als 20 Jahren mit Druckluftwaffen und habe die ganze Zeit über die ballistische Pendelmethode verwendet, um die Geschwindigkeit einer Kugel zu messen.
Aber die Schrotflinte erschien - Energie gegen Magnum 4,5 mm Kaliber - 100 mal !!! mehr - verwenden Sie nicht die gleichen Anmeldesuspensionen!
Zu dieser Zeit wurde ich bereits in die Verwendung von Arduino für friedliche Zwecke eingeführt.
Grundlage war das Design von Mikhail Shevchenko auf zwei optischen Sensorpaaren.
Er machte eine Option am Lauf montiert, aber der Rückstoß der Federpneumatik nach mehreren Schüssen zerstörte die LEDs.
Ich habe versucht, ein Universalrahmenmonster mit vielen optischen Sensoren zusammenzubauen - FAIL.
Als ich mich entschied zu vereinfachen, kam ich zu der beschriebenen Konstruktion, es gibt nirgendwo anders zu gehen ;-)
Das Prinzip der Sensoren wurde von den Machern des Airspeed-Programms (ursprünglich aus den 90er Jahren) übernommen.

Fügen Sie einfach einen Mikrocontroller hinzu (Genauigkeit um eine Größenordnung höher)!
Das heißt, wenn es funktioniert hat, sieht es einfach so aus!
Im Gegensatz zu Soundkarten musste ich nicht mit einem analogen Signal arbeiten, sondern mit einem Übergang von einer logischen 1 zu 0.
Dem Glück gingen viele Experimente voraus - 2 Optionen für das Framework, 3 Arten des elektrischen "Umreifens" und 4 Bearbeitungsskizzen (Programme).
Das Ziehen der Spannung an die digitalen Pins (PULLUP) erwies sich als die wichtigste und stabilste Lösung!
Infolgedessen ist die Wahrscheinlichkeit, bei der Wiederholung dieses Schemas einen Fehler zu machen, gering!
Alles, es gibt keine Zeit weiter zu erklären, die Sensoren können einfach durch Betrachten der Fotos zusammengebaut werden.

Also beginnen wir das Spiel der FIFA - Ausgangsmaterialien - eine Holzstange 15x10x5cm, zwei Stücke Plastikfolie 15x15cm, 2,5mm dick.
Bei einer größeren Dicke des Rahmens funktionieren die Sensoren möglicherweise nicht, bei einer kleineren Dicke können sie durch eine Brise verkürzt werden.
Sie können eine 3-mm-Wellpappe, Balsa oder sogar Rahmen aus gewöhnlichen Linealen nehmen!
Die Hauptsache, an die man sich erinnern sollte - 4 mm Dicke - ist schon viel, sie hört um sechs auf zu arbeiten!
Die Größe des "Fensters" im Framework - 9x9cm (ursprünglich zehn) ist klein?
Wenn Sie im wörtlichen und im übertragenen Sinne nicht in die Top Ten kommen können, ist es zu früh, um über die Notwendigkeit eines Chronometers zu sprechen!
Als nächstes schneiden wir 11 x 14 cm große Stücke Lebensmittelfolie aus und befestigen sie mit einem normalen Klebestift vorsichtig auf beiden Seiten an den Rahmen.
Letztere befestigen wir so an der Basis (Balken), dass der Abstand zwischen ihnen 10 cm beträgt (die in die Skizze eingebettete Chronographenbasis).
Gleichzeitig sollte der Strahl selbst schon 100mm sein. auf die Dicke eines Rahmens (tatsächlich nimmt die Größe des Holzes infolge des Austrocknens im Lager selbst ab ;-)
U-förmige Rahmen werden aus Gründen der „Wiederverwendbarkeit“ eines „Satzes“ Folie hergestellt. Nach jedem Schuss mit einem Lineal ziehen wir zwischen Plattenpaaren, um den Kontakt im Bereich der Einschusslöcher zu öffnen.
Zur Vereinfachung und Vereinfachung des Kontakts mit der Folie wurden Clips auf der Basis von Wäscheklammern hergestellt:

Ich habe ein mehradriges Twisted Pair als Leiter genommen - ich habe alle Enden verzinnt (wir erinnern uns, dass Kupfer und Aluminium nicht direkt miteinander verbunden sind!)
Also haben wir es herausgefunden.
Kommen wir nun zum Mikrocontroller - alles wurde auf dem Arduino Uno (Atmega-328) 16Mhz + LCD Keypad Shield debuggt.
Also der Text der Skizze (Programm):
// #include <LiquidCrystal.h> //! - !!! LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // : // unsigned int data = 0; // volatile unsigned long int time1 = 0; volatile unsigned long int time2 = 0; void setup() { // LCD lcd.begin(16, 2); // attachInterrupt(0, sensor_1, FALLING); attachInterrupt(1, sensor_2, FALLING); // - pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); } void loop() { lcd.setCursor(0, 0); lcd.print("CHRON 100mm base"); // nogood: // - - # CHRON if ( digitalRead(2) == LOW ) { lcd.setCursor(5, 0); lcd.print("#"); goto nogood; } else { lcd.setCursor(5, 0); lcd.print(" "); } // - - # base if ( digitalRead(3) == LOW ) { lcd.setCursor(11, 0); lcd.print("#"); goto nogood; } else { lcd.setCursor(11, 0); lcd.print(" "); } lcd.setCursor(0, 1); lcd.print("Speed "); lcd.setCursor(6, 1); lcd.print(data); lcd.setCursor(13, 1); lcd.print("M/S"); delay(100); while ( time1 == 0 && time2 == 0 ) ; delay(100); if ( time1 != 0 && time2 != 0 && time2 > time1 ) { data = 0.1 / ((time2 - time1) / 1000000.0); // v = s / t } // Serial.println(data) // - LiquidCrystal (lcd), // - Serial.println - Arduino IDE lcd.setCursor(6, 1); lcd.print(data); time1 = 0; time2 = 0; } void sensor_1() { if ( time1 == 0 ) { time1 = micros(); } } void sensor_2() { if ( time2 == 0 ) { time2 = micros(); } }
Kurz gesagt, das Funktionsprinzip - der PULLUP-Befehl an den Pins 2,3 schaltet die Pull-up-Spannung ein (mit internen Widerständen 20-50 kOhm).
Eine Aufzählungsspanne führt zu einem Kurzschluss, der durch Interrupts (Sensor FALLING) erkannt wird, wie bei den schnellsten Arduino-Befehlen.
Bei Kenntnis der Zeitdifferenz und des Abstands zwischen den Sensoren wird die Geschossgeschwindigkeit berechnet.
WICHTIGE Reihenfolge der Sensoren - die erste - zu Pin 2!
Das ist alles.

Jemand wird einwenden, dass Energie für das Durchbrechen der Folie aufgewendet wird und die tatsächliche Geschwindigkeit der Kugel höher sein wird!
Zuerst schien alles so zu sein!
Im Vergleich zu der Geschwindigkeit, die vor anderthalb Jahren von einem Gerät mit optischen Sensoren (280 m / s) gemessen wurde - das Gerät auf der Folie produzierte 260!
Energetisch - es sind 22 Joule gegen 19! - Verlust sofort Treshki!
Aber sobald ich die Basis auf 100 mm reduzierte, zeigte die „Folie“ das richtige Ergebnis - warum - ein Rätsel!
Die Kugeln verwendeten ein Luman FT 0,56 Gramm, Geräte, die auf demselben Mikrocontroller basierten. Die Basis ist in beiden Fällen 100 mm, ein Gewehr

In Bezug auf die Stabilität der Messwerte - von 5 Aufnahmen ist die „Freigabe“ jeweils nur eine, die Anzahl der anderen - stimmt überein.
Ja, und zum Schluss fragen Sie - warum im Zeitalter der Elektronik das Rad neu erfinden?
Alles ist sehr einfach - die Antwort ist eine Schrotflinte!
Wenn Sie die Geschwindigkeit einer Ladung bei einer Abfahrt messen - kein Problem -, ist jedes Gerät geeignet!
In einiger Entfernung kann sich der Schuss jedoch zerstreuen (das Standardziel für die Überprüfung des Gerölls ist 75 x 75 cm).
Und stellen Sie sich jetzt die Möglichkeit vor, die Ladegeschwindigkeit auf 35 Metern zu messen - wenn sogar ein chinesisches Gerät für 50 US-Dollar auseinandergerissen wird, ist das beleidigend.
Der Ausweg besteht darin, entweder das Gehäuse und die Sensoren zu „buchen“ (40-mm-Platinen reichen aus) oder Einweg-Sensoren zu verwenden.
Es gibt was und warum zu messen - nicht weit entfernt ist die Einführung eines Verbots der Bleijagd in Gewässern (nach Europa), es wird notwendig sein, Stahlschrot zu verwenden, in Geschäften wird es Linien für solche Patronen geben (oder einen hohen Preis).
Bei selbstsammelnden Patronen möchte ich nicht die altmodischen Methoden verwenden, um die Wirksamkeit des Eindringens in ein trockenes Kiefernbrett zu bewerten.
Zielgerichtete Schüsse für Sie und für Jäger - nicht Pooh, nicht Feather!
Bis wir uns wieder auf Habr treffen, Andrey.