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 5 cze 2025, o 20:01


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 19 sie 2015, o 22:07 
    Offline
    Nowy

    Dołączył(a): 10 mar 2015
    Posty: 9
    Pomógł: 0

    Witam,
    projektuję sterownik silnika, w którym zaimplementowany jest regulator PI. Napotkałem problem synchronizacji. Otóż wykorzystuję TIMER1 atmegi32 w trybie FAST, PWM 10-bit (mode 7 z noty katalogowej), preskaler ustawiony na 1. W jakich odstępach czasu powinien być realizowany pomiar i zadawanie nowej (wyliczonej przez regulator) wartości rejestru OCR1?
    Znalazłem kod, w którym autor wykorzystuje takie same ustawienia jak ja i funkcje regulatora wywołuje co 1ms. Dlaczego?
    Pozdrawiam i liczę na szybką pomoc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sie 2015, o 21:26 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2012
    Posty: 291
    Lokalizacja: okolice Opola
    Pomógł: 20

    Ważniejsza sprawa co jaki czas masz "świeży" wynik pomiaru prędkości, jak wykonujesz pomiar? Enkoder? Bo nic ci nie da (a nawet zaszkodzi) wyliczenie regulacji jeżeli nie będzie aktualnego pomiaru prędkości. Dlatego jeżeli masz np 1 albo 2 impulsy na obrót to mniejsze prędkości sobie odpuść. Natomiast jeżeli masz jakiś sensowny enkoder to regulator możesz wywoływać co zbocze z enkodera, pamiętając aby przy całkowaniu nie zapomnieć o pomiarze czasu dT

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2015, o 15:24 
    Offline
    Użytkownik

    Dołączył(a): 01 sty 2014
    Posty: 116
    Pomógł: 14

    Zasadniczo im częściej liczysz wszystko tym lepiej. Jeśli masz możliwość robienia wszystkich obliczeń kilka razy szybciej niż okres timera to zostaw tak jak jest albo jak nie dajesz rady wyrobić się z obliczeniami na czas, to chociaż całkuj najszybciej jak możesz a całą reszte licz na przyklad w przerwaniu od timera.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 sie 2015, o 14:22 
    Offline
    Nowy

    Dołączył(a): 10 mar 2015
    Posty: 9
    Pomógł: 0

    OK, zrozumiałem już. Teraz mam inne pytanie (też związane z PWM). Mianowicie w atmega32 ustawiłem Timer1 w tryb PWM z korekcją fazy (mode 3). Chcę wywoływać przerwanie w chwili, gdy licznik skończy zliczać w górę - ustawienie flagi OCnA/ICFn. Czy tej fladze odpowiada wektor przerwania TIMER1_COMPA_vect?



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