Отговори на тема  [ 20 мнения ]  Отиди на страница 1, 2  Следваща
Филтриране на шум от акселерометър 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Филтриране на шум от акселерометър
Здравейте,
Искам да измервам акселерация и де-акселерация с аналогов акселерометър MMA7361. Понеже ще бъде монтиран на мотоциклет, а там вибрациите са доста големи, искам съвет за някакъв алгоритъм, с който малко да филтрирам тоя шум. В момента ползвам най-простия а именно да взема усреднената стойност на примерно 50-100 четения от сензора. Това върши работа само когато няма вибрации. Запаля ли звяра и става като рандом генератор :)
Чета стойностите с три аналогови пина на ардуино. 0.206V/g за режима, който съм избрал(сензора е на 3.3V). Най-вероятно ще ми трябва и някой външен филтър примерно low-pass ама не знам какъв точно да е.


Съб Дек 14, 2013 12:56 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение Re: Филтриране на шум от акселерометър
През колко време ги правиш тези семпли?


Съб Дек 14, 2013 1:07 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
Ами в момента на "сухо" го тествам с 200-500ms delay в loop-a. Предполагам, че повече от 5 изчистени стойности в секунда няма да ми трябват.


Съб Дек 14, 2013 1:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: Филтриране на шум от акселерометър
Някакъв нискочестотен филтър (LPF) ще си трябва, RC примерно, съвсем на око примерно 2КОм сериино и 100..1000нф към земя. Отделно можеш да направиш допълнително и цифров, би трябвало да можеш да четеш достатъчно често АЦП-то.
Като странична бележка - имай предвид че "автомобилната" среда няма нищо общо с псевдо-лабораторната вкъщи. Тия смущения дето ги виждаш може въобще да не идват от акселерометъра, а да са електромагнитни набивания в платката ти. Дано не опитваш на репинг с ардуино и хвърчащи жици? Пробвай вместо акселеромеръта да сложиш (три) делителя и да замериш какво ще видиш след запалване. Това ще те наведе накъде да търсиш решение. Друг проба може да е с смартфон. Има програмки да гледаш сигналите от акселерометрите им. Можеш да ги ползваш като база за сравнение.
Ако имаш проблеми с шум по аналоговите жици можеш да погледнеш за акселерометър с I2C или SPI. Достатъчно бързи са, а и по-новите чипове има доста вътрешна обработка с настройваеми филтри.


Съб Дек 14, 2013 2:48 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
Мерси. Ще пробвам с RC филтър. За момента е с жици, но после ще пренеса нужните компоненти на платка (атмега 328 на цокъл и директно до чипа ще сложа сензора). Поръчал съм i2c акселерометър (MMA8451 module, high-precision tilt sensor module 14BIT-digit ), но още го чакам да пристигне и за момента тествам с аналоговия.
Май ще трябва да помисля и за някакъв "по-мек" монтаж към корпуса, за да не минават вибрациите директно към електрониката.


Съб Дек 14, 2013 3:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Филтриране на шум от акселерометър
както е казл колегата по горе, първо се увери че наистина е от акселерометъра


Съб Дек 14, 2013 4:18 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
Открих това http://www.freescale.com/files/microcon ... AN3380.pdf
Freescale (същите, които произвеждат ММАхххх серията) са направили продукт, който контролира определен брой ЛЕД-ове според де-акселерацията на мотоциклет ползвайки подобен аналогов сензор - MMA7260Q. Описали са шумовете даже и диаграма има. Та като гледам ползват даже три нива на филтриране:
1) Механично - някак си го монтират за корпуса да не приема толкова механични вибрации
2) Аналогов филтър - RC low-pass filter
3) Няколко нива на софтуерно филтриране като едното е това, което и аз правя.
Разликата е, че те ползват само декселерация, а при мен се ползва и ускорението. Стейт машината също е добра идея, защото не ми трябват чак толкова точни данни.


Съб Дек 14, 2013 4:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение Re: Филтриране на шум от акселерометър
С просто усредняване няма да стане. Пробвай, например Savitzky–Golay. Като си поиграеш с реда и времеконстантата може да докараш желания резултат. А и сметките не са сложни.
Хубаво си се насочил към цифров акселерометър, ама тия 14 бита са множко. Едва ли ще използваш повече от 8. Аз използвам ММА8652 и неговите 12 са ми повече от достатъчни. И при него показанието си играе дори при (уж) неподвижно положение на масата и липса на смущения. Хубавото на ММА8652 (не знам дали MMA8451 има тази възможност) е, че има high-pass филтър, който реже DC компонентите по трите оси, т.е. акселерометъра ти дава ненулеви показания само при движение. Така проца спи и не хаби енергия, но се буди при разклащане.


