Projekt IMU, pro?ba o review

Hej, projektuję IMU oparte o 2 osiowy akcelerometr, dwa żyra (na osobnych płytkach, wpięte prostopadle do głównej płytki.) i magnetometr. Całością ma sterować ATmega328. Będzie podpinane do innej sterującej płytki; całość zasilana z 5V.

Wszystko prócz magnetometru ma analogowe interfejsy, w związku z tym chciałem chętnych prosić o rzucenie okiem na płytkę i wytknięcie mi jakichś (możliwe, że oczywistych) błędów, które popełniam, lub może jakiś ogólnych rad:

formatting link
Parę pytań jakie mi przychodzą do głowy:

1) Warto rozlewać coś poza GND na jednej stronie płytki? W płytce z żyroskopem rozlałem VCC po drugiej stronie. Są jakieś przeciwskazania? Może lepiej GND? Nie robią się wtedy cykle zamknięte na masie co jest nie wskazane? (Kiedyś słyszałem, że są złe. ;D)

2) Wszędzie prócz magnetometru (który jest strasznie mały, w lewym górnym rogu płytki IMU) używam ścieżek 16mils i tam gdzie mogę je pogrubiam. Przesadzam? Daje to coś? Może to ma sens tylko dla zasilania? Ma dla sygnałów analogowych?

3) Wyjście z akcelerometru wrzucam na dwa filtry low-pass RC. Czy ułożenie R i C na płytce ma jakieś znaczenie? Czy filtr umieszczać przy akcelerometrze czy przy procku? Czy może to nie ma znaczenia specjalnie?

4) Absolutnie maksymalny prąd to 250mA; Chcę tam wstawić polimerowy bezpiecznik 0.3A. To dużo biorąc pod uwagę, że prąd faktyczny pewnie nie przekroczy 100mA? Lepiej zamiast niego wstawić diodę zabezpieczającą kierunek przepływu? Płytka ma 4x6cm, czy jeśli maksymalny prąd to 250mA stosowanie ścieżek 32mils (0.8mm) jest przesadą?

5) W paru miejscach prowadzę pomiędzy nogami pinheada ścieżki. Powinienem je zwęzić czy to 16mils jest ok? Eagle błędów tu nie zgłasza.

6) Do wpięcia dwóch płytek z żyro użyję giętego pinheada w płytce żyro i gniazda 2x5 pinów prostego; żeby podpiąć tą płytkę IMU do głównej chcę użyć taśmy i wtyków pinhead 2x8. Czy to ma sens? Czy są inne (mniejsze?) proste w użyciu i dostępne równoległe wtyczki/gniazda?

Za wszelki feedback wielkie dzięki, pozdrawiam,

Reply to
Tomasz bla Fortuna
Loading thread data ...

Do czego to ma służyć? Jeżeli do odwróconego wahadła to po co magnetometr a jeżeli to ma być klasyczne IMU to dlaczego tylko dwie osie?

Na płytce IMU widzę ATmegę8. Brakuje biblioteki do 328 czy tam ma siedzieć ósemka? One mają słaby przetwornik A/C.

W sumie to nie błąd, ale takie pozginane pod kątem prostym ścieżki wyglądają nieprofesjonalnie. Dodatkowo część ścieżek jest zginana pod dowolnym kątem, część ma łuki - bałagan. Przyjrzyj się płytkom w jakimś profesjonalnym urządzeniu. Zastanawiam się czy przy przetworniku 10-bitowym i niskomocowych układach analogowych jest sens rozdzielać masy. Tak naprawdę nie ma tam układów, które wprowadzały by zakłóćenia do pomiarów. Ja bym dał jedną masę.

Nie spotkałem się z rozlewaniem czegokolwiek oprócz masy po płytce. Wydaje mi się że robi się tak dlatego że:

- masa jako obwód o zerowym potencjale jest jednocześnie ekranem,

- zwykle jest najczęściej wystepującą ścieżką,

- wylana płaszczyzna daje najkrótszą drogę powrotną dla prądu, dzieki temu nie tworzą się pętle mogące coś emitować lub zbierać z otoczenia. Rozdzielając masy "gwałcisz" tą ostatnią regułę :-)

