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 29 maja 2025, o 05:29


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 3 paź 2023, o 20:00 
    Offline
    Nowy

    Dołączył(a): 10 mar 2020
    Posty: 17
    Pomógł: 0

    Witam forumowiczów
    Postaram się problem szybko opisać. Chcę za pomocą Timera1 16bitowego w Atmedze 32 skonfigurować np. Fast PWM o danej częstotliwości i zobaczyć jego przebieg na oscyloskopie. Częstotliwość w tej chwili jest obojętna bo i tak jakieś bzdury pokazują na oscyloskopie. Zamieszczam poniżej kod konfiguracji jaką teraz zrobiłem
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Procek taktowany na 8MHz
    Efekt na oscyloskopie jest taki jak na screenie załączonym
    Obrazek
    Tutaj w kodzie ustawione jest 100Hz ale testowałem na różnych częstotliwościach posługując się wzorem: F_CPU / (F_PWM * preskaler) - 1
    Oscyloskop podpinam pod pin PD5 - OC1A. Efekt praktycznie jest ten sam przy różnych wartościach OCR1A. Może o czymś nie wiem i nie można takiego przebiegu wyświetlić z Timera1 ale z Timera0 8bit wszystko było dobrze. Proszę o pomoc, korektę kodu, wskazówki etc. Z góry dziękuję.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2023, o 09:57 
    Offline
    Nowy

    Dołączył(a): 10 mar 2020
    Posty: 17
    Pomógł: 0

    ord napisał(a):
    W tym trybie OCR1A pełni funkcję rejestru określającego TOP licznika jest więc oczywistym, że użyteczny przebieg PWM można otrzymać wyłącznie na kanale B licznika.

    Czyli jak bity WGM13 i WGM12 w jakimś trybie znajdują się w TCCR1B to ten PWM trzeba szukać na kanale B?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2023, o 13:26 
    Offline
    Użytkownik

    Dołączył(a): 13 lut 2012
    Posty: 176
    Pomógł: 10

    Jeśli koniecznie chcesz używać PD5 to zapewne jest szansa przez użycie ICR1 zamiast OCR1A (chociaż sam tego nie sprawdzałem).
    Strona 77 z datasheet dla ATmega8
    "The TOP value, or maximum Timer/Counter value, can in some modes of operation be defined
    by either the OCR1A Register, the ICR1 Register, or by a set of fixed values. When using
    OCR1A as TOP value in a PWM mode, the OCR1A Register can not be used for generating a
    PWM output. However, the TOP value will in this case be double buffered allowing the TOP
    value to be changed in run time. If a fixed TOP value is required, the ICR1 Register can be used
    as an alternative, freeing the OCR1A to be used as PWM output"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 paź 2023, o 21:50 
    Offline
    Moderator
    Avatar użytkownika

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

    bluzman napisał(a):
    ord napisał(a):
    W tym trybie OCR1A pełni funkcję rejestru określającego TOP licznika jest więc oczywistym, że użyteczny przebieg PWM można otrzymać wyłącznie na kanale B licznika.

    Czyli jak bity WGM13 i WGM12 w jakimś trybie znajdują się w TCCR1B to ten PWM trzeba szukać na kanale B?


    Ja bym może zadał tobie pytanie - czy to są twoje pierwsze zabawy z PWM i robisz test żeby sobie na to popatrzeć po prostu ? Bo jeśli tak - to proponuję skorzystać z prostych trybów:

    Fast PWM, 8-bit
    Fast PWM, 9-bit

    albo

    Fast PWM, 10-bit

    wtedy będziesz sobie ładnie regulował wypełnienie OCR1A

    _________________
    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  
    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 32 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