Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Aкселерометрs как датчики положения перемещения
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
lazycamel
Собственно кто в теме, подскажите :

Как с помощью двухосевых акселерометров отслеживать перемещение.
Относительная погрешность и потеря нуля не очень сильно волнует.
Линейные перемещения +/-0.5 метра. скорость 1-2м/с максимум.

Наклон (т.е. вращение по осям Х и У) я худо бедно одним ADXL, зарезав полосу пропускания до 50Гц отслеживаю спокойно, измеряя изменение ускорения свободного падения.

Но вот линейные перемещения по этим же осям. ?

Тупо брать какой-то квант - например 0.1мсек и интегрировать ускорение ?

а как тогда отличать наклон (т.е. изменения земного тяготения) от перемещения ?

Брать 3 акселерометра взаимоперпендикулярно и вычитать поправки ?

Спасибо.
_Sam_
А можно вкраце установку описать.

1. С какой погрешностью вы хотите измерять перемещения и какие силы будут действовать на ваши оси. Если вы собираетесь использовать акселерометры для измерения перемещений, важны именно силы и массы на которые они действуют(F/m = a)

2. Очень важна разрешающая способность и погрешность акселерометров. Так например если на ось x возможно действие силы порядка 1mg а вы используете акселерометр с максимальной разрешающей способностью 2mg, то изменения скорости со всеми вытекающими последствиями вы не заметите!

3. Для измерения чистого ускорения по осям x и y(без влияния силы тяжести) корпус ADXL необходимо расположить перепендикулярно земле.

4. v = v0 + at; x = x0 + vt;

5. Я бы на вашем месте поискал другое решение. Например ультразвуковой датчик, обсуждаемый в предыдущем топике.
lazycamel
Цитата(_Sam_ @ Mar 3 2005, 11:01)
А можно вкраце установку описать.


Можно. Беспроводное устройство управление платформой.
положение платформы контролируется визуально.

До этого спользовалась конструкция из двух манипуляторов(джойстиков), один из которых контролировал наклон к горизонту, второй - перемещение по осям.

Решено попробовать свободный манипулятор. Грубо говоря - отдельную ручку от джойстика в руках. Наклон - наклон платформы. перемещение - перемещения платформы. Если получится- то и вращение - вращение платформы.

Соответственно надо отслеживать изменение положения руки среднестатистического человека.

Ось Z - высота, нас не волнует.

Изменения по осям Rx,Ry - крен и дифферент сделаны и отслеживаются датчиком на базе акcелерометра ADXL311.

Так как оператор может перемещаться - то и ультразвуковой датчик несколько неподходит ИМХО.
Alhen
Есть небольшой опыт работы с акселерометрами ADXL, пытались сделать измеритель линейного перемещения. Делали это двойным интегрированием - очень хлопотное дело, ошибка накапливалась с катастрофической скоростью. Таже проблема как отличить наклон от ускорения. Делали строго горизонтальную платформу для отладки. Измерения совпадали сантиметр туда сантиметр сюда, на 30 сантиметровом диапазоне перемещения. Потом бросили это дело. Сейчас хотим вернуться к задаче, планирую поставить инклинометры для определения наклона, верю это должно помочь. Но самое главное в интегрировании находить моменты для обнуления суммы.
Dron_Gus
Можно использовать два датчика - один наклона (закреплен жестко) второй ускорение по осям (закреплен например, на мятнике, чтобы всегда оставаться в горизонтальном положении.) Правда придется либо медленно перемещать при чувствительном маятнике, либо медленно нагибать при нечувствительном. Вообщем придется поиграться.
_Sam_
Цитата
До этого спользовалась конструкция из двух манипуляторов(джойстиков), один из которых контролировал наклон к горизонту, второй - перемещение по осям.


Может имеет смысл просто продумать конструкцию манипулятора.
Например если к переменному резистору прикрепить нечто вроде стрелки, то её наклон будет прямо пропорционален сопротивлению этого резистора. Для измерения линейного перемещения можно изготовить резистор из проволки с ползунком, положение которого будет также прямо пропорционально перемещению.

Это самое первое, что пришло в голову. smile.gif Думаю есть и другие варианты.

А какая вам нужна точность вы так и не написали.
Oldring
Идея двойного интегрирования ускорения, измеренного дешевыми датчиками, гнилая на корню. Шумов в этом мире пока еще никто не отменял. Первая сложность - координата будет уходить пропорционально квадрату времени. Вторая сложность - когда человек вручную попробует все-таки застабиллизировать платформу, у него это получится плохо из-за двойного полюса в нуле.

Да, про инерциальные системы навигации я в курсе - но их существование и компромиссы параметров только подтверждает сложность задачи.
PraNkiSh
Идея двойного интегрирования плоха в принципе. без разницы что интегрировать. таким методом можно разве показометр строить sad.gif
датчики ускорения и так не сильно точные устройства, а вы еще и поинтегрировать решили ..... кроме того для нормального интергрирования и точек надобы побольше.
Alhen
Цитата(PraNkiSh @ Mar 8 2005, 16:19)
Идея двойного интегрирования плоха в принципе.
*


А че я такого сказал? Человек спросил как можно отслеживать линейные перемещения с помощью акселерометров. Другого принципа как интегрировение (для акселерометров) вообще не существует. Конечно это плохо, "гнило", но все зависит от промежутка времени интегрирования, необходимой точности и возможности сбрасывать в ноль интегральные суммы в каких-нибудь опорных точках. Если бы все было просто, то крылатые ракеты делал бы каждый желающий у себя на коленках. А если приложение всего лишь джойстик для игры, так по моему и проблем особых нет - журнал Радио про это так и пишет.
Al Volovich
Цитата(Oldring @ Mar 6 2005, 17:42)
Идея двойного интегрирования ускорения, измеренного дешевыми датчиками,  гнилая на корню. Шумов в этом мире пока еще никто не отменял. Первая сложность - координата будет уходить пропорционально квадрату времени. Вторая сложность - когда человек вручную попробует все-таки застабиллизировать платформу, у него это получится плохо из-за двойного полюса в нуле.

Да, про инерциальные системы навигации я в курсе - но их существование и компромиссы параметров только подтверждает сложность задачи.
*


Поддерживаю. С интегральными акселерометрами вагон проблем - низкая точность, высокая погрешность при вибрации, проблемы с отсечением ускорения свободного падения. Из диапазона легко вылететь. Мы измерением расстояния интегральным акселерометром пытались заниматься - только время потеряли. Пока это не получается
lazycamel
Спасибо отцы... Ну раз в морг - значит в морг. Будет носимый на шее пульт. С двумя джойстиками.

ЗЫ: А как человек западающий по авиасимулятором и измученый износом резистивных датчиков на обычных игровых джойстиках - ну их нах. Я лучше поставлю пару KMZ43.
gab
Вообще-то, я сейчас тоже разрабатываю гироскоп совмещённый с акселерометром, т.е . с его выхода получаются X, Y, Z, dX, dY, dZ. Он у меня к нейронке подключается, поэтому дикая точность не важна. Но в алгоритме пытаюсь сделать коррекцию одного по другому с учётом наличия тестовых входов у ADLX.
lazycamel
Цитата(gab @ Mar 9 2005, 16:35)
Вообще-то, я сейчас тоже разрабатываю гироскоп совмещённый с акселерометром, т.е . с его выхода получаются X, Y, Z, dX, dY, dZ. Он у меня к нейронке подключается, поэтому дикая точность не важна. Но в алгоритме пытаюсь сделать коррекцию одного по другому с учётом наличия тестовых входов у ADLX.


? не совсем понял.

Акселерометр напару с гироскопом или гироскоп на базе акселерометров ?

У меня получаются две взаимоисключающие вещи.
Для измерения наклона надо полосу зажать как можно уже, для измерений перемещений - сделать значительно шире.

ЗЫ: С другой стороны у меня за нейронку работает сам человек, отслеживая визуально перемещение платформы. что по идее должно несколько упрощать систему. Т.е. с высокой точностью установки 0 как бы вопрос снимается, лишь бы зависимость близко к линейной была.
Alhen
<Акселерометр напару с гироскопом или гироскоп на базе акселерометров ?>

Как известно любое движение раскладывается на поступательное и вращательное поэтому полноценная гироинерциальная система (гироскоп) обычно состоит из трех датчиков вращения, выдающие угловую скорость вращения и трех акселерометров. Без акселерометров в принципе невозможно выловить поступательное движение. Кстати для получения абсолютного углового положения требуется интегрирование показаний датчиков вращения. А если такие гироскопы существуют и самолеты с ними летают, значит как то проблема интегрирования решена.
Один мой знакомый математик утверждает что теоретически возможно построить гироскоп только на акселерометрах, для этого необходимо решить некую систему уравнений, ну а практически...
veter
Цитата
Шумов в этом мире пока еще никто не отменял
Первая сложность - координата будет уходить пропорционально квадрату времени

интересно, а если шум белый - показания тоже будут уплывать?

Цитата
кроме того для нормального интергрирования и точек надобы побольше.

а сколько точек по вашему достаточно? миллион? два?

если вы решаете какой нибудь вопрос накоплением(интегрированием), то мне кажется особых проблем с шумами быть не должно, даже с небелыми. а статическую ошибку накрайняк компенсировать можно.
простите, если чего не в тему ляпнул smile.gif
lazycamel
Цитата(Alhen @ Mar 10 2005, 17:56)
<Акселерометр напару с гироскопом или гироскоп на базе акселерометров ?>

Как известно любое движение раскладывается на поступательное и вращательное поэтому полноценная гироинерциальная система (гироскоп) обычно состоит из трех датчиков вращения, выдающие угловую скорость вращения и трех акселерометров.


Дело в том, что данные акселерометры - двухосевые и в принципе 3 штуки одинаково откалиброваных на мой взгляд позволяют хоть и достаточно грубо, но отличать вращение от перемещения и/или наклона. К сожалению мое владение матаппаратом совершенно недостаточно для строго математического доказательства этого:-( Скорее тут "пролетарское чутье" работает. :-)

И не исключено что я грубо и обидно ошибаюсь.
gab
Цитата(lazycamel @ Mar 10 2005, 12:09)
Цитата(gab @ Mar 9 2005, 16:35)
Вообще-то, я сейчас тоже разрабатываю гироскоп совмещённый с акселерометром, т.е . с его выхода получаются X, Y, Z, dX, dY, dZ. Он у меня к нейронке подключается, поэтому дикая точность не важна. Но в алгоритме пытаюсь сделать коррекцию одного по другому с учётом наличия тестовых входов у ADLX.


? не совсем понял.

Акселерометр напару с гироскопом или гироскоп на базе акселерометров ?

У меня получаются две взаимоисключающие вещи.
Для измерения наклона надо полосу зажать как можно уже, для измерений перемещений - сделать значительно шире.

ЗЫ: С другой стороны у меня за нейронку работает сам человек, отслеживая визуально перемещение платформы. что по идее должно несколько упрощать систему. Т.е. с высокой точностью установки 0 как бы вопрос снимается, лишь бы зависимость близко к линейной была.
*


В одном блоке жёстко закреплены: 3 акселерометра и 3 гироскопа. Поэтому кручение (наклоны) и перемещение меряются отдельно и независимо (почти!!!) Но алгоритм коррекции и фильтрации всёравно необходим.

ЗЫ: Разработка для себя, так что скоро выложу в сети.
NickNich
проверка связи biggrin.gif sad.gif smile.gif angry.gif blink.gif ninja.gif maniac.gif
gab
Цитата(NickNich @ Feb 15 2006, 19:48) *
проверка связи biggrin.gif sad.gif smile.gif angry.gif blink.gif ninja.gif maniac.gif

Всё ещё делаю. За это время проект оброс двумя датчиками давления, магнитным компасом, термометром, термостатом и ethernet'ом PoE. Сейчас всё в стадии разводки платы. 4-х слойка 100х80 мм.
svd39
Товарищи, нужен совет!

Я не обладаю заметными познаниями в электронике но небольшой стенд для исследования управляемых амортизаторов собрать должен. Измеряться должны вертикальное перемещение и ускорения в двух точках.
Главное желание - свести к нулю проектирование и производство печатных плат в чем я не понимают ничерта и собрать все из готовых модулей.
Будет иметься плата ввода-вывода аналоговых сигналов, подключенная к ПК с Matlab.
Как попроще передать в нее сигнал акселерометра ? Я так понимаю что ADXL210 - наиболее предпочтительный по цене и характеристикам выбор. Потребуется ли дополнительное усиление его сигналов перед АЦП ? Вроде согласно datasheet ADXL210 не требует дополнительных радиоэлементов для подключения, достаточно провести к нему 5 вольт и снимать аналоговое ускорение ?

Извините за дурацкие вопросы smile.gif
и
thanks in advance!