Grubości ścieżek - OK, też jestem zwolennikiem im grubsze tym lepsze. Gruba ścieżka ma mniejsza impedancję, jest bardzej odporna mechanicznie (zarysowanie, pęknięcie przy zgięciu), lepiej przewodzi ciepło, jest odporniejsza na błędy technologiczne, mniej odczyników do trawienia trzeba zużyć :-)

Filtr RC jest "terminatorem" dla składowej zmiennej a terminatory daje się zawsze na końcu obwodu, tuż przy przetworniku.

Jeżeli spadek napiecia na tej diodzie nie jest krytyczny to dodatkowe zabezpieczenie nie zaszkodzi, tym bardziej że nie masz polaryzowanego złacza zasilania (można podłączyć odwrotnie). Jeżeli spadek jest problemem, to za bezpiecznikiem wstaw diodę spolaryzowanę zaporowo. Jeżeli właczysz odwrotnie dioda (najlepiej zenera albo jeszcze lepiej transil) zrobi zwarcie i uruchomi bezpiecznik.

Nie, tym bardziej że płytkę masz wielgachną.

To zależy wyłącznie od możliwości wykonawcy. Poszukaj u niego na stronie jakie ma zalecenia. Każda szanująca się firma takie podaje i nie należy ich przekraczać.

Pytanie zasadnicze: Czy żyra muszą być na kablu? Zwykle montuje się je na sztywno do płytki, tak aby zawsze trzymały odpowiedni kat. Zobacz jak zamocował żyra Procerus:

formatting link
albo Micropilot:
formatting link

A proszę :-)

Reply to
Pitlab

Dnia Fri, 17 Dec 2010 21:53:40 +0100 "Pitlab" snipped-for-privacy@pulpka.wp.pl> napisał(a):

To ma być odwrócone wahadło, ale całkiem możliwe, że będzie latać (przyjmuję to jako opcję, będę ją weryfikował jak dostanę części, a IMU ma ją po prostu uwzględnić) - i wtedy będę potrzebował magnetometru do korekcji prędkości obrotowej całej platformy. Zasadniczo magnetometr miał mi zastąpić trzecie żyro dla osi prostopadłej do płytki IMU.

Trochę niewierzę, że całkowanie tego akcelerometru przy dokładności ADC z AVR da mi rzetelną informację o prędkości i ostatecznie położeniu, więc celem jest mniej/bardziej po prostu inklinometr.

Mają zgodny pinout; wstawię docelowo atmegę328. Ma lepszy ADC niż ósemka? Wydawało mi się, że AVRki będą miały bardzo zbliżony.

Z moich doświadczeń wynika, że ADC z atmega644 (dip) jest do tego zastosowania wystarczający. Miałem tylko w poprzednim projekcie (brak filtrów RC akcelerometru) spore szumy od akcela, biegającą średnią, a i tak całość ratował dopiero Kalman. Ale gyra zczytywał wystarczająco dokładnie.

Zresztą prototyp poprzedniego projektu (bez zrobionego dołu) nawet mam tutaj:

formatting link
od tamtego filmu się nie zmieniło.

Ok, przyjrzę się. Wstępnie zakładam takie modyfikowanie kątów, by skrócić ścieżki, tzn. brak kątów prostych gdzie się da. Co do łuków to miałem ambiwalentne odczucia... wstawiałem gdzie chciałem zwiększyć dystans.

Ścieżki, które myślałem, że mogą coś zakłócić to RXD/TXD (9600baud minimum, może więcej), i I2C od magnetometru. Sama Atmega ma pracować ze względu na obliczenia na tych 20MHz - nie będzie siała? Nie jestem pewien czy zawsze będzie uśpiona.

  • Prawdopodobnie całość będzie miała jedno źródło zasilania (LiPo 12V) ze stabilizatorem 5V (Powiedzmy, że elektronika nie pociągnie > 1A. Jest sens babrać się w impulsowy?) i do tego samego zasilania będą wpięte dwa silniki bezszczotkowe/szczotkowe. Nie wiem na ile to będzie siało i na ile osobne GND cokolwiek pomaga.

