我应该使用哪种传感器来确定我的项目是否在移动?


9

我不在乎它移动了多少,速度有多快或朝哪个方向移动,我只希望基于Arduino的项目知道它是否在移动(这样我就可以在自行车静止不动时关闭高电流消耗的LED指示灯)保存我的电池。)

我需要加速度计,陀螺仪或其他类型的传感器吗?


3
项目附属于什么?非常恒定/稳定的线性运动可能更难检测,但是对于汽车/手推自行车等,您通常可以很容易地检测到方向和振动的变化。
PeterJ 2014年

您的设备是什么类型?它是地球人,铁路,水上,航空车辆还是其他?另外,您如何定义“运动”一词?例如 设备在运输时是否考虑移动?

编辑以指示自行车安装项目。它不在铁轨上;-)。
罗伯特·阿特金斯

@LeoR我本来以为可以使用加速度计,但后来我找到了这个答案:electronics.stackexchange.com/questions/105826/…(管内振动传感器)。我是否考虑得过多?我可以为此添加几个无源元件,以便在上一次开关接触后30-60秒内向Arduino引脚报告“高电平”吗?
罗伯特·阿特金斯

2
添加替代:您可能不希望自己的信号灯在交通信号灯处熄灭!
Brian Drummond 2014年

Answers:


10

如果要用在自行车上,那么我会在轮辐上使用低功率光电检测电路。有多种变体,重要的是能够使LED产生脉冲以节省功率,因此,如果辐条以每秒10次的速度通过(表示最低速度),则需要为LED供电至少0.1秒并“寻找”光束中断-这表示运动。只是一个主意。

您还可以考虑使用鞍形开关,这样,如果有人没有坐在鞍形上并且未检测到任何运动,则LED会完全关闭。


5
传统上,自行车车速表使用舌簧开关和连接到一根辐条的磁铁。自行车车轮(与地面接触并在人力的作用下)旋转速度不会超过20Hz,因此便宜的簧片开关可以行驶。不用时不通电,接通时下拉电阻的负载。我在一对纽扣电池上进行了数年的无线测试。
2014年

7

在大多数情况下,加速度计都是合适的。从技术上讲,恒定速度下的加速度将为0,但实际上,除非您的项目安装在某种异常低振动的导轨上,否则在移动过程中会看到加速度波动。在每个轴上使用滚动平均值并在变化高于某个阈值时将设备视为“移动”应该相当简单。当设备静止时,会检测到一点随机加速度,但是阈值处理可以解决这个问题。

您可以从许多业余电子供应商处获得装有I2C加速度计的电路板。与他们交谈的过程因芯片而略有不同,但通常从arduino与I2C器件交谈非常容易。


仅当单独使用加速度时要小心,以恒定速度行驶时,也会看到0加速度。
helloworld922 2014年

7
我认为我从未见过真正以恒定速度运动的运动车辆。每次我使用加速度计时,您都可以清楚地区分“运动”和“静止”,因为在运动时,至少一个轴会随随机振动和猛烈波动而变化。
LeoR

您应该使用移动平均值的变化。例如,这将使您可以将自行车侧放,而不会由于重力加速而不断触发。
塞缪尔

只需将加速度计安装在车把上即可。无论如何,这可能都接近LED,并且车把在骑行时永远不会稳定。
MSalters 2014年

7

当您指定“查看它是否在移动”作为目标时。我可能会建议采取其他措施来检查自行车是否在运动中。捕获的噪声加速度计的数量令人惊讶-可能是您的情况使“使用和移动中”与“不在用户中并且仍在(轻微)移动”之间有清晰的界限。我不希望那样。

值得考虑的是,如果自行车被固定/停放在经常移动的结构中(其他人则在附近安装或拆卸自行车,火车或车辆,在疯狂的HVAC泵附近的室内,在有人走过时在木/充气地板上的室内)。 ..),那么每当自行车运动时,您的灯就会亮起。这不是您真正想要的。您希望当骑手移动自行车时灯亮。为此,接近传感器(仅当您骑自行车时才被阻塞)甚至速度传感器/簧片开关之类的东西都可以使用。这是使用簧片开关的Arduino自行车测速仪的教程:http : //www.instructables.com/id/Arduino-Bike-Speedometer/ 这样做的好处是您可以获得速度读数,并且为灯光添加触发器非常简单(在自行车不为灯光/交通等移动时,延迟关闭一段时间)。


5

