<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=20295&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-02-25T10:10:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20295&amp;mode</id>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-25T10:10:50+01:00</updated>
<published>2018-02-25T10:10:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204517#p204517</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204517#p204517"/>
<title type="html"><![CDATA[Re: Timer0 PWM na OC0B]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204517#p204517"><![CDATA[
Nadal nie napisałeś, o jaki mikrokontroler chodzi, więc trudno się odnieść do tego fragmentu kodu, który przedstawiłeś.<br /><br />Mam wrażenie, że nie zrozumiałeś dobrze tego co napisałem. Ty twierdzisz:<div class="quotetitle">TomekTomek55 napisał(a):</div><div class="quotecontent"><br />Dziwne bo dla wyjsc OCR1A i OCR1B dla timera 1 wszystko dziala prawidlowo i Pwm=0 daje calkowite wylaczenie.<br /></div><br />a ja twierdzę, że to nieprawda.<br /><br />Niezależnie od tego, czy użyjesz timera 0 (8-bitowego), czy timera 1 (16-bitowego), przy ustawieniu trybu fast PWM i pinu wyjściowego na &quot;non-inverting&quot; będziesz miał ten pik napięcia dla PWM=0%.<br /><br />Jeśli chcesz osiągnąć efekt taki, że przy PWM=0% na wyjściu będzie ciągły stan niski, a przy PWM=100% - ciągły stan wysoki, użyj innego trybu, np. Phase Correct.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 25 lut 2018, o 10:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[TomekTomek55]]></name></author>
<updated>2018-02-24T20:39:13+01:00</updated>
<published>2018-02-24T20:39:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204496#p204496</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204496#p204496"/>
<title type="html"><![CDATA[Re: Timer0 PWM na OC0B]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204496#p204496"><![CDATA[
Hmm<br />No własnie mam taka konfiguracje jak wklejilem w 1 poscie.Moze takm jest wlasnie blad skoro twierdzisz ze to jest dla timera 1.<br /><br />[syntax=c]//PWM Timer0<br />    //Fpwm&#91;kHz&#93; = Fcpu / preskaler / 256<br />    TCCR0A |= (1 &lt;&lt; COM0B1);                  // set none-inverting mode<br />    TCCR0A |= (1 &lt;&lt; WGM01) | (1 &lt;&lt; WGM00);    // set fast PWM Mode<br />    TCCR0B |= (1 &lt;&lt; CS01) | (1 &lt;&lt; CS00);      // set prescaler to 64 and starts PWM<br />    DDRB   |= (1&lt;&lt;PB4);                       //konfiguracja pin jako wyjscie PWM<br />    OCR0B = 0;                                // set PWM for 0% duty cycle<br />    //PWM Timer0[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4629">TomekTomek55</a> — 24 lut 2018, o 20:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-24T19:29:20+01:00</updated>
<published>2018-02-24T19:29:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204493#p204493</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204493#p204493"/>
<title type="html"><![CDATA[Re: Timer0 PWM na OC0B]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204493#p204493"><![CDATA[
<div class="quotetitle">TomekTomek55 napisał(a):</div><div class="quotecontent"><br />Dziwne bo dla wyjsc OCR1A i OCR1B dla timera 1 wszystko dziala prawidlowo i Pwm=0 daje calkowite wylaczenie.<br /></div><br />Twierdzisz, że jest inaczej, niż producent podaje w nocie katalogowej?<br />Chyba, że używasz tam innego trybu pracy PWM (np. Phase Correct), albo masz inaczej ustawione wyjścia (zanegowane), czyli inaczej ustawione bity COM1x1:COM1x0.<br /><br />Nie wiem, czy zauważyłeś, ale omyłkowo przedstawiłem opis właśnie dla trybu fast PWM timera 1 (czyli 16-bitowego, na co wskazuje wspomniany tam rejestr <strong>OCR1x</strong>). Nie ma to jednak większego znaczenia, bo zasada jest ta sama zarówno dla 8- jak i dla 16-bitowych. Jest jedynie taka możliwość, że przy 16-bitowym masz ustawiony mniejszy preskaler, przez co impuls jest krótszy i go po prostu nie zauważyłeś.<br /><br />Ewentualnie może używasz jakiegoś nowego mikrokontrolera Microchipa, w którym obowiązują inne zasady (nie napisałeś, o jaki mikrokontroler chodzi, więc właściwie nie wiadomo <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 24 lut 2018, o 19:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[TomekTomek55]]></name></author>
<updated>2018-02-24T18:40:41+01:00</updated>
<published>2018-02-24T18:40:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204490#p204490</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204490#p204490"/>
<title type="html"><![CDATA[Re: Timer0 PWM na OC0B]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204490#p204490"><![CDATA[
Dziwne bo dla wyjsc OCR1A i OCR1B dla timera 1 wszystko dziala prawidlowo i Pwm=0 daje calkowite wylaczenie.To mnie zastanawia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4629">TomekTomek55</a> — 24 lut 2018, o 18:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-02-24T17:56:18+01:00</updated>
<published>2018-02-24T17:56:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204486#p204486</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204486#p204486"/>
<title type="html"><![CDATA[Re: Timer0 PWM na OC0B]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204486#p204486"><![CDATA[
W trybie fast PWM to naturalne:<div class="quotetitle">Atmel/Microchip napisał(a):</div><div class="quotecontent"><br />The extreme values for the OCR1x Register represents special cases when generating a PWM waveform<br />output in the fast PWM mode. <strong>If the OCR1x is set equal to BOTTOM (0x0000) the output will be a narrow<br />spike for each TOP+1 timer clock cycle.</strong> Setting the OCR1x equal to TOP will result in a constant high or<br />low output (depending on the polarity of the output set by the COM1x1:0 bits.)<br /></div><br /><br />Można tego uniknąć stosując negację wyjścia OC0B (odpowiednio modyfikując schemat i/lub program), ale wtedy nie da się osiągnąć pełnych 100%. Można też ewentualnie użyć innego trybu, który może nie wygeneruje tak dużej częstotliwości PWM, jak w trybie fast, ale jak ktoś stosuje preskaler 64, to chyba raczej mu na tym nie zależy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 24 lut 2018, o 17:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[TomekTomek55]]></name></author>
<updated>2018-02-24T17:07:02+01:00</updated>
<published>2018-02-24T17:07:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204483#p204483</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204483#p204483"/>
<title type="html"><![CDATA[Timer0 PWM na OC0B]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20295&amp;p=204483#p204483"><![CDATA[
Jak w tytule czy jest możliwe aby sygnal PWM z Timera0 był generowany na pinie OC0B<br /><br />Mam taka konfiguracje<br />[syntax=c]//PWM Timer0<br />//Fpwm&#91;kHz&#93; = Fcpu / preskaler / 256<br />TCCR0A |= (1 &lt;&lt; COM0B1);                  // set none-inverting mode<br />TCCR0A |= (1 &lt;&lt; WGM01) | (1 &lt;&lt; WGM00);    // set fast PWM Mode<br />TCCR0B |= (1 &lt;&lt; CS01) | (1 &lt;&lt; CS00);      // set prescaler to 64 and starts PWM<br />DDRB   |= (1&lt;&lt;PB4);                       //konfiguracja pin jako wyjscie PWM<br />OCR0B = 0;                                // set PWM for 0% duty cycle<br />//PWM Timer0[/syntax]<br /><br /><br />Ale wyjscie zachowuje sie dziwnie bo przy OCR0B=0 czyli PWM=0 generuje mi na wyjsciu waskie spilki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4629">TomekTomek55</a> — 24 lut 2018, o 17:07</p><hr />
]]></content>
</entry>
</feed>