Pewnie na tym etapie nie będę tej dodatkowej masy usuwał, ale spróbuję kiedyś porównać wyniki.

No fakt. To bez dwóch mas. Rozlewając VCC pewnie trochę nad wyraz wyobrażałem sobie, że to może razem z wylanym GND tworzyć z płytki kondensator. Pewnie jakby to przeliczyć jego pojemność z dokładnością do dwóch miejsc po przecinku wyniesie 0.00uF.

Z tego co widzę jakby szeregowo wpiąć schottkiego (20V/1A 1N5817) spadek dla 300mA wyniesie 0.2 do 0.3V. To mnie raczej na pewno nie boli (wszystko zadziała tam przy 4.5V). Ten patent z diodą, o którym mówisz jest bardzo dobry. Zener Vr=10V 0,5W SOD 80 (mini-melf) z tego co rozumiem zagra tutaj dobrze.

Transil z tego co czytam wiki jest symetryczny, powstrzyma przepięcia, ale odwrotną polaryzację by puścił - można by go dodać idealnie przed zenerem (choć chyba w zasilaczu na głównej płytce miałby sens). Dobrze zrozumiałem przesłanie wiki, czy kręcę?

Nie, nie. Żyra będą wpięte bezpośrednio. Tzn. płytka z żyrem ma gięty pinhead na swojej krawędzi, ma bezpośrednio wejść w gniazdko na ten pinhead na płytce IMU. Gniazdo jest trochę nadmiarowe żeby dobrze trzymało płytkę.

Będą dwie płytki koło siebie, możliwe że połączę też na sztywno ich końce żeby wyeliminować drgania.

Na taśmie będzie natomiast całe IMU - wpięte w główną płytkę. Rozumiem same pinheady Cię nie odstraszają, więc będę się ich trzymał.

Zbiorcza odpowiedź:

Ok!

I jeszcze raz - wielkie dzięki.

Reply to
Tomasz bla Fortuna

Magnetomatr nie zastapi żyra, tak samo jak akcelerometr. Oba służą do korekcji dryftu żyroskopu. Akcelerometr (poprzez filtry, np Kalmana) koryguje pochylenie (pitch) i przechylenie (roll) a magnetometr koryguje odchylenie (yaw). Jeżeli masz konkretne połozenie pracy z miewielkimi odchyleniami to od biedy wystarczą dwa akcelerometry i dwa magnetometry, ale jeżeli poduszczasz dowolne połozenie w przestrzeni, to powinien być komplet: 3+3+3. O ile na samych żyroskopach polecisz (trzeba będzie ręcznie korygować zero, ale to i tak robisz lecąc normalnie) to na akcelerometrze będziesz miał masę szumów od drgań + siły odśrodkowe + te wynikajace ze zmiany prędkości. Magnetometr też przynajmnie jw przypadku elektryka potrafi szumieć od prądów w ukłądzie napędowym. Zerknij sobie tutaj:

formatting link
porównywałem magnetometr bardzo podobny do tego któego chcesz użyć MMC3120 z KMZ51 od NXP. Ten drugi wypada znacznie lepiej, ale to są układy 1-osiowe a MMCX ma 2 lub 3 osie w małej kostce.

Informację o prędkości bierzesz ż żyroskopu. Akcelerometr tylko go koryguje. Zresztą akcelerometr w wachadle pokaże Ci że się odchyliło (już po ptakach) a żyroskop da Ci informacjeże się odchyla i masz trochę więcej czasu na reakcję. Po prędkości kątowej wiesz jak mocno masz korygować a z akcelerometru dopiero musiałbyś wyliczyć tą prędkość. Tak więc póki nie za późno wstawiaj trzeci żyroskop. W najgorszym wypadku nie będziesz go używał, ale bez niego nie dasz rady policzyć wszystkich katów orientacji w przestrzeni.

W ósemce coś było skopane z zasilaniem przetwornika ale nie znam szczegółów.

Fajne :-) Też coś takiego muszę sobie zrobić.

