Nachrüstbare Autofire Funktion - Projektbeschreibung
Beschreibung, Schaltplan, Downloads...
Im Internet gibt es bereits einige Schaltungen die es möglich machen einen Taster mit einer "autofire" Funktion zu versehen. Leider basieren diese überwiegend auf dem analogen IC "NE555" der einige zusätzliche Bauteile benötigt ( Kondensatoren, Poti etc. ). Damit wird eine solche Schaltung meist sehr groß und kann deswegen nicht mehr überall eingesetzt werden. Auch bietet eine solche Schaltung lediglich eine Dauerfeuerfunktion, die auch noch von der Betriebsspannung abhängig ist. ( Schussfrequenz ändert sich mit der Batteriespannung )
Da ich für ein Projekt nun eine solche Schaltung benötigte aber nichts entsprechendes fand, habe ich dafür mal eine neue Schaltung entwickelt. Um diese möglichst flexibel gestalten zu können, aber auch in den Abmaßen klein zu halten, habe ich mich für eine digitale Schaltung mit dem Mikrocontroller "PIC 12F683" von Microchip entschieden. Dieser "kleine" Mikrocontroller hat bereits alle nötige Hardware integriert und braucht deswegen keine weiteren externen Bauteile. Der Mikrocontroller arbeitet hier mit einer internen Taktfrequenz von 2Mhz was die Durchlaufzeit der Tastersignale ( Trigger Events ) auf unter 100µs drückt, eine Signalverzögerung wie bei analogen Schaltungen gibt es damit praktisch nicht. Die Firmware wurde so entwickelt das sie möglichst schnell und zuverlässig arbeitet. Dafür wurden fast alle Interrupts verwendet die der Mikrocontroller zu bieten hat. Über die Timerinterrupts wird zum einen ein Tiefpassfilter erzeugt, der den Tastereingang digital entprellt ( keine simple Zeitschleife !!! ), zum anderen wird über einen Timerinterrupt die Dauerfeuerfrequenz erzeugt. Selbst der Tastereingang wird über einen Interrupt ausgewertet und nicht über polling abgefragt, daß trägt unter anderem auch entscheidend dafür bei das die Durchlaufzeit der Trigger Events bei unter 100µs liegen.
Mit diesem Chip ist es möglich einen normalen Taster mit einer einstellbaren autofire Funktion zu versehen ( mit H.S.L.M. Technik* ;-) ). Die Schussfrequenz kann von 7 - 20 Schuss pro Sekunden eingestellt werden. Zusätzlich kann auch eingestellt werden wieviel Schuss pro Tasterbetätigung automatisch abgegeben werden sollen -> Burst Mode ( 2 - 10 Schuss ). Die Einstellungen werden in dem internen Eeprom von den Mikrocontroller gespeichert und bleiben damit auch ohne Spannung erhalten.
Eine der wichtigsten Funktionen dieses Chips ist es aber die Schussfrequenz auf ein Maximum zu begrenzen, dadurch wird verhindert das eine an den Taster angeschlossene Mechanik / Elektronik zu schnell hintereinander ausgelöst wird und dadurch evtl. blockiert. -> ROF = rate of fire ( 7 - 20 BPS ) Wenn 2 Trigger Events zu schnell hintereinander kommen, wird der zweite Event nicht ignoriert sondern hinausgezögert bis die Zeit der eingestellten ROF eingehalten ist und anschließend ausgelöst. Somit gehen keine Trigger Events verloren und die maximale ROF wird eingehalten.
Jumper
- [ Chip_Enable] :
- geschlossen = Spezialfunktionen sind aktiviert
- offen = alle Funktionen des Chips sind deaktiviert, die Tastereingänge werden direkt zu dem Ausgang durchgeleitet ( Chip verhält sich also wie nicht vorhanden )
- [ Half / Full-automatic] :
- geschlossen = bei betätigten Tastereingang wird der Ausgang ständig an / ausgeschalten ( voll automatischer Mode -> Dauerfeuer )
- offen = mit jeder Tasterbetätigung wird der Ausgang x-mal geschalten ( halb automatischer Mode -> burst Mode)
- [ Stealth Function] :
- geschlossen = Stealth Funktion ist aktiviert -> im automatischen Modus wird damit die Schussgeschwindigkeit ständig leicht variiert ( Schüsse werden leicht unregelmäßig abgefeuert ), dadurch ist der Chip akustisch nicht erkennbar ;-)
- offen = Stealth Funktion ist deaktiviert
- [ setup Mode] :
- geschlossen = Chip wird in Setup-Mode gesetzt, hier kann die generelle Geschwindigkeit ( 4 - 20 Schuss / Sekunde ) und die Anzahl der Schüsse ( 2 - 10 Schuss ) für den halb automatischen Mode programmiert werden
- offen = Setup-Mode inaktiv
Anschlüsse
- [ Switch_in ] : Tastereingang ( Feuertaste )
- [ Switch_out ] : Ausgang schaltet aktiv gegen Gnd, über einen internen 18k Widerstand gegen 5V
- [ Power-Supply ] : Spannungsversorgung für den Chip
Bauteil | Wert | Beschreibung | Stückzahl | Reichelt Bestellnummer |
---|---|---|---|---|
IC1 | PIC 12F683 | PIC-Controller DIP-8 | 1 | PIC 12F683-I/P |
IC Sockel | 8pol | IC-Sockel, 8-polig, superflach | 1 | GS 8P |
R1 | 18k | Metallschichtwiderstand 18,0 K-Ohm | 1 | METALL 18,0K |
C1 | 1µF | Vielschichtkondensator | 1 | Z5U-5 1,0µ |
Stiftleiste | 36pol. Stiftleiste, gerade, RM 2,54 | 1 | SL 1X36G 2,54 | |
Lochrasterplatine | 16 * 18 mm | |||
Reichelt Warenkorb: "Trigger Chip" |
Oszilloskopbilder an den Ein- und Ausgänge
- blaue Linie = Triggereingang ; low Aktiv -> gedrückter Trigger = 0V !
- rote Linie = Triggerausgang ; low Aktiv -> wenn Ausgang aktiv = 0V !
Kontaktprellen eines Taster ( low aktiv ) -> je nach Taster ( Alter, Bauform ) sind bis zu 10ms unerwünschte Zeitverzögerungen möglich
Durchlaufverzögerung der Triggersignale von weniger wie 100µs, hier 82,4µs
Dauerfeuerfunktion mit eingestellten 10 Schüssen pro Sekunde ( 10 BPS ) , Stealth Funktion deaktiviert
Dauerfeuerfunktion @10 BPS mit aktivierterStealth Funktion - > Schussfrequenz variiert leicht ( high Pegel = Pausenzeiten )
Burst-Mode mit Verhältniss 1 : 3 , @10 BPS , Stealth Funktion deaktiviert
KeiAng
Publiziert am: Donnerstag, 12. November 2015 (10686 mal gelesen)
Copyright © by Keiang''s electronics hobby side
[ Zurück ]