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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Кто работал с L3G4200D?
Mityan
сообщение Apr 20 2012, 09:26
Сообщение #31


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 5-07-11
Пользователь №: 66 068



Извините, пожалуйста, может ли кто-нибудь разместить здесь для примера график - какие показания гироскоп выдает и при каких настройках.

А то я уже две недели мучаюсь, подозреваю, что микросхемы плохие, но мне не верят.
Настройки таковы:
CTRL_REG4 = 0xB0 (BDU = 1, FS = 2000 dps)
CTRL_REG5 = 0x40 (FIFO Enabled)
CTRL_REG1 = 0x0A (PD = 1, Y axis enabled only)

Читается и WHO_AM_I, и CTRL_REG1-CTRL_REG5 пачкой, значения совпадают с выставленными.
Схемотехника вроде правильная, включая номинал конденсатора в фильтре.
Питание 5 В от USB, затем LDO на 3 В - на VDD. Эти же 5 В на мк С8051, с выхода встроенного опорника которого 2.5 В на VDDIO гироскопа.
Когда читаю показания по осям, получаю какой-то мусор - шум, дисперсия которого зависит от приданных устройству угловых скоростей (начинаю вращать - всплески шума больше).

После чтения регистров делаю преобразование:
если 16-битное х число больше 32767, то х=х-65536 - из twos complement в знаковый
Затем умножаю на 0.07 для перевода в dps.

Вот результат: на 6-й секунде записи поворачиваю плату вокруг оси OY (OX отключена) на 360 градусов, на 14 секунде, держа плату горизонтально, отвожу руку в сторону, затем возвращаю назад.

Ожидаю совсем не того - при вращении должна быть какая-то отличная от нуля и от шума угловая скорость, которую можно будет интегрировать в угол, но не эта ерунда.
Поэтому я вас очень прошу, если возможно, приведите, пожалуйста примеры адекватной работы устройства и соответствующих настроек.
Спасибо.


Объясните мне еще такой момент, пожалуйста. В режиме selftest гироскоп должен постоянную величину выдавать (для 2000 dps это 530) и на движения не реагировать, или как? У меня все то же самое, только со смещением на 490 dps где-то.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Andrew-S
сообщение Apr 23 2012, 06:57
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 18-01-06
Пользователь №: 13 333



Mityan, получил такой график. Покачал плату с датчиком по трем осям. Частота съема 100 Гц. По оси абсцисс - номер выборки, по оси ординат - угловая скорость в градусах в секунду. Настройки такие :
CTL1 is 0X2f, CTL2 is 0X00, CTL3 is 0X00, CTL4 is 0X80, CTL5 is 0X02 . Остальные по-умолчанию. Читаю все угловые скорости пачкой - 6 байт. Регистр статуса в этом примере не проверяю. А по поводу выбросов о чем я писал тут несколько постов назад - все-таки думаю на дефект микросхем. Два датчика ведут себя похоже. Попробовал снизить скорость до 100 Гц (и опрос 100 Гц и реже) и выкинуть фильтры - работает несколько часов без нареканий. А если опрашивать чаще, что датчик еще не успевает обновить данные, то выбросы наблюдаются часто. За этим должен следить BDU, но у меня этот бит никак не влияет на поведение.

Прикрепленное изображение


Сообщение отредактировал Andrew-S - Apr 23 2012, 07:23
Go to the top of the page
 
+Quote Post
Shopper
сообщение Apr 25 2012, 21:08
Сообщение #33





Группа: Новичок
Сообщений: 3
Регистрация: 28-04-09
Пользователь №: 48 360



Кто-нибудь пробовал нагревать гироскоп до температуры выше 35 градусов? (у меня гиро стоит в закрытом корпусе, где есть сильно нагревающиеся компоненты)

У L3G4200D возникают странные глюки при повышении температуры.
При нагреве:
- Появляется серия скачков на выходе при определённой температуре
- Скачкообразно изменяется ноль и в разы повышается шум при другой температуре
При остывании:
- При той же температуре возникает серия скачков
- Скачкообразного изменения выхода больше не происходит.

Вот график:
http://www.zhopper.narod.ru/value_x_1.jpg
Ордината - выход гиро, температура * 100
Абсцисса - время. 2000 = 1сек.
- красный график выход гироскопа, ось Х
- синий график - температура, сырое значение

После повторной инициализации ничего с выходом гиро не происходит, вот повтор после инициализации:
http://www.zhopper.narod.ru/value_x_2.jpg

Лечится только выключением и повторным включением питания гиро.

Могут быть вариации:
- Скачок выхода без увеличения шума
- Отсутствие серии скачков
- Обнуление выхода температуры, всегда показывает 0.
Проверялось на 20-ти гиро с разных партий, все глючат.
Go to the top of the page
 
+Quote Post
Andrew-S
сообщение Apr 26 2012, 10:48
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 18-01-06
Пользователь №: 13 333



Цитата(Shopper @ Apr 26 2012, 00:08) *
Кто-нибудь пробовал нагревать гироскоп до температуры выше 35 градусов? (у меня гиро стоит в закрытом корпусе, где есть сильно нагревающиеся компоненты)