Co do interfejsów to wstaw małe kondensatorki na linie zegara i danych. Dobierz wartość eksperymentalnie tak aby lekko zaokrąglało zbocza a było wsytarczajaco prostokątne do odczytania przez procesor. Zaczął bym od dziesiatek pikofaradów. W ten sposób pozbywasz się wyższych harmonicznych. Głównej harmonicznej transmisji nie odfiltrujesz :-)

Moim zdaniem najrozsądniej było by wziąść 2 cele i z 7,2V zrobić 5V bez żadnych przetowornic. Chyba że musi być 12. Wtedy (12-5)*0,25A da nam 1,75W strat mocy co też od biedy da się rozproszyć na niewielkim radiatorze

Trzeba podzielić masę ale nie na płytce tylko masę silników i masę elektroniki. Do tego rozdzielić oba obwody jakimś filtrem np z ferrytu + kondensatory. Dzielić masę na płytce warto było by, gdyby te silniki brały prąd z płytki, to wtedy wydzielił bym osobną masę dla silników i połączył bym z masą układu jakimś filtrem ferrytowym np BLM cośtam Muraty, albo PBY cośtam.

Dokładnie :-) To się nawet da policzyć, ale o tej porze chce mi się już tylko jedno :-)

Miej tylko na uwadze że wyjście żyroskopu jest ratiometryczne. Zerknąłem na schemat, ale jest OK jest poganiane z AREF. Nawet jak AREF się zmieni to dalej będzie poprawny odczyt.

Napięcie wsteczne diody powinno być takie żeby nie wpuścić zbyt wysokiego npięcia do układu. Na płytce IMU nie widzę stabilizatora a żyroskopy (kosztujące ponad stówkę każdy) mają absolute maximum VDD = 6V, więc żyroskopy padną zanim zadziała zabezpieczenie przeciwnapieciowe zrobione z tej diody. Polecałbym wstawić tam stabilizator. W porównaniu do żyroskopu kosztuje grosze a jest poważnym zabezpieczeniem cennych układów i od razu filtruje zakłócenia po zasilaniu.

Transil to taka dioda zenera. Mogą być pojedyncze, albo podwójne (dwie zenerki szeregowo przeciwsobnie). W patencie z zabezpieczeniem od odwrotnego podłączenia zasilania powinien być pojedyńczy. Od klasycznej zenerki różni się tym że przenosi znacznie wieksze prądy. Jeżeli podłaczysz odwrotnie zailanie, to zanim nagrzeje się bezpiecznik przez diodę pójdą grube ampery. Może nie wytrzymać, przepali sie cienki drucik w środku i przestanie zabezpieczać układ. Transile maą solidne elektrody i jak padną (krzem) to palą się na zwarcie i tylko lepiej zabezpieczają układ :-) Do małych mocy od biedy możesz wstawić zwykłą zenerkę, ale jak będziesz robił zakupy to transile też nie są drogie.

Jasne rozumiem. Wcześniej wyłapałem słowo "taśma". Złącze utrzyma taką płytkę. A bym tylko zmniejszył płytkę żyra. Przyjrzyj sie płytkom w linkach które podałem we wcześniejszym liście. Tam PCB jest nieznacznie większe od żyroskopu a tutaj jest ok 4 razy większe. Jeżeli masz mało miejsca to zrób szeroką płytkę ale nie jedź w górę, bo moment od tak dużego ramienia będzie poruszał modułem. Poza tym żyroskpy i akcelerometry powinny być w środku ciężkości a na takiej płytce masz żyroskopy o te ~4cm wyżej niż akcelerometry. Ja sobie zrobiłem taką płyteczkę:

formatting link
W otworki lutuję złącze szpilkowe, katowe i wtykam w żeńskie proste. Scalak jest ok 2mm nad płytką główną.

Tak się właśnie robi, Kropla kleju i siedzi sztywno a w razie czego daje się zdemontować.

Reply to
Pitlab

Witam, transile są jednokierunkowe i dwukierunkowe np.:

1.5KE12A - Dioda zabezpieczająca 1,5kW 12V 1-kierunkowa 1.5KE12CA - Dioda zabezpieczająca 1,5kW 12V 2-kierunkowa

Jeśli na końcu jest "A"- jednokierunkowy, działa jak dioda Zenera "CA" - dwukierunkowy działa jak 2 diody Zenera połączone szeregowo katodami.

