Skocz do zawartości

Bezprzewodowy czujnik przyspieszeń drgań [ATmega328]


Vroobee

Pomocna odpowiedź

VibSense + VibDongle

1) Wprowadzenie

Jakiś czas temu po zajęciach przeprowadzonych na politechnice dotyczących ogólnej oceny stanu technicznego maszyn i urządzeń doszedłem do wniosku, że fajnie byłoby zagłębić się bardziej w temat pomiaru drgań. Drgania mechaniczne są symptomem, który dobrze reprezentuje stan techniczny maszyny. Zazwyczaj im wyższe tym gorszy jej stan techniczny. Wykonując dodatkowe analizy np. analiza widmowa w określonym paśmie pomiarowym, można po rozkładzie widma zdecydować, który podzespół jest uszkodzony. Dlatego postanowiłem zaprojektować i wykonać prototyp urządzenia, które z założenia miało:

  • dokonywać pomiaru drgań w paśmie minimum do 1000 Hz,
  • umożliwić pomiar bez konieczności stosowania okablowania w okolicy maszyny (przez nieuwagę taki przewód może się wkręcić w wirnik - konsekwencje mogą być różne),
  • montaż na magnes (maszyny zazwyczaj są wykonane ze stali więc jest to dość pewny sposób mocowania),
  • w wypadku gdy wykorzystujemy transmisję bezprzewodową i nie mamy możliwości połączenia się z odbiornikiem z różnych powodów, zapis na pamięć wewnętrzną lub kartę pamięci,
  • możliwość odczytywania danych z wielu czujników jednocześnie.

Wedle tych założeń powstał projekt, który nazwałem VibSense - czyli po prostu czujnik drgań. Do tego pomysłu doszedł drugi, VibDongle - urządzenie do akwizycji danych z czujników VibSense.

2) VibSense

Ideą, która przyświecała podczas projektowania czujnika, było możliwe zastosowanie w przemyśle oraz w zastosowaniach amatorskich. Oczywiście prototyp raczej nie mógłby zostać wdrożony w przemysł, tutaj należałoby się zastanowić nad dodatkowymi rozwiązaniami typu zmiana złącz transmisyjnych z micro USB na przemysłowe, obudowa z klasą ochronności IP65 chociażby. Temat do dalszych rozważań jest. Opisany tutaj projekt raczej jest konstrukcją hobbystyczną.

Założenia projektowe:

  • konstrukcja mobilna - małe wymiary, zasilanie z akumulatora Li-Pol
  • komunikacja bezprzewodowa - zastosowanie komunikacji radiowej ze względu na mniejszą energochłonność modułów radiowych względem modułów WiFi chociażby, parametrem decyzyjnym był również zasięg.
  • pomiar drgań minimum do 1 kHz (szersze pasmo mile widziane)
  • możliwość zapisu na kartę microSD lub pamięć wewnętrzna
  • komunikacja RS232-USB - na potrzeby bootloadera lub zwykłej przewodowej wymiany danych.
  • minimum jeden przycisk - zawsze się przydaje,
  • minimum jedna dioda
  • jak najmniejsze PCB - stąd założenie obudów SMD dla większości układów oraz rozmiarów elementów SMD 0402.

