Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'pomiar'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 4 wyniki

  1. Witam, jak to często bywa, początkujący porywa się na gruby projekt w tym przypadku też ale ambicje są, gorzej z praktyką i wiedzą Projekt jaki chcę stworzyć to mikro kontroler z zastosowaniem Mega 2560 do którego podłączone są dwa czujniki DS18B20 na osobnych pinach (by w przypadku uszkodzenia jednego z nich uniknąć ponownego programowania układu, a tutaj akurat znaczenie ma kolejność czujników) dwa wyświetlacze LED 7-segmentowe moduły komunikujące się na 1-wire( układ TM1637); Wyświetlacze na bieżąco podają temperaturę z czujników, przy czym po przekroczeniu nastawnej granicy temperatury dla czujnik drugiego uruchamia się przekaźnik dla lampy sygnalizacyjnej, Od włączenia układu następuje odliczanie od 0 do około 5 minut (300000ms) pod WARUNKIEM że na jednym z pinów jest stan niski (zwarcie z masą poprzez przekaźnik dostający sygnał z zewnętrznego urządzenia) gdy odliczanie dobiegnie do końca poprzez Ethernet shield wysyłane są dane pomiarów do bazy danych gdzieś w sieci lokalnej. po wysłaniu wszystko zaczyna się od początku, czyli zliczanie i kolejne wysyłanie danych. Tak na brudno w notatniku wypisałem sobie: po uruchomieniu programu: -wykrycie czujników ds18b20 na PIN 2 ("temp_in" -temp. wejścia powietrza do chłodzenia) i PIN 3 ("temp_out" -temp.powietrza po schłodzeniu obszaru/produktu); -wyświetlenie wartości "temp_in" na TM1637 wyświetlacz pierwszy jako "DisplayTin" oraz "temp_out" na "DisplayTout" - wyświetlacz drugi. Ze względu na brak znaku kropki wyświetlacza i 9-bit rozdzielczość pomiaru zamiast kropki wyświetlany znak stopni, np dla wartości temperatury 17.0 i 24.5: ---- ---- ---- | | | | | | | | | | | | ---- | | | | | | | | ---- ---- ---- ---- | | | | | | | | | | | | ---- ---- ---- ---- | | | | | | ---- ---- -sprawdzenie warunku jeśli temp_out >= tempALARM (wartość ustawiana i zapamietywana po zaniku zasilania) to na pinie alarmu stan wysoki wyzwalający przekaźnik; -sprawdzenie wciśnięcia przycisku (PINy 30-33) zmiany wartości maksymalnej temperatury na wyjsciu "tempALARM", lub numeru linii produkcyjnej "liniaNr"; -sprawdzenie wartości na wejściu pinu NARAwAuto (aktywne schladzanie w trybie automatycznym) jesli prawda uaktywniene zliczania licznika do 4.5-5min (300000 ms); --po osiąnięciu wartości max licznika 300000 ms uruchomienie funkcji dla EthShield wysyłającej dane pomiaru "temp_in" "temp_out" numer linii produkcyjnej "liniaNr" (ustawiany recznie i zapamietywany) oraz stan wyjscia pinu ALARMtemp; -podczas zmian nastawy tempALARM na wyświetlaczu pojawia się na 5 sekund wartość w postaci: ---- ---- ---- | | | | | | | | O | | ---- ---- ---- | | | O | | | | | | | ---- ---- ---- skok o 1 stopień celciusza, zakres 1 do 50 Dla zmiany numeru linii przykładowo wyświetla: ---- ---- | | | | O | | ---- | O | | | | | ---- ---- skok o 1, zakres od 1 do 63, obie wartości muszą być zapamiętane po zaniku zasilania; a podłączenie pinów mniej więcej tak rozmieszczone: /* informacje pinologii pin 0 pin 1 pin 2 DS18B20data temp_in //wejsciowa temp powietrza nr.1 pin 3 DS18B20data temp_out //temp po wyjsciu nr.2 pin 4 SDCardShield SS //SlaveSelect pin 5 CLK1 out //zegar dla wyswietlacza 1 na tm1637 pin 6 DIO1 out //dane dla wysw.1 pin 7 CLK2 out //zegar dla wyswietlacza 2 na tm1637 pin 8 DIO2 out //dane dla wysw.2 pin 9 ALARMtemp out relay //po przekroczeniu nastawionej temp alarm na buzzer/sygnalizator swietlny przez przekaznik pin 10 ETH SS Mega2560 pin 53 //SlaveSelect wybrannie ukladu perferyjnego eth/sd pin 11 ETH MOSI Mega2560 pin 50 //dane do ukladu pin 12 ETH MISO Mega2560 pin 51 //dane z ukladu pin 13 ETH SCK Mega2560 pin 52 //sygnal zegara pin 25 NARAwAuto in zRelay //zwarcie do masy po zapodaniu 24V z Nary do przekaznika pin 27 SendTemp_LED (Mega2560) //wyslanie danych do bazy danych info LED pin 30 keyENT lub keyAL_down pin 31 keyEXIT lub keyAL_up pin 32 keyDN lub keyLN_down pin 33 keyUP luk keyLN_up */ Dla pin 30-33 nie jestem pewien rozwiązania, czyli czy zrobić menu, i przeskakiwanie po wartościach nastawianych czyli temp. maxymalna i wyzwalanie alarmu plus numer linii/urządzenia pomiarowego. Czy na sztywno przyporządkować dany przycisk pod zwiększanie/zmniejszanie parametru pierwszego i drugiego. Co będzie lepszym rozwiązaniem? Znalazłem na forum temat myślę że nada się idealnie ta biblioteka dla mnie, jeden wątek na rozpoznanie czujników i wyświetlenie ich na wyświetlaczach + sprawdzenie wartości temp alarmu, drugi watek sprawdzający wciśnięcie jednego z przycisków i ewentualną zmianę wartości i jej zapisanie do pamięci, trzeci wątek odliczający ten czas 5 min (+czas na wykonanie pozostałych wątków) i po zakończeniu wysłania danych zresetowanie licznika. W obecnej chwili udało mi się ujarzmić wyświetlanie dwóch wyświetlaczy na bibliotece TM1637Display.h , kolejny krok którym się zajmuje to wyświetlanie wartości czujników na osobnych modułach. Następnie dodanie możliwości zmiany parametrów z przycisków. Jak się to uda to jestem w 1/3 drogi do sukcesu. Czy jakieś porady na początek, na co uważać, lub do samego zamysłu działania?
  2. To proste, po prostu w kodzie nie mam dely i while ( zdarzenie ) . W bibliotekach też nie ma takich "kwiatków" (Ty niestety w TM1637 masz). Ogólnie z bibliotekami Arduino jest duży problem. Najpierw szukam i sprawdzam czy działa bo różnie z tym bywa. Przykładowo software serial (nie powinno się używać takich wynalazków ale czasem nie ma wyjścia i trzeba pamiętać aby nie zawieszać przerwań a jeśli już to nie dłużej niż czas trwania bitu) stwarza problem z transmisją inną niż ramka 8N1. Dla AVR są stosowne biblioteki, dla ESP nie znalazłem. Z NTP też jest problem. Jak jedna libs ma jakąś funkcjonalność to czegoś tam jej brakuje. jak znajdę taką co ma to czego brakuje, to nie ma czegoś innego. W konsekwencji trzeba modyfikować bibliotekę. Są biblioteki, które "wykrzaczają" soft w pewnych sytuacjach. Mam to w NTP. Trzeba będzie szukać co jest "nie halo". Dobrze, że wiem jak są zbudowane ramki NTP, jak dekodować czas UNIXa bo robiłem to kiedyś "na piechotę", tak z 10 lat temu ale chyba arduino jest po to, aby zrobić ale się nie narobić? Zrobić NTP nie wiedząc co to UDP, ARP, TPC, idt. Niestety tak nie jest. Albo ja mam pecha, albo arduino jest mocno ograniczone przez kiepskich programistów tworzących biblioteki. A może mam za duże wymagania? Może niektórym nie przeszkadza, ze program reaguje po sekundzie od naciśnięcia przycisku, mnie przeszkadza. Może rysowanie obrazu na LCD przez 2 sekundy nie jest problemem, dla mnie jest. Im dłużej mam styczność z Arduino, tym bardziej jestem do niego zniechęcony. Chyba dam sobie z nim spokój, tak jak kiedyś z Bascom. Nie żałuję, że wybrałem C zamiast Bascom i czuję, że nie będę żałował, że porzucę Arduino. Tym optymistycznym akcentem, kończę swoją wypowiedź.
  3. Właśnie próbuję sobie ugotować pierogi (takie z gotowca, z Tesco). Instrukcja obsługi: wrzucić pierogi do wrzącej wody, gotować do osiągnięcia temperatury 80° wewnątrz pieroga... Naprawdę, od czasów Ćwierciakiewiczowej chyba się zbyt dużo zmieniło BTW gdzie można dostać sondę do sprawdzania temperatury wewnątrz pieroga?
  4. 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 WA_dongle.pdf WA_sense_v1.pdf
×
×
  • Utwórz nowe...