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 00:00


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
    Autor Wiadomość
    PostNapisane: 5 paź 2017, o 08:01 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Witam

    Mam zrobiony układ na Atmedze8, kwarc na wejściach XTAL to 18Mhz.
    Na wejściu (T1)PD5 podaję częstotliwośc do pomiaru maksymalnie 5MHz.
    Program zajmuje mi 99% procent pamięci.

    Pytanie moje jest takie, czy zamiast Atmegi8 mogę w podstawkę
    włożyc Atmegę168, zyskując więcej pamięci i czy
    Atmega168 da sobie radę z kwarcem na XTAL 18MHz
    i częstotliwością 5MHz na wejściu (T1)PD5.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 08:16 
    Offline
    Użytkownik

    Dołączył(a): 22 mar 2017
    Posty: 80
    Pomógł: 5

    Pinout jest taki sam dla 8 i 168. Co do kwarcu to spokojnie, atmega168 może wg datasheet pracować z max 20MHz kwarcem.
    Więc powinno wszystko działać.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 08:22 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    1. Atmega 168PA może latać na 20MHz
    2.
    Atmel w nocie napisał(a):
    Each half period of the external clock applied must be longer than one system clock cycle to ensure correct
    sampling. The external clock must be guaranteed to have less than half the system clock frequency (fExtClk <
    fclk_I/O/2) given a 50/50% duty cycle. Since the edge detector uses sampling, the maximum frequency of an
    external clock it can detect is half the sampling frequency (Nyquist sampling theorem). However, due to
    variation of the system clock frequency and duty cycle caused by Oscillator source (crystal, resonator, and
    capacitors) tolerances, it is recommended that maximum frequency of an external clock source is less than
    fclk_I/O/2.5.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 08:30 
    Offline
    Użytkownik

    Dołączył(a): 22 mar 2017
    Posty: 80
    Pomógł: 5

    18/2,5 = 7,2.
    Skoro na atmedze 8 działa to i na 168 będzie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 09:21 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 02 paź 2017
    Posty: 17
    Pomógł: 4

    A może od razu wrzuć tam Atmege 328 ?? Pinout ten sam, może latać spokojnie do 20MHz, cenowo też niewiele droższa a pamięci jeszcze drugie tyle :)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 paź 2017, o 12:35 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Wielkie dzięki już wszystko wiem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 18:16 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Witam ponownie

    Sprawiłem już sobie Atmegę328, wgrałem program który świetnie działał na Atmedze8 i pojawiły się problemy.

    Przerwanie czasowe wydłużyło się z 1 sek do 8 sek, Atmega328 działa bardzo wolno.
    Potrafi się zawieśic na wyświetlaczu LCD zamiast warości liczbowych pojawiają się nieraz krzaki.

    Fusebit w Atmedze8 jak i w Atmedze328 dla kwarcu 18,432MHz zostały ustawione tak samo 001111.

    Podpowiedzcie co robię źle.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 18:21 
    Offline
    Użytkownik

    Dołączył(a): 22 mar 2017
    Posty: 80
    Pomógł: 5

    Kompilowałeś program pod 328 czy "żywcem" przerzuciłeś z atmegi8?
    Skompiluj projekt pod atmegę328.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 18:34 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Program był kompilowany pod Atmegę328.

    Zmieniane było również

    $regfile = "m8def.dat" --------------------->>>>> $regfile = "m328pdef.dat"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 18:56 
    Offline
    Użytkownik

    Dołączył(a): 22 mar 2017
    Posty: 80
    Pomógł: 5

    A czy przypadkiem nie masz przestawionego preskalera?
    W rejestrze CLKPS powinno być 0.
    Ewentualnie fusebit CKDIV8 może masz ustawiony?

    Domyślnie dla atmegi328 CKDIV8 jest zaprogramowany, w atmedze8 tego fusebita nie ma. Zmień i na pewno będzie działać.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 19:25 
    Offline
    Użytkownik

    Dołączył(a): 29 mar 2012
    Posty: 595
    Lokalizacja: Jaworzno
    Pomógł: 39

    Nowe procki M328 mają "zaprogramowany"(0) bit CKDIV(podział zegara przez 8). Trzeba sobie to zmienić i będzie OK.


    Autor postu otrzymał pochwałę

    _________________
    Pozdrawiam
    PP



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 19:44 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Nic nie zmieniałem w CLKPS oraz w CKDIV8 (tam są nadal ustawienia fabryczne).

    Już wiem że w CLKPS powinno być 0.

    Ale nie wiem co mam wpisac w CKDIV8



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 19:54 
    Offline
    Użytkownik

    Dołączył(a): 22 mar 2017
    Posty: 80
    Pomógł: 5

    CKDIV8 - 7 bit w fusebit LOW powinien być na 1. (CKDIV8 = 1)
    Więc to co masz w fusebit LOW dla atmegi8 + 128.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 paź 2017, o 20:13 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Ok, w poniedziałek zabieram się za to, oczywiście dam znac jak Mi poszło.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 paź 2017, o 17:32 
    Offline
    Nowy

    Dołączył(a): 09 lis 2016
    Posty: 23
    Pomógł: 0

    Zadziało był włączony podział zegara przez 8.

    Wielkie dzięki.



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

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