реклама на сайте
подробности

 
 
> Кто работал с L3G4200D?
Alexander_84
сообщение Apr 4 2011, 08:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 14-09-08
Пользователь №: 40 181



Здравствуйте, с гироскопами сталкиваюсь впервые. Вообщем задача пока просто измерять углы по 2 осям. Гироскоп подлючен по I2C к ARM. Интерфейс работает нормально (регистр WHO_AM_I считывется правильно), а когда пытаюсь считывать углы получаю ерунду: устройво лежит в покое, при этом показания например по оси x меняютя ( принимают значения 30000, 60000, 771, 64000...). Из настроек по умолчанию в CTRL_REG1 изменил power_down на normal_mode и DATA_RATE поставил 200Гц, в CTRL_REG4 BDU поставил в 1. С настройками по умолчанию считываю первый раз значение и больше оно не меняется при вращении устройства. Вообщем как заставить это работать и измеряется абсолютный угол или изменение угла?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Артур
сообщение Dec 15 2012, 17:58
Сообщение #2





Группа: Участник
Сообщений: 11
Регистрация: 27-01-12
Пользователь №: 69 912



Вроде нашел. Уже не актуально.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Feb 23 2015, 19:26
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Вроде я попал туда куда надо. Стоит задачка определения крена и дифферента небольшого речного судна при его движении. Пытаюсь понять можно-ли с помощью данного датчика решить эту задачку с точностью 0.5 град и темпом 200 мс. Подскажите пожалуйста. Ведь датчик дает только скорость изменения углов.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Feb 23 2015, 21:17
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Acvarif @ Feb 23 2015, 22:26) *
Пытаюсь понять можно-ли с помощью данного датчика решить эту задачку с точностью 0.5 град и темпом 200 мс. Подскажите пожалуйста. Ведь датчик дает только скорость изменения углов.


У меня вместо L3G4200D есть L3GD20. Производитель пишет, что они практически эквивалентны. Хотя мой L3GD20 якобы даже лучше т.к. является более новой моделью. Поэтому предлагает апгрейд L3G4200D на L3GD20:
http://www.st.com/st-web-ui/static/active/...keting_pres.pdf
Я же существенной разницы в обоих даташитах не нашла - и корпус у них одинаковый, и программирование тоже.

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

Однако у меня ничего хорошего с этой затеей не получилось, хотя не исключаю, что сама где-то напортачила. Эффект такой: зануляю суммы (они отдельно накапливаются по всем 3-м осям), поворачиваю гироcкоп на угол 90°, принимаю эту сумму за 90° (рассчитываю коэффициент пересчета = 90/сумма), потом умножением на этот коэффициент пересчитываю суммы в углы. Результат плачевный - угол определяется с большой ошибкой (до 10°), при повороте против часовой стрелки (в плоскости XY) набирается сумма большая, чем против часовой, из-за чего при обратном повороте в исходное положение получается не нуль, а сильно больше. Возможно, что этот эффект вызван шумом+смещением измеряемых величин в одну сторону от центра и моей неудачной попыткой это отклонение скомпенсировать.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Feb 24 2015, 06:26
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Xenia @ Feb 24 2015, 01:17) *
Мне так же, как и вам, нужны были углы, а не скорость. Поискав в интернете, нашла совет - суммировать скорости на протяжении какого-то времени и тогда эта сумма якобы будет пропорциональна углу, на которой за это время гироскоп изменит свое положение. Это похоже на правду, так как пройденный путь является интегралом скорости по времени. Только тут у нас скорость угловая, а потому после интегрирования или суммирования мы должны получить угол.

Думаю такой вариант пройдет если не нужны мгновенные углы. В моем случае предлагается это http://www.findpatent.ru/patent/248/2486098.html Толком не понял... Буду признателен если кто вкратце доступно пояснит в чем тут фишка.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Feb 24 2015, 07:01
Сообщение #6


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Acvarif @ Feb 24 2015, 09:26) *
Думаю такой вариант пройдет если не нужны мгновенные углы.


Зачем вам мгновенные углы, если ваше ... корыто плавает медленно? sm.gif По электронным понятиям, конечно. Чем вам раз в секунду не нравится? Все равно рули вашей лодки вы быстрее, чем за одну секунду, с места не сдвините.

Но в принципе и по одному измерению можно сосчитать угол, ведь оно выдает скорость за период преобразования, а стало быть, тоже является интегралом. А частота преобразования там регулируемая (выбор из списка) в интервале от 95 Гц до 760 Гц. Я, например, использовала самую медленную частоту - 95 Гц, опрашивая гироскоп с частотой 96 Гц. И мне как-то странно, что для вашей лодки этого мало.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Feb 24 2015, 07:40
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Может оно и так. Дело в том, что частота излучения впередсмотрящего эхолота (углы нужны для него) 200 мс. Угол нужен один раз за излучение. Понятно, что за это время можно проинтегрировать угловую скорость с датчика и рассчитать среднюю. Как из этих данных получить угол? Не врубаюсь. Что Вы думаете по поводу статьи с применением гироскопа и акселерометра?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Feb 24 2015, 23:40
Сообщение #8


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Acvarif @ Feb 24 2015, 10:40) *
Может оно и так. Дело в том, что частота излучения впередсмотрящего эхолота (углы нужны для него) 200 мс. Угол нужен один раз за излучение. Понятно, что за это время можно проинтегрировать угловую скорость с датчика и рассчитать среднюю. Как из этих данных получить угол? Не врубаюсь.

