Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 16 sty 2025, o 23:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
 Tytuł: AT32 i zasoby
PostNapisane: 9 wrz 2013, o 23:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Mam układ na Mega32. Używam w nim wszystkich timerów: 2 do PWM (tim1 i tim2) i Timer0 do sterowania "procesami". Chciałbym dodać obsługę podczerwieni, sposób z ICP zaprezentowany przez Mirka w książce jest bardzo fajny. Ale nie bardzo się "mieści" bo nie ma już wolnego timera 16 bit.
Czy można jednocześnie używać Tmera1 do PWM i do ICP? Chyba nie bardzo...
Albo może jakiś inny sprawdzony sposób na obsługę IR ?

Wiem, że można zrobić PWM programowy, ale nie wiem czy iść w te stronę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2013, o 23:15 
Offline
Moderator
Avatar użytkownika

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

No programowy PWM nie zawsze może być wydolny - tzn może czasem spowalniać za mocno wszystkie procesy - więc to zależy ...

obsługę podczerwieni można zrobić inaczej, niekoniecznie na ICP (timer1) no ale tak czy inaczej na pewno trzeba hmm tzn warto użyć jakiegoś timera sprzętowego i wejścia INTx do tego, ale u ciebie z tego co mówisz jest z nimi już krucho ...

dlatego jeśli masz spory zapas czasu w programie głównym to sprawdź czy dwa PWMy da radę zrobić programowo i nie będzie to kolidować - często da radę ... no ale wiadomo - wszystko trzeba sobie przetestować.

Ja np gdy robię projekty to Timer1 zostawiam jako NAJWYŻSZE dobro (jak złote runo) na sam koniec - zwykle przeznaczając go właśnie na obsługę podczerwieni i wszystko inne temu podporządkowuję tzn staram się ... I też często gdy akurat mam potrzebę PWMów to próbuję pojechać na programowych ... zwykle okazuje się że daje radę i to nawet na 9-bitowych ;) ale czasem i mniejsze bywają potrzebne

gdy zaś jest za mało timerów (trzech timerów) to wtedy rozglądam się za prockiem posiadającym ze 4 sztuki timerków.

_________________
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  
PostNapisane: 9 wrz 2013, o 23:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

PWMy są trzy (dwa z Timera1 i jeden z Timera2) bo to do RGB. Projekt lampki ambientowej. Zresztą dorobiłem wczoraj sterowanie taką funkcję jak sterowanie kolorem przez potencjometr (ADC), bardzo fajnie działa. No ale właśnie chciałem dać jeszcze sterowanie z pilota.
Spróbuję chyba zrobić PWM programowy, zobaczę co z tego wyjdzie. Trzy kanały 8 bitów.

Chyba, żeby np. dać Mege88 ona ma chyba dla Timera0 i Timera2 po dwa kanały PWM i wtedy Timer1 byłby wolny...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2013, o 23:45 
Offline
Moderator
Avatar użytkownika

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

sq8dsr napisał(a):
Chyba, żeby np. dać Mege88 ona ma chyba dla Timera0 i Timera2 po dwa kanały PWM i wtedy Timer1 byłby wolny...


No dokładnie ;) to też bardzo dobry pomysł przecież - nawet 4 timerów nie potrzeba

_________________
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  
PostNapisane: 9 wrz 2013, o 23:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

No właśnie, hehehe, że też wcześniej na to nie wpadłem :P To forum w odróżnieniu pobudza do myślenia. Wpływ kolektywnej życzliwości intelektualnej :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 wrz 2013, o 11:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

No i zadziałało. Są trzy PWMy 8 bit, obsługa ICP oraz timer programowy na Mega88.
Timer programowy trochę w nietypowy sposób, bo uzyskiwany przez przerwanie compare od OCR2A przy Timerze pracującym w trybie FAST PWM, ale skoro ten kanał nie jest używany przez PWM, to też może dawać compare przy stałej wartości. Przerwanie zachodzi co około 500us, więc dość często. Ale Proc jest taktowany 33 MHz, a obsługa przerwania i tak zwiera tylko jedną instrukcję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 wrz 2013, o 00:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

squeez napisał(a):
Przy M88 można się pokusić o zrobienie timera na watchdogu.

Bardzo dobry pomysł... W sumie to dodatkowy timer, prosty ale mimo wszystko.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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