Андрей, Минск
Владимир
Приезжай ко мне. Плата уже месяц лежит без испытаний.
Правда частотка тебе не подойдет, но хоть живьем посмотришь, и как вводится в ПК тоже.тел 6180217
Stanislav
Цитата(svd39 @ Feb 16 2006, 11:27) *
Товарищи, нужен совет!

Я не обладаю заметными познаниями в электронике но небольшой стенд для исследования управляемых амортизаторов собрать должен. Измеряться должны вертикальное перемещение и ускорения в двух точках.
Главное желание - свести к нулю проектирование и производство печатных плат в чем я не понимают ничерта и собрать все из готовых модулей.
Будет иметься плата ввода-вывода аналоговых сигналов, подключенная к ПК с Matlab.
Как попроще передать в нее сигнал акселерометра ? Я так понимаю что ADXL210 - наиболее предпочтительный по цене и характеристикам выбор. Потребуется ли дополнительное усиление его сигналов перед АЦП ? Вроде согласно datasheet ADXL210 не требует дополнительных радиоэлементов для подключения, достаточно провести к нему 5 вольт и снимать аналоговое ускорение ?..
Нет, ADXL210 - далеко не лучший выбор акселерометра. Посмотрите у ST Microelectronics - их приборы гораздо лучше, и, что немаловажно, дешевле. Подключаются без проблем к любому измерительному сигма-дельта АЦП с высоким входным сопротивлением.
gosh
никак не могу получить перемещение...
все та же тема
есть мега инклинометр. в нем три акселерометра(adxl), три гироскопа.....(кроме того, три магнитометра, датчик температуры и пр.)...получаю ускорения по осям(так называемые кажущиеся ускорения), получаю углы наклонов.
Интегрирование без проблем....работа происходит в labview. Вот только как получить те самые необходимые ускорения(проекции), которые нужно интегрировать?
То есть, датчик показывает ускорения относительно своей личной системы координат(ускорения, которые зависят и от углового положения датчика), а нужно их спроектировать на земную систему координат. В инерциальной навигации есть понятие матрицы преобразования. То есть умножив вектор кажущегося ускорения на некую матрицу, составленную из косинусов-синусов углов положения (pitch, yaw, roll), мы получим вектор ускорения, который уже чистый и его можно интегрировать. Перепробовал уже кучу матриц(из разных источников) и все не то.
Может у кого есть что ответить?
_pv
Цитата(gosh @ Feb 27 2006, 21:06) *
никак не могу получить перемещение...
все та же тема
есть мега инклинометр. в нем три акселерометра(adxl), три гироскопа.....(кроме того, три магнитометра, датчик температуры и пр.)...получаю ускорения по осям(так называемые кажущиеся ускорения), получаю углы наклонов.
Интегрирование без проблем....работа происходит в labview. Вот только как получить те самые необходимые ускорения(проекции), которые нужно интегрировать?
То есть, датчик показывает ускорения относительно своей личной системы координат(ускорения, которые зависят и от углового положения датчика), а нужно их спроектировать на земную систему координат.

ну так у Вас же есть гироскопы. по их показаниям можно вычислить как Ваше устройство ориентировано в пространстве (плюс ориентацию в пространстве немного знают акселерометры).
потом исходя из этого, надо вычесть g в нужном направлении из показаний акселерометров, и решать простую систему уравнений: (подчеркивание - вектор)
ai = A + [e,ri] + w^2 *ri.
где ai ускорение i-го акселерометра (его показания), А ускорение всего Вашего устройства (которое и надо интегрировать для нахождения скоростей/смещений) точнее некой его точки, вектора ri - координаты акселерометров отн. устройства, е - угловое ускорение устройства, w - его угловая скорость.
е и w также можно определить по показаниям гироскопов. (по акселерометрам уравнений не хватит да и точности гораздо хуже будут).
тогда е, w можно не вычислять по показаниям акселерометров и уравнений вполне хватит. тем более как я понял акселерометры двухкоординатные.
NickNich
2gosh

Системы вроде вашей называются бесплатформенными, или strapdown, в англицкой терминологии. Strapdown замечательно ищется в гугле, с описанием алгоритмов работы.
В таких системах ориентацию связанного базиса (в первом приближении - базиса связанного с осями чувствительности инерциальных датчиков) надо рассчитывать через интегрирование показаний датчиков угловой скорости (ДУС), т.е. гироскопов. Вариантов тут немного - всего два. Первый - интегрировать через систему уравнений Пуассона (ищется гуглем), второй - интегрировать через кватернионы поворота (тоже ищется гуглем). У каждого варианта сво плюсы и минусы, связанные в количеством вычислений. Первый вариант сразу даёё матрицу направляющих косинусов, но требует решения 9-ти дифф. уравнений при 6-ти условиях нормировки. Второй требует 4дифф.урния, при одном условии нормировки, но матрицу направляющих косинусов придётся считать отдельно.