200 мс это видимо период, а не частота. А частотой с периодом 200 мс будет 5 Гц.

Берем самое медленное преобразование 95 Гц (оно меньше всего шумит). Ему соответствует период 1000/95 = 10.526 мс. Значит, за время 200 мс надо будет сделать 200/10.526 = 19 преобразований. Любопытно, что в вашем случае число получилось целое sm.gif. Следовательно, надо просуммировать 19 замеров подряд - эта величина и будет пропорциональна углу поворота за время 200 мс.

Разные премудрости на этот счет можно найти в статье "STM32 и гироскоп L3GD20. Часть 2.". Но, насколько я поняла, суммировать отсчеты придется и дальше, чтобы всегда знать текущий азимут. Ведь эти отсчеты соответствуют углу ПОВОРОТА за время изменения, на не угол наклона к горизонту или земной оси. Скажем, если за первые 200 мс ваша лодка повернулась по часовой стрелке (в плоскости XY) на угол +7°, а в следующие 200 мс еще на +5°, то в сумме она повернулась на 7+5=12°. Если станет поворачиваться в обратную сторону, гироскоп станет выдавать отрицательные углы поворота. Таким образом, в момент старта гироскоп должен быть ориентирован по сторонам света, а сумматор обнулен. А в дальнейшем эта сумма будет расти (при положительных измерениях) или убывать (при отрицательных измерениях).

Там (кажется в даташите) есть какие-то формулы, чтобы переводить текущую сумму в градусы. И если бы большой математик, то можете на здоровье с той формулой возиться. Я же предлагаю повернуть гироскоп на угол 90° (т.к. прямой угол легко определяется без транспортира) и попросту запомнить ту сумму, которая за время этого поворота набирается. А дальше пересчитываете суммы по пропорции, зная, какая величина соответствует 90°-ам. Не нравится вам мои 90° - поверните гироскоп на полный оборот - получите 360°, на них тоже можно калиброваться. Фактически я предлагаю вам откалибровать гироскоп, определив цену его деления экспериментально, а не колупаться в формулах.

Цитата(Acvarif @ Feb 24 2015, 10:40) *
Что Вы думаете по поводу статьи с применением гироскопа и акселерометра?

По поводу этой статьи я ничего ее думаю, т.к. ... не понимаю, что в ней написано. sm.gif
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Feb 25 2015, 07:35
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Xenia @ Feb 25 2015, 03:40) *
200 мс это видимо период, а не частота. А частотой с периодом 200 мс будет 5 Гц.

Берем самое медленное преобразование 95 Гц (оно меньше всего шумит). Ему соответствует период 1000/95 = 10.526 мс. Значит, за время 200 мс надо будет сделать 200/10.526 = 19 преобразований. Любопытно, что в вашем случае число получилось целое sm.gif. Следовательно, надо просуммировать 19 замеров подряд - эта величина и будет пропорциональна углу поворота за время 200 мс.

Разные премудрости на этот счет можно найти в статье "STM32 и гироскоп L3GD20. Часть 2.". Но, насколько я поняла, суммировать отсчеты придется и дальше, чтобы всегда знать текущий азимут. Ведь эти отсчеты соответствуют углу ПОВОРОТА за время изменения, на не угол наклона к горизонту или земной оси. Скажем, если за первые 200 мс ваша лодка повернулась по часовой стрелке (в плоскости XY) на угол +7°, а в следующие 200 мс еще на +5°, то в сумме она повернулась на 7+5=12°. Если станет поворачиваться в обратную сторону, гироскоп станет выдавать отрицательные углы поворота. Таким образом, в момент старта гироскоп должен быть ориентирован по сторонам света, а сумматор обнулен. А в дальнейшем эта сумма будет расти (при положительных измерениях) или убывать (при отрицательных измерениях).

Там (кажется в даташите) есть какие-то формулы, чтобы переводить текущую сумму в градусы. И если бы большой математик, то можете на здоровье с той формулой возиться. Я же предлагаю повернуть гироскоп на угол 90° (т.к. прямой угол легко определяется без транспортира) и попросту запомнить ту сумму, которая за время этого поворота набирается. А дальше пересчитываете суммы по пропорции, зная, какая величина соответствует 90°-ам. Не нравится вам мои 90° - поверните гироскоп на полный оборот - получите 360°, на них тоже можно калиброваться. Фактически я предлагаю вам откалибровать гироскоп, определив цену его деления экспериментально, а не колупаться в формулах.


По поводу этой статьи я ничего ее думаю, т.к. ... не понимаю, что в ней написано. sm.gif

