In diesem Artikel sehen wir uns an, wie Sie aus kostengünstigen und erschwinglichen Teilen einen einfachen Chronographen herstellen können. Befestigung notwendig, um die Geschwindigkeit einer Kugel in einem Gewehr zu messen. Diese Zahlen werden benötigt, um den Zustand des Gewehrs zu bestimmen, da sich im Laufe der Zeit einige Teile der Pneumatik abnutzen und ausgetauscht werden müssen.
Wir bereiten die notwendigen Materialien und Werkzeuge vor:
- Chinesischer Digispark (zum Zeitpunkt des Kaufs kostete er 80 Rubel);
- Segmenttypanzeige auf TM1637 (kostet 90 Rubel beim Kauf);
- Infrarot-LEDs und Fototransistoren (10 Paare) - Die Kosten betrugen 110 Rubel.
- Einhundert 220-Ohm-Widerstände kosten 70 Rubel, aber nur zwei davon werden benötigt.
Das ist alles, dies ist die gesamte Liste der Artikel, die Sie kaufen müssen. Widerstände finden sich übrigens auch in alten Haushaltsgeräten. Sie können mehr zum Nennwert setzen, aber nicht weniger. Infolgedessen können Sie innerhalb von 350 Rubel halten, aber dies ist nicht so viel, da der Werkschronograph mindestens 1000 Rubel kostet und die Montage dort viel schlechter ist als bei uns hausgemacht.
Unter anderem müssen Sie sich mit folgenden Details versorgen:
- Drähte;
- ein Rohrstück mit einer Länge von mindestens 10 cm (ein Kunststoffwasserrohr ist geeignet);
- alles zum Löten;
- Multimeter (optional).
Die ersten drei beschriebenen Details haben ihre eigenen Nuancen, daher muss jedes einzeln betrachtet werden
Digispark
Dieser Artikel ist eine Miniaturplatine, die mit kompatibel ist ArduinoAn Bord hat sie eine ATtiny85. Wie man dieses Element mit der Arduino IDE verbindet, lesen Sie weiter, Sie können dort auch Treiber dafür herunterladen.
Diese Karte verfügt über mehrere Optionen, eine verwendet microUSB und die andere ist mit einem USB-Anschluss ausgestattet, der direkt auf der Karte verdrahtet ist. Aufgrund der Tatsache, dass das hausgemachte Produkt keine individuelle Stromversorgung hat, entschied sich der Autor für die erste Version des Boards. Wenn Sie eine Batterie oder eine Batterie in ein hausgemachtes Produkt einbauen, erhöht dies den Preis erheblich und beeinträchtigt die Praktikabilität nicht wesentlich. Und fast jeder hat ein Kabel zum Aufladen eines Mobiltelefons und einer Powerbank.
Die Eigenschaften ähneln denen von ATtiny85, hier sind die Funktionen reichlich vorhanden. Der Mikrocontroller im Chronographen fragt nur die Sensoren ab und steuert die Anzeige.
Wenn Sie Digispark noch nie zuvor getroffen haben, finden Sie die wichtigsten Nuancen in der Tabelle.
Es ist wichtig zu berücksichtigen, dass die Pin-Nummerierung für die Funktion analogRead () Unterschiede aufweist. Und am dritten Pin befindet sich ein Pull-up-Widerstand mit einem Nennwert von 1,5 kOhm, da er in USB verwendet wird.
Ein paar Worte zum Display
Jeder kann das Display für hausgemachte verwenden, aber der Autor entschied sich für eine günstige Option. Um das Gerät noch billiger zu machen, können Sie das Display komplett verlassen. Daten können einfach über ein Kabel an einen Computer ausgegeben werden. Es wird hier benötigt. Die betreffende Anzeige ist eine Kopie der Anzeige.
Wie das Display vorne und hinten aussieht, ist auf dem Foto zu sehen.
Da die Abstände zwischen den Zahlen gleich sind, werden die Zahlen bei ausgeschaltetem Doppelpunkt problemlos gelesen. Die Standardbibliothek kann Zahlen im Bereich von 0 bis 9 anzeigen. Buchstaben im Bereich von a bis f, und es besteht weiterhin die Möglichkeit, die Helligkeit des gesamten Displays zu ändern. Ziffernwerte können mit der Anzeigefunktion eingestellt werden (int 0-3, int 0-15).
Verwendung des Displays
Wenn Sie versuchen, über die Werte von [0, 15] hinauszugehen, zeigt das Display Verwirrung, die zusätzlich zu allem anderen nicht statisch ist. Um Sonderzeichen wie Grad, Minuspunkte usw. anzuzeigen, müssen Sie daher basteln.
Der Autor wollte, dass auf dem Display die fertige Energie des Fluges der Kugel angezeigt wird, die in Abhängigkeit von der Geschwindigkeit der Kugel und ihrer Masse berechnet wird. Die Werte gemäß der Idee mussten nacheinander angezeigt werden, und um zu verstehen, wo welche irgendwie notiert werden sollten, beispielsweise mit dem Buchstaben "J". In extremen Fällen können Sie einfach den Doppelpunkt verwenden, aber der Autor mochte ihn nicht und stieg in die Bibliothek. Infolgedessen wurde basierend auf der Anzeigefunktion die Funktion setSegments (Byte-Adr, Byte-Daten) erstellt, die die in Daten codierten Segmente in der Nummer mit der Adr-Nummer beleuchtet:
Solche Segmente werden ganz einfach codiert, das niedrigstwertige Datenbit ist für das obere Segment verantwortlich, und im Uhrzeigersinn ist das 7. Bit für das mittlere Segment verantwortlich. Das codierte Zeichen "1" sieht wie folgt aus: 0b00000110. Das achthöchste Bit ist für den Doppelpunkt verantwortlich, es wird in der zweiten Ziffer verwendet und in allen anderen wird es ignoriert. Anschließend automatisierte der Autor den Prozess des Abrufs von Codes mithilfe von Excel.
Was schließlich passiert ist, ist auf dem Foto zu sehen
Zum Schluss die Sensoren
Über die Sensoren wurden keine genauen Angaben gemacht, es ist nur bekannt, dass sie eine Wellenlänge von 940 nm haben. Während der Experimente wurde festgestellt, dass die Sensoren Strömen von mehr als 40 mA nicht standhalten können. Die Versorgungsspannung sollte nicht höher als 3,3 V sein. Der Fototransistor hat einen leicht transparenten Körper und reagiert auf Licht.
Wir fahren mit der Montage und Konfiguration von hausgemachten:
Erster Schritt. Montage
Alles läuft nach einem sehr einfachen Schema. Von allen Pins werden nur P0, P1 und P2 benötigt. Die ersten beiden werden für die Anzeige verwendet, und P2 wird für die Sensoren benötigt.
Wie Sie sehen können, wird ein Widerstand verwendet, um den Strom für LEDs zu begrenzen, während der zweite P2 auf Masse zieht. Aufgrund der Tatsache, dass die Fototransistoren parallel geschaltet sind, fällt die Spannung an P2 ab, wenn das Geschoss vor einem Optokoppler vorbeikommt. Um die Fluggeschwindigkeit einer Kugel zu bestimmen, müssen Sie den Abstand zwischen den Sensoren kennen, zwei Spannungsspitzen messen und die Zeit bestimmen, in der sie aufgetreten sind.
Aufgrund der Tatsache, dass nur ein Stift verwendet wird, spielt es keine Rolle, von welcher Seite aus geschossen werden soll. Fototransistoren werden sowieso eine Kugel bemerken.
Alle auf dem Foto sichtbaren Details werden gesammelt. Um alles zu sammeln, entschied sich der Autor für ein Steckbrett. Dann wurde die gesamte Struktur zur Festigkeit mit Heißkleber bedeckt. Sensoren werden am Rohr angebracht und Drähte werden mit ihnen verlötet.
Um zu verhindern, dass die Dioden pulsieren, wenn sie von einer Powerbank gespeist werden, installierte der Autor parallel zu den LEDs einen Elektrolyten mit 100 mKf.
Es ist auch wichtig zu beachten, dass der P2-Pin aus einem bestimmten Grund ausgewählt wurde. Tatsache ist, dass P3 und P4 in USB verwendet werden, sodass jetzt mit Hilfe von P2 die Möglichkeit besteht, nach dem Zusammenbau hausgemacht zu flashen.
P2 ist auch ein Analogeingang, sodass kein Interrupt verwendet werden muss. Sie können einfach die Messwerte zwischen dem aktuellen und dem vorherigen Wert messen. Wenn die Differenz einen bestimmten Schwellenwert überschreitet, passiert die Kugel in diesem Moment gerade in der Nähe des Optokopplers.
Schritt zwei Firmware
Prescaler ist ein Frequenzteiler, in Standardfällen in Boards wie Arduino sind es 128. Diese Zahl beeinflusst, wie oft der ADC abgefragt wird. Das heißt, für Standard 16 MHz wird 16/128 = 125 kHz ausgegeben. Jede Digitalisierung besteht aus 13 Operationen, sodass der Pin mit einer Geschwindigkeit von 9600 kHz so oft wie möglich abgefragt werden kann. In der Praxis ist dies nicht mehr als 7 kHz. Infolgedessen beträgt das Intervall zwischen den Messungen 120 μs, was für die hausgemachte Arbeit zu viel ist. Wenn die Kugel mit einer Geschwindigkeit von 300 m / s fliegt, überwindet sie während dieser Zeit einen Weg von 3,6 cm, dh der Controller kann dies einfach nicht bemerken. Damit alles richtig funktioniert, sollte der Abstand zwischen den Messungen mindestens 20 μs betragen. Dazu muss der Divisorwert gleich 16 sein. Der Autor hat einen Teiler 8 erstellt, wie das geht, ist unten zu sehen.
Was während des Experiments gelernt wurde, ist auf dem Foto zu sehen
Die Logik der Firmware besteht aus mehreren Phasen:
- Messen der Wertdifferenz auf dem Stift vorher und nachher;
- Wenn die Differenz den Schwellenwert überschreitet, erlischt die Schleife und die aktuelle Zeit (micros ()) wird gespeichert.
- Der zweite Zyklus funktioniert ähnlich wie der erste und hat einen Zeitzähler im Zyklus.
- Wenn der Zähler den eingestellten Wert erreicht hat, wird eine Fehlermeldung gesendet und der Übergang in den Ausgangszustand. In diesem Fall geht der Zyklus nicht in die Ewigkeit, wenn die Kugel nicht plötzlich vom zweiten Sensor erfasst wurde.
- Wenn der Zähler nicht überläuft und die Wertdifferenz größer als der Schwellenwert ist, wird die aktuelle Zeit gemessen (micros ()).
- Basierend auf dem Unterschied in Zeit und Entfernung zwischen den Sensoren können Sie jetzt die Fluggeschwindigkeit des Geschosses berechnen und Informationen auf dem Bildschirm anzeigen. Nun, dann fängt alles wieder von vorne an.
Die letzte Etappe. Testen
Wenn alles richtig gemacht ist, funktioniert das Gerät ohne Probleme. Das einzige Problem ist die schlechte Reaktion auf Leuchtstofflampen und LED-Beleuchtung mit einer Welligkeitsfrequenz von 40 kHz. In diesem Fall können Fehler im Gerät auftreten.
Hausgemachte Arbeiten in drei Modi:
Nach dem Einschalten erfolgt eine Begrüßung, und dann wird der Bildschirm mit Streifen gefüllt. Dies zeigt an, dass das Gerät auf eine Aufnahme wartet
Wenn Fehler auftreten, wird die Meldung „Err“ angezeigt und der Standby-Modus aktiviert.
Nun, dann kommt die Geschwindigkeitsmessung
Unmittelbar nach dem Schuss zeigt das Gerät die Geschwindigkeit der Kugel an (gekennzeichnet mit dem Symbol n), und dann werden Informationen über die Energie der Kugel (Symbol J) angezeigt. Wenn ein Joule angezeigt wird, wird auch ein Doppelpunkt angezeigt.