_LM_ Luty 17, 2023 Udostępnij Luty 17, 2023 Bo odpada czas na synchronizację Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 17, 2023 Udostępnij Luty 17, 2023 A tak właśnie sobie pomyślałem - dlaczego nie wykorzystać jakiegoś modułu typu midi over wifi? Sprawdzone rozwiązania, a z punktu widzenia programisty midi to zwykły serial... Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 17, 2023 Udostępnij Luty 17, 2023 @_LM_ jest tu paru kolesi o nickach zaczynajacych się od SP czy SQ, lepiej ode mnie wyjaśnią zasadę transmisji CW. 1 Cytuj Link do komentarza Share on other sites More sharing options...
_LM_ Luty 17, 2023 Udostępnij Luty 17, 2023 A mi się przypomniało o nadajnikach stosowanych w modelarstwie rc, taka luźna myśl bo nie wiem jakie tam opóźnienia są Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
ethanak Luty 17, 2023 Udostępnij Luty 17, 2023 A to ciekawe- jeśli opóźnienie jest stałe to można by było coś takiego wykorzystać... przy czym opóźnienie poniżej 5 ms moźna uznać za nieistniejące. Cytuj Link do komentarza Share on other sites More sharing options...
Lukasze Luty 17, 2023 Autor tematu Udostępnij Luty 17, 2023 1 godzinę temu, ethanak napisał: Ty chcesz mieć działajace ustrojstwo? To poczekaj aż tu uzgodnimy jak to ma działać. Zauważ: teraz my gadamy o tym jak to zrobić, a jak już dojdziemy do tego że wiemy jak to któryś tam się pewnie weźmie za robotę Ok, już zrozumiałem, jak funkcjonujecie. Czekam na privie na śmiałka 🙂 Udanej dyskusji! Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Luty 17, 2023 Udostępnij Luty 17, 2023 (edytowany) @ethanak Na bazie modułu FS1000A Strasznie nieregularne opóźnienia ma, przez co wysyłanie standardowego UART'a nie ogarnia... UART 9600bps: ~150us +/- 30us UART 4800bps: ~120us +/- 20us UART 2400bps: ~100us +/- 25us Więc moduł się nadaje, tylko przydałaby się jakaś sensowna modulacja 😄 Oczywiście to latency między nadajnikiem i odbiornikiem na ~25cm. Bez dodatkowych anten ani opóźnień programowych. Przy 8 bitach transmisji danych dochodzi jeszcze czas potrzebny na przesłanie całego pakietu = 1/baud * packet_length... Czyli odpowiednio: BAUD9600: 150us + 833us = 983us BAUD4800: 120us + 1667us = 1787us BAUD2400: 100us + 3333us = 3433us Czyli potrzebny jest moduł o dość szybkiej transmisji... I jakaś sensowna modulacja, co by nie było problemów z przekłamaniami danych... Więc dochodzi trochę dodatkowych opóźnień... --- Dane mierzone oscyloskopem Siglent SDS1202X-E z sondami 200MHz, kalibracja na 10MHz. --- Po przekopaniu ZPA to wygląda sensownie, chociaż lepsze byłoby coś bardziej analogowego... --- EDIT: FS1000A całkiem nieźle sobie radzi z zasięgiem... Te 433MHz przechodzi przez ściany jak przez masło. Biblioteka RadioHead niestety tworzy bardzo duże pakiety, których transmisja jest zdecydowanie za wolna na to zastosowanie. Pozostaje kwestia kluczowania danych... Zakładając, że osoba tupiąc musi podnieść nogę, co zajmuje zdecydowanie sporo czasu można ten czas poświęcić na transmisję czystego tła (same 0). I użyć określonej ilości zer by przełączyć odbiornik na tryb "gotowy do odczytu". Wtedy transmisja 8 bitów zajmuje ok. 1ms + 150us w trybie 9600baud, co daje zadowalające latency, nawet jeżeli reszta układu wygeneruje latency na poziomie 1ms, to i tak będzie to ok. 2ms względem 7ms rozwiązania, z którego korzystał OP. Dodatkowo te moduły są tanie 😉 Kluczowanie danych wymaga równoważenia zer i jedynek, więc zostaje dość mało opcji... Zakładając, że pierwszy bit musi być jedynką: 10011001 10101010 10100101 11000011 Chyba tylko 4 opcje... Może jakąś przegapiłem. W sam raz dla 4 rodzajów sygnałów... Gorzej, że system byłby podatny na "włamania" przez inne urządzenia pracujące na ASK 433MHz... Więc to może być problem, ale zakładam, że na sali koncertowej takie urządzenia raczej nie występują. --- No i jednak nie daje rady... Arduino może by i dało radę to zdekodować, ale rozrzut opóźnień dalej jest zbyt brutalny... Edytowano Luty 17, 2023 przez H1M4W4R1 1 Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Luty 18, 2023 Udostępnij Luty 18, 2023 Zgodnie z tym: https://blog.zakkemble.net/nrf905-avrarduino-librarydriver/ Moduły NRF905 powinny być w stanie osiągnąć oczekiwane opóźnienie. Zakładając transmisję PREAMBLE + po 8 bitów na adres, dane i CRC, daje to razem jakieś ... 0.00065 + 0.0002 + ((8 + 1 + 8)/50000) [s] = 1.2 [ms] 1.2ms opóźnienia... Nie licząc opóźnień programowych. Wygląda sensownie i moduły z anteną są za <30 PLN na ZPA. 1 Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Luty 19, 2023 Udostępnij Luty 19, 2023 Wygląda ciekawie. ZTCW można zrezygnować z CRC, osiem bitów mniej do przesłania... Na Aledrogo po 22 z czymś, akurat tyle żeby przy dwóch się w smarcie zmieścić... ciekawe jak w praniu. A na 433MHz o ile pamiętam (mogę się mylić) pracują mikrofony i takie tam różne, czyli pasmo może być lekko zapchane, trzeba by sprawdzić. 1 Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Luty 19, 2023 Udostępnij Luty 19, 2023 3 godziny temu, ethanak napisał: A na 433MHz o ile pamiętam (mogę się mylić) pracują mikrofony i takie tam różne, czyli pasmo może być lekko zapchane, trzeba by sprawdzić. Zawsze można na 915, tylko to chyba mniej legalna opcja… 1 Cytuj Link do komentarza Share on other sites More sharing options...
Lukasze Luty 19, 2023 Autor tematu Udostępnij Luty 19, 2023 (edytowany) 16 godzin temu, H1M4W4R1 napisał: 1.2ms opóźnienia... Nie licząc opóźnień programowych. Dorzucę jedną historię - gdyby udało się z takim opóźnieniem (+ programowo) aktywować loopa w ipadzie/ kompie to byłoby fenomenalne. Edytowano Luty 19, 2023 przez Lukasze Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Luty 19, 2023 Udostępnij Luty 19, 2023 (edytowany) 1 godzinę temu, Lukasze napisał: ipadzie iPad opada, za dużo zabawy z tworzeniem aplikacji. Android lepiej sobie radzi z uruchamianiem nieoficjalnych aplikacji (spoza sklepu). Na komputerze z Windowsem to bez problemu 😛 1 godzinę temu, Lukasze napisał: gdyby udało się z takim opóźnieniem Pamiętaj, że to opóźnienie samej transmisji. Dochodzi jeszcze opóźnienie reakcji czujnika, też pewnie z 1-2ms. EDIT: NRF905 powinny być we wtorek (około 13-14 o ile InPost znów nie nawali i nie dowiezie o 20:30 do paczkomatu)... Wtorek/środa na test i będzie wiadomo 😄 A dodatkowy moduł radiowy w szufladzie nigdy nie zaszkodzi. @Lukasze będą Ci przeszkadzać przewody od paska do butów (od nadajnika do czujników) ok. 1m, grubość skrętki CAT5e? Edytowano Luty 19, 2023 przez H1M4W4R1 1 Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Luty 21, 2023 Udostępnij Luty 21, 2023 (edytowany) @ethanak @Lukasze NRF905 przesyłanie 1B danych bez CRC z 4B adresem: 0.89ms-1.87ms, przy 1B adresie odrobinę krócej, ale za to ilość błędów rośnie lawinowo... Co do rozrzutu to nie wiem co jest tego przyczyną... Bo jest albo z lewej strony albo z prawej strony... Sama transmisja trwa ok. 0.6ms... Może kwestia reakcji na retransmisję pakietu? Teraz pytanie jak to się zachowa na większe odległości... I jak z reliability, bo są z tym pewne problemy... Co najwyżej zrobi się to na przerwaniach z pinów... EDIT1: Oraz zabawa "na szybko" z akcelerometrem: 😉 Chyba rozwiązanie będzie całkiem OK... Chociaż muszę wymyślić coś lepszego niż akcelerometr przyklejony na taśmę izolacyjną do nogi xD EDIT2:Trochę więcej obliczeń i testów później: Zgodnie z równaniem na wcześniej linkowanej stronie czas transmisji powinien wynieść 0.00065 + 0.0002 + ((32 + 8 + 0) / 50000) = 1.65ms... I to by się zgadzało. Te 0.2ms to pewnie kwestia rozjazdów... Testy robiłem na RP2040 (Raspberry Pi Pico) taktowanym na 133MHz (stock). Patrząc na wykres akcelerometru opóźnienie reakcji będzie wynosić jakieś 0.5ms... W sumie da to opóźnienie rzędu 2.15ms na odległości 20cm. Sądzę, że na sensownych odległościach (1-5m) opóźnienie nie powinno przekraczać 3-3.5ms. Największą niewiadomą jest reliability, ale by przetestować musiałbym przepiąć nadajnik na drugą płytkę stykową i podpiąć w drugim pokoj, a trochę na to późno... (jest prawie 1 w nocy... EDIT3: Gorzej rozróżnić tupnięcie od kroku... Zwłaszcza testując na ADXL345 (bo ktoś czyt. ja jest zbyt leniwy by zlutować MPU6050...) XD Ogólnie reakcja jest akceptowalna, reaguje na 99% tupnięć i na 78% kroków (/100 ea.)... Akcelerometr działający w 3 osiach by to znacznie uprościł, bo można by zweryfikować ruch w osi Z - w przód nogi... Bo ze względów wygody projektanta akcelerometr jest umieszczony z tyłu buta w pozycji X - lewo/prawo, Y - dół/góra... a ADXL345 słynie z problemów w osi Z 😄 (wypuścili dość dużą serię wadliwych układów, które w trybie 2G mają spory problem ze sobą znany jako Z-constant)... Edytowano Luty 22, 2023 przez H1M4W4R1 Cytuj Link do komentarza Share on other sites More sharing options...
Lukasze Luty 22, 2023 Autor tematu Udostępnij Luty 22, 2023 10 godzin temu, H1M4W4R1 napisał: Sądzę, że na sensownych odległościach (1-5m) opóźnienie nie powinno przekraczać 3-3.5ms Taki wynik to rewelacja, z tym, że trzeba dodać jeszcze przetworzenie sygnalu z odbiornika do instrumentu (czy to moduł Eurorack, czy instrument cyfrowy). No ale na razie obiecująco to wygląda - już mam dużą frajdę z całego procesu, a jak się okaże, że to będzie grywalne rozwiązanie to będzie fenomenalnie :). Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Luty 22, 2023 Udostępnij Luty 22, 2023 5 godzin temu, Lukasze napisał: No ale na razie obiecująco to wygląda - już mam dużą frajdę z całego procesu, a jak się okaże, że to będzie grywalne rozwiązanie to będzie fenomenalnie :). Lepiej się nie napalać, bo zwykle źle to się kończy... Po dzisiejszych testach wyszło, że akcelerometr to złe rozwiązanie... Bo reaguje zarówno na podniesienie nogi jak i na tupnięcie... Więc trzeba szukać innego pomysłu na "czujnik"... Zostaje piezo, przycisk i czujnik wibracji... Z czego każdy będzie reagował zarówno na tupnięcie jak i na krok i żadnego (poza przyciskiem) nie mam... Czas wrócić do teorii... Przynajmniej część radiowa jest z głowy, więc jak ktoś ma pomysł na czujnik może spokojnie użyć NRF905, moduły powinny dać radę. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!