發新話題
打印

[改裝] 用Arduino實現電槍活塞預拉功能

用Arduino實現電槍活塞預拉功能

活塞預拉功能藉由每次扣板機前先將活塞固定在後(類似手拉狙),可以縮短版機反應時間(Trigger Response),理論上可避免活塞拉動時的額外震動以提升準度。
目前市面上有活塞預拉功能的電槍應該只有Marui PSG-1、怪怪/Army的L85,另外就只有一些國外的MOSFET相關改裝套件可以使用,有些雖功能多但價格較高。
所以本文使用便宜的Arduino單晶片機DIY來改變活塞拖放的時序。先看看下面的BOX運作影片(我使用CA SIG552的三代BOX,理論上所有電槍都可以改裝):

https://www.youtube.com/watch?v=zm4OSpsYi1s

可以看到紅色的活塞頭在擊發前都是固定在後的,一扣下版機就會再往後拉並釋放活塞(擊發),釋放後再由Arduino控制馬達將活塞固定在後,完成一次單發行程。

控制擊發用Arduino(取代電閘)控制MOSFET就可以辦到。但如何將「活塞固定在後」而不會「拉過頭」或「拉不夠」呢?國外的MOSFET套件或DIY有不同的做法,可以控制的參數有「電流大小」、「電壓大小」、「預拉時間」、「電磁偵測活塞位置」等,在我的專案是偵測「電流變動」來完成。

準備材料:
1.Arduino pro mini 5V
2.ACS712電流偵測模組(30A)
3.IRF2804 mosfet
4.10K與4.7K電阻數顆
5.11.1>5V降壓模組
以上零件盡量挑體積小的,並請確認您的電槍至少有再塞下約一顆锂電的空間,可以放以上的零件跟一堆電線。且電槍走線要改為可安裝FET的型式(電閘兩條線、馬達兩條線)

槍型配置
CA SIG552(其實不推薦,護木空間很小塞零件塞得要死)
彈簧 M100
馬達 原廠扭力馬達
有更換警星的汽缸組、尾頂桿
其餘原廠

概略的電路示意圖如下(抱歉,小弟非電子專業,只會畫示意圖):


Arduino的接線說明

A0接ACS712的資料端
D12接電閘線的一端,做為版機訊號接收。(請接一個下拉電阻確保訊號)
D8接電閘線的另一端
D5接MOSFET的訊號端

另外補充:其實可以做一個分壓電路讓Arduino偵測目前的電池電壓,若電池電壓小於某個值(如:11.3V)D5就不再送訊號發射電槍,可以達到保護電池的效果。但為免模糊本文焦點就不寫入程式碼與電路圖中了。


最後為Arduino 程式碼如下:
https://drive.google.com/file/d/0BzgUko3YMETKMmpIRTNnQURFaWM/view

[ 本帖最後由 davidwei07 於 2015-9-18 08:07 編輯 ]

TOP

不錯的東西
不過小弟看了一下,每次預發位置都不一樣
這樣會影響到出氣量
對精密射擊來說會有所影響
如果可以改善此問題
我的M14很想改裝此裝置

TOP

jsn兄您好
雖然預拉的活塞位置稍微不同 但活塞釋放時的位置都相同 照理講應該不會影響出氣量才是?您有興趣的話晚上我會PO電路圖與程式碼上來再一起討論

TOP

市面上有活塞預拉功能的電槍不只有Marui PSG-1, 怪怪/Army的L85也是這樣的設定

TOP

感謝告知 L85管長做電狙似乎不錯

TOP

電路圖與程式碼我看不懂

TOP

照樓主說明來看
應該是板機電閘完全脫離整個電槍的控制系統
電閘兩端
一端接D8然後利用程式永遠送一個高電壓
另一端接D12加一顆電阻到地
程式直接監看D12,若是"0"表示板機沒按
"1"就是板機被按下,對吧
這是一個好辦法,因為電閘電壓永遠不可能超過5V

D5直接控制MOSFET開關,也就是說5V直接控制開關
MOSFET有可能會發燙,甚至燒毀
這裡請小心,

TOP

QW兄您好
這是一個電閘脫離發射控制的系統沒錯 ,才能讓電流驟降時及時停止馬達,讓活塞停在想停的位置
D5連接的腳在IRF2804的GS兩端有綁一個10K電阻,所以VGS應該不會超過5V?測試連續單發目前似乎沒有過熱的情形

TOP

依 SPEC
http://www.irf.com/product-info/datasheets/data/irf2804pbf.pdf
第三頁中標示
VGS在5V時,ID最大約在30A(TJ 25度時),這時不會達到MOS 最高耐電流 75A
而電槍普遍接受的瞬間電流通常都在20-30A(通常是改裝過)
所以我才說有可能會發燙,原因就是 VGS 電壓太低

現在應該是目前彈簧強度在 M100 所以沒事

如果要保證通過較高ID電流
可以試試加level-shifter 線路
將信號準位拉高

TOP

了解了 感謝您的提醒

TOP

其實磁簧開關,電磁感應的相關感應器,會是最準確的控制方式。

本人以氣液壓工程的方式提出建言。
預算不定值的收藏派

TOP

這樣會重拖吧
有點像開車用高速檔起步
改強對馬達電池也很傷
KSC系統就能解決這問題
可惜曲高和寡

TOP

引用:
原帖由 MAKALAS 於 2015-9-20 19:04 發表
其實磁簧開關,電磁感應的相關感應器,會是最準確的控制方式。

本人以氣液壓工程的方式提出建言。
我覺得都有機會...
樓主用電流偵測的方式我以前想用來應用在三連發上面過~
但是無奈於敝隊打得很強~電流的負載很大~且以本人能力需要花分太多時間所以放棄~

我一開始看了樓主的介紹~磁簧開關跟電磁感應也是我腦海中先浮現的答案~
如ARES所使用的三號齒上附加一個磁鐵~
或者在活塞內以螺絲鎖住拍頭的地方~跟尾頂桿末端做一個磁簧開關互相接觸也是不錯的~

但是其實偷懶的我會試著提高射速縮短這個延遲時間....
隸屬隊伍: 桃園武裝分子
專長 嘴砲、歪樓
配備武器 鍵盤、滑鼠、一張嘴
https://www.facebook.com/groups/401454756638212/

TOP

昨天拿著這隻552去頂樓歸零,大概一顆11.1V 850mah的托桿小電池約可打一百多發單發。如果以電狙來講應該是足夠,如果要開連發就跟這系統沒關係了。但長期測試若電池跟馬達或其他組件很快損壞,會上來跟大家報告。
用電流偵測的確受到馬達(起始電流、轉速)與電池(電壓、放電能力)、系統阻抗等眾多因素影響,那時才會想用「電流波動」的方式來減少變數的干擾。
用電磁偵測的方式在youtube上有看到國外玩家用過,當時看到也覺得是最準確的方式。但那時還不知「磁簧開關」這東東,可以有效偵測活塞位置(早知道這個就不會測單發測到耳朵快聾了哈),感謝MAKALAS大與Baga兄的實作建議!

TOP

發新話題

Sitetag