Close

Sportovní bezdrátová časomíra

Úvodní stránka Fórum Vaše projekty Arduino Sportovní bezdrátová časomíra

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (celkem z 5)
  • Autor
    Příspěvky
  • #8711
    petrcaltik
    Účastník

    Zdravím,
    chtěl bych se prosím zeptat, zda nemá někdo zkušenosti nebo nápad jak postavit bezdrátovou sportovní časomíru pomocí arduina. Především zatím řeším samotné měření času, kde moje představa byla dvou synchronizovaných časů ve startovní a cílové jednotce. Po projetí závodníka cílem by pak cílová jednotka odeslala bezdrátově čas protnutí fotobuňky, který by startovní jednotka vyhodnotila v čistý čas. Moje pokusy s moduly reálného času DS3231 byly silně nepřesné. Zajímalo by mě tedy jestli je vůbec možné v rozumné cenové hladině zajistit „přesný čas“, který je podmínkou pro moji myšlenku řešení? Možná je tato moje myšlenka nešťastná, budu tedy rád za jakékoliv možné koncepce řešení. Předem děkuji za jakoukoliv pomoc.

    #8726
    posjirka
    Účastník

    chápu to správně, že chceš mít 2 fotobuńky kažkou s vlastní RTC a posílat si čas prolnutí? To se ti nikdy nepodaří synchornizovat …
    Lepší řešení by bylo použit 1 RTC ve vlastní časomíře a od fotobuněk přijímat jen signál prolnutí. čas by se bral s interní RTC časomíry.
    O jakých intervalech/časech se vlastně bavíme ?
    Jinak RTC může generovat i určitou frekvenci, pro lepší synchornizaci než jen sledování času….

    #8728
    petrcaltik
    Účastník

    Díky za reakci,
    primárně jsem myslel použít časomíru pro lyžovaní, kde na startu by byla branka, tedy nějaký spínač a v cíli fotobuňka. Pro základní použití se bavíme o vzdálenostech cca 500m a tedy čas do 2 minut. Chápu dobře tedy, že při protnutí branky na startu by se vyslal signál do spodní stanice s fotobňkou a vlastní časomírou, tím by se zahájilo měření? Následné přerušení paprsku by čas zastavilo? Je jistota, že signál poletí vždy stejnou dobu? Měl jsem za to, že takovýto přenos není úplně nejpřesnější proto myšlenka se synchronizací. Pokud by byla přesnost do jedné setiny sekundy, tak by to bylo plně vyhovující.
    Díky, za případné další reakce…

    #8729
    posjirka
    Účastník

    na dotaz zda signál poletí stejnou dobu … je vhodne si prostudovat alespon zaklady radiokomunikace. Radiove vlny se šíří téměř rychlosti světla. V základu se měni pouze frekvence nosné vlny a způsob modulace. Ber to tak, že nejnižší rychlost přenostu bude okolo 9,6kbaud tedy 9600 bytu/s. Přenos informace o 10 bytech zanamená dobu přibližne 0,001s. To beru jako nejhorší stav. při přenosu 115kbaud jsme na uplně jiných časech.
    Spíš mě zaráží těch 500m. Při použití vysílače na 2,4GHZ s přidanou anténou by to mělo mít dosah okolo 2km, ale v praxi jsem to ještě nezkoušel a je tu i otázk aterénu/příme viditelnosti:

    Komunikujeme bezdrátově s NRF24L01 – 1. část – zapojení


    ohledně přesnosti, funkce millis() řeší dobu běhu strojového času v 0,001s a je tu i funkce micros(), která dělá to samé v 0,000001s … takže 0,01s rozlišení bych se nebál. Jak jsi řešil odečet času z RTC? ten ti totiž v těchto případech nepomůže.
    1. jeho rozlišení je v řádech 1s
    2. přenos dat, adresování ,… nějáký čas zabere a přesnost pod 1s je mimo
    3. při použití tohoto čipu jako generátoru zbytečně zatížích přerušení a s přesnosti si stejně moc nepomůžeš.
    Navrhuji použití internícho strojového času Arduina a detekci start/stop jako body pro záznam aktuální hodnoty millis(). Výsledný čas je pak jen prostým odečtem těchto 2 hodnot.
    pár příkladů:

    Tutorial: Arduino timing methods with millis()


    http://www.c-sharpcorner.com/uploadfile/7d4524/stopwatch-using-push-button/

    Barista championship brewing stopwatch • Introduction using arduino

    #8731
    petrcaltik
    Účastník

    Díky za reakci..
    S tím přenosem je to tedy zcela dostačující, to byla moje hrubá neznalost! Vzdálenost a terén bude tedy asi největší problém, protože trať nemusí být přímá, může vést třeba i lesem a v neposlední řadě pro plnohodnotné využití by trať mohla mít délku až 2km. NRF24L01 už mám, takže se pravděpodobně pokusím časomíru sestrojit a uvidím jak spolehlivé to bude.. S tím RCT jsem pracoval tak, že když se změnila hodnota sekund, začal jsem počítat setiny podle funkce millis(), ale byl právě problém s tím, že někdy trvala změna třeba 98 setin a někdy zase 101, takže absolutně nepoužitelné…

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (celkem z 5)
  • Pro reakci na toto téma se musíte přihlásit.