Skocz do zawartości

Moduł akcelerometru analogowego


OldSkull

Pomocna odpowiedź

Chciałbym przedstawić projekt modułu akcelerometru opartego na MMA7361 firmy Freescale, który to układ był dostępny jako darmowe próbki. Obecnie są dostępne (spośród kompatybilnych) jedynie układy: 7331, 6361, 6341 i 6331, różniące się czułościami i niektórymi opcjami. Moduł został zaprojektowany na potrzeby pisanej przeze mnie pracy magisterskiej, ale miał być na tyle uniwersalny, aby dało się wykorzystać wszystkie możliwości układu. Jest przydatny we wszelkich robotach kroczących.

Nóżki odpowiedzialne za dodatkowe opcje są domyślnie podciągnięte tak, aby płytka działała tylko przy samym podłączeniu zasilania i wyprowadzeniu sygnałów. Domyślna ustawiona czułość wynosi -+1.5g (800mg/V). W wymienionych układach zastępczych różnice dotyczą tylko obecności (lub nie) nóżek Self-test bądź 0g-detect.

Projekt PCB zakładał montaż układu poprzez podkładki amortyzujące mające tłumić drgania mechaniczne, oraz możliwość dociążenia płytki za pomocą śrubek M3. Połączenie jest realizowane przez taśmę IDC10. Z modułu można również pobrać zasilanie do układów na 3.3V.

IMG_4d52730e63e0d9784.jpg

Jak można zauważyć na schemacie brakuje dławika wygładzającego prąd. W takim wypadku występują zakłócenia wysokiej częstotliwości:

IMG_4d52777e752345712.jpg

które przenoszą się na wyjscie:

IMG_4d5277a0728bb9874.jpg

Są to zakłócenia wysokiej częstotliwości (zakłóceń niższej częstotliwości nie ma), dlatego też próbowałem je wygładzić dławikiem 10uH podłączonym między wyjście LF33 a kondensatorem 22u. W efekcie zakłócenia na zasilaniu:

IMG_4d527875f18eb9349.jpg

Warto zwrócić uwagę na skalę - mimo 10x większej czułości, zakłócenia wysokiej częstotliwości były znikome (zakłócenia niskiej częstotliwości się nie pojawiły). W efekcie zakłócenia które się przenosiły na wyjście:

IMG_4d52791750d1c6530.jpg

Wygląda świetnie? Niestety tylko w skali mikro. Otóż w skali ms tak wygląda porównanie:

IMG_4d527973488f41220.jpgIMG_4d527982526892931.jpg

W obu przypadkach należy zmierzone wartości jeszcze przefiltrować - jednakże w przypadku układu bez dławika sygnał ma mniejszą wartość międzyszczytową i mniejszą wariancję, a tym samym jest lepszy. Jeśli w układzie dysponujemy innym źródłem zasilania 3.3V, stabilizatora na tej płytce możemy nie lutować a zakłóceń pozbyć się w inny sposób.

Ze swojej strony mogę jeszcze dodać, że bardzo dobrze do usuwania zakłóceń akcelerometru nadaje się filtr medianowy, w celu zwiększenia dokładności można wykorzystać filtr uśredniający (np. ze średnią kroczącą). Mogę powiedzieć, że po zastosowaniu tychże filtrów udało mi się uzyskać bardzo dobrą stabilność pomiaru: przy podwójnym całkowaniu tak uzyskanego przyspieszenia (w celu uzyskania przesunięcia) dla układu, który jest nieruchomy, nie dochodzi do zmian przesunięcia, tym samym pomiar można powiedzieć, że "nie pływa".

Załączam projekt pcb aby każdy mógł wykonać płytkę. Projekt utworzony pod Protelem 99se, będzie również działał pod Altiumem.

akcelerometr.rar

IMG_4d51cb7ff2cca6802.thumb.jpg.2042a49e69b2b4613b48fd1b4974717f.jpg

  • Lubię! 2
Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Nie wiem czym to zasilałeś, ale na wejściu masz bardzo duże zakłócenia. Z przetwornicy DC/DC można uzyskać dużo mniejsze. Może to wina tego stabilizatora, bo on jest na 500mA a akcelerometr dosłownie siorbie odrobinę prądu. Lepiej zastosować jakiś mały LDO typu LP2985. Przed stabilizatorem warto też dodać 100nF.

Warto by było zmierzyć zakłócenia 5V i je odnieść do zakłóceń 3V za stabilizatorem. Podstawowy błąd jaki widzę to użycie kondensatora ceramicznego 22uF o bardzo małym ESR. Ten stabilizator nie jest do nich przystosowany (wg, dokumentacji ESR kondensatora wyjściowego ma być 0.1R do 10R) i to może powodować takie wyniki. Zamień kondensator na tantalowy i sprawdź jeszcze raz na oscyloskopie jak to wtedy wygląda. Swoją drogą oscyloskop bardzo ładnie działa 🙂