Нед Дек 15, 2013 9:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: Филтриране на шум от акселерометър
Като казвах че цифровите имат повече функционалност имах и това предвид - филтри, FIFO-та, детектори на преходни процеси с прекъсване и тем подобни. Ако говорим за ардуино може и да има директно библиотека за някой от тях, така че "сложността" на I2C-то (или SPI) няма какво да се мисли.


Пон Дек 16, 2013 10:46 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
И трите модела 51,52 и 53 се различават само по битовете. Съответно 14,12 и 10. Всичко друго им е еднакво. Всички могат да се пуснат на 8 бита и така мисля да го ползвам моя. Freescale са описали доста полезни PDF-и за настройка,FIFO, калибрация и настройка на филтрите: http://www.freescale.com/webapp/sps/sit ... tation_Tab
Единствената причина да пробвам първо с аналоговия е, че не ми трябва допълнителен logic level converter за него. С новия ще ми трябва нещо, че е до 3.6V, а ардуиното 5V.
Има и готови библиотеки като например тази https://github.com/n0m1/MMA8453_n0m1


Пон Дек 16, 2013 10:51 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
Здравейте. Първо да спомена, че с цифровия акселерометър е много по-добре и шумовете могат да се обират с вградените в него филтри.
Имам друг въпрос по темата. Първо мислех да променям яркостта на ледовете с ШИМ, но се замислих, че при движение от страни това може да иглежда като премигване (от статична гледна точка). Дали е добра идея да се направи с цифров потенциометър примерно MCP4162-502, който да контролирам по SPI от контролера?
Не се сещам други методи и всяка идея е добре дошла.


Вто Фев 04, 2014 9:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Филтриране на шум от акселерометър
Пак с PWM, но и с кондензатор и интуктивност.

_________________
Warriors of the Night, ASSEMBLER!!!


Сря Фев 05, 2014 1:51 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Окт 03, 2007 3:39 pm
Мнения: 311
Мнение Re: Филтриране на шум от акселерометър
Не, че мога да ти дам конкретен съвет, но все пак - какво точно се опитваш да направиш? Подозирам, че ако споделиш самата идея на това измерване, ще получиш далеч по-практични съвети :-)

_________________
In God we trust. All others must submit an X.509 Certificate


Сря Фев 05, 2014 9:49 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
Целта е според ускорението на мотоциклета да се усилва яркостта на светлината и съответно при де-акселерация да се намалява до някаква минимална степен. Още не съм измислил точно с какъв алгоритъм, защото не съм решил какво да правя когато ускорението е 0.

Допълнително ще сложа няколко отделни червени лед-а отзад при номера, които ще премигват при де-акселерация, за безопасност, защото това е честа причина за инциденти (стопа светва само при натисната спирачка, но при връщане на газта двигателната спирачка е силна, защото мотора е лек, и е много лесно да те ударят отзад). Това е горе-долу целта ми.

Лед лентата е 3528 SMD водоустойчива на 12В и си има резистори вградени за всеки лед. Та както писах в предишния пост мислех просто с един мосфет и PWM да я управлявам, но при движение ще изглежда доста грубо. Тъй като това ми е само хоби мога да се пробвам да сметна една RLC верига, но не знам какво време ми трябва, да стане плавно. Чудя се дали няма да стане просто с един 100uH индуктор след самия мосфет?
Мерси за отговорите!


Сря Фев 05, 2014 11:05 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Май 14, 2010 5:52 pm
Мнения: 91
Мнение Re: Филтриране на шум от акселерометър
Какво мислите за тази крива на low pass филтър в прикачената снимка. Това е с 7800Hz PWM, 50% duty step, 10k резистор и 1.0uF кондензатор. Не знам как трябва да изглежда кривата, за да се получи плавно.


Прикачени файлове:
im_grph.png
im_grph.png [ 1.29 KiB | Прегледано 4189 пъти ]
Сря Фев 05, 2014 1:49 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 20 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

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


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

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