Перейти к содержанию
    

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

 

А то я уже две недели мучаюсь, подозреваю, что микросхемы плохие, но мне не верят.

Настройки таковы:

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 где-то.

post-66068-1334911444_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Mityan, получил такой график. Покачал плату с датчиком по трем осям. Частота съема 100 Гц. По оси абсцисс - номер выборки, по оси ординат - угловая скорость в градусах в секунду. Настройки такие :

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

post-13333-1335163867_thumb.jpg

Изменено пользователем Andrew-S

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь пробовал нагревать гироскоп до температуры выше 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-ти гиро с разных партий, все глючат.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Shopper, я пробовал. У меня датчик стоит рядом с горячим вычислительным модулем и рабочая температура платы 35-40 градусов. Если бы были такие выбросы я заметил бы. На графике смущает полочка выброса по температуре, то есть выброс получается одного (или приблизительно) значения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Shopper, я пробовал. У меня датчик стоит рядом с горячим вычислительным модулем и рабочая температура платы 35-40 градусов. Если бы были такие выбросы я заметил бы. На графике смущает полочка выброса по температуре, то есть выброс получается одного (или приблизительно) значения.

 

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

 

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

Кстати, читаю по SPI, массивом.

 

Больше всего напрягает изменение выхода гиро. Там не просто скачок "нуля", кроме этого увеличивается шум и выглядит он так:

http://www.zhopper.narod.ru/value_x_4_2.jpg

Практически синусоидальный сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Mityan, получил такой график. Покачал плату с датчиком по трем осям. Частота съема 100 Гц. По оси абсцисс - номер выборки, по оси ординат - угловая скорость в градусах в секунду. Настройки такие :

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

post-13333-1335163867_thumb.jpg

 

Спасибо. В общем мучался-мучался, потом заменили датчики на аналоговые муратовские ENC-03R. С них сигнал пошел сразу такой, как надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема, возникающая при повышении температуры L3G4200D решена.

Датчик НЕКОРРЕКТНО РАБОТАЕТ ПРИ ПИТАНИИ 3.3В и выше. Напряжение понижено до 3.0В, всё работает исправно. Никаких скачков при изменении температуры не происходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема, возникающая при повышении температуры L3G4200D решена.

Датчик НЕКОРРЕКТНО РАБОТАЕТ ПРИ ПИТАНИИ 3.3В и выше. Напряжение понижено до 3.0В, всё работает исправно. Никаких скачков при изменении температуры не происходит.

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

 

Я бы сказал, что:

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"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Товарищи, которые запустили, как коэффициент для нахождения угла рассчитывали ? А то моя математика не совпадает с математикой даташита.

Я считаю так при ODR=100Hz и диапазоне +/- 250dps :

 

((250*2)/2^16)/100=7,629E-5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пытаюсь понять можно-ли с помощью данного датчика решить эту задачку с точностью 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) набирается сумма большая, чем против часовой, из-за чего при обратном повороте в исходное положение получается не нуль, а сильно больше. Возможно, что этот эффект вызван шумом+смещением измеряемых величин в одну сторону от центра и моей неудачной попыткой это отклонение скомпенсировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Думаю такой вариант пройдет если не нужны мгновенные углы. В моем случае предлагается это http://www.findpatent.ru/patent/248/2486098.html Толком не понял... Буду признателен если кто вкратце доступно пояснит в чем тут фишка.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю такой вариант пройдет если не нужны мгновенные углы.

 

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

 

Но в принципе и по одному измерению можно сосчитать угол, ведь оно выдает скорость за период преобразования, а стало быть, тоже является интегралом. А частота преобразования там регулируемая (выбор из списка) в интервале от 95 Гц до 760 Гц. Я, например, использовала самую медленную частоту - 95 Гц, опрашивая гироскоп с частотой 96 Гц. И мне как-то странно, что для вашей лодки этого мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...