正如其他人建议的那样,加速度计非常易于使用,尤其是在具有所有库和分线板的Arduino上。可能值得一看的另一件事是类似压电振动传感器的产品,目前可从Sparkfun购买,价格为2.95美元:

在此处输入图片说明

请注意要注意输出电压的高低,他们建议使用电阻分压器降低电压并使用ADC引脚。虽然我个人不太热衷于在AVR中使用内部二极管钳位,但如果您说一个1K串联限流电阻给定了低电流,但我看不到连接数字接口会遇到太多问题如果足够灵敏,并且在钳位电路生效之前,Vcc的轻微上升将不会引起其他问题。

无论如何,它可能是另一个有趣的传感器。虽然对于稳压器和您的特定项目具有相对较高静态电流的Arduino而言,它可能无关紧要,但对于许多项目而言,它们却可以使整洁。它们消耗的功率为零,并且可以用来将微控制器从深度睡眠中唤醒,前提是您受到的振动足以触发逻辑高电平。


+1可能会唤醒微单!
Seidleroni 2014年

4

一种低分辨率的高速相机和光学器件,可以在正在移动的表面上拍摄许多照片(每秒数百或数千帧),并与内置的专用处理器进行实时比较,以达到以下目的:测量运动。最好全部在一个芯片上,并带有方便的MCU接口。

换句话说,是光学鼠标传感器。 在此处输入图片说明

不幸的是,看来Avago的零件不再有库存,但您可以砍活一个光电鼠标,这也将为您提供光学元件和照明LED(您可能必须修改光学元件以获得适当的距离)。许多传感器似乎来自台湾的Pixart,并且有可用的数据表(通常不正确)。


2

这些响应中有很多过于复杂,很可能会导致误报和/或误报。如果完全移动自行车,加速度计将熄灭;如果以恒定速度移动,加速度计将不会点火。如果传感器的质量不是很好,那么获取地面的光学镜头将耗费大量过程,并且可靠性极高。如果有人撞到您的自行车或以任何方式将其摇晃,则测量振动将触发。
您必须问一个非常简单的问题才能找到正确的答案:骑自行车的人与骑自行车的人有什么区别?答案也很简单:车轮旋转。
因此,您的解决方案是,使用可以在旋转轴上测量滚轮的工具,例如Spehro的鼠标创意。
这样可以确保您的系统在(且仅当)骑手引起其移动时才会触发。


我会更进一步,问“我如何确定一个人是否在使用自行车?”
hoosierEE 2014年

2

或者,您可能会感觉到骑手何时骑自行车,例如:

  • 悬架行程(例如前叉上的光遮断器)
  • 轮胎压力(根据自行车轮胎的大小,略有差异)
  • 框架弯曲(钢框架比铝或碳更好)
  • 接触点处的压力传感器(手柄,鞍座,踏板;将它们逻辑或)
  • 脚架开关

2

如果您不关心会发生哪种运动,那么滚动球开关是最容易实现的解决方案。它仅需要一个数字输入和一个低通滤波器。

一个例子是Signalquest SQ-SEN-200。相同技术还有其他越来越小的变体(SMD和通孔)。


滚动球开关是否需要“上升”的概念?如上图所示,我拿起我的项目并将其相对于上一个方向上下颠倒放置,它是一次移动还是根据开关连续移动?
罗伯特·阿特金斯

这种开关几乎没有变种,可以在倾斜,振动或摇晃时触发。组件内部的球最终到达静止位置,因此程序员应决定如何处理生成的数据。
Lior Bilia 2014年

0

为了仅检测物体在移动,我建议使用带有某种摆锤的光遮断器。像这样一个人,制造一个在其检测区域移动的“机械物体”。 http://se.farnell.com/sharp/gp1s53vj000f/photointerrupter-compact/dp/9708065

您可能可以通过带有滚轮按钮或滚珠运动检测器的计算机鼠标来抢救所有需要的零件。


2
那是机械加速度计。MEMS加速度计价格便宜
Scott Seidman 2014年

哇,如今的MEMS电路确实很便宜。
Dejvid_no1 2014年

绝对。如今,具有少量数字输出的3D MEMS加速度计的价格约为1.50美元(例如10)
Scott Seidman 2014年

2
15年前,我付出约$ 1,500加速度计与功能,$ 1.50将在今天让我
斯科特塞德曼

1
@ScottSeidman是的,但是今天的力平衡加速度计仍然比直流至100Hz的最佳MEMS好一个数量级!可悲的是,它们的价格要贵两个数量级。
2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.