Na ww. założeniach oparłem całą elektronikę, która jest wykorzystywana w przypadku modułu VibSense:

  • procesor ATmega328 - procek w sumie jeden z najprostszych i miałem akurat w szufladzie wersję SMD, wystarczająca ilość portów do tego projektu, wszystkich opcji było w sam raz,
  • FT230XQ - układ RS232, komunikacja procesor-komputer po USB, posiada jedną z mniejszych obudów SMD i spełnia swoją funkcję,
  • ADXL345 - trójosiowy akcelerometr cyfrowy, niski pobór prądu, magistrala SPI/I2C, pomiar do +/-16g czyli ok. 160 m/s2 w przypadku przyspieszeń drgań (w zupełności wystarczająco), maksymalna częstotliwość wysyłania danych 3200 Hz co daje pasmo pomiarowe 1600 Hz jeżeli chcemy uniknąc w minimalnym stopniu zjawiska aliasingu, 2 wyjścia przerwań, napięcie zasilania do 3V6; Czego chcieć więcej 😉
  • RFM73-D - komunikacja radiowa 2,4 GHz, zastosowania przemysłowe na 2,4 GHz raczej nie są dobrym pomysłem ale takie moduły akurat miałem i znam je w miarę więc wykorzystałem w projekcie
  • slot na karty microSD - zapis na nośnik zewnętrzny,
  • microswitch podłączony pod wejście INT procesora
  • dwukolorowa dioda LED czerwono-zielona
  • złącze programatora ISP - w razie bootloader by nie działał
  • złącze micro USB
  • zasilanie akumulatorem LiPol 3V6 o pojemności 80 mAh
  • układ nadzorujący ładowanie akumulatora MCP73833
  • stabilizator napięciowy LDO na 2V8 - na takim napięciu działa całą elektronika.

Płytki zostały wykonane przez JLCPCB - jakość bardzo dobra, zarówno ścieżki, jak i warstwa opisowa. Polecam producenta PCB bardzo gorąco 🙂 zdjęcia płytek po zlutowaniu zamieszczam poniżej. Pochwalę się - wszystko lutowane ręcznie przeze mnie 🙂 

3) VibDongle

W przypadku tego urządzenia chciałem wykonać coś co będzie zbierać dane od wszystkich czujników, które są zamontowane na maszynie. Urządzenie miało być małych rozmiarów i być podłączane jako dongle do portu USB komputera. VibDongle powstał na praktycznie takich samych komponentach jak VibSense, oczywiście bez akcelerometru, przycisku i slotu na kartę oraz z wtyczką USB. Poza tym - dokładnie to samo.

4) Schematy elektryczne

Schematy elektryczne załączam poniżej. Może, któreś z rozwiązań przyda się komuś chociaż nie jest to nic zaskakującego. Wszystkie połączenia zgodne z notami katalogowymi producentów.

5) Funkcjonalność

Jeśli chodzi o funkcjonalność modułów współpracujących ze sobą, założenia były następujące:

  • praca w sieci - połączenie wielu czujników z jednym modułem odbiorczym
  • możliwość parowania czujników z odbiornikiem
  • wysyłanie i odbiór danych z maksymalną częstotliwością jaką daje moduł ADXL tak aby nie było opóźnień czasowych; niezbędne do przetwarzania danych w trybie semi-real time,
  • w przypadku braku odbiornika zapis na kartę micro SD,
  • możliwość czasowego wyzwolenia pomiaru po wciśnięciu przycisku
  • odbiór danych przez VibDongle i wysyłka po USB, analiza danych już w aplikacji na komputerze

Na razie sama funkcjonalność jest nieco ograniczona. Testowane były tylko 2 moduły VibSense współpracujące z VibDongle. Tryb software'owego parowania i przesyłania danych działa bez zarzutu - oczywiście nie obyło się bez kłopotów z elektroniką oraz problemów programowych 🙂 Do opracowania zostało jeszcze: zapis na kartę, konkretny system przesyłania danych tak aby nie zapychać kolejki przy dużej ilości czujników podłączonych do jednego VibDongle oraz aplikacja na PC do akwizycji i analizy danych.

Dodatkowo można wykonać cyfrowo w programie samego czujnika całkowanie przyspieszeń drgań na prędkości drgań oraz wyliczyć wartość RMS w paśmie 10 - 1000 Hz. Dzięki temu będzie możliwa ocena ogólnego stanu technicznego maszyny wirnikowej z wykorzystaniem normy PN ISO 10816.

W zdjęciach dodałem zrzut z terminala z info AT (tak, moduł obsługuje komendy AT) oraz przesłanie jednego pomiaru.

6) Obudowa

