Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Изчисление на сумарно ускорение
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=8329
Страница 1 от 2

Автор:  marcuka68 [ Сря Ное 24, 2010 12:30 pm ]
Заглавие:  Изчисление на сумарно ускорение

Здравейте, може ли някои да ми помогне с изчисление на сумарното ускорение, под деиствието на сили по трите оси? Сензорът е АДХЛ345. Аз помня как се изчисляват двумерни сензори във физиката. Дали мога да го сметна на два пъти с два двумерни вектора?

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

Автор:  marcuka68 [ Сря Ное 24, 2010 12:34 pm ]
Заглавие: 

A1 = sqrt(Ax^2 + Ay^2)
A = sqrt(A1^2 + Az^2)

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

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

Автор:  marcuka68 [ Сря Ное 24, 2010 3:27 pm ]
Заглавие: 

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

Прикачени файлове:
New Text Document.txt [448 Байта]
242 пъти
Attempt.JPG
Attempt.JPG [ 40.76 KiB | Прегледано 2342 пъти ]

Автор:  sv_shady [ Сря Ное 24, 2010 10:33 pm ]
Заглавие: 

Ами да това е формулата за намиране на дължина на тримерен вектор. Иначе можеш да минеш и без да смяташ корен квадратен, а просто можеш да работиш с квадрата на дължината. Но дали това е възможно, зависи от това за какво ще го ползваш това ускорение.

Автор:  marcuka68 [ Чет Ное 25, 2010 12:02 am ]
Заглавие: 

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

Автор:  sv_shady [ Чет Ное 25, 2010 2:15 am ]
Заглавие: 

Ами с квадратната дължина на резултантното(сумарното) ускорение. Иначе и аз като съм ползвал акселерометри така играеха показанията. Средно аритметично не помага, единственото, което помогна е софтуерен цифров филтър, който реже високите честоти (т.е. рязките промяни).

Автор:  marcuka68 [ Чет Ное 25, 2010 2:13 pm ]
Заглавие: 

Но нали, за да получа сумарното ускорение, изпозвам корен. Е ще видя как ще го смятам това по-нататък. Иначе гледам, че на блоковата схема на АДХЛ345 има цифров филтър, но изглежда е недостатъчен.

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

Автор:  sv_shady [ Чет Ное 25, 2010 2:42 pm ]
Заглавие: 

Ами ти смяташ големината на резултантното ускорение така:
accel = sqrt(a^2 + b^2 + c^2), следователно accel^2 = a^2 + b^2 + c^2.

Автор:  zaphod [ Пет Ное 26, 2010 9:10 am ]
Заглавие: 

чудих се какво най-извратено смятане на корен квадратен да измисля, стигнах до това :D :D

Прикачени файлове:
sqrt.GIF
sqrt.GIF [ 2.98 KiB | Прегледано 2792 пъти ]

Автор:  nik [ Пет Ное 26, 2010 1:43 pm ]
Заглавие: 

като го гледам сметките зависят изцяло от характеристиките на транзистора, т.е. като го напече слънцето и ще му се замая главата :D

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

Автор:  bateAz [ Пет Ное 26, 2010 1:51 pm ]
Заглавие: 

Момчета, по-горе се написа много точно: ползвайте квадрата на ускорението, а не самото ускорение. Освен ако не сте решили да правите инерциална навигационна система, за всички други приложения може да се работи с квадрата. Смятането на квадратен корен не е лека задача ... Много процесорни цикли ще отидат там.

Автор:  marcuka68 [ Пон Ное 29, 2010 2:28 pm ]
Заглавие: 

Благодаря за съветите, момчета! Най-вероятно ще работя с квадрата на ускорението, ако го докарам до там :) Но тогава ще ми трябва и посока на вектора, за да определя накъде се изменя ускорението. Доколкото се порових в нета, най-удачно ще е да се използва таблица. В противен случай, със смятане, мисля, че ще ми трябват 2 ъгъла:

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

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

Поздрави!

Автор:  bateAz [ Пон Ное 29, 2010 2:47 pm ]
Заглавие: 

A защо ти е да смяташ и посока? Има нещо недоклатено в заданието, май ...

Автор:  marcuka68 [ Пон Ное 29, 2010 3:35 pm ]
Заглавие: 

Ами необходима е посока, защото ще трябва да предприемам различни деиствия, според посоката.

Автор:  sv_shady [ Пон Ное 29, 2010 4:52 pm ]
Заглавие: 

Колко прецизна ти трябва тази посока ? Ако трябва да кажеш ъгъл на вектора няма как да минеш без малко повече математика, но може и без тригонометрични функции, трябва само да ползваш факта, че компонента на единичен вектор е косинуса на ъгъла му спрямо оста на компонентата. Ако трябва, обаче да кажеш само нагоре/надолу, напред/назад и т.н. може само да се гледат знаците на отделните компоненти на вектора.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/