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 18 lip 2025, o 02:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 27 paź 2012, o 12:21 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    tylko to register przed volatile wyrzuć ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 paź 2012, o 14:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lis 2011
    Posty: 534
    Lokalizacja: Mierzyn
    Pomógł: 9

    Brawo :)
    jak bys dodal jeszcze peryferia jak podlaczykles to bedzie komplecik :) (schemacik)

    _________________
    pozdrawiam
    Jachu



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 paź 2012, o 18:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 cze 2012
    Posty: 95
    Lokalizacja: Nowa Sól
    Pomógł: 1

    Teraz masz aktualizacje wyniku co sekundę, tak? Od jakiegoś czasu się zastanawiam, jakby zrobić coś takiego, tylko żeby wynik był wyświetlany płynnie. Myślę, że trzeba by mierzyć czas pomiędzy impulsem, bądź co kilka impulsów. Myślę, że efkt byłby lepszy, sam mam zamiar za jakiś czas (no właśnie, kiedy ten czas się znajdzie;/) coś takiego zrobić.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 paź 2012, o 19:57 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    Ja tylko tak na gorąco przypomnę, że jeśli static, to zmienna będzie utworzona w obszarze zmiennych globalnych. A jeśli w obszarze zmiennych globalnych inicjowanych zerem, to wtedy inicjalizowanie ich w kodzie

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


    nie ma sensu.... Oczywiście to nie jest błąd, ale po co ? chyba żebyś chciał je inicjować inną wartością to ok.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2013, o 02:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 sie 2012
    Posty: 97
    Lokalizacja: Tarnów
    Pomógł: 2

    Witam

    Też "bawię się" transoptorem szczelinowym (TCST 2103) i usiłuję zrobić licznik obrotów. Znalazłem ten temat więc stwierdziłem że nie ma co zakładać nowego.
    Mój obrotomierz usiłowałem zrobić na przerwaniu zewnętrznym INT0 (ATmega8) i licznik zliczający jakąś podstawę czasu. Czyli w sumie mniej więcej tak jak kolega Antystatyczny to pokazał gdzieś na początku tego tematu. Ale u mnie wystąpił taki problem że przerwanie wiązki które generowało przerwanie na INT0, powodowało inkrementacje licznika (liczącego przerwania) nie o jeden a o kilkanaście. Tak jakby to przerwanie wiązki trwało kilkanaście przerwań. Próbowałem wszystkich kombinacji, i zbocza narastającego i opadającego i poziomem niskim i dowolną zmianą, nic, to samo.

    I teraz pomyślałem że może rozwiązaniem było by wykorzystanie wejścia ICP tylko nie bardzo rozumiem podrzucony tutaj kod, a po próbie zaadoptowania jego części do swojego projektu wyświetlają mi się jakieś głupoty (aczkolwiek stabilne :) ), więc super by było trochę to zrozumieć. Ogólnie czytając notę katalogową zrozumiałem że chodzi o to:
    jak pojawi się zmiana stanu na wejściu ICP to wtedy wartość licznika z TCNT jest zapisywana do rejestru ICR. Czyli odmierzamy okresy czasu trwania jakiegoś tam impulsu. Powiedzmy w moim przypadku normalnie panuje stan niski a przecięci wiązki powoduje stan wysoki. Czyli takie coś:

    ___________| |___________
    Wiec przydało by się mierzyć długość trwania tego stanu niskiego, nie tej szpilki chwilowej w momęcie przecięcia wiązki. Samą obsługę przerwania jeszcze wydaje mi się ogarniam:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    to by było pojawienie się zbocza narastającego, tak ?
    Potem zerujemy licznik i po zboczu opadającym przepisujemy zawartość licznika, tylko to isOK ? ktoś wie po co to ? jak się licznik przepełni zerujemy potem przepisujemy do ok jescze to sprawdzamy czy różne ... nie pogubiłem się, jeszcze to atomic które przierwszy raz na oczy widzę. Ale nie ważne już samo przeliczanie, chodzi mi o zasadę dziłania tego mechanizmu. Jak by ktoś mógł parę zdań o tym i czy ja to dobrze rozumiem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2013, o 03:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 21 gru 2012
    Posty: 161
    Pomógł: 9

    Może tak się dzieje podczas włączania/wyłączania transoptora (nie w pełni otwarty, nie w pełni zamknięty)?
    Zobacz na ten wykres znaleziony w pdf:
    http://prntscr.com/o9r5s

    A jakby tak po pierwszym wykryciu przerwania pochodzącego z int0 zrobić przerwę w zliczaniu na 20 us ? (2x Turn On Time).

    Takie moje spekulacje...

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2013, o 10:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 20 gru 2012
    Posty: 72
    Pomógł: 6

    The River nie pisz po 2 w nocy bo tematy bełtasz....
    Kod do którego się odnosisz znajduje się w tym temacie Obrotomierz
    isOK wykorzystywane jest w przerwaniu aby nie robić kłamstwa gdy licznik przekręci się. Ten kod spokojnie liczy od 600 do 12000 obr/min tak testowałem.



    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 1 gość


    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO