Pomiar czasu za pomocą Arduino - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Pomiar czasu za pomocą Arduino (/watek-pomiar-czasu-za-pomoc%C4%85-arduino) |
Pomiar czasu za pomocą Arduino - Mick_SQ6IYV - 07-09-2018 Witam Wszystkich! Jestem początkującym użytkownikiem platformy Arduino. Mam kilka książek na jego temat, ale w żadnej nie mogę znaleźć podpowiedzi jak mierzyć czas za pomocą Arduino. Nie chodzi mi o budowę zwykłego zegara, tylko o pomiar czasu pomiędzy dwoma (i więcej) zdarzeniami. Potrzebny jest do tego Zegar Czasu Rzeczywistego (RTC) czy obejdzie się bez tego? RE: Pomiar czasu za pomocą Arduino - es2 - 07-09-2018 (07-09-2018, 13:36)Mick_SQ6IYV napisał(a): pomiar czasu pomiędzy dwoma (i więcej) zdarzeniami. Potrzebny jest do tego Zegar Czasu Rzeczywistego (RTC) czy obejdzie się bez tego? Jakiej długości czasy chcesz mierzyć? Z jaką rozdzielczością? Z jaką dokładnością? RE: Pomiar czasu za pomocą Arduino - Mick_SQ6IYV - 07-09-2018 W zasadzie chodzą mi dwa projekty: Projekt 1 związany z pomiarem czasu o długości około 10 - 20 sekund, rozdzielczość i dokładność na poziomie 0,01 s. Projekt 2 związany z pomiarem czasu o długości powyżej 1 minuty, rozdzielczość i dokładność na poziomie 1 s. Oczywiście, jeśli można poprawić rozdzielczość o jeden rząd (w obu projektach), to też będzie dobrze RE: Pomiar czasu za pomocą Arduino - Robson Kerman - 07-09-2018 W funkcji obsługi pierwszego zdarzenia musisz zapisać do zmiennej aktualny czas: Kod: unsigned long czasStart = millis(); W funkcji obsługi drugiego zdarzenia, tez musisz spojrzeć na zegarek: Kod: unsigned long czasStop = millis(); Różnica w pomiędzy naszymi zmiennymi, to właśnie zmierzony czas: Kod: unsigned long Czas = czasStop - czasStart; Dokładność 0.001s. RE: Pomiar czasu za pomocą Arduino - es2 - 07-09-2018 (07-09-2018, 14:38)Robson Kerman napisał(a): Dokładność 0.001s. Rozdzielczość administratorze, rozdzielczość. I raczej nie 1ms w Arduinio, bo są tam milisekundy "przestępne" i faktyczna rozdzielczość jest mniejsza. Ogólnie pojęta dokładność będzie na poziomie 20..50ppm, ogólnie, bo jest dokładność krótko i długoterminowa. Jaka interesuje kolegę Mick_SQ6IYV? Czy potrzebna większa np 2ppm? Bez tego nie można odpowiedzieć, czy potrzebny będzie zewnętrzny układ, np precyzyjny RTC.. A może trzeba bardzo dużej dokładności np 100bpm lub więcej? RE: Pomiar czasu za pomocą Arduino - Mick_SQ6IYV - 07-09-2018 Super, już jakaś podpowiedź Nadal jednak nurtują mnie dwie kwestie: 1. Potrzebuję używać do obu celów zegara RTC czy nie? Oba projekty to szeroko pojęte minutniki, zegary do mierzenia czasu (pomiędzy dwoma zdarzeniami). 2. Komendy, o których mówi Robson Kerman, są elementami biblioteki standardowej czy innej (jeśli tak, to jakiej)? RE: Pomiar czasu za pomocą Arduino - kaczakat - 07-09-2018 Ten przykład z millis() jest w standardowych przykładach już wbudowanych w IDE Arduino i nie wymaga żadnego dodatkowego elementu czy biblioteki: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay . Podobną funkcją dla us jest micros(). Jakie książki masz, że nie jest to opisane? Chyba, że tylko je masz, przeczytałeś? RE: Pomiar czasu za pomocą Arduino - es2 - 07-09-2018 (07-09-2018, 15:31)Mick_SQ6IYV napisał(a): 1. Potrzebuję używać do obu celów zegara RTC czy nie? Szklana kula mi się zepsuła, napisz w końcu jakiej dokładności oczekujesz. 20..50ppm? 2ppm? 1ppm? 100bpm? RE: Pomiar czasu za pomocą Arduino - Mick_SQ6IYV - 07-09-2018 1. es2 - W projekcie 1 dokładność na poziomie 0,01 sekundy. W drugim projekcie dokładność na poziomie 1 sekundy. To będą najmniejsze wartości, jakie będą mierzone i wyświetlane. 2. Kaczkat - Przyznam się "bez bicia", że nie do końca je czytałem. Może też dla tego, że mam pomysł jak poprawić w pracy jedną rzecz za pomocą Arduino. Chciałem więc od razu zająć się tym projektem. Zajrzałem do książek trochę pobieżnie, gdyż zabrakło mi w indeksie i spisie treści nie widziałem konkretnego hasła "POMIAR CZASU" lub czegoś podobnego. Mam następujące książki: 1. BOXALL JOHN - Arduino. 65 praktycznych projektow 2. MASSIMO BANZI - Wprowadzenie do Arduino 3. Tytułu i autora nie pamiętam... RE: Pomiar czasu za pomocą Arduino - Robson Kerman - 07-09-2018 (07-09-2018, 15:24)es2 napisał(a): Rozdzielczość administratorze, rozdzielczość. Moderatorze, a nie administratorze. Ja tu tylko pilnuję, abyście nie używali mowy nienawiści, i nie dyskutowali nie na temat. A co się tyczy tematu, to pewnie przejęzyczenie, pisałem w pracy pod presją opierniczu od szefostwa. Faktycznie chodziło o rozdzielczość. Przepraszam, że wprowadzam w błąd. Możesz kolego Mick_SQ6IYV napisać, między jakimi zdarzeniami ma być mierzony czas? Wewnętrznymi, czyli w programie, czy może coś z zewnątrz będzie informowało sprzęt, na przykład zmianą poziomu na pinie? |