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 w 2025? 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 9 kwi 2025, o 03:00


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 29 paź 2013, o 10:54 
    Offline
    Użytkownik

    Dołączył(a): 19 gru 2012
    Posty: 712
    Lokalizacja: Opole
    Pomógł: 23

    No to może w takim wypadku posłuż się zegarem zewnętrznym zegarem RTC


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 paź 2013, o 20:06 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

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



    To tak na szybko.Kwarc ustaw na 8mhz łatwiej to podzielić. Dokładność możesz sprawdzić sobie stoperem,albo w symulatorze.Jak to zrobić to może powie ktoś inny ,bo ja nie mam pojęcia :) Ale chyba będzie wystarczająca.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 paź 2013, o 15:21 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    nie.tutaj masz zrobione na timerze procesora.Jak będą duże odchyłki to można troszkę w przerwaniu timera pokombinować.Nie wiem czy dobrze policzyłem to ze liczy do 120 może trzeba dać 119 lub 121.Sprawdź sobie. Jeżeli chcesz to zrobić na zewnętrznym zegarze Rtc to troszkę zmieni sie kod ,ale zasada będzie ta sama.Jeżeli masz płytkę testowa to można dopisać kilka linijek i zrobić zegarek taki do testów.I będziesz wiedział jaka jest dokładność.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 paź 2013, o 14:33 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    2 sekundy na dwie minuty? to strasznie dużo. Ja dopisałem sobie do tego taki prowizoryczny zegarek ,który odliczał czas i przez cala noc było około sekundy.ja mam zewnętrzny kwarc 16mhz.To co zmieniłeś to dobrze.U mnie widocznie sa diody inaczej podłączone.Co do spieszenia sie to może zmień czas w którym gasi i zapala diody.Tz zamiast 60 to 59 i zamiast 120 to 119.Moze to jest tylko problem.Co do kwarca zegarkowego to to tez nie jest az tak dokładne. Trzeba by było dopisać zegarek programowy w bascomie to dosyć proste jest.Reszta programu pozostałaby prawie bez zmian.W helpie bascom poczytaj sobie o config clock. A tak na marginesie jaka dokładność jest Ci potrzebna? I czy to ma odliczać tylko te minuty ,czy musi byc synchronizowane z jakimś zegarem?


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lis 2013, o 09:32 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    czyli on ma sterować zegarem? Jeżeli tak to lepiej zastosować zewnętrzny zegar.Bedzie dokładniej.8mhz możesz ustawić na wewnętrznym rezonatorze.Ustawia sie fuse bitach.Ściągnij sobie od Mirka mcAvrcalkulator tam sie to łatwo robi i sie nie pomylisz
    Ten program wylicza czas do 8 Mhz jeżeli będziesz miał inny to trzeba będzie przestawić w przetimer:
    Masz tam Timer0=131 to przy 16 musi byc 6


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lis 2013, o 10:04 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    dla 4 mhz nie da sie równo odliczyć 4ms. Jeżeli on jest na stale to dołóż ten kwarc zegarkowy do timera2. Wtedy to on bedzie odmierzał ta sekundę.Tego przykładu nie widziałem ale on odmierza sekundę.Wiec w przerwaniu Myistr: Wpiszesz to
    Incr A
    If A = 120 Then A = 0 'powinno byc dwie minuty
    a w programie glownym
    DO
    If A = 0 Then B = 1
    If A = 1 Then B = 0
    If A = 60 Then C = 1
    If A = 61 Then C = 0 'te liczby mozesz sobie dokladnie dpoasowac,bo nie wiem czy jst tak jak myslisz
    Loop
    edit.
    Na atmega8 musisz podpiąć tylko ten kwarc zegarkowy.Nigdy na niej nic nie robię .Trochę nie znam jej rozkładu pinów.
    Punktów nie potrzebuje ,bo rzadko korzystam z elektrody.Jakos strach tam zadać pytanie,bo Cie przepędza zaraz.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lis 2013, o 10:57 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    no trochę namieszałeś:) Chyba jednak kurs programowania musisz poczytać.Proponuje ksiazke Marcina Wiazani
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Sprawdź teraz


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lis 2013, o 11:13 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Portc = &B11111111 : Portc = &B11111111 'port jako wyjscie
    Config Portb = &B11111111 : Portb = &B11111111 'port jako wyjscie
    Config Portd = &B11111111 : Portd = &B11111111 'port jako wyjscie
    Dim W As Byte

    Config Timer2 = Timer , Async = On , Prescale = 128
    On Timer2 Myisr

    Enable Interrupts
    Enable Timer2
    Dim B As Byte
    Dim A As Byte
    Dim C As Byte
    Do
    Portb.1 = B
    Portb.2 = C
    If A = 0 Then B = 1
    If A = 1 Then B = 0
    If A = 60 Then C = 1
    If A = 61 Then C = 0 'te liczby mozesz sobie dokladnie dpoasowac,bo nie wiem czy jst tak jak myslisz

    Loop
    end
    Myisr:

    Incr A
    If A = 120 Then A = 0 'powinno byc dwie minuty
    Return


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lis 2013, o 11:47 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    a możesz wytłumaczyć jak to działa?To ma przesuwać wskazówkę? Możesz z tego zrobić sobie zegarek i będziesz mial na bieżąco kontrole nad dokładnością.Przynajmniej do testów.Popisu do regulacji tu chyba nie ma za dużo.Podobno można jakiś trymer zastosować ,ale ja tego nigdy nie robiłem.A może programowo raz na dobę doda lub odejmie czas.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lis 2013, o 12:55 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

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


    Sprawdź to.Dobrze byłoby gdybyś mógł zmienna a podglądać na terminalu lub lcd,bo nie wiem czy to będzie działać a trochę głupio ze stoper siedzieć. Jak będziesz mial problem jak to zrobić to pisz.To ma działać co minute wiec musisz zmienić sobie czasy które odmierza.teraz chyba do w każdym cyklu jest sekundę za duzo.Regulujesz zmiennymi T i T1

    edit
    troche Ci zmienilem



    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: 10 ] 

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