Shopper, я пробовал. У меня датчик стоит рядом с горячим вычислительным модулем и рабочая температура платы 35-40 градусов. Если бы были такие выбросы я заметил бы. На графике смущает полочка выброса по температуре, то есть выброс получается одного (или приблизительно) значения.
Go to the top of the page
 
+Quote Post
Shopper
сообщение Apr 26 2012, 13:49
Сообщение #35





Группа: Новичок
Сообщений: 3
Регистрация: 28-04-09
Пользователь №: 48 360



Цитата(Andrew-S @ Apr 26 2012, 14:48) *
Shopper, я пробовал. У меня датчик стоит рядом с горячим вычислительным модулем и рабочая температура платы 35-40 градусов. Если бы были такие выбросы я заметил бы. На графике смущает полочка выброса по температуре, то есть выброс получается одного (или приблизительно) значения.


Можете попробовать подогреть чем либо свой гиро для эксперимента?

Там по температуре не просто полочка, а целая пачка выбросов, совпадающая с выбросами выхода гиро. Эта пачка выбросов возникает примерно при одной и той же температуре. При охлаждении появляется немного позже, с гистерезисом.
Кстати, читаю по SPI, массивом.

Больше всего напрягает изменение выхода гиро. Там не просто скачок "нуля", кроме этого увеличивается шум и выглядит он так:
http://www.zhopper.narod.ru/value_x_4_2.jpg
Практически синусоидальный сигнал.
Go to the top of the page
 
+Quote Post
Mityan
сообщение May 4 2012, 05:57
Сообщение #36


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 5-07-11
Пользователь №: 66 068



Цитата(Andrew-S @ Apr 23 2012, 09:57) *
Mityan, получил такой график. Покачал плату с датчиком по трем осям. Частота съема 100 Гц. По оси абсцисс - номер выборки, по оси ординат - угловая скорость в градусах в секунду. Настройки такие :
CTL1 is 0X2f, CTL2 is 0X00, CTL3 is 0X00, CTL4 is 0X80, CTL5 is 0X02 . Остальные по-умолчанию. Читаю все угловые скорости пачкой - 6 байт. Регистр статуса в этом примере не проверяю. А по поводу выбросов о чем я писал тут несколько постов назад - все-таки думаю на дефект микросхем. Два датчика ведут себя похоже. Попробовал снизить скорость до 100 Гц (и опрос 100 Гц и реже) и выкинуть фильтры - работает несколько часов без нареканий. А если опрашивать чаще, что датчик еще не успевает обновить данные, то выбросы наблюдаются часто. За этим должен следить BDU, но у меня этот бит никак не влияет на поведение.

Прикрепленное изображение


Спасибо. В общем мучался-мучался, потом заменили датчики на аналоговые муратовские ENC-03R. С них сигнал пошел сразу такой, как надо.
Go to the top of the page
 
+Quote Post
Shopper
сообщение Aug 3 2012, 22:23
Сообщение #37





Группа: Новичок
Сообщений: 3
Регистрация: 28-04-09
Пользователь №: 48 360



Проблема, возникающая при повышении температуры L3G4200D решена.
Датчик НЕКОРРЕКТНО РАБОТАЕТ ПРИ ПИТАНИИ 3.3В и выше. Напряжение понижено до 3.0В, всё работает исправно. Никаких скачков при изменении температуры не происходит.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Aug 4 2012, 07:59
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Shopper @ Aug 4 2012, 01:23) *
Проблема, возникающая при повышении температуры L3G4200D решена.
Датчик НЕКОРРЕКТНО РАБОТАЕТ ПРИ ПИТАНИИ 3.3В и выше. Напряжение понижено до 3.0В, всё работает исправно. Никаких скачков при изменении температуры не происходит.

Очень интересно, для каких еще продуктов ST с "Vddtyp=3.0V" это верно? sad.gif

Я бы сказал, что:
1. все параметры датчика в даташите даны при "Vdd = 3.0 V"
2. "The product is factory calibrated at 3.0 V."
3. в даташите не дано НИ ОДНОГО параметра для других напряжений питания в пределах "Wide supply voltage: 2.4 V to 3.6 V"
Go to the top of the page
 
+Quote Post
Артур
сообщение Dec 14 2012, 15:51
Сообщение #39





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



Товарищи, которые запустили, как коэффициент для нахождения угла рассчитывали ? А то моя математика не совпадает с математикой даташита.
Я считаю так при ODR=100Hz и диапазоне +/- 250dps :

((250*2)/2^16)/100=7,629E-5
Go to the top of the page
 
+Quote Post
Артур
сообщение Dec 15 2012, 17:58
Сообщение #40





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



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


Знающий
****

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



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


Гуру
******

Группа: Модератор 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
Сообщение #43


Знающий
****

Группа: Участник
Сообщений: 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
Сообщение #44


Гуру
******

Группа: Модератор 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
Сообщение #45


Знающий
****

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



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

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:38
Рейтинг@Mail.ru


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