Измерение скорости объекта, быстро движущегося в воздухе
Я новичок в Arduino и не знаю, как это сделать: я хочу прикрепить устройство к маленькому мячу, который будет быстро двигаться по воздуху. Целью этого устройства будет определение скорости этого объекта по мере его движения по воздуху. Мой мяч всегда будет двигаться по одной и той же траектории, потому что он будет выпущен из теннисного шутера. Моя первоначальная интуиция подсказывает мне использовать акселерометр для определения ускорения с интервалом в четверть секунды, а затем умножить эти значения на четверть секунды, чтобы получить изменение скорости, а затем добавить его к сумме всех предыдущих значений изменения скорости (начиная с 0).
Это сработает? Правильно ли я рассуждаю? Есть ли лучшие решения?
Спасибо!
@pranchan, 👍0
Обсуждение1 ответ
Лучший ответ:
Вы предлагаете вычислять скорость на основе выборочного ускорения. По сути, беря интеграл ускорения. Это первый шаг в процессе вызова точного расчета. Это обсуждается в этом ответе arduino.stackexchange.com. В этом ответе есть ссылка на веб-страницу, которая реализует точный расчет с использованием Arduino. Вы найдете это уравнение на этой веб-странице:
velocity(i) = velocity(i-1) + acceleration (i)
Вероятно, вы сможете избавиться от ожидания, если перефразируете свой вопрос примерно так: «Измерение скорости объекта с помощью Arduino». Затем используйте похожую формулировку в вопросе., @st2000
Хотя это интересный проект, обычно сложно правильно рассчитать траекторию. По этой причине я бы рекомендовал проверить, что можно сделать с помощью цветной видеокамеры и OpenCV. Однако, изучение этого подхода выведет вас из области Arduino и (как минимум) в область Raspberry Pi., @st2000
- Как управлять двигателем постоянного тока с помощью mpu6050?
- Можно ли измерить скорость акселерометром? Насколько точно?
- В чем разница между акселерометром, гироскопом и датчиком магнитометра?
- OVF в последовательном мониторе вместо данных
- Построение графика данных датчика Arduino в реальном времени на Processing, MatLab или Python
- Как преобразовать ШИМ 0-5В в ШИМ 0-12В
- Как связаться с датчиком через порты RX/TX Arduino?
- Линейное ускорение от MPU 6050
Некоторая часть траектории полета будет без измеримого ускорения и замедления. Разрушители мифов использовали высокоскоростную камеру, @Juraj
Как так? Какие обстоятельства могли бы к этому привести?, @pranchan
Когда вы достигнете максимальной скорости, она выровняется? То, что вы предлагаете, это *постоянная интеграция* и сценарий наилучшего предположения. Лучше получить время между двумя известными позициями и вычислить его оттуда., @Majenko
Но на максимальной скорости мне просто нужно добавить 0 изменений скорости к счетчику скорости, и это по умолчанию будет максимальной скоростью, верно?, @pranchan
Проблема в том, что у меня нет двух известных позиций., @pranchan
Насколько неточной должна быть оценка? Меня вполне устраивает некоторая погрешность..., @pranchan
Он будет дрейфовать со временем. Какие расстояния и скорости вы рассматриваете?, @Majenko
Меньше метра и скорость около 2-3 км/ч в лучшем случае., @pranchan
1 м при 3 км/ч даст вам 1,2 с, чтобы получить образцы. Чем больше вы возьмете, тем лучше. Плюс вам нужно будет учесть вращение (и, следовательно, центробежную и центростремительную силу)., @Majenko