Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств. |
26.07.2013, 06:16
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Сейсмодатчик своими руками
Провел несколько опытов с тем что получилось. Испытательный стенд представляет собой лампу-жираф, на которую привязал компьютерную мышь, а к мыше привязал акселерометр. Длина маятника примерно 58см (хрен его знает как определить точку изгиба мышиного провода...). Отклоняю на 5см, отпускаю. Результат на фото. Там где метка 350-360 уже перестают быть заметны колебания, а в тоже время маятник еще качается с амплитудой +-1см(отсчет от точки покоя).
|
|
|
|
26.07.2013, 08:49
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,531
Сказали Спасибо 11,770 раз(а) в 5,896 сообщении(ях)
|
Re: Сейсмодатчик своими руками
Какой период колебаний? У этого акселерометра грубовато чутье.
Полученные +/- 1 см переведите в ускорение, хотя бы, примерно, и соотнесите с g и тугриками/g. Не впечатлит.
Я бы положил на стол и толкнул (стол), ударил бы кулаком по столешке. Что при этом видно?
Маятник из мыши с полуметровым подвесом слишком низкочастотный, как следствие - малые значения.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
26.07.2013, 12:42
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Сейсмодатчик своими руками
akegor, удар столу не отличим от шума. Либо кто-нибудь откроет тайну как правильно работать с этим датчиком, либо экспериметы отложатся до приезда альтернативного.
|
|
|
|
26.07.2013, 13:28
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,531
Сказали Спасибо 11,770 раз(а) в 5,896 сообщении(ях)
|
Re: Сейсмодатчик своими руками
BolshoyK, Вы так и не перешли к перемещениям. А интересно было бы посмотреть результат.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
26.07.2013, 15:35
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Сейсмодатчик своими руками
akegor, а на каком промежутке считать перемещение? от смены до смены направления ускорения?
|
|
|
|
26.07.2013, 19:03
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,531
Сказали Спасибо 11,770 раз(а) в 5,896 сообщении(ях)
|
Re: Сейсмодатчик своими руками
Ускорение - вторая производная от перемещения. Двойное интегрирование данных акселерометра дает перемещение по осям.
Сообщение от BolshoyK
|
а на каком промежутке считать перемещение?
|
непрерывно.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
27.07.2013, 08:57
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Сейсмодатчик своими руками
алгоритм рассчета:
Цитата:
|
AccelX = Convert.ToSingle(result[3], new CultureInfo("en-US")) / 64;
AccelY = Convert.ToSingle(result[4], new CultureInfo("en-US")) / 64;
AccelZ = Convert.ToSingle(result[5], new CultureInfo("en-US")) / 64;
time = Convert.ToSingle(result[6], new CultureInfo("en-US"));
if ((AccelX0 == 0) && (AccelY0 == 0) && (AccelZ0 == 0)) {
AccelX0 = AccelX;
AccelY0 = AccelY;
AccelZ0 = AccelZ;
}
speedX0 = speedX;
speedY0 = speedY;
speedZ0 = speedZ;
distX0 = distX;
distY0 = distY;
distZ0 = distZ;
AccelX = AccelX - AccelX0;
AccelY = AccelY - AccelY0;
AccelZ = AccelZ - AccelZ0;
speedX = speedX0 + AccelX * time;
speedY = speedY0 + AccelY * time;
speedZ = speedZ0 + AccelZ * time;
distX = distX0 + speedX0 * time + AccelX * time * time / 2;
distY = distY0 + speedY0 * time + AccelY * time * time / 2;
distZ = distZ0 + speedZ0 * time + AccelZ * time * time / 2;
textBox1.Text = AccelX.ToString();
textBox2.Text = AccelY.ToString();
textBox3.Text = AccelZ.ToString();
textBox4.Text = speedX.ToString();
textBox5.Text = speedY.ToString();
textBox6.Text = speedZ.ToString();
textBox7.Text = distX.ToString();
textBox8.Text = distY.ToString();
textBox9.Text = distZ.ToString();
|
За начальную точку, точку покоя, принимаем первый пакет пришедший с девайса. Чтобы получить данную картину просто поболтал акселерометром во все стороны...
|
|
|
|
27.07.2013, 09:29
|
|
Гражданин KAZUS.RU
Регистрация: 21.08.2006
Адрес: РА г.Майкоп
Сообщений: 863
Сказал спасибо: 31
Сказали Спасибо 221 раз(а) в 122 сообщении(ях)
|
Re: Сейсмодатчик своими руками
Сообщение от akegor
|
Двойное интегрирование данных акселерометра дает перемещение по осям.
|
А как при интегрировании Вы собираетесь вычислять постоянную ,F(x)+ C?
Разве данные интегрируются? Я всегда думал что функции.....видимо ошибался....
__________________
Последний раз редактировалось mind; 27.07.2013 в 09:34.
|
|
|
|
27.07.2013, 11:33
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,531
Сказали Спасибо 11,770 раз(а) в 5,896 сообщении(ях)
|
Re: Сейсмодатчик своими руками
BolshoyK, известная фраза Булдакова:"А что это было?"
Если привязать хрен-знает-что к хрен-знает-чему, получим хрен-поймешь.
А вот если привязать тугрики к единицам ускорения (хотя бы по "типовым" значениям из ДШ), в результате получим вменяемые результаты по перемещениям. И еще. Чтобы оценить полученный результат нужно знать, в каких границах и по какому закону проводилась "болтанка".
Или я что-то не понял?
Я бы положил на линейку и по ней переместил, скажем, на 20см в направлении "Х" за, скажем, 0.5с в одну сторону, затем в другую. Можно по всем осям аналогично, но не одновременно.
Пора уже переходить к измерениям.
А по полученной картинке уже видно, что шумы сильно не мешают, хотя без физических величин - бабушка пополам сказала.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
Последний раз редактировалось akegor; 27.07.2013 в 11:41.
|
|
|
|
27.07.2013, 11:42
|
|
Гражданин KAZUS.RU
Регистрация: 21.08.2006
Адрес: РА г.Майкоп
Сообщений: 863
Сказал спасибо: 31
Сказали Спасибо 221 раз(а) в 122 сообщении(ях)
|
Re: Сейсмодатчик своими руками
Сообщение от akegor
|
по какому закону проводилась "болтанка".
|
Вот,вот и я об этом. Хотя-бы в MathCad попробуйте........
__________________
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:38.
|
|