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

|
Вроде нашел. Уже не актуально.
|
|
|
|
|
Feb 23 2015, 21:17
|

Гуру
     
Группа: Модератор 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) набирается сумма большая, чем против часовой, из-за чего при обратном повороте в исходное положение получается не нуль, а сильно больше. Возможно, что этот эффект вызван шумом+смещением измеряемых величин в одну сторону от центра и моей неудачной попыткой это отклонение скомпенсировать.
|
|
|
|
|
Feb 24 2015, 06:26
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(Xenia @ Feb 24 2015, 01:17)  Мне так же, как и вам, нужны были углы, а не скорость. Поискав в интернете, нашла совет - суммировать скорости на протяжении какого-то времени и тогда эта сумма якобы будет пропорциональна углу, на которой за это время гироскоп изменит свое положение. Это похоже на правду, так как пройденный путь является интегралом скорости по времени. Только тут у нас скорость угловая, а потому после интегрирования или суммирования мы должны получить угол. Думаю такой вариант пройдет если не нужны мгновенные углы. В моем случае предлагается это http://www.findpatent.ru/patent/248/2486098.html Толком не понял... Буду признателен если кто вкратце доступно пояснит в чем тут фишка.
|
|
|
|
|
Feb 24 2015, 07:01
|

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

|
Цитата(Acvarif @ Feb 24 2015, 09:26)  Думаю такой вариант пройдет если не нужны мгновенные углы. Зачем вам мгновенные углы, если ваше ... корыто плавает медленно?  По электронным понятиям, конечно. Чем вам раз в секунду не нравится? Все равно рули вашей лодки вы быстрее, чем за одну секунду, с места не сдвините. Но в принципе и по одному измерению можно сосчитать угол, ведь оно выдает скорость за период преобразования, а стало быть, тоже является интегралом. А частота преобразования там регулируемая (выбор из списка) в интервале от 95 Гц до 760 Гц. Я, например, использовала самую медленную частоту - 95 Гц, опрашивая гироскоп с частотой 96 Гц. И мне как-то странно, что для вашей лодки этого мало.
|
|
|
|
|
Feb 24 2015, 23:40
|

Гуру
     
Группа: Модератор 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 преобразований. Любопытно, что в вашем случае число получилось целое  . Следовательно, надо просуммировать 19 замеров подряд - эта величина и будет пропорциональна углу поворота за время 200 мс. Разные премудрости на этот счет можно найти в статье " STM32 и гироскоп L3GD20. Часть 2.". Но, насколько я поняла, суммировать отсчеты придется и дальше, чтобы всегда знать текущий азимут. Ведь эти отсчеты соответствуют углу ПОВОРОТА за время изменения, на не угол наклона к горизонту или земной оси. Скажем, если за первые 200 мс ваша лодка повернулась по часовой стрелке (в плоскости XY) на угол +7°, а в следующие 200 мс еще на +5°, то в сумме она повернулась на 7+5=12°. Если станет поворачиваться в обратную сторону, гироскоп станет выдавать отрицательные углы поворота. Таким образом, в момент старта гироскоп должен быть ориентирован по сторонам света, а сумматор обнулен. А в дальнейшем эта сумма будет расти (при положительных измерениях) или убывать (при отрицательных измерениях). Там (кажется в даташите) есть какие-то формулы, чтобы переводить текущую сумму в градусы. И если бы большой математик, то можете на здоровье с той формулой возиться. Я же предлагаю повернуть гироскоп на угол 90° (т.к. прямой угол легко определяется без транспортира) и попросту запомнить ту сумму, которая за время этого поворота набирается. А дальше пересчитываете суммы по пропорции, зная, какая величина соответствует 90°-ам. Не нравится вам мои 90° - поверните гироскоп на полный оборот - получите 360°, на них тоже можно калиброваться. Фактически я предлагаю вам откалибровать гироскоп, определив цену его деления экспериментально, а не колупаться в формулах. Цитата(Acvarif @ Feb 24 2015, 10:40)  Что Вы думаете по поводу статьи с применением гироскопа и акселерометра? По поводу этой статьи я ничего ее думаю, т.к. ... не понимаю, что в ней написано.
|
|
|
|
|
Feb 25 2015, 07:35
|
Знающий
   
Группа: Участник
Сообщений: 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 преобразований. Любопытно, что в вашем случае число получилось целое  . Следовательно, надо просуммировать 19 замеров подряд - эта величина и будет пропорциональна углу поворота за время 200 мс. Разные премудрости на этот счет можно найти в статье " STM32 и гироскоп L3GD20. Часть 2.". Но, насколько я поняла, суммировать отсчеты придется и дальше, чтобы всегда знать текущий азимут. Ведь эти отсчеты соответствуют углу ПОВОРОТА за время изменения, на не угол наклона к горизонту или земной оси. Скажем, если за первые 200 мс ваша лодка повернулась по часовой стрелке (в плоскости XY) на угол +7°, а в следующие 200 мс еще на +5°, то в сумме она повернулась на 7+5=12°. Если станет поворачиваться в обратную сторону, гироскоп станет выдавать отрицательные углы поворота. Таким образом, в момент старта гироскоп должен быть ориентирован по сторонам света, а сумматор обнулен. А в дальнейшем эта сумма будет расти (при положительных измерениях) или убывать (при отрицательных измерениях). Там (кажется в даташите) есть какие-то формулы, чтобы переводить текущую сумму в градусы. И если бы большой математик, то можете на здоровье с той формулой возиться. Я же предлагаю повернуть гироскоп на угол 90° (т.к. прямой угол легко определяется без транспортира) и попросту запомнить ту сумму, которая за время этого поворота набирается. А дальше пересчитываете суммы по пропорции, зная, какая величина соответствует 90°-ам. Не нравится вам мои 90° - поверните гироскоп на полный оборот - получите 360°, на них тоже можно калиброваться. Фактически я предлагаю вам откалибровать гироскоп, определив цену его деления экспериментально, а не колупаться в формулах. По поводу этой статьи я ничего ее думаю, т.к. ... не понимаю, что в ней написано.  Спасибо. Стало яснее. Кроме того почитав этот материал http://www.poprobot.ru/theory/discrete_integration, который подтверждает Вашы выкладки про суммирование и этот http://www.poprobot.ru/theory/complementary_filter стало понятно совместное использование гироскопа и акселерометра.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|