Popraw proszę schemat, bo jak ktoś coś takiego złoży to mu za dużo nie podziała (/sleep). Warto by też było poprawić urządzenie zanim ktoś je zbuduje i będzie narzekał na szumy akcelerometrów.

Link do komentarza
Share on other sites

Może być wina kondensatora - typu bądź wartości (co bym bardziej obstawiał), kiedy wymieniłem na 220u elektrolityczny w smd:

i sygnał:

Wcale dużo lepiej nie jest, można dojść do wniosku, że zakłócenia generuje sam akcelerometr (co nie jest niemożliwe), a dodanie dławika mu to utrudnia. Same zakłócenia nie są wcale dużym problemem, można w układzie odbiorczym dać zwykły filtr RC o częstotliwości odcięcia np. 3kHz - te zakłócenia mają 300kHz więc taki filtr je niemal całkowicie odetnie. Można wręcz pomóc sobie filtrem cyfrowym. Zakłóceń na 5V nie ma - zasilanie do tych testów jest pobierane z akumulatorka.

Co nie tak z tym schematem? Do /Sleep ew. można dać rezystor mniejszej wartości (np. 2.2k), ale poza tym jest jak najbardziej ok.

Link do komentarza
Share on other sites

Hmm z tym sleep źle spojrzałem. Myślałem, że rezystor R_01 się z nim łączy i to mnie zdziwiło...

Kup inny stabilizator, bo to co dostajesz to jakieś nieporozumienie. Układ akcelerometra analogowego nie ma prawa tak siać. Możesz zresztą przeciąć ścieżkę zasilania na moment i sprawdzić co wtedy masz na linii 3,3V. Może masz jakiś felerny akcelerometr. Napięcie za stabilizatorem liniowym powinno być dużo stabilniejsze niż na jego wejściu.

PS.Całkiem ładny wykres dla 2mV/div daje ten Rigol. W poprzedniej pracy miałem jakiegoś starego HP cyfrowego to tam przy 5mV/div jedna działka to były śmieci nawet dla idealnie równego przebiegu - co mój analogowy pokazał bez problemu.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Problemem jest chyba pojemność, ten stabilizator ma na schematach w nocie różne pojemności, ale najmniejsza jest 2.2u (inna wartość to 10u) za nim i 0.1-0.22u przed nim. Jak dałem na płycie głównej robota dużą pojemność (470u) to napięcie jest całkiem gładkie.

Napięcia wychodzące z akcelerometru zależą również od stanu układu, mam dwa moduły, oba maja teraz dławik (czyli są identyczne), ale różnią się intensywnością grzania - i zakłóceniami. W obu co prawda wahania wynoszą około +-12mg, ale zauważalnie się różnią. Struktura MEMS może być dość delikatna :| Mimo to odpowiednie kondycjonowanie sygnału pozwala na bezproblemowe wykorzystanie tego akcelerometru do podstawowych robotów, aczkolwiek utrudnia wykorzystanie pełnej dynamiki układu.

Jeszcze odnośnie zakłóceń: w nocie jest podane 350ug/sqrt(Hz) i nie wiem o co biega. Dla 100Hz jest :

zakl/sqrt(100) = 0.35mg, czyli zakl = 3.5mg? w takim wypadku w częstotliwości 1kHz zakłócenia powinny wynosić 11mg? To by się zgadzało z tym co otrzymuję.

Link do komentarza
Share on other sites

Odnośnie modyfikacji gotowego projektu celem dodania dławika: można go bardzo łatwo dołożyć w miejscu zaznaczonym zielonym kółkiem:

rozcinamy ścieżkę i możemy lutować pomiędzy nóżką stabilizatora a przelotką.

Samymi zakłóceniami, które są widoczne nie należy się przejmować : na potrzeby określania pochylenia powodują błąd 0.012g, czyli dla sinusa (na wybranej osi względem której oczekujemy zera) błąd 0.65-0.7*. Większość poziomic ma o wiele większą strefę nieczułości.

Link do komentarza
Share on other sites

A co zrobiłeś z końcówkami NC układu ? Nie wiszą przypadkiem w powietrzu.

Możesz też spróbować linie wyjściowe, zmasować kondensatorkami po kilka pF, co może ściągnie zakłócenia do masy.

Link do komentarza
Share on other sites

Linie wyjściowe są zgodnie z dokumentacją podłączone do kondensatorów 3.3nF. NC są przylutowane ale nigdzie nei podłączony - w końcu jeśli NC to NC.

Tak naprawdę te zakłócenia nie przeszkadzają z racji dużej czułości czujnika - powodują nieduży błąd, a sam sygnał można filtrować. I na dobrą sprawę nie wiadomo czy nie są one czymś normalnym - dokumentacja nie pokazuje prawidłowych przebiegów a nigdzie nie mogłem też znaleźć jak one mogą wyglądać dla tych akcelerometrów.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.