Отговори на тема  [ 18 мнения ]  Отиди на страница 1, 2  Следваща
Изчисление на сумарно ускорение 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение Изчисление на сумарно ускорение
Здравейте, може ли някои да ми помогне с изчисление на сумарното ускорение, под деиствието на сили по трите оси? Сензорът е АДХЛ345. Аз помня как се изчисляват двумерни сензори във физиката. Дали мога да го сметна на два пъти с два двумерни вектора?

А дали изобщо се налага да смятам такива работи? :) Само данните за ускорението по трите оси дали не са достатъчна индикация за големината на ускорението? Доколкото помня и тригонометрия, грешката ще ми е макс. 50%, което не е малко.


Сря Ное 24, 2010 12:30 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение 
A1 = sqrt(Ax^2 + Ay^2)
A = sqrt(A1^2 + Az^2)

Това със сметки на двумерни вектори.

Преподавателят ми по физика ще ме набие, ако види какви ги пиша :)


Сря Ное 24, 2010 12:34 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение 
Мисля, че се получи. В прикачения файл съм качил формулата, по която става изчислението на сумарното ускорение и пращането му по УСАРТ. Още не съм сигурен, ще я използвам ли, но, ако се наложи, ще трябва да пиша функция mySqrt(), че компилаторската много голяма.


Прикачени файлове:
New Text Document.txt [448 Байта]
242 пъти
Attempt.JPG
Attempt.JPG [ 40.76 KiB | Прегледано 2324 пъти ]
Сря Ное 24, 2010 3:27 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами да това е формулата за намиране на дължина на тримерен вектор. Иначе можеш да минеш и без да смяташ корен квадратен, а просто можеш да работиш с квадрата на дължината. Но дали това е възможно, зависи от това за какво ще го ползваш това ускорение.

_________________
Българският портал за РОБОТИКА


Сря Ное 24, 2010 10:33 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение 
Не разбрах, с квадрата на дължината на кой от векторите да работя? А още и аз не знам колко точно ще ми трябва ускорението. Аз ли нещо него меря точно, но и в дейташийта пише Zero g bias +/- 40mg, ако не се лъжа, и стоиностите ми играят доста, дори с осредняване на 128 стоиности.


Чет Ное 25, 2010 12:02 am
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами с квадратната дължина на резултантното(сумарното) ускорение. Иначе и аз като съм ползвал акселерометри така играеха показанията. Средно аритметично не помага, единственото, което помогна е софтуерен цифров филтър, който реже високите честоти (т.е. рязките промяни).

_________________
Българският портал за РОБОТИКА


Чет Ное 25, 2010 2:15 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение 
Но нали, за да получа сумарното ускорение, изпозвам корен. Е ще видя как ще го смятам това по-нататък. Иначе гледам, че на блоковата схема на АДХЛ345 има цифров филтър, но изглежда е недостатъчен.

Благодаря за съдействието.


Чет Ное 25, 2010 2:13 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Ами ти смяташ големината на резултантното ускорение така:
accel = sqrt(a^2 + b^2 + c^2), следователно accel^2 = a^2 + b^2 + c^2.

_________________
Българският портал за РОБОТИКА


Чет Ное 25, 2010 2:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
чудих се какво най-извратено смятане на корен квадратен да измисля, стигнах до това :D :D


Прикачени файлове:
sqrt.GIF
sqrt.GIF [ 2.98 KiB | Прегледано 2774 пъти ]
Пет Ное 26, 2010 9:10 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 22, 2006 3:25 am
Мнения: 6418
Мнение 
като го гледам сметките зависят изцяло от характеристиките на транзистора, т.е. като го напече слънцето и ще му се замая главата :D

http://www.codeproject.com/KB/cpp/Sqrt_ ... Speed.aspx


Последна промяна nik на Пет Ное 26, 2010 2:03 pm, променена общо 1 път



Пет Ное 26, 2010 1:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Момчета, по-горе се написа много точно: ползвайте квадрата на ускорението, а не самото ускорение. Освен ако не сте решили да правите инерциална навигационна система, за всички други приложения може да се работи с квадрата. Смятането на квадратен корен не е лека задача ... Много процесорни цикли ще отидат там.


Пет Ное 26, 2010 1:51 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение 
Благодаря за съветите, момчета! Най-вероятно ще работя с квадрата на ускорението, ако го докарам до там :) Но тогава ще ми трябва и посока на вектора, за да определя накъде се изменя ускорението. Доколкото се порових в нета, най-удачно ще е да се използва таблица. В противен случай, със смятане, мисля, че ще ми трябват 2 ъгъла:

a = arctan( Az / Ay )
b = arctan( Ay / Ax )

Май сметките са доста, за смятане на посоката и предполагам, че с таблица ще е по-добре.

Поздрави!


Пон Ное 29, 2010 2:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
A защо ти е да смяташ и посока? Има нещо недоклатено в заданието, май ...


Пон Ное 29, 2010 2:47 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение 
Ами необходима е посока, защото ще трябва да предприемам различни деиствия, според посоката.


Пон Ное 29, 2010 3:35 pm
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Колко прецизна ти трябва тази посока ? Ако трябва да кажеш ъгъл на вектора няма как да минеш без малко повече математика, но може и без тригонометрични функции, трябва само да ползваш факта, че компонента на единичен вектор е косинуса на ъгъла му спрямо оста на компонентата. Ако трябва, обаче да кажеш само нагоре/надолу, напред/назад и т.н. може само да се гледат знаците на отделните компоненти на вектора.

_________________
Българският портал за РОБОТИКА


Пон Ное 29, 2010 4:52 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 18 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни