Skocz do zawartości

Poziomica samopoziomująca dany element. Dobór elementów


20rafalo

Pomocna odpowiedź

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

Link do komentarza
Share on other sites

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

Link do komentarza
Share on other sites

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

Link do komentarza
Share on other sites

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.

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

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.

Link do komentarza
Share on other sites

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

Link do komentarza
Share on other sites

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

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

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 😉

Link do komentarza
Share on other sites

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

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.