Aby całości nadać jakiś kształt (na razie tylko czujnikowi) wykonałem prototyp obudowy. Prototyp został wydrukowany na drukarce 3D dzięki uprzejmości mojego znajomego oraz zamodelowany we Fusion 360. Następna sztuka będzie trochę bardziej obła, ponieważ nieco przeszkadzają mi ostre brzegi 🙂 nakrętki od spodu są przyklejone dzięki czemu możliwe jest zarówno skręcenie obudowy jak i dokręcenie magnesu do podstawy. 

Wymiary płytek PCB:

  • VibSense 35 x 35 mm
  • VibDongle (ze złączem USB) 60 x 15 mm

7) Podsumowanie

Na razie całość prosta bo prosta ale spełnia swoje zadanie. Do zrobienia zostało jeszcze sporo ale na to muszę mieć trochę więcej czasu. W miarę postępów w pracach będę aktualizował temat 🙂

IMG_4261.jpg IMG_4262.jpg IMG_4263.jpg IMG_4264.jpgIMG_4267.jpg

IMG_4265.jpgIMG_4266.jpg

IMG_4268.jpgIMG_4269.jpg

Zrzut ekranu 2019-01-27 o 21.35.57.pngZrzut ekranu 2019-01-27 o 21.39.35.png

WA_dongle.pdf

WA_sense_v1.pdf

 

Edytowano przez Treker
Poprawiłem formatowanie.
  • 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.

Super projekt! Bardzo podoba mi się kunsztowne zaprojektowanie - płytka jest ładnie upakowana i do tego dopasowana obudowa. Wygląda bardziej jak praca dyplomowa niż zajawka pod wpływem ciekawego przedmiotu 😅

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

@Gieneq starałem się żeby wszystko było w miarę przemyślane - tolerancje wymiarowe, prowadzenie ścieżek itp. Oczywiście na tyle na ile moja znajomość mechaniki i elektroniki na to pozwala 🙂 dyplomy robiłem z zupełnie innej tematyki. Dziedzina ta sama, bo diagnostyka maszyn, natomiast konstrukcja dotyczyła całego stanowiska do testowania łożysk wraz z oprogramowaniem akwizycyjnym i analizującym. 

  • Lubię! 1
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

No to ciekawie. A przy okazji jakbyś mógł opisać jak działa ten VibDiongle. Czy jest to widziane jako port COM czy używasz tam inerfejsu USB z prawdziwego zdarzenia? Pobieżnie przejrzałem schemat - widziałem używane linie UART ale nie znam tego układu.

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

(edytowany)

@Gieneq FT230XQ to po prostu konwerter USB-UART. Działanie podobne do każdego FT232 🙂 od procka do FT230 komunikacja po UART potem już USB. Niestety ATmega328 nie posiada wbudowanego USB. 

Edytowano przez Vroobee
  • Lubię! 1
Link do komentarza
Share on other sites

A gdyby użyć mikrokontroler z USB HID, np. Atmega32U4? Czy to jakoś pomaga?

W bibliotekach Arduino jest możliwość stworzenia urządzenia USB i obsługi klawiatury/myszy, ale żeby dało się używać USB z prawdziwego zdarzenia to pewnie trzeba pokusić się o własny sterownik.

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

Akurat ATmega328 wynikła z prostego faktu, że miałem w szufladzie 10 sztuk kupionych gdzieś w chinach akurat w obudowie QFN. Od jakiegoś czasu po prostu szukam rozwiązań jak najmniejszych oraz możliwych do zlutowania przeze mnie - stąd zamiłowanie do tego typu obudów oraz elementów SMD 0402 🙂 
Natomiast nie zastanawiałem się nad ATmega32U4. Miałem kiedyś ten procek, miły całkiem. Ale QFN jest nieco większy (44 piny zamiast 32 chociaż i tak dla tych rozmiarów to nie argument). Zapewne będę rozwijał projekt dalej więc w wersji 2.0 pewnie uwzględnię opcje z wbudowanym kontrolerem USB.

  • Lubię! 2
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.