Schritt 10: Genauigkeit und Fehler
Genauigkeit:
Wenn ein Paintball mit 300 Bildern pro Sekunde unterwegs ist, nimmt es 3.3333ms 1 ft Reisen (1 / 300 fps = 3.3333ms). Da unsere IR-Sender/Melder Paare 4" voneinander entfernt angeordnet sind, müssen wir 3.3333ms von 3 (1 ft / 4 Zoll = 3). So ist die Zeit die Paintball 4" bei 300 fps Reisen dauert 1.1111ms.
300 fps = 3.3333ms/ft
4 Zoll = 3.3333ms Reisezeit / (1ft / 4 in.)
= 1.1111ms
CPU-Geschwindigkeit = 12 MIPS
= 83.3333ns / ins
Genauigkeit = 100 - (100 * (83.3333ns / 1.1111ms))
= 99.9925 % Genauigkeit @ 300fps
Nun, das ist nicht die tatsächliche Genauigkeit dieses Chronographen. Wenn diese Mikrocontroller ein Objekt bei jeder Anweisung Zyklus erkennen könnte, müsste eine Genauigkeit von 99.9925 % bei 300 fps weil seine schlimmsten Fall nicht erkennen eines Objekts, wenn es den Strahl gebrochen hat nur 83.3333ns sein könnte, bevor sie es tatsächlich erkennen würde.
Da ich bin Abfrage der IR-Melder und warten um zu sehen, wenn Sie ein Objekt Strahl #1 gebrochen hat, dauert es 8 Befehlszyklen pro Schleife, wenn ich versuche zu erkennen, ob ein Objekt den Strahl zu brechen. Dann, sobald sie ein Objekt erkannt hat, hat es eine weitere Anweisung, die mit dem Fahrrad zur durchgeführt werden, da es Timer1 beginnen muss. Nachdem sie all das getan hat, hat es begonnen, Aufzeichnung der Zeit, die das Projektil von Strahl #1 zum Strahl #2 Reisen benötigt. Das gleiche gilt für Strahl #2. Es dauert 8 Befehlszyklen pro Loop "Erkennung" und eine weitere Anweisung, Timer1 auszuschalten. Daher ist der Worst Case:
Ins/Loop = 8 ins * 2 Schleifen
= 16 Anweisungen vor einer Erkennung
Ins/Enabling von Timer1 = 1 ins * 2 (aktivieren und Deaktivieren von Timer1)
= 2 Anleitung
Längste Zeit vor einer Erkennung möglich = (16 ins + 2 ins) * 83.3333ns / ins
= 1,5 µs
Genauigkeit = 100 - (100 * (1.5µs / 1.1111ms))
= 99,865 % Genauigkeit @ 300fps
So geht man davon aus, dass es keine andere Fehlerquellen gibt (Entfernung ist genau 4", Strahlen Gliedern identisch auf jeder Seite, etc.) hätten wir eine Genauigkeit von 99,865 % bei 300fps für dieses Chronographen. Das ist sehr gut, es gibt jedoch viele andere kleine Fehlerquellen, die ich nicht berücksichtigt habe. Daher ist es höchst unwahrscheinlich, dass die Chronograph, die ich bauen oder bauen Sie 99,865 % genau sein wird. Dennoch, es funktioniert ganz gut und ich bin sehr zufrieden mit ihm.
Edit:
Ich vergaß die minimale Geschwindigkeit des Geschosses hinzuzufügen. Da die Anzahl die höchsten, der Timer1 bis zu rechnen 65.535 ist, plus es eine weitere Anweisung nutzt um zu machen, Überlauf zurück auf 0 und seinen Betrieb an 12 MIPS, berechnen wir die Geschwindigkeit eines Geschosses so niedrig wie 62fps. Die Berechnungen sind wie folgt:
MCU Geschwindigkeit = 12 MIPS
= 83.3333ns / ins
Max Count Timer1 = 65.535 Anleitung + 1 mehr Unterricht zu machen, unterbrechen
= 65.536 Anweisungen
Min. Geschwindigkeit = ((12 MIPS/65.536 ins) * 1 / 3ft)
= 61.03516fps (um sicher zu gehen, sage wir 62 fps)