20rafalo Napisano Październik 29, 2012 Udostępnij Napisano Październik 29, 2012 Witam W skrócie - muszę zaprojektować poziomicę samopoziomującą dany element. Panowie jaki uC najlepiej użyć. Attiny 4313 - 4KB może być za mało. Myślałem nad Atmega 32 lub 64 - tak na wszelki wypadek. Gdyż może "w praniu" dojść jakaś dodatkowa obsługa. Na pewno będzie: - obsługa LCD - max 2 silniki krokowe - coś do wykrywania poziomu -akcelerator oraz wykorzystanie innych specjalnych materiałów (porównanie). Praca ma charakter badawczy i wymaga porównania różnych materiałów. Co do szczegółów później 😉 - jakieś przyciski - być może jakaś komunikacja. Jaki akcelerator (ADXL345) aby w miarę prosto obsłużyć go za pomocą uC? (dostępność oraz materiały np noty katalogowe). Co myślicie o ADXL345 sprzedawany jako "Arduino Moduł 3-osiowy akcelerometr ADXL345" z oferowaną płytką się nada do AVR Atmega32? Co najważniejsze czy ciężko go oprogramować? Wiecie w jakiej książce są podobne przykłady z dowolnym akcelerometrem? Dokładność musi być dość duża - minimum to 1%. fajnie jak by było 0.1% - ale domyślam się, że to koszty i komplikacja kodu. Jakie parametry akceleratora są najlepsze dla takiej poziomicy(5g czy 16g) patrząc na notę pdf, która jest "samopoziomująca" i będzie musiała wykrywać małe odchyłki - np blatu ustawionym na krzywym podłożu... Proszę o sugestie i porady. Z góry dzięki Cytuj Link do komentarza Share on other sites More sharing options...
grabo Październik 30, 2012 Udostępnij Październik 30, 2012 Witaj, wybrałeś całkiem niezły akcelerometr, równie dobrym jest BMA180. Po wstępnej konfiguracji obsługa ogranicza się do cyklicznego odczytu czujnika i obliczenia kąta. Skoro będzie to układ statyczny to raczej celowałbym w jak najmniejszy zakres typu 1,5G - 2G. Aby zwiększyć odporność na zakłócenia (w trakcie ustawiania poziomu odczyty z akcelerometru będą niestabilne) możesz dodać żyroskop i dokonać fuzji czujników. Co do mikrokontrolera, myślę że ATmega32 da radę bez problemu. Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
20rafalo Październik 30, 2012 Autor tematu Udostępnij Październik 30, 2012 grabo czy ten akcelerometr tak można konfigurować, aby reagował na małe odchylenia? Czy kod do jego obsługi jest trudny? Co masz na myśli "(w trakcie ustawiania poziomu odczyty z akcelerometru będą niestabilne)". da się to "ogarnąć" bez żyroskopu? Z góry dzięki Cytuj Link do komentarza Share on other sites More sharing options...
grabo Październik 30, 2012 Udostępnij Październik 30, 2012 Wektor odchylenia oblicza się na podstawie składowych poszczególnych osi. Po odfiltrowaniu można uzyskać niezłe rezultaty. Da się to ogarnąć bez żyroskopu, ale założenia przewidują elementy wykonawcze, czyli w trakcie ruchu będą generowane przyspieszenia i cały pomiar będzie zaburzony. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
MirekCz Październik 30, 2012 Udostępnij Październik 30, 2012 Pierwsze pytanie to czy cały system jest dosyć statyczny, czy raczej dynamiczny? W tym drugim przypadku dużo trudniej będzie Tobie zrobić dobrze funkcjonujące urządzenie. Z akcelerometrów mam w ofercie spory wybór, ale polecałbym najbardziej właśnie BMA180. Ma dużą dokładność, niezłe wstępne skalibrowanie (oczywiście jak chcesz myśleć o zejściu <<1% musiałbyś dodać własne) i można ustawić bardzo mały zakres (czym zakres bliższy 1g tym dokładniejszy jest pomiar małych przyśpieszeń, a na tym Tobie zależy - żeby na osi Z było jak najbliżej 1g, a na pozostałych osiach jak najbliżej 0g. Z powodu silników krokowych będziesz musiał dodać pewien czas na ustabilizowanie systemu. Np. wykrywasz, że potrzeba zrobić 2 kroki, robisz 2 kroki, czekasz 100-200ms żeby silniki krokowe się ustabilizowały (czas zależy od silników i konstrukcji mechanicznej), następnie uśredniasz x kolejnych pomiarów i liczysz o ile ew. jeszcze należy obrócić silniki. Przy płynnie pracujących silnikach DC można to zrobić z większą dynamiką. Żyroskop w dosyć statycznym systemie byłby zupełnie nieprzydatny. Inaczej sprawa wygląda w bardzo dynamicznym systemie, bo wtedy żyroskop byłby podstawą, a akcelerometr wymaganym dodatkiem, ale w takim systemie utrzymać dużą stabilność (<1%) to już bardzo duży problem. Samo BMA180 programuje się bardzo podobnie do ADXL345 (prawie identyczny kod), więc nie będziesz miał z tym problemu. Cytuj Link do komentarza Share on other sites More sharing options...
20rafalo Październik 31, 2012 Autor tematu Udostępnij Październik 31, 2012 Dzięki Jeszce jedno. Co myślicie o 3 akcelerometrze LIS35DE. Mam wstępny kod na niego. Ew czy kod do różnych akcelerometrów jest podobny. Cały projekt prawdopodobnie można by zrobić tak żeby był statyczny i dynamiczny ;/ Ma stabilizować element na prowadnicy, który będzie się po niej przesuwał. Czyli na prowadnicy byłby statyczny, a na elemencie po niej poruszającym się dynamiczny. Jeszcze nie wiem do końca gdzie ma być czujnik. Muszę się dopytać. Ale wstępnie jak sytuacja wygląda. W jakich masz cenach elementy? Pzdr Cytuj Link do komentarza Share on other sites More sharing options...
MirekCz Październik 31, 2012 Udostępnij Październik 31, 2012 LIS35DE ma zdecydowanie zbyt małą rozdzielczość, chyba, że bardziej interesuje Ciebie dokładność do 10stopni 🙂 Cyfrowe akcelerometry programuje się bardzo podobnie, więc z przerobieniem kodu nie powinno być dużego problemu. Na początek mogę Tobie skopiować działające ustawienia do ADXL345 i/lub BMA180. Cena za moduł BMA180 to 85zł. Sprawdzony, działający. Link - http://robodudes.com/akcelerometry/128-modul-bma180-akcelerometr.html Cytuj Link do komentarza Share on other sites More sharing options...
20rafalo Listopad 1, 2012 Autor tematu Udostępnij Listopad 1, 2012 Panowie jeśli ma stabilizować element na prowadnicy, który będzie się po niej przesuwał (dość powoli ok 1cm na sek), to będą problemy? Cytuj Link do komentarza Share on other sites More sharing options...
MirekCz Listopad 1, 2012 Udostępnij Listopad 1, 2012 Do nawet przybliżonej oceny potrzebna byłaby jeszcze informacja o sposobie poruszania się (ruch jednostajny czy z dużymi przyśpieszeniami?) i budowie mechanicznej urządzenia oraz warunków środowiskowych pracy.. Wg. mojej oceny 1stopień dokładności jest do osiągnięcia, ale dwie kluczowe sprawy to wykonanie mechaniki stołu i precyzja kalibracji akcelerometru. Jak myślisz, że jest to robota na "15minut" to się mylisz. Cytuj Link do komentarza Share on other sites More sharing options...
20rafalo Listopad 2, 2012 Autor tematu Udostępnij Listopad 2, 2012 Nie myślę tak. Mam na to 3 miesiące i wiem, że muszę się spieszyć. Znalazłem stronę, gdzie zastosowany jest żyroskop http://www.nec-tokin.com/english/product/piezodevice2/ceramicgyro.html Czy w akcelerometrze jako czujnik jest ceramika piezoelektryczna? Bo jest to dla mnie ważne. Muszę również użyć ceramiki piezoelektrycznej dla porównania z akcelerometrem. W w/w żyroskopie wychodzi na to, że w nim jest. Co o tym myślicie? PS dodam, że tu na forum macie najwięcej wiedzy odnośnie tego tematu 😉 Cytuj Link do komentarza Share on other sites More sharing options...
MirekCz Listopad 2, 2012 Udostępnij Listopad 2, 2012 Sam żyroskop się zupełnie nie nadaje. Ma zbyt duże błędy. Optymalna byłaby fuzja z danych akcelerometru i żyroskopu, ale to są przynajmniej dwa kroki dalej jak chodzi o skomplikowanie systemu. Trzy miesiące to nie za wiele jak zaczynasz ze swoją wiedzą od "zera". Układy na mojej stronie to standardowe MEMS'y Cytuj Link do komentarza Share on other sites More sharing options...
20rafalo Listopad 4, 2012 Autor tematu Udostępnij Listopad 4, 2012 Wiłąśnie tego się obawiałem. Nie dokońca od zera 😋 Trochę uC programowałem, jednak projekty nie były bardzo zaawansowane. Pierwszy raz mam do czynienia z akcelerometrami. Poradź mi czy akcelerometr np z Twojej strony lub ADXL345 spełni moje wymogi regulacji do do 1 stopnia. Czy lepiej umieścić sam czujnik na prowadnicy czy na elemencie, który jest do niej zamocowany(nie rusza się ruchem posuwistym). Rozumiem, że taki akcelerometr będzie regulował poziom lewo- prawo oraz przód-tył. Aktualnie mam na oku: -akcelerometr z Twojej strony ADXL345 (pytanie czy 2g wystarczy aby wykryc 1stopien zmian) -ATmega32 lub ATmega16 -silnik krokowy (jeśli w dwóch płaszczyznach to dwa silniki) ) -wyświetlacz hmm.. LCD 4x16 lub 2x16 Jak myślisz, da to radę? ') Z góry dzięki. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!