Мне нужен датчик, который я могу разместить только над объектом, чтобы подсчитать, сколько раз объект двигался вверх и вниз.
Достигнет ли это положение акселерометра на вершине объекта или он сможет отслеживать переход между движением вверх и вниз?
Если нет, то какой тип датчика (-ов) позволит это сделать?
---------------- РЕДАКТИРОВАТЬ: -------------------------
В идеале мне нужен датчик, который я могу установить на верхнюю часть окна, описанного ниже, и рассчитывать, сколько раз он идет вверх и вниз. У этого есть многократные направляющие, которые предотвращают это от скручивания. Я планирую использовать Arduino в качестве микроконтроллера, который выполняет математику, просто нужен датчик, способный воспринимать движение вверх / вниз. Все предложения приветствуются. Спасибо.
+ +
+ +
+ +
------------
| box |
| moves up |
| and down |
------------
+ +
+ +
источник
Ответы:
Я думаю, что акселерометр и Arduino - отличный способ подсчитать, сколько раз коробка движется вверх и вниз. Это компактный, надежный, бесконтактный способ обнаружения движения.
Это может сработать для движения, такого же легкого, как взлет и падение вашей груди, когда вы дышите, лежите и, конечно, все, что быстрее, чем это.
Вы можете обойтись простым пороговым детектором с некоторым гистерезисом - считайте один, когда ускорение превышает + x, затем установите порог на -x, пока он не пересекает -x, затем установите порог на + x.
Если ускорение более плавное или существует фоновая вибрация, которую вы не хотите считать (даже если это движение вверх и вниз), тогда сигнал может быть потерян в шуме.
Затем вам нужно будет реализовать простой цифровой фильтр на Arduino, который по сути «ищет» движение с определенной скоростью. Это может быть просто, просто сложив последние 100 образцов ускорения (при 100 Гц) и поместив среднее значение через пороговый детектор, или вы можете разработать более сложный фильтр.
Если вы планируете использовать акселерометр для чего-либо, попробуйте сначала на смартфоне.
Найдите в своем магазине приложений приложение для мониторинга акселерометра, которое записывает датчик в файл, и проведите несколько экспериментов. Если он создает файл CSV, вы можете открыть его в Excel и построить графики и т. Д.
Акселерометр в вашем телефоне довольно простой и шумный, но является хорошей заменой любого другого акселерометра стоимостью менее 100 долларов и может дать вам приблизительное представление о том, что можно сделать за 1000 долларов.
Вот пример того, что я сделал с сенсором телефона.
Удачи! Опубликуйте свои результаты здесь (ответьте на свой вопрос), если это сработает для вас.
источник
В общем нет. Представьте, что вы бросаете шар прямо вверх (и игнорируете сопротивление ветра): когда он движется, единственная сила на нем - это сила тяжести, которая вызывает постоянное ускорение. Невозможно узнать об одном только ускорении, когда мяч достиг максимальной высоты и начал спускаться вниз - ускорение остается одинаковым на всем пути, пока не упадет на землю.
Если вы знаете, что объект начинается в покое, и вы измеряете его ускорение, вы можете определить его скорость, интегрируя ускорение во времени. Если он замедлится, вы увидите отрицательное ускорение, и интеграл станет нулевым, когда остановится. Затем, когда он начнет двигаться снова, вы увидите изменение в ускорении, и вы можете начать интегрировать все заново. Однако это сильно зависит от точности измерений и расчетов. Если один из них немного отключится, ошибка будет постепенно увеличиваться до тех пор, пока вы больше не будете знать, что на самом деле происходит.
источник
Во-первых, важно понять, как акселерометр ведет себя в гравитационном поле, которое мы наблюдаем на Земле. Акселерометр не измеряет ускорение в том смысле, что он не измеряет только изменение скорости. Он измеряет изменение скорости плюс гравитацию - это означает, что вам нужно измерить гравитацию, если вы планируете делать то, что наметили.
Кроме того, сила тяжести будет измеряться как ускорение вверх - что несколько нелогично, но имеет смысл, если вы представляете, что акселерометр построен примерно так:
смоделировать эту схему - схема, созданная с использованием CircuitLab
Я злоупотребил редактором схемы, чтобы показать шарикоподшипник, подвешенный в трубе на двух идеально демпфированных пружинах. Представьте, что акселерометр проводит измерения, сообщая вам, насколько далеко от упора находится шариковый подшипник. А теперь представьте, что поворачиваете это устройство на своем конце, и вы можете увидеть, как шариковый подшипник провисает под действием силы тяжести, и как это неотличимо от ускорения. Я думаю, что у относительности есть что сказать по этой теме, но все равно.
Итак, если у вас есть вертикальный акселерометр, и вы устраняете эффект гравитации, и движения вашего устройства достаточно велики, чем минимальный уровень шума вашего акселерометра, и, кроме того, движения достаточно плавные, чтобы не перепутать ваш алгоритм - тогда это может быть возможным Выше приведен ответ, в котором говорится о свободном падении, что будет проблемой, но я предполагаю из вашего описания, что ваше устройство не будет находиться в свободном падении в течение продолжительного времени. Это предположение, хотя.
Если вы действительно хотите использовать акселерометр, ваш лучший подход к такой проблеме - это записать выходной сигнал акселерометра каким-либо образом (я предпочитаю выводить его через SPI и записывать его с помощью логического анализатора USB) и записывать именно то, что вы делаете (или даже видео, если вы действительно заинтересованы). Затем вы можете поиграть с автономными алгоритмами, не беспокоясь о том, что ваш Arduino действительно делает то, что вы думаете.
Как уже упоминалось, другие типы датчиков могут быть более подходящими. Нам нужно больше подробностей о том, почему именно вы пытаетесь комментировать, я думаю.
источник
Если объект перемещается вверх и вниз по фиксированным направляющим, я думаю, что самым простым способом подсчета его движений было бы использование концевого выключателя, который был бы закрыт, когда объект находится в покое, и открыт, когда он находится в исходном положении.
источник
Осторожно, изменение ускорения не означает, что коробка развернулась. Коробка запускается - вы видите ускорение вверх. Сейчас он движется с постоянной скоростью - вы не видите ускорения. Он замедляется до половины скорости - вы видите ускорение вниз. Это продолжается на половине скорости - вы не видите ускорения. Он ускоряется назад - вы видите ускорение вверх. Он останавливается, вы видите ускорение вниз.
Вы видели вверх, вниз, вверх, вниз, но коробка действительно только двигалась вверх. Вам придется интегрироваться с течением времени и иметь достаточную точность в вашем акселерометре, чтобы выяснить, как вы на самом деле идете - следите за кумулятивной ошибкой, это может сделать эту проблему очень сложной!
Вы исследовали использование лазерного дальномера, чтобы измерить, где находится коробка?
источник
Акселерометры измеряют ускорения. Если движение выполняется с ускорением, оно будет обнаружено, учитывая, что акселерометр достаточно чувствителен к этой оси. Направление ускорения будет указываться знаком считанных значений. Обратите внимание, что при измерении ускорений по вертикальной оси измерение будет смещено на постоянную ускорения гравитации
g
.источник
Если вам не нужен физический контакт (например, предоставляемый обычным концевым выключателем или микропереключателем), вы можете установить магнит и использовать геркон или переключатель эффекта Холла. Или установите что-нибудь, что слегка выпирает, непрозрачно и проходит через оптический детектор (типа с небольшим отверстием в нем).
Акселерометр сложный, более дорогой, чем любой из вышеперечисленных, и по причине, красноречиво объясненной Питом Беккером (а теперь и Дейвом Брантоном), вряд ли будет работать.
источник
Здесь много интересной информации, но я не видел, чтобы кто-нибудь предлагал линейный потенциометр ...
Просто подайте напряжение и посчитайте, сколько раз GPIO читает HI. Самый дешевый линейный горшок? Регулятор громкости от старого радио, регулировка триммера от игрушечных контроллеров R / C и т. Д.
источник
Если его следующие рельсы, как насчет использования ультразвукового дальномера? Arduino может сделать математику для определения ускорения, и его реализация будет намного проще, чем прикрепление проводов к чему-то движущемуся. Это, безусловно, будет работать лучше, если трасса прямая. Вот один. https://www.sparkfun.com/products/639
источник
Я бы рекомендовал использовать две тонкие металлические пластины для формирования конденсатора. Одна пластина будет помещена сверху коробки, а другая зафиксирована на некоторой высоте от коробки. Когда коробка движется вверх и вниз, емкость (C) будет меняться из-за изменения расстояния между пластинами (d) (C = kA / d). Это изменение может быть «преобразовано» с помощью соответствующих средств в изменение напряжения, частоты и т. Д., А затем в форму, подходящую для интерфейса Arduino (может потребоваться усиление).
источник