С интегрированием ускроений всё совсем плохо. Здесь надо пересчитывать показаний ДЛУ к инерциальному базису через матрицу, рассчитанную согласно советам выше, и интегрировать там. При этом из вертикального канала надо вычитать некое число, называемое "ускорение свободного падения". Точное его значение в данной местности знают не многие, а кто знает - не скажет, т.к. не положено. А задание g=9.81 из справочника приведёт к доп. накапливающейся ошибке...
krutskikh
Использую микросхемы L3G4200D - STMicroelectronics и HMC6343 - Honeywell.
Нужно получить параметры движения подвижного объекта.
Что если в качестве численного метода интегрирования использовать метод Симпсона, с оценкой точности?
В прикрепленном файле алгоритм. Нажмите для просмотра прикрепленного файла
klen
прочитал тему. даже не знаю что сказать.
говоря математическим языком, некоторые из колег, пытаются найти 6 неизвестных решая систему из трех уравнейни.

тут ктото говорил что на самолетах проблема решена - в нашем контексте он и на самолете не решенпа! объясняю.
для того чтоб проинтегрировать ускорения нада чтоб акселерометры были в плоскости горизонта, либо знать угловое положение платформы (по сути отделить проекции силы тяжести от инерцеонных составляющих). Так вот на самолете, эта платформа стабилизируется механическим гироскопом, в момент раскрутки она выствляется в горизонт например. тоесть сам гироскоп дает углы - нулевую производную парметров. а у нас с вами только гироскопы которые дают угловую скорость - перую производную. и сколько не интегрируй - получиш не угол платформы а интеграл сумммы угла и шума.

вывод - нужен еще канал коррекции углового положения чтоб списывать ошибки гироскопов. на беспилотниках и ракетах где нет возможности установить ''платформу с настоящими гироскопами" - ставят гироскопы типа тех что мы тут обсуждаем + пирометрический и магнитометрический каналы коррекции углов. есть еще извращения на эту тему. но результат всегда худший, дальность полета ракет и БПЛА всегда менше - качество навигационки хуже. У магнитометрического канана есть проблема, он может выдавать только один угол - угол между вектором магнитного поля земли и плоскостью платформы а нада 3 угла, пирометрический кнала неплохо работает но на малых высотах он неработоспособен - рельеф влияет на точность.

вот как то так.

vosk_k
Подскажите кто в теме.
Есть задача определения пройденного пути каретки, вращающейся по окружности (трубе). Расстояние между осями колёс 80 мм, скорость перемещения до 1 м/мин. Диаметры окружностей могут быть разными от 100 до 2000 мм. Наклон к плоскости земли может быть любой. Можно ли с помощью гироскопа определять пройденный путь с точностью +-200 мкм? Если нет то существуют ли бесконтактные датчики для решения такой задачи? Не хочется встраивать угловой преобразователь на ведомую ось.
AlexandrY
Цитата(vosk_k @ Oct 25 2017, 12:11) *
Подскажите кто в теме.
Есть задача определения пройденного пути каретки, вращающейся по окружности (трубе). Расстояние между осями колёс 80 мм, скорость перемещения до 1 м/мин. Диаметры окружностей могут быть разными от 100 до 2000 мм. Наклон к плоскости земли может быть любой. Можно ли с помощью гироскопа определять пройденный путь с точностью +-200 мкм? Если нет то существуют ли бесконтактные датчики для решения такой задачи? Не хочется встраивать угловой преобразователь на ведомую ось.

При радиусе 2000 мм шум измерения с помощью обычных IMU MEMS сенсоров буде не меньше 3 мм.
vosk_k
Цитата(AlexandrY @ Oct 25 2017, 10:27) *
При радиусе 2000 мм шум измерения с помощью обычных IMU MEMS сенсоров буде не меньше 3 мм.

Не имел дело с обычными MEMS гироскопами и с гироскопами в принципе, по этому даже не представляю каковы их точности. Хорошо, что в такой ситуации можно предложить?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.