Arduino и 3-х осевой акселерометр(3D Accelerometer Sensor) MMA7260(MMA7361)
Для тестов отключил режим слип и установил чувствительность на максимум. Все заработало сразу.
Для калибровки датчика нужно расположить его в исходное положение далее присвоить переменным x_cal, y_cal, z_cal нули, прошить carduino, потом в сериал мониторе посмотреть их новые значения и прописать вместо нулей.
int z_cal=755;
Можно смотреть положение автомобиля относительно горизонта, Угол наклона при подьеме или спуске с горы. Можно применить для пневмоподвески .
Вот пример работы акселерометра в программе iCarDS http://content.video.mail.ru/mail/be...video/i-11.jpg
02.06.2011, 01:21
SBorovkov
Re: Arduino и 3-х осевой акселерометр MMA7260
а еще можно автоматически определять неровности и сообщать о них в rosyama.ru
А еще - видел видео с платформой, на которую ставят стакан с водой, потом едут, платформа наклоняется и стакан не уезжает и вода не проливается :-)
Во, нашел:
02.06.2011, 19:36
C0vax
Re: Arduino и 3-х осевой акселерометр MMA7260
Очень круто ! )) прям сразу захотелось парочку таких подстаканников в машину )) а еще лучше полочку на торпеде - проблема с улетающими мобильниками/мелочью/другой фигней - решена ))
09.06.2011, 00:27
Азимут
Re: Arduino и 3-х осевой акселерометр MMA7260
Цитата:
Сообщение от Chip
Можно смотреть положение автомобиля относительно горизонта, Угол наклона при подьеме или спуске с горы. Можно применить для пневмоподвески . Автоматическая регулировка угла фар и т.д.
Что-то мне подсказывает, что акселерометр измеряет ускорение, а углы кренов измеряет гироскоп.
09.06.2011, 02:23
Chip
Re: Arduino и 3-х осевой акселерометр MMA7260
Он измеряет как ускорение так и углы по осям X,Y,Z
Я не проверив никогда не выкладываю проекты
12.06.2011, 22:01
SBorovkov
Re: Arduino и 3-х осевой акселерометр MMA7260
акселерометр воспринимает силу тяжести как ускорение. Поэтому по направлению этой силы можно более-менее достоверно знать угол наклона микросхемы относительно земли.
13.06.2011, 22:30
Chip
Re: Arduino и 3-х осевой акселерометр MMA7260
Ускорение он измеряет в динамике, а еще он может измерять в статическом состоянии угол отклонения относительно горизонта
Цитата:
акселерометр- устройство, предназначенное для измерения угла наклона различных объектов, относительно гравитационного поля Земли. Различают три основные группы датчиков наклона, это одноосевые (ось X), двухосевые (оси X и Y) и трёхосевые (оси X,Y и Z). На объекте, находящемся в статическом состоянии, акселерометр измеряет угловые характеристики его пространственного расположения. Однако на движущемся, подверженном действию вибрации, ускоряющемся объекте, показания датчика зависят также от ускорений.
28.07.2011, 16:56
ex3m
Re: Arduino и 3-х осевой акселерометр MMA7260
А каким образом можно конвертировать показания в единицы ускорения "g"?
28.07.2011, 23:17
Mastar
Re: Arduino и 3-х осевой акселерометр MMA7260
Chip, я так понял, что он не определяет начальное положение относительно земли после включения питания и если его статически выставить на 0 по компасу и уровню и включить, то до выключения он не потеряет ориентации? Или все-таки может сильно запутаться, например езда по кругу, по бездорожью и т.д. Если я вернусь на старое место, колесо в колесо, то покажет нули?
Или так работает гироскоп, а тут нужно суммировать каждое ускорение и множить на длительность ускорения?
29.07.2011, 06:23
SBorovkov
Re: Arduino и 3-х осевой акселерометр MMA7260
Mastar, гироскоп определяет угловые скорости (повороты, о чем Вы пишите в начале), акселерометр - ускорения. Теоретически, сочетание гироскопа и акселерометра дает возможность определять положение, если известно первоначальное положение и полученные из датчиков величины на протяжении всего времени движения. Но на практике точность таких (компактных, дешевых) датчиков очень низка, поэтому, к примеру, в летающих моделях используется комплекс датчиков
1. трехосевой акселерометр
2. трехосевой гироскоп
3. барометрический высотомер
4. магнитометр (компас)
5. GPS
Такая комбинация уже позволяет более-менее точно ориентироваться в пространстве и не дает накапливаться ошибке из-за неточностей гироскопа и акселерометра.
зы. если проще - гироскоп покажет нули как только его перестать крутить. В поезде, едущем по прямой, гироскоп будет показывать нули независимо от того, ускоряется поезд или тормозит. В машине гироскоп дополнительно будет чувствовать, как машина начинает клевать носом при торможении, кренится или поворачивает. Но как только поворот прекратился, сразу будут нули.
Акселерометр же нули покажет только при свободном падении. В обычное время он показывает векторную сумму из ускорений микросхемы и ускорения свободного падения.
29.07.2011, 13:29
Mastar
Re: Arduino и 3-х осевой акселерометр MMA7260
SBorovkov, вот тут Вам большое спасибо, все по полочкам. К примеру использования электроники на катере 1, 2 и 3 пункты не нужны, разве что для стабилизации камеры подвешенной на сервах. А вот для курсовой устойчивости, тут магнитометр (компас) - самый раз, ну и GPS для полного кайфа.
Например порыв ветра, волна, течение и пр. будут изменять курс, но если задействовать магнитометр, то он скорректирует?
Начинаю поиски.
MMA7260 можно использовать как датчик положения зеркал? хочу попробовать сделать зеркала с "памятью" на 2 водителя чтобы с кнопки свое положение включать. схему примерно понял, остался только вопрос с датчиками
06.12.2011, 16:08
utking
Re: Arduino и 3-х осевой акселерометр MMA7260
Добрый день! http://www.kako.com/neta/2008-017/lis331dl.pdf имеется вот такой акселерометр и ардуино. работает по шине й2си и эспиай. как его подружить с ардуино, а именно подключаю по шине й2си , встаёт вопрос id номера, откуда его брать
Что-то у меня как не поверни, всё одни цифры показывает, с небольшим отклонением в несколько едениц, сразу по всем плоскостям?
11.12.2011, 03:11
mebitek
Re: Arduino и 3-х осевой акселерометр MMA7260
Ой, извиняюсь!!!!!! Я плюс забыл подключить к акселерометру))))))))) Теперь всё круто!!!!!
12.12.2011, 21:58
edw123
Re: Arduino и 3-х осевой акселерометр MMA7260
Цитата:
Сообщение от Chip
Ускорение он измеряет в динамике, а еще он может измерять в статическом состоянии угол отклонения относительно горизонта
А какая у него чувствительность при приемлемом уровне помех? В связке с Ардуино.
15.01.2012, 05:01
mebitek
Re: Arduino и 3-х осевой акселерометр MMA7260
Эдуард, а скажи что такое слип, и как чувствительность регулируется?
15.01.2012, 12:37
Chip
Re: Arduino и 3-х осевой акселерометр MMA7260
Спящий режим
17.01.2012, 04:35
mebitek
Re: Arduino и 3-х осевой акселерометр MMA7260
Исчерпывающий ответ)))))))))) А зачем он нужен ?
А про чувствительность ничего не сказал.........
Цитата:
Для тестов отключил режим слип и установил чувствительность на максимум.
17.01.2012, 11:37
Chip
Re: Arduino и 3-х осевой акселерометр MMA7260
Чувствительность – масштабный коэффициент датчика или системы, выраженный в единицах измерения выходного сигнала относительно изменения входного сигнала. Чувствительность определяет способность акселерометра фиксировать движение. Чувствительность акселерометра обычно указана в милливольтметрах за g(mV/g).
17.01.2012, 21:53
mebitek
Re: Arduino и 3-х осевой акселерометр MMA7260
А как её регулировать?
17.01.2012, 22:03
Chip
Вложений: 1
Re: Arduino и 3-х осевой акселерометр MMA7260
Подключить выводы GS1,GS2 акселерометра к цифровым выходам Carduino и согласно таблице подавать на эти выводы комбинации нулей и едениц
GS1,GS2
0 0 = 1,5g
1 0 = 2g
0 1 = 4g
1 1 = 6g
Я не знаю, видели вы это видео, но это просто супер!
мой любимый симулятор, лучше ещё не придумали.
можно и на ардуине сделать. Я так думаю там акселерометр и ходы подвески кресла подогнаны опытными путями. Правда в игрушке боковая акселерация может быть и 1.3G, так что придется подгонять долго, но результат того будет стоить )
Я думаю что с акселерометром все будет просто реализовать, а вот механику сделать гораздо сложнее
18.01.2012, 03:19
YARiddiK
Re: Arduino и 3-х осевой акселерометр MMA7260
да проще простого - использовать нашу русскую разработку -шар
и с приводом сэкономим и мощный можно поставить.
проблема в том, что когда мы выходим из поворота -ускорение в бок плавно спадает, а в кресле нужно ещё вернуть тело в горизонтальное положение, при этом возврате на тело будет действововать лишнее ускорение, тело будет думать, что оно ускоряется в бок.
вот в авиасимуляторах действительно крутое дополнение к джойстику
берем такую платформу и центр тяжести человека сажаем не на оси, тогда при повороте против или почасовой - человек будет чувствовать то ускорение, которое должен.
судя по количеству цилиндров штука миллионная :eek:
26.01.2012, 00:09
kadushkin
Re: Arduino и 3-х осевой акселерометр MMA7260
Что-то я не пойму, если акселерометр замеряет ускорение с точностью например 1,5g = 15м/с за 10 мс , это что же с таким ускорением на авто ездить надо - формула 1 отдыхает.
26.01.2012, 01:28
YARiddiK
Re: Arduino и 3-х осевой акселерометр MMA7260
это верхняя граница диапазона! он может эту границу при реальном ускорении 1.5G только через пол-часа покажет, фиг ведь знает как быстро у него пластины внутри могут двигаться
26.01.2012, 21:51
kadushkin
Re: Arduino и 3-х осевой акселерометр MMA7260
Если это верхняя граница, то с каким шагом меряется ускорение?
Только для этого нужны пневмоподвеска и мощный компрессор
02.03.2012, 15:51
autohirurg
Re: Arduino и 3-х осевой акселерометр MMA7260
Здравствуйте!
Как человек увлеченный тюнингом , могу заявить следующее - для правильного вычисления ускорения потребуется подсоединять к ардуино либо датчик скорости автомобиля, либо GPS-ку плюс таймер. А уж тогда им в подмогу придет акселерометр.
Кто бы сделал программу вычисляющюю из этих данных ускорение, а так то приципить
датчики совершенно не проблематично.
Думаю с помощью ардуино не такая уж и большая проблема повторить данный прибор на экране кар писи.
Принцип работы
Ускорение:
Основным элементом G-TECH/Pro является прецизионный 3-мерный акселерометр, датчики которого измеряют ускорения. Ускорения измеряются в g, и это один из основных факторов точности при измерениях, т.к калибровка ведется относительно g (ускорения свободного падения), которое неизменно.
Скорость:
G-TECH измеряет скорость и дистанцию, интегрируя прямолинейное ускорения по времени. В основном, если известно как меняется ускорение за определенный период времени, то однозначно вычисляется скорость в конце этого периода. Поэтому если автомобиль стартует с «нулевой» скорости, то известно, какая будет скорость в любой момент времени. Периоды интеграции очень короткие (несколько тысячных секунды) и это обеспечивает точность. Однако, если автомобиль стартует не с «нулевой» скорости, измерения будут не корректны, потому что нет правильной точки отсчета. В связи с этим очень важно начинать все замеры из абсолютно неподвижного состояния.
Дистанция:
Дистанция измеряется таким же образом, как и скорость. Если известно, как быстро автомобиль разгоняется за определенный промежуток времени, то легко определить, какая дистанция пройдена в течение этого промежутка времени.
Мощность:
G-TECH измеряет мощность используя формулу связывающую: скорость, ускорение и вес в определенный момент. Чем точнее указан вес машины, тем выше точность результата. G-Tech измеряет конечную мощность, иногда ее также называют «мощность с колес». Эта мощность включает потери энергии в трансмиссии, которые обычно составляют 10-15%. Мощность, измеренная на маховике двигателя часто используется в рекламных целях, но для большинства задач необходимо знать, как разгоняется реальный автомобиль. Мощность, которую измеряет G-Tech также учитывает и аэродинамическое сопротивление. Это означает, что если Вы заклеили пленкой фары и решетки в бампере, сняли боковые зеркала и щетки и т.д. то есть уменьшили сопротивление, измеренная мощность будет больше, хотя Вы не производили никаких доработок двигателя.
Обороты:
Обороты двигателя измеряются непосредственно через напряжение в прикуривателе, при этом не требуется никаких дополнительных подсоединений. Функция измерения оборотов используется для измерения момента и ламп отсечки по оборотам.
23.03.2012, 16:55
eea_2M
Re: Arduino и 3-х осевой акселерометр MMA7260
Цитата:
Сообщение от Chip
Можно смотреть положение автомобиля относительно горизонта, Угол наклона при подьеме или спуске с горы. Можно применить для пневмоподвески . Автоматическая регулировка угла фар и т.д.
Chip, нужен совет. Собрал я платформу, в которой акселерометр используется для определения углов наклона (крен/тангаж) платформы. Текущая задача - удерживать платформу в горизонтальном положении вне зависимости от наклонов основания.
Описанный в теме акселерометр измеряет все ускорения, в том числе и те, что возникают от работы сервоприводов.
Есть идеи - как отфильтровать "паразитные" ускорения?
Можно конечно попытаться усреднять набор значений акселерометра, но это, скорее всего, приведет к появлению задумчивости механизма и отставанию в коррекции.