| Микроконтролери и електроника 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. Аз помня как се изчисляват двумерни сензори във физиката. Дали мога да го сметна на два пъти с два двумерни вектора? А дали изобщо се налага да смятам такива работи? |
|
| Автор: | 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(), че компилаторската много голяма.
|
||||
| Автор: | 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 ] | ||
| Заглавие: | |||
чудих се какво най-извратено смятане на корен квадратен да измисля, стигнах до това
|
|||
| Автор: | nik [ Пет Ное 26, 2010 1:43 pm ] |
| Заглавие: | |
като го гледам сметките зависят изцяло от характеристиките на транзистора, т.е. като го напече слънцето и ще му се замая главата http://www.codeproject.com/KB/cpp/Sqrt_ ... Speed.aspx |
|
| Автор: | bateAz [ Пет Ное 26, 2010 1:51 pm ] |
| Заглавие: | |
Момчета, по-горе се написа много точно: ползвайте квадрата на ускорението, а не самото ускорение. Освен ако не сте решили да правите инерциална навигационна система, за всички други приложения може да се работи с квадрата. Смятането на квадратен корен не е лека задача ... Много процесорни цикли ще отидат там. |
|
| Автор: | marcuka68 [ Пон Ное 29, 2010 2:28 pm ] |
| Заглавие: | |
Благодаря за съветите, момчета! Най-вероятно ще работя с квадрата на ускорението, ако го докарам до там 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/ |
|