<?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=23374&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-10-08T19:22:09+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23374&amp;mode</id>
<entry>
<author><name><![CDATA[stepbystep]]></name></author>
<updated>2020-10-08T19:22:09+01:00</updated>
<published>2020-10-08T19:22:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229336#p229336</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229336#p229336"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229336#p229336"><![CDATA[
Rzeczywiście, można tak, jak piszesz.<br />Ale zrobiłem trochę inaczej. Skorzystałem z Mirkowego gamma correction w mkAVR Calculator i utworzyłem tablicę, która ma nie 256, tylko 255 elementów i ostatni ma wartość 255. Dzięki temu, w ostatnim przebiegu pętli, dla i=254, OCR0=255.<br />I mam dwa w jednym: dioda gaśnie całkowicie, no i zmiana jasności jest &quot;przyjemniejsza&quot; dla oka. Gamma ustawiłem na 0,5.<br />Coraz bardziej mi się podoba to programowanie.  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21593">stepbystep</a> — 8 paź 2020, o 19:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2020-10-08T18:19:37+01:00</updated>
<published>2020-10-08T18:19:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229335#p229335</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229335#p229335"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229335#p229335"><![CDATA[
<div class="quotetitle">stepbystep napisał(a):</div><div class="quotecontent"><br />Jedyne co muszę zrobić, to zaraz za pierwszą pętlą ręcznie dodać OCR0=255, bo pętla kończy się na wartości 254<br /></div><br />Nie musisz. Możesz zrobić tak, żeby pętla kończyła się na wartości 255. Wystarczy zmienić typ zmiennej <strong><span style="color: #0000FF">i</span></strong> na 16-bitowy oraz zmienić warunek na &lt;=:[syntax=c]int16_t i;<br />    for (i = 0; i &lt;= 255; i++) { ... };[/syntax]<br />Wprawdzie obsługa pętli wydłuży się na pewno o kilka taktów ze względu na operacje na liczbie 16­­­-­­­bitowej zamiast na 8-bitowej, jednak - biorąc pod uwagę te opóźnienia wewnątrz pętli - jest to bez większego znaczenia (będzie niezauważalne).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 8 paź 2020, o 18:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[stepbystep]]></name></author>
<updated>2020-10-08T17:36:50+01:00</updated>
<published>2020-10-08T17:36:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229333#p229333</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229333#p229333"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229333#p229333"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Twoim zadaniem jest takie dobranie fazy PWM lub polaryzacji diody, aby wygaszenie następowało dla OCR0=255.<br /></div><br /><br />No i działa! Jedyne co muszę zrobić, to zaraz za pierwszą pętlą ręcznie dodać OCR0=255, bo pętla kończy się na wartości 254.<br />Dzięki <strong>andrews</strong>.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21593">stepbystep</a> — 8 paź 2020, o 17:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2020-10-06T19:02:30+01:00</updated>
<published>2020-10-06T19:02:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229294#p229294</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229294#p229294"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229294#p229294"><![CDATA[
<div class="quotetitle">stepbystep napisał(a):</div><div class="quotecontent"><br />O co chodzi z odwróceniem fazy PWM? Chodzi zmianę z clear at TOP na set at TOP?<br /></div><br />Dokładnie o to chodzi (tylko zamiast &quot;at TOP&quot; powinno być &quot;at BOTTOM&quot;).<br />Zasada jest następująca:<br />W trybie Fast PWM dla wartości OCR0=0 zawsze będzie glitch. Jeśli podłączyłeś diodę tak, że zerowa wartość OCR0 odpowiada wygaszeniu diody, to zawsze będziesz miał taki efekt. Twoim zadaniem jest takie dobranie fazy PWM lub polaryzacji diody, aby wygaszenie następowało dla OCR0=255. Wtedy oczywiście też będzie glitch, ale przy pełnej jasności (to znaczy przy OCR0=0 uzyskasz wypełnienie 255/256), ale tego nie będzie widać (chyba, że zmienisz preskaler na dużą wartość, wtedy być może będzie widać chwilowe wyłączenie świecenia).<br />Jeśli koniecznie chcesz uzyskać pełną skalę regulacji PWM (100%), tak aby nie było żadnych glitchy, musisz użyć trybu Phase Correct.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 6 paź 2020, o 19:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-10-06T16:05:02+01:00</updated>
<published>2020-10-06T16:05:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229292#p229292</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229292#p229292"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229292#p229292"><![CDATA[
weź zwykłą diodę LED luzem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 paź 2020, o 16:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[stepbystep]]></name></author>
<updated>2020-10-06T15:58:25+01:00</updated>
<published>2020-10-06T15:58:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229291#p229291</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229291#p229291"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229291#p229291"><![CDATA[
Hmm... dziwna sprawa. Zrobiłem, jak Mirek radzi. Czyli: Pin PB3 Atmegi32 podłączyłem do anody LED, czyli do pinu DIG1 złącza DIS2. Pin A ze złącza J30 podłączyłem do GND w złączu J5. I efekt bez zmian. Nadal nie mam pełnego wygaszenia diody. Zestaw zasilam bezpośrednio z portu USB komputera. Przetwornica PWR3 wyjęta. Kod jak poniżej.<br />O co chodzi z odwróceniem fazy PWM? Chodzi zmianę z clear at TOP na set at TOP?<br /><br />[syntax=c]while (1) {<br />for (i = 0; i &lt; 255; i++) {//rozjaśnianie<br />OCR0 = i;<br />_delay_ms(8);<br />}<br />_delay_ms(1000);<br /><br />for (i = 255; i; i--) {//ściemnianie<br />OCR0 = i;<br />_delay_ms(8);<br />}<br />_delay_ms(1000);                             //tutaj przez 1s powinno być całkowite wygaszenie<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21593">stepbystep</a> — 6 paź 2020, o 15:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-10-06T05:39:16+01:00</updated>
<published>2020-10-06T05:39:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229278#p229278</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229278#p229278"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229278#p229278"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Czy ktoś może udzielić rady, jak zrobić aby dioda gasła całkiem?<br /></div><br />W bluebooku jest to dokładnie opisane, powodem są tzw &quot;glitche&quot; .... wystarczy że odwrotnie podłączysz diodę do pinu czyli anodą a nie katodą i zjawiska nie zauważysz. Można też odwrócić fazę PWM.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 paź 2020, o 05:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[P3ndz3l3k]]></name></author>
<updated>2020-10-05T21:09:12+01:00</updated>
<published>2020-10-05T21:09:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229273#p229273</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229273#p229273"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229273#p229273"><![CDATA[
Nie pamiętam dokładnie ale Mirek chyba pokazywał w jakimś poradniku, że przy sprzętowym PWM przy minimalnej szerokości impulsu <br />zawsze jest taka szpilka na wyjściu więc dioda nie zgaśnie.<br />Tylko problem bo chyba trzeba programowo ustawić pin wyjściowy w stan niski albo chyba używać odwrotnego podłączenia diody a wartość rejestru Xor-ować.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3709">P3ndz3l3k</a> — 5 paź 2020, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wirnick]]></name></author>
<updated>2020-10-05T20:13:03+01:00</updated>
<published>2020-10-05T20:13:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229270#p229270</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229270#p229270"/>
<title type="html"><![CDATA[Re: Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229270#p229270"><![CDATA[
Witaj! <br />Wyślij informację na PORT PB3, że ma być 1(jeśli katoda diody jest podłączona do portu PB3. a anoda do VCC).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9272">Wirnick</a> — 5 paź 2020, o 20:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[stepbystep]]></name></author>
<updated>2020-10-05T18:43:32+01:00</updated>
<published>2020-10-05T18:43:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229266#p229266</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229266#p229266"/>
<title type="html"><![CDATA[Atmega32, sprzętowy PWM -dioda nie gaśnie całkiem, żarzy się]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23374&amp;p=229266#p229266"><![CDATA[
Cześć Wszystkim,<br /><br />Ustawiłem rejestr TCCR0 zgodnie z kodem (no prawie zgodnie) na stronie 240 w BB.<br />Mimo iż w pętli głównej wpisuję na sztywno wartość OCR0 = 0, to i tak dioda nie gaśnie całkiem, tylko się żarzy.<br />Tak, jakby współczynnik wypełnienia nie był równy 0 tylko 1/256.<br />Widać to mruganie przy zwiększeniu preskalera do 1024.<br />Czy ktoś może udzielić rady, jak zrobić aby dioda gasła całkiem?<br />Z góry dziękuję za pomoc.<br /><br />[syntax=c]int main(void) {<br /><br />DDRB |= (1 &lt;&lt; PB3);<br /><br />TCCR0 |= (1 &lt;&lt; WGM00) | (1 &lt;&lt; WGM01);   //Fast PWM<br />TCCR0 |= (1 &lt;&lt; COM01) | (1 &lt;&lt; COM00);<br />TCCR0 |= (1 &lt;&lt; CS00) | (1 &lt;&lt; CS01);<br /><br />uint8_t i;<br /><br />while (1) {<br />OCR0=0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21593">stepbystep</a> — 5 paź 2020, o 18:43</p><hr />
]]></content>
</entry>
</feed>