Reply to
j.r.

Dnia Sat, 18 Dec 2010 00:37:04 +0100 "Pitlab" snipped-for-privacy@pulpka.wp.pl> napisał(a):

Jakie szumy łapie akcelerometr się na własnej skórze przekonałem, ale nie sądziłem, że magnetometr też do tego stopnia może szumić.

Dość łatwo mogę podmienić tą kostkę memsica 2 osiowego akcelerometru na

3 osiowy. Z żyrem trochę większy problem; zobaczę czy zmieszczę tam jeszcze jedno gniazdo, natomiast miałbym pytanie:

Gdzie w Polsce można kupić żyra AD? Poprzez jakiegoś reprezentanta jak pytałem dowiedziałem się, że kwoty są raczej nie "ponad 100zł" tylko "w okolicach 500zł", co mnie trochę odstraszyło.

Tak, ale o kątowej. Miałem na myśli, że znając kierunek wektora przyśpieszenia ziemskiego (inklinację) można całkować przyśpieszenia dynamiczne i określać zmianę położenia względem początkowego. Łodzie podwodne czasem tak zdaje się robią. :)

Spróbuję dołożyć trzeci socket na żyro; magnetometr faktycznie mocno śmieci. Natomiast wyjątkowo cisnąć nie będę. Nawet jak wybiorę opcję 'latanie' to w tej osi powinna mi wystarczyć informacja czy się obracam, i w którym kierunku. Nawet z dokładnością do 10-20 stopni.

No tak. ;-) Pomysł w sumie niezły. Na pewno programując to nie będę też po TWI jakoś szybko gonił; nie potrzebuję dużo tych pomiarów.

Musi być 12V; do tego mam parę takich baterii, więc tego się będę trzymał. Mógłbym natomiast z gniazda ładowania li-po wyciągnąć chyba

7.2V. Natomiast będzie jeszcze płytka z głównym procem i i tak chciałem tam wrzucić stabilizator. Teraz sobie jeszcze pomyślałem, że na 5V będę musiał podpiąć też dwa serwa (w jednej z wersji projektu). Wtedy prąd trochę przekroczy te 250mA pewnie. W razie czego zrobię impulsowy. Jednego na pająka już zrobiłem i działa.

O, taki filtr chyba zrobię. Rozdzielę nim zasilanie mechaniki i elektroniki.

Stabilizator będzie kawałek dalej, dlatego nie dałem go tutaj. Pewnie gdybym dał jakiś liniowy LDO to dałby radę stabilizować z jakichś 5V. I rozumiem już jak byś chciał wpiąć zenerkę. Myślałem o wpięciu jej przeciwnie, głównie z myślą o zabezpieczeniu tej odwrotnej polaryzacji, wtedy jej Vr nie ma dużego znaczenia. Ale faktycznie dobrze dobrana dodatkowo ograniczy napiecie.

Przyjrzę się jeszcze transilom, Ty oraz j.r. fajnie wytluszczyliście mi gdzie się pomyliłem przy oglądaniu ich wczoraj.

Czyli transil dobrze zabezpieczy odwrotną polaryzację, oraz - tak jak zener - dodatkowo ograniczy mi napięcie 'dobrze podpięte'. Cool.

No słusznie. Płytkę żyra już trochę zmniejszyłem. Projektuję je trochę zachowawczo bo miałem ostatnio sporo problemów z lutowaniem. Wprawdzie już wiem jaki zrobiłem błąd... użyłem standardowych kulek w tym BGA, które są ROHS-complaint i topią się w o wiele za wysokiej temperaturze. Dlatego chcę tam mieć mały zapas miejsca.

Jakbym się przełamał to jeszcze dałbym radę ją trochę zmniejszyć. Zobaczę...

Pozdrawiam,

Reply to
Tomasz bla Fortuna

