
在电气上,传感器的设计仅包含导体。 小学的。
没有绑带-原则上-这是两个从地面到端口2和3的“按钮”,比检测器接收器更简单!

略微改写历史(斜体字)-我从事气动武器已有20多年了,一直以来我都使用弹道摆法来测量子弹的速度。
但是the弹枪出现了-能量对抗4.5毫米大酒瓶-100次! 更多-不要使用相同的登录暂停!
那时,我已经被介绍过将Arduino用于和平目的。
这是由Mikhail Shevchenko的设计基于两对光学传感器得出的。
他在枪管上安装了一个选件,但是即使经过几次枪击,弹簧气动装置的后座力也损坏了LED。
我试图组装一个带有许多光学传感器的通用框架怪兽-失败。
为了简化起见,我介绍了所描述的结构,没有别的地方了;-)
传感器的原理是从Airspeed计划的创建者那里借来的(最初是90年代)。

只需添加一个微控制器(精度高一个数量级)!
也就是说,当它起作用时,它看起来就是这样!
与声卡不同,我必须不使用模拟信号,而要从逻辑1转换为0。
运气之前还进行了许多实验-框架有2个选项,3种类型的电气“捆扎带”和4种编辑草图(程序)。
事实证明,将电压拉至数字引脚(上拉)是最重要和最稳定的解决方案!
结果,重复此方案时出错的可能性很小!
一切,没有时间进一步解释,只需查看照片即可组装传感器。

因此,我们开始了FIFA游戏-初始材料是一块15x10x5cm的木块,两块15x15cm的塑料板,2.5mm厚。
在较大的框架厚度下,传感器可能无法正常工作;在较小的厚度下,微风可能会缩短传感器的使用寿命。
您可以拿一个3毫米的瓦楞纸板,轻木,甚至可以用普通的尺子做相框!
要记住的主要内容-4mm厚度-已经很多了,它在六点停止工作!
框架中“窗口”的大小-9x9cm(原为十个)小吗?
如果从字面和象征意义上讲,您无法进入前十名,那么现在谈论天文台的必要性还为时过早!
接下来-我们切出11x14厘米的食物箔片,并使用普通的橡皮铅笔小心地将其粘贴在两侧的框架上。
我们将后者固定在底座(条形)上,以使它们之间的距离为10厘米(草图中嵌入的计时器底座)。
同时,光束本身应该已经是100mm。 至一帧的厚度(实际上,由于仓库本身变干而导致的木材尺寸减小;-)
U型框架是出于“可重复使用”的一组“箔”的原因而制成的-在每次用直尺射击之后,我们在成对的板之间画图,以打开弹孔区域中的触点。
为了方便和简单地确保与金属箔的接触,制作了基于衣夹的夹子:

我将多芯双绞线用作导体-我将所有末端镀锡(我们记得铜和铝没有直接连接!)
所以我们想通了。
现在,让我们继续进行微控制器-一切都在arduino Uno(Atmega-328)16Mhz + LCD Keypad Shield上进行了调试。
因此,草图的文本(程序)为:
// #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(); } }
简而言之,工作原理-引脚2,3上的PULLUP命令打开上拉电压(内部电阻为20-50 kOhm)
子弹跨度会导致中断(传感器FALLING)检测到短路,就像最快的arduino命令一样。
知道时间差和传感器之间的距离,就可以计算出子弹速度。
重要的传感器顺序-第一个-引脚2!
仅此而已。

有人会反对将精力花费在突破金属箔上,而子弹的实际速度会更高!
起初,一切似乎都是这样!
与一年半前通过带有光学传感器的设备(280m / s)测得的速度相比,箔上的设备产生了260个!
精力充沛-22焦耳vs 19! -损失立即treshki!
但是,一旦我将底座减小到100mm,“箔”就开始显示出正确的结果-为什么-一个谜!
子弹使用Luman FT 0.56克,设备基于同一微控制器,两种情况下的底座均为100mm,一支步枪

现在,关于读数的稳定性-在5张照片中,一次“弹出”只是一次,其他的数量都在收敛。
是的,最后要问-为什么在电子时代重新发明轮子?
一切都很简单-答案就是a弹枪!
测量出发时的收费速度-没问题-任何设备都可以!
但是在远处,镜头具有散布的能力(用于检查碎石的标准目标是75x75cm)。
现在,想像一下在35米处测量充电速度的选项-即使将售价50美元的中国设备拆开,也会令人感到侮辱。
出路是“预订”箱子和传感器(40mm的板就足够了),或使用一次性的。
有什么方法和为什么要测量-不远处就是禁止在水体中捕铅(欧洲之后),将有必要使用钢丸,在商店中会有这样的墨盒的生产线(或高价)。
当自我收集墨盒时,我不想使用老式的方法来评估进入干燥松木板的有效性。
为您和猎人精心准备的镜头-不是维尼,不是羽毛!
直到我们在安德烈(Andrey)的哈伯(Habr)再次相遇。