Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 20 lip 2025, o 09:41


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 16 sty 2020, o 17:37 
    Offline
    Nowy

    Dołączył(a): 11 lis 2019
    Posty: 10
    Pomógł: 0

    Cześć,
    mam zapytanie dotyczące przerwania IRQ w module radiowym nRF24L01+. Moduł pracuje jako nadajnik, wykorzystuję w nim funkcję potwierdzenia odbioru, pomyślne odebranie danych przez odbiornik powinno skutkować wystawieniem w nadajniku stanu niskiego na IRQ. Niestety nie zawsze tak się dzieje tzn. zwykle chwilę po nadaniu pakietu IRQ przechodzi w stan niski na ok. 19 ms i powraca do stanu wysokiego, lecz zdarza się, że IRQ pozostaje w stanie niskim, aż do przeprowadzenia ponownej transmisji, co widać na poniższym zrzucie z analizatora stanów logicznych (kanał 0 - pin IRQ). Pakiety są jednak zawsze odbierane poprawnie.


    Obrazek

    Zauważyłem, że problem występuje rzadziej, gdy pakiety nadawane są w większych odstępach czasu tzn. > 1s. Co może być przyczyną braku powrotu IRQ do stanu wysokiego? Po każdej transmisji następuje reset(), który ustawia rejestr STATUS na wartość 0x70.
    Obrazek

    Funkcję odpowiedzialną za przeprowadzenie transmisji oraz reset umieszczam poniżej.

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.




    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Po stronie odbiornika, wykorzystuje IRQ jako przerwanie dla mikrokontrolera, iż są odebrane nowe dane, które musi przesłać po USART do PC (procedura obsługi przerwania to właśnie transmisja po USART odebranego własnie pakietu danych). Tam działa to bez problemu.

    Dziękuje za zainteresowanie moim problemem, liczę na pomoc i pozdrawiam!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2020, o 17:46 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    Popraw zasilanie, filtracja i zapewnij odpowiedni prąd dołuż kondensator 22uf blisko pinów,



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2020, o 17:59 
    Offline
    Nowy

    Dołączył(a): 11 lis 2019
    Posty: 10
    Pomógł: 0

    Do obydwu modułów mam dolutowane kondensatory prosto do płytek.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2020, o 18:02 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    A jakie moduły, zwykle bez wzmocnienia? Na ten przykład w bloku mi działały na stole obok siebie ale 8metrow dystansu i już czasem tylko. Zbyt duża gęstość w sieci wifi.
    Jak masz Mirkowa biblioteke to musi działać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2020, o 18:06 
    Offline
    Nowy

    Dołączył(a): 11 lis 2019
    Posty: 10
    Pomógł: 0

    Moduły są ze wzmocnieniem, ustawione na pełną moc. Kod pisałem na podstawie http://gizmosnack.blogspot.com/2013/04/ ... d-avr.html (z pewnych względów nie mogę korzystać z żadnych dedykowanych do modułu bibliotek).



    Ostatnio edytowano 16 sty 2020, o 18:33 przez pimpekswiatelko, łącznie edytowano 3 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2020, o 18:10 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    To spróbuj zredukować moc do 1/3-1/4,przy 1/4 mocy 3 betonowe sciany
    Zbyt mocny sygnał się dlawi na biurku, to samo z rfm69hw



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sty 2020, o 18:21 
    Offline
    Nowy

    Dołączył(a): 11 lis 2019
    Posty: 10
    Pomógł: 0

    Po oddaleniu modułów i zmniejszeniu mocy, IRQ nadal się "gubi", szczególnie gdy wysyłam pakiety często.
    Dodaje jeszcze zrzut z sygnałem na 2 kanale informującym o fakcie nadania pakietu.
    Obrazek

    Choć zdarza się, że IRQ reaguje poprawnie na każdą pomyślną transmisje:
    Obrazek
    :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO