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 15 lip 2025, o 01:03


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 20 mar 2019, o 10:41 
    Offline
    Nowy

    Dołączył(a): 09 lis 2014
    Posty: 6
    Pomógł: 0

    Witam, mam dziwny problem z moja ATMEGA32A-PU.
    Chcialem opanowac sterowanie servo, i przegladalem wideo pana Mirka "#0545 AVR + SERVO + ANALOG INDICATOR"
    Po wyliczeniu wszystkiego wyszedl mi zakres OCR1A od 100 - 500, poniewaz datasheet pokazuje ze ten chip ma 16MHz taktowanie. O dziwo, serwo tylko lekko szarpalo zamiast zrobic ruch o 180st.
    W sieci znalazlem inny tutorial z ponizszym kodem:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Tutaj servo dziala ale tez nie dokladnie.
    Postanowilem zaczac od podstaw i zrobilem mrugajaca lede, zeby sprawdzic czy piny wogole dzialaja. Co odkrylem ze delay 200ms mrygal bardzo wolno.
    Odrazu przyszlo mi do glowy ze chodzi o taktowanie, wiec zdefiniowalem recznie F_CPU = 16000000UL, efekt ten sam. Dopiero przy F_CPU 1000000UL wszystko dziala poprawnie, w kodzie z filmu pana Mirka, po przeliczeniu wartosci pod 1MHz, wyszlo 8-32 i wszystko dziala normalnie.
    Co moze byc powodem przetaktowania chipa z 16MHz na 1MHz?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2019, o 11:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1174
    Lokalizacja: Kraków
    Pomógł: 94

    Powoli. Zmieniłeś fusebity w procku?
    Fabrycznie nowa ATMEGA32 ma ustawione taktowanie wewnętrznym oscylatorem 1 MHz, musisz tam zmienić.
    I, z tego, co pamiętam, do taktowania 16MHz musisz podłączyć zewnętrzny kwarc.

    I jeszcze jedno. Jak wspomniał kolega wyżej taktowanie ustawiasz w opcjach projektu, a nie ręcznie wpisując F_CPU!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2019, o 11:22 
    Offline
    Nowy

    Dołączył(a): 09 lis 2014
    Posty: 6
    Pomógł: 0

    uzywam CodeBlocks, tam z automatu ustawilo projekt na 16MHz dla tego chipa, dlatego zmienilem przez F_CPU.
    Fusebitow nie zmienialem, przynajmniej nie swiadomie...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2019, o 12:21 
    Offline
    Nowy

    Dołączył(a): 09 lis 2014
    Posty: 6
    Pomógł: 0

    Mozna powiedziec ze fabrycznie nowa, bo mam ja od poczatku. Ma juz kilka lat ale lezala w szufladzie dlugi czas, teraz postanowilem wrocic do zabawy.
    Dobrze wiedziec, doczytalem ze faktycznie wewnetrzenie ma 1MHz by mozna bylo uzywac out-of-box.
    Musze doczytac jak podpiac krysztal i zmienic te fusy. Chyba ze ma ktos sprawdzony poradnik?



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

    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