Какой датчик я должен использовать, чтобы определить, движется ли мой проект?

9

Мне все равно, насколько он движется, как быстро и в каком направлении, я просто хочу, чтобы мой проект на базе Arduino знал, движется ли он или нет (поэтому я могу отключить сильноточные светодиоды, когда мой велосипед стоит на сохранить мою батарею.)

Хочу ли я акселерометр, гироскоп или какой-нибудь другой датчик?

Роберт Аткинс
источник
3
К чему прикреплен проект? Очень постоянное / стабильное линейное движение может быть сложнее обнаружить, но для автомобилей / толкателей и т. Д. Вы обычно можете довольно легко обнаружить изменения в орентации и вибрации.
PeterJ
Какое у тебя устройство? Это подземный, железнодорожный, водный, воздушный транспорт или что-то еще? Также, как вы определяете термин «перемещение»? Например устройство при перевозке транспортным средством считается движущимся или нет?
Вованиум
Изменить, чтобы указать на смонтированный на велосипеде проект. Это не на рельсах ;-).
Роберт Аткинс
@LeoR Я думал, что акселерометр, вероятно, подойдет, но потом я нашел ответ: electronics.stackexchange.com/questions/105826/… (датчик вибрации пружины в трубе.) Думаю ли я об этом? Могу ли я добавить пару пассивов к этому, чтобы он сообщал о «высоком» к выводу Arduino в течение 30-60 с после того, как последний раз сработал контакт?
Роберт Аткинс
2
Добавьте переопределение: вы можете не захотеть, чтобы ваши огни погибли на светофоре!
Брайан Драммонд

Ответы:

10

Если бы он использовался на велосипеде, я бы использовал опто-детекторную схему с низким энергопотреблением на спицах колеса. Существует несколько вариантов этого, и важна возможность импульса светодиода для экономии энергии, таким образом, если спица проходит мимо 10 раз в секунду (с указанием минимальной скорости), то вам нужно будет подать питание светодиода как минимум на 0,1 секунды и «искать» прерывание луча - это указывает на движение. Просто идея.

Вы могли бы также рассмотреть переключатель седла, чтобы, если кто-то не сидел на седле и не было обнаружено никакого движения, светодиод полностью выключился.

Энди ака
источник
5
Традиционно в спидометре велосипеда используется геркон и магнит, прикрепленный к одной из спиц. Велосипедное колесо (в контакте с землей и под воздействием человека) не может вращаться быстрее, чем 20 Гц, или так может работать дешевый геркон. Нет питания, когда он не используется, нагрузка резистора понижается, когда он включен. У меня была беспроводная связь на пару монетных ячеек.
Фил
7

Акселерометр подойдет в большинстве случаев. Технически ускорение будет равно 0 при постоянной скорости, но на практике, если ваш проект не установлен на каком-то исключительно низко вибрирующем рельсе, вы увидите колеблющиеся ускорения во время движения. Должно быть достаточно просто использовать скользящее среднее по каждой оси и рассматривать устройство как «движущееся», когда изменение превышает определенный порог. Когда устройство неподвижно, будет обнаружено небольшое случайное ускорение, но пороговое значение должно с этим справиться.

Вы можете приобрести платы с установленными на них акселерометрами I2C от многих поставщиков электроники для любителей. Процедура разговора с ними будет немного отличаться в зависимости от чипа, но в целом разговаривать с устройствами I2C от Arduino довольно легко.

Леор
источник
Будьте осторожны с использованием только одного ускорения, при движении с постоянной скоростью вы также увидите 0 ускорений.
helloworld922
7
Я не думаю, что когда-либо видел движущееся транспортное средство, которое на самом деле движется с постоянной скоростью. Каждый раз, когда я играл с акселерометрами, вы могли четко различать «перемещение» и «неподвижность», потому что во время движения по крайней мере одна ось будет колебаться со случайными колебаниями и рывками.
LeoR
Вы должны использовать вариацию скользящего среднего. Это позволит вам, например, поставить мотоцикл на бок и не давать ему постоянно срабатывать из-за ускорения под действием силы тяжести.
Самуил
Просто установите акселерометр на руле. В любом случае это, вероятно, близко к светодиоду, и руль никогда не бывает устойчивым во время езды.
MSalters
7

В то время как вы указываете «видеть, если он движется» в качестве вашей цели. Я мог бы рекомендовать другую меру проверки, если велосипед находится в движении. Количество шума, получаемого акселерометрами, поразительно - возможно, ваша ситуация такова, что будет четкое разграничение между «используется и перемещается» и «не используется и все еще движется (слегка)». Я не ожидал бы, что это будет иметь место, хотя.

Стоит учесть, что если велосипед прикреплен / припаркован в структуре, которая часто перемещается (другие прикрепляют или отсоединяют свои велосипеды, поезда или транспортные средства рядом, в помещении рядом с безумным насосом HVAC, в помещении на деревянных / надувных полах, когда кто-то проходит мимо. ..) тогда ваши огни будут включаться всякий раз, когда велосипед движется. Это не совсем то, что вы хотите. Вы хотите, чтобы свет включался, когда велосипедист (вы) двигает велосипед. Для этого будет работать датчик приближения (который блокируется только на велосипеде) или даже что-то вроде датчика скорости / герконов. Вот учебник для велосипедного спидометра Arduino, использующего геркон: http://www.instructables.com/id/Arduino-Bike-Speedometer/ Бонусом этого является то, что вы получаете показания скорости, и было бы довольно тривиально добавить триггер для источников света (с отложенным выключением на периоды, когда мотоцикл не движется для источников света / движения и т. П.).

Nahkki
источник
5

Акселерометры, как предлагали другие, довольно просты в использовании, особенно на Arduino со всеми доступными библиотеками и платами. Еще одна вещь, на которую стоит обратить внимание - это пьезо-датчик вибрации, подобный этому, который можно приобрести в Sparkfun за 2,95 долл. В данный момент:

введите описание изображения здесь

Просто обратите внимание на то, насколько высоким может быть выходное напряжение, они предлагают использовать резисторный делитель для снижения напряжения и использовать вывод АЦП. Хотя я не особо заинтересован в использовании внутренних диодных зажимов в AVR, если вы использовали, скажем, ограничитель тока серии 1K, учитывая низкий ток для начала, я не вижу, чтобы у вас было слишком много проблем с подключением к цифровому вход, если это дает достаточную чувствительность, и небольшое увеличение Vcc не вызовет других проблем, пока зажимы не вступят в силу.

В любом случае это может быть другой датчик, на который было бы интересно взглянуть. Хотя это, вероятно, не будет иметь большого значения для Arduino, который имеет относительно высокий ток покоя на регуляторе и ваш конкретный проект, они могут быть полезны для многих проектов. Они потребляют нулевую мощность и могут быть использованы для пробуждения микроконтроллера из глубокого сна, при условии, что вы получаете достаточно вибрации, чтобы вызвать высокий логический уровень.

PeterJ
источник
+1 за возможность проснуться микро!
Seidleroni
4

Это своего рода высокоскоростная камера с низким разрешением и оптика, которая делает много фотографий (с сотнями или тысячами кадров в секунду ) поверхности, по которой она движется, и сравнивает их в реальном времени со встроенным специализированным процессором для измерить движение. Желательно все на чипе, с удобным интерфейсом MCU.

Другими словами, оптический сенсор мыши. введите описание изображения здесь

К сожалению, похоже, что запчасти Avago больше не продаются, но вы можете взломать оптическую мышь, которая также даст вам оптику и светодиод подсветки (возможно, вам придется изменить оптику, чтобы получить подходящее расстояние). Похоже, что многие датчики были из Pixart на Тайване, и таблицы данных доступны (часто это не так).

Спехро Пефхани
источник
2

Многие из этих ответов слишком сложны и, скорее всего, приведут к ложным срабатываниям и / или ложным отрицаниям. Акселерометры сработают, если мотоцикл вообще движется, и не сработают, если вы двигаетесь с постоянной скоростью. Съемка оптического материала с земли является дорогостоящей и не невероятно надежной, если датчик не такой большой. Измерение вибрации сработает, если кто-нибудь ударит по вашему велосипеду или трясет каким-либо образом.
Есть очень простой вопрос, который вы должны задать, чтобы найти правильный ответ: что отличается между гонщиком, едущим на велосипеде, и чем-то другим, двигающим его? Ответ одинаково прост: колеса крутятся.
Таким образом, ваше решение, таким образом, заключается в использовании чего-то, что измеряет колесо на оси вращения, что-то вроде идеи мыши Спехро, возможно.
Это гарантирует, что ваша система сработает тогда и только тогда, когда гонщик заставит ее двигаться.

шанс
источник
Я бы сделал еще один шаг вперед и спросил бы: "Как я могу определить, использует ли человек велосипед?"
hoosierEE
2

Или вы можете почувствовать, когда на велосипеде находится гонщик, например:

  • ход подвески (например, опто-прерыватель на передней вилке)
  • давление в шинах (сложно, учитывая размер велосипедной шины)
  • изгиб рамы (лучше для стальных рам, чем для алюминия или карбона)
  • датчики давления в точках контакта (рукоятки, седла, педали; логическое ИЛИ их вместе)
  • Kickstand switch
hoosierEE
источник
2

Если вас не волнует, какое движение происходит, тогда самое простое решение - это вращающийся шариковый переключатель. Требуется только цифровой вход и фильтр низких частот.

Одним из примеров является Signalquest SQ-SEN-200. Существуют другие меньшие и большие варианты той же технологии (SMD и сквозное отверстие).

Лиор Билия
источник
Нужно ли переключать шариковый переключатель, чтобы появилось понятие «вверх»? Например, я беру свой проект и устанавливаю его вверх ногами относительно предыдущей ориентации, он перемещался один раз или он непрерывно движется в соответствии с переключателем?
Роберт Аткинс
Существует несколько вариантов такого переключателя, которые могут срабатывать при наклоне, вибрации или тряске. Шарики внутри компонента в конечном итоге приходят в положение покоя, поэтому программист сам должен решить, что делать с сгенерированными данными.
Лиор Билия
0

Чтобы просто обнаружить, что объект движется, я предлагаю фотопрерыватель с маятником какого-то рода. Возьмите такой, как этот, и постройте «механическую вещь», которая движется в зоне обнаружения. http://se.farnell.com/sharp/gp1s53vj000f/photointerrupter-compact/dp/9708065

Вы могли бы, вероятно, спасти все необходимые детали от компьютерной мыши с помощью колесика или детектора движения мяча.

Dejvid_no1
источник
2
Это механический акселерометр. МЭМС-акселерометр дешевле
Скотт Сейдман
Вау, схемы MEMS сегодня действительно дешевы.
Dejvid_no1
Абсолютно. Трехмерный MEMS-акселерометр с цифровыми выходами в эти дни стоит около $ 1,50 в скромных количествах (например, 10)
Скотт Сейдман,
2
15 лет назад я платил около 1500 долларов за акселерометры с возможностями, которые мне сегодня принесут 1,5 доллара
Скотт Сейдман,
1
@ScottSeidman Это правда, но современные акселерометры с балансом силы по-прежнему на порядок лучше, чем лучшие MEMS для постоянного тока до ~ 100 Гц! К сожалению, они на два порядка дороже.
Фил