Спасибо. Стало яснее. Кроме того почитав этот материал http://www.poprobot.ru/theory/discrete_integration, который подтверждает Вашы выкладки про суммирование и этот http://www.poprobot.ru/theory/complementary_filter стало понятно совместное использование гироскопа и акселерометра.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alexander_84   Кто работал с L3G4200D?   Apr 4 2011, 08:07
- - -=TRO=-   С этим чипом ещё не работал, только жду заказа, но...   Apr 22 2011, 16:12
- - Данилыч   Цитата(Alexander_84 @ Apr 4 2011, 12:07) ...   Apr 28 2011, 18:51
- - ren5   Цитата(Alexander_84 @ Apr 4 2011, 12:07) ...   May 9 2011, 22:03
- - rzn62   Здравствуйте! Проблема с гироскопом следующая....   Jul 22 2011, 10:07
|- - MrAlex   Цитата(rzn62 @ Jul 22 2011, 14:07) Вопрос...   Jul 25 2011, 12:14
|- - klen   таже беда, моя тема ниже чуток но никио не ответил...   Jul 25 2011, 12:48
|- - MrAlex   Цитата(klen @ Jul 25 2011, 16:48) к уого ...   Jul 25 2011, 13:30
|- - rzn62   Цитата(klen @ Jul 25 2011, 16:48) если не...   Jul 27 2011, 17:35
|- - MrAlex   Цитата(rzn62 @ Jul 27 2011, 21:35) Присое...   Jul 28 2011, 05:37
|- - rzn62   Цитата(MrAlex @ Jul 28 2011, 09:37) Неспо...   Jul 28 2011, 18:15
|- - MrAlex   Цитата(rzn62 @ Jul 28 2011, 22:15) Мой ко...   Jul 29 2011, 07:09
|- - klen   Цитата(MrAlex @ Jul 29 2011, 11:09) Значи...   Aug 3 2011, 14:02
|- - Alex_1811   Цитата(klen @ Aug 3 2011, 17:02) код в ст...   Aug 25 2011, 17:58
|- - MrAlex   Цитата(Alex_1811 @ Aug 25 2011, 21:58) По...   Aug 26 2011, 06:23
- - Bearpaw   Привет всем! Пытаюсь запустить сей гироскоп по...   Jan 2 2012, 19:49
- - delphi   Привет всем. Описанная в первом посте проблема на ...   Mar 13 2012, 17:19
- - delphi   Это проблема протокола. Он неправильно читает сраз...   Mar 16 2012, 14:02
- - Andrew-S   Как раз сейчас вожусь с этим датчиком. Настройки н...   Mar 23 2012, 14:24
- - Andrew-S   Продолжаю исследования, пока безрезультатно. Попро...   Apr 4 2012, 10:51
- - MrAlex   Может поучиться записи регистров с последующим чте...   Apr 4 2012, 19:28
|- - Alex_1811   Обрати особое внимание на питание.   Apr 4 2012, 19:31
- - mataor   Добавлюсь и я в ваш огород))) C этим гироскопом ко...   Apr 5 2012, 04:20
|- - Andrew-S   Всем спасибо за советы. Буду дальше экспериментиро...   Apr 5 2012, 06:16
- - mataor   TWIM_STATUS_READY - не обращайте внимания.... это ...   Apr 5 2012, 14:06
|- - Andrew-S   Цитата(mataor @ Apr 5 2012, 17:06) а так ...   Apr 5 2012, 18:03
- - mataor   никаких аномалий нет... в спокойном положении при ...   Apr 6 2012, 15:05
- - Andrew-S   Посмотрите, пожалуйста, какие у вас конденсаторы с...   Apr 16 2012, 11:51
|- - ren5   Цитата(Andrew-S @ Apr 16 2012, 15:51...   Apr 16 2012, 14:28
|- - Andrew-S   Цитата(ren5 @ Apr 16 2012, 17:28) не знаю...   Apr 17 2012, 05:37
- - Mityan   Извините, пожалуйста, может ли кто-нибудь размести...   Apr 20 2012, 09:26
- - Andrew-S   Mityan, получил такой график. Покачал плату с датч...   Apr 23 2012, 06:57
|- - Mityan   Цитата(Andrew-S @ Apr 23 2012, 09:57...   May 4 2012, 05:57
|- - Shopper   Проблема, возникающая при повышении температуры L3...   Aug 3 2012, 22:23
|- - Ruslan1   Цитата(Shopper @ Aug 4 2012, 01:23) Пробл...   Aug 4 2012, 07:59
- - Shopper   Кто-нибудь пробовал нагревать гироскоп до температ...   Apr 25 2012, 21:08
|- - Andrew-S   Цитата(Shopper @ Apr 26 2012, 00:08) Кто-...   Apr 26 2012, 10:48
|- - Shopper   Цитата(Andrew-S @ Apr 26 2012, 14:48...   Apr 26 2012, 13:49
- - Артур   Товарищи, которые запустили, как коэффициент для н...   Dec 14 2012, 15:51
|- - Xenia   Цитата(Acvarif @ Feb 25 2015, 10:35) Спас...   Feb 25 2015, 09:32
- - A. Fig Lee   Не знаю насчет точности, но угол надо мерять с пом...   Feb 24 2015, 14:38


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 19:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01489 секунд с 7
ELECTRONIX ©2004-2016