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



Teraz jest 20 maja 2026, o 00:34


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 24 mar 2013, o 13:36 
Offline
Użytkownik

Dołączył(a): 25 lut 2013
Posty: 28
Pomógł: 0

Witam :).
Pokonałem PWM'a w rozjaśnianiu i ściemnianiu diody Led. Tylko taka zabawa to trochę za mało i chciałem zrobić z diody RG ( czerwony i zielony ) coś takiego, że najpierw rozjaśnia i ściemnia kolor zielony, a następnie rozjaśnia i ściemnia kolor czerwony. i teraz mam pytanie, czy da radę to zrobić na Timer 8-bit czy na 16-bitowy ? Jeśli na 8-bitowym to póki co napisałem samo rozjaśnianie i ściemnianie diody, tylko nie wiem jak zrobić, aby brał najpierw jeden kolor, a później drugi :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 14:15 
Offline
Użytkownik

Dołączył(a): 25 lut 2013
Posty: 28
Pomógł: 0

Już ogarnąłem sobie przełączanie między kolorami, więc ściemnić czy rozjaśnic to już nie problem :).

------------------------ [ Dodano po: kilkunastu sekundach ]

Jednak jeszcze małej pomocy potrzebuje :).
Timer2 w M8 na ktorym operuję ma jedno wyjście (PB3 ) na sterownie PWM i nie bardzo wiem jak mógłbym sterować 2 koloramy diody za pomocą jednego pinu. Można jakąś podpowiedź ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 15:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2012
Posty: 177
Pomógł: 9

teoretycznie mógłbyś podłączyć

katody/(anody) do pinów mikroprocesora
anode/(katode) do wyjscia timera

i wtedy byś miał taki efekt:
wystawiając 0 na katode A i 1 na katode B sterujes pwm kolorem czerwonym
wystawiając 1 na katode A i 0 na katode B sterujes pwm kolorem zielonym
wystawiając 1 na katode A i 1 na katode B sterujes pwm kolorem pomarańczowym

Ale nie wiem czy na takim efekcie ci zależy, i odrazu mówię że nie wiem czy to będzie działać i czy nie spalisz uC więc lepiej mądrzejszych posłuchaj :P

-----------------
poprawiłem trochę 15:56



Ostatnio edytowano 24 mar 2013, o 15:55 przez NCIS, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 15:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Jeśli chcesz wykorzystywać wyjścia OCx i robić PWM sprzętowy to musisz odpowiednio uaktywniać
te wyjścia. PB3 - OC2; a PB1 (OC1A) lub PB2 (OC1B) - to PWM 16bit .
Trzeba pogrzebać w nocie katalogowej jak to odpalić.(Mając "Niebiańską" książkę to tam kol.Mirek z uporem maniaka do tego zachęca - bo zmusić nie może :) )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 17:59 
Offline
Użytkownik

Dołączył(a): 25 lut 2013
Posty: 28
Pomógł: 0

No to zrobię sobię jak mówicie :P. Na Timer1 wrzuce PWM, a z Timer2 wykorzystam CTC i powinno śmigać ;d. Nie wiem czy uda mi się ustawić Timer1 na PWM, ale będę się starał ;d. a jak coś, to przecież mam Was :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 20:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Cytuj:
a ja jestem leń i odpalam sobie jakiś tam timer sprzętowy w tryb ctc i pwm robię sobie programowo

...ale na takie lenistwo trzeba było sobie najpierw zapracować: poczytać,pomrygać,poczytać,pomrygać :P i są efekty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 21:27 
Offline
Użytkownik

Dołączył(a): 25 lut 2013
Posty: 28
Pomógł: 0

Jednak nie dałem rady .. A właściwie to poległem na początku.. Coś chyba mi nie gra z konfiguracją Timer1 na PWM.. Poprosiłbym o sprawdzenie :). Zamiar jest tak, żeby z wyjscia OCR1A i OCR1B diody się zapaliły, czego uparcie nie robią :<
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 22:30 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

TCCR1A dotyczy obu kanałów (A i B), podobnie TCCR1B i mają różne bity. Zajrzyj do specyfikacji mikrokonrtolera, a sam się przekonasz. OCR1A i OCR1B są 16-bitowe i możesz do nich wpisać maksymalnie 65535.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 22:41 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Zapraszam do obejrzenia noty katalogowej. TCCR1A ma nastepujace bity:
COM1A1 COM1A0 COM1B1 COM1B0 – – WGM11 WGM10
a TCCR1B takie:
ICNC1 ICES1 – WGM13 WGM12 CS12 CS11 CS10
No i zastanaow sie jaki dokladie tryb chcesz ustawic.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2013, o 22:49 
Offline
Użytkownik

Dołączył(a): 25 lut 2013
Posty: 28
Pomógł: 0

Właśnie mam zagadke : czy na Timer1 mogę ustawić 2 razy tryb PWM ? Że na wyjsciu OCR1A i jednocześnie na OCR1B mogę mieć PWM 8-bit ? bo jesli spojrze w note, to TIMER1 ma tryby tj. PWM 8-bit , PWM 9-bit, i pozniej jest PWM. Możecie wyjaśnić czym się różni 8-bit od tego 'zwyklego' ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 mar 2013, o 09:20 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Tak, mozesz miec 2 razy PWM na jednym timerze. Ale jest jedno ale. Oba beda miec taka sama czestotliwosc. Moga roznic sie wypelnieniem.



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

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