PWM na 0% nie gaśnie ??!!

Właśnie w weekendzik sobie poskładałem diodę na PWM przez tranzystor (atmega8). Wykorzystałem Timer1 w opcji 8 bitowej. Do tego dwa przyciski: zwiększ i zmniejsz % PWM oraz wyświetlacz który pokazuje wartość PWM 0-255. Działa jak należy tylko zauważyłem jedną rzecz. Jak zmniejszam PWM do zera to dioda nadal świeci. Oczyweiście stosunkowo słabo ale nie gaśnie całkiem. Dorzyciłem do kodu że jak PWM=0 i nacisnę przycisk zmniejsz to wyłącza całkiem timer i wtedy gaśnie. I tu pytanie czy zejście z wartościa do zera nie powinno powodować całkowitego zgaśniecia LEDa? A drugie pytanie czy dioda na PWM o wartości wypełnienia 1% będzie widocznie świeciła? Wydaje mi się że to zbyt mało pałeru żeby było widać świecenie.

Rafał

Reply to
invalid unparseable
Loading thread data ...

Kacper napisał(a):

Normalne, zobacz jak dziala timer w pwm. Gdy ustawisz 0 - to i tak generuje impuls o wypelnieniu 1/256. Jak wpiszesz 1 => 2/256, itd az do wpisu 255 ktory daje wypelnienie 256/256 = 100% Jesli zatrzymywanie timera ci nie odpowiada, to zawsze jeszcze mozesz wylaczac "do zera" przez przestawienie DDRx + PORTx na wejscie bez pullupa.

Reply to
BartekK

hmmm...jak dasz zero to masz zero, zadnej szpilki na oscyloskopie nie widac, a jesli juz istnieje napewno ta szpilka jest za krotka aby bylo widac swiecenie diody pozdr

Reply to
pawelmatecki

snipped-for-privacy@op.pl napisał(a):

Moze to zalezy w ktora strone sie przepelnia, ale napewno mam szpilke o szerokosci 1/256 okresu, sprawdzone i zaobserwowane na oscyloskopie.

Reply to
BartekK

Użytkownik "BartekK" snipped-for-privacy@drut.org napisał w wiadomości news:ef868v$smh$ snipped-for-privacy@nemesis.news.tpi.pl...

Bo to zależy czy diodę łączysz do masy czy do zasilania Wypełnienie przyjmuje wartości od 0 do 255 względem masy

W przypadku autora wątku dla zera ma nie świecić ( zakładam, że ma negujący tranzystor z diodą w kolektorze, a nie wtórnik) i maksymalne świecenie jest dla 255 ( i ono jest przerywane na 1/256)

Jeśli podłączy się odwrotnie to ta 1/256 okresu jest wyraźnie widoczna w świeceniu diody

Tak czy siak oscyloskop jest potrzebny. Może ma coś zwalone w programie i czasami jakiś impuls jest wysyłany

Reply to
Kafal

Nie da sie w jednym bajcie okreslic 257 mozliwych stanow [od 0 do

256/256]. Wiec szpilka bedzie .. tylko przy 0 czy przy 255 :-)

a 1/256 na diodzie bedzie widac.

J.

Reply to
J.F.

A zgadza się tranzystor jest w takim układzie. Wyjście z uC do bazy a w kolektorze dioda przez rezystorek. Zastanawiałem się tylko dlaczego przy wartości porównania dla timera równej

0 (zero) PWM podaje jakąś szpilkę, a nawet jeśli ( z czego to wynika) to nie myślałem że PWM o wypełnieniu 1/256 może być zauważalne na takim układzie z diodą.

------------ A gdybym przestawił timer żeby ustawiał bit przy porównaniu, a nie kasował (czy odwrotnie bo nie pamiętam jak mam teraz) to coś zmieni przy kluczowaniu diody tranzystorem?

Rafał

Użytkownik "Kafal" snipped-for-privacy@gl.pl napisał w wiadomości news:ef86pd$ir9$ snipped-for-privacy@news.onet.pl...

Reply to
invalid unparseable

uzywam PWM 16bit oraz 8 bit w atmega128 oraz mega8 bit jako precyzyjny przetw C/A (nie ma praktycznie bledow rozniczkowych i calkowych) - wyjscie proca przepuszczam przez HC04 zasilane ze zrodla referencyjnego, potem LPF 5 rzedu I nie zauwazylem zeby przy wartosci 0 bylo cokolwiek na wyjsciu, wszystko sie ladnie zgadza z tym co byc powinno do do ulamka mV moze kolega uzywa jakiegos dziwnego trybu pracy timera?

Reply to
Greg(G.Kasprowicz

zawsze mzoesz dac if wartosc = 0, wylacz port.. w attiny2313 szpilka takze jest ale w atmega128 nie zauwazylem takowej zreszta jest ona sporo krotsza niz wlasciwy impuls, tak wiec po scalkowaniu nie odgrywala wiekszej roli.

Reply to
Greg(G.Kasprowicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.