To są dane z lotu, więc cieżko powiedzieć co jest szumem a co mierzoną zmianą pola. W każdym bądź razie widać że czujnik cyfrowy ma zdecydowanie mniejszą rozdzielczość od czujnika analogowego + 16 bitowy ADC. Na pierwszym widać kroki kwantyzacji gdy drugi jeszcze ma gładki wykres. Szumy od instalacji widać na wykresach gdzie porównywałem osie X i Y obu czujników. Czujnik KMZ51 był w kabinie i to na niego wpływało pole magntyczne z przewodów zasilajacych silnik. Czujnik MMC siedział dalej, gdzieś w okolicy ogona. Jak się dobrze przyjrzysz, to na czerwonej linii widać 3 fragmenty jakby pogrubienia wykesu. W tym czasie był włączony silnik i to ewidentnie jest szum od instalacji.

Ja kupuję w Alfine.

Robiłem próby całkowania przyspieszeń:

formatting link
ale u mnie to nie działało. Wykres odjeżdza w kosmos i wymagna jest bardzo precyzjna kalibracja zera. Nawet manipulując poziomem zera na zarejestrowanych danych nie udawało mi się uzyskać nawet przybliżonego odwzorowania trasy zarejestrowanej przez GPS. Ten eskperyment był robiony dawno, wtedy miałem jeszcze dosyć proste obliczenia i może popełniałem jakiś błąd. Trzeba będzie do tego wrócić.

To może zrób impulsowy dajacy 6V dla serw i z tego low dropem zdjedź do 5V dla elektroniki.

Z lutowaniem tych żyroskopów jest trochę jazdy. Ja na razie mam uzysk zaledwie ok 50%, czyli połowa jest do poprawki. Lutuję to gorącym powietrzem na pastę nakładaną strzykawką z igłą 0,5mm. Ważne jest przewidzieć możliwość testowania połączeń a zwłaszcza zwarć między sąsiednimi rzędami kulek.

Przy okazji jeżeli mógłbym prosić o sprawdzenie moich schematów:

formatting link
robię płytkę główną do tego projektu, więc jest ostatnia szansa na wyłapanie byków.

Reply to
Pitlab

Hej,

wysyłałem Ci odpowiedź bezpośrednio na maila, ale mi WP go właśnie odbiło:

Reply to
Tomasz bla Fortuna

W adresie jest wstawka antyspamowa - może dlatego?

Już działa. Przy okazji uaktualniłem dokument do najnowszej wersji ze zmianami zrobionymi przy projektowaniu płytki. Jak znajdziesz byka to pisz od razu, bo płytka w poniedziałek idzie do produkcji - jest ostatnia szansa coś poprawić.

Reply to
Pitlab

Użytkownik "Pitlab" snipped-for-privacy@pulpka.wp.pl> napisał w wiadomości news:if0ksc$gj0$ snipped-for-privacy@news.net.icm.edu.pl...

witam. nie wiem czy to blad, czy celowe dzialanie ale bateria podtrzymujaca nie musi byc podlaczona do vbat przez diody, a przynajmniej to sugeruje manual. Tyle ze rtc podobno nie do konca im dziala w obecnych rewizjach procka, za to pobiera 0.4ua (zmierzona na lpc1766 w temperaturze pokojowej). pozdrawiam. michal m.

Reply to
m.

Witam po świętach Tutaj dałem dualne zasilanie i dioda jest po to aby nie ładować 3,0 woltowej baterii z systemowego 3,3V. Nie wiem co się może dziać z ładowanym ogniwem - może wybuchnie? Lepiej unikać takich sytuacji bo w powietrzu było by to nieciekawie. Dioda powoduje spadek napięcia, ale zegarek spokojnie będzie jeszcze pracował do 2,1V. Mógłbym nie dawać tej diody i podłączyć wyłącznie do baterii, ale gdy bateria padnie w warunkach polowych to nie będę miał zegara a tak będzie działał z głównego zasilania. Będzie niewłaściwa godzina na starcie (problem z utworzeniem pliku logu), ale po chwili zsynchronizuje się z GPSem i da się przeżyć taką awarię.

Dzieki za informację - o tych problemach nie słyszałem. Trzeba mieć nadzieję że za jakiś czas poprawią. Właśnie zmierzyłem pobór prądu w zegarze LPC2148 obecnej wersji komputera -

7,5uA - prawie 20 razy więcej a i tak bateryjka CR2032 starcza na sezon.
Reply to
Pitlab

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.