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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-07-14T14:31:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=15592&amp;mode</id>
<entry>
<author><name><![CDATA[Jagermeister]]></name></author>
<updated>2016-07-14T14:31:48+01:00</updated>
<published>2016-07-14T14:31:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163992#p163992</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163992#p163992"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163992#p163992"><![CDATA[
Jeżeli interesujemy się sterowaniem fazowym żarówek, to warto zapoznać się z artykułem:<br /><a href="http://www.esp8266-projects.com/2016/04/mpdmv4-mains-dimmerswitch.html"  class="postlink">http://www.esp8266-projects.com/2016/04/mpdmv4-mains-dimmerswitch.html</a><br /><br />Są tam ciekawie opisane problemy jakie sterowanie fazowe sprawia mikrokontrolerom oraz jest podane dość uniwersalne rozwiązanie takiego sterowania fazowego.<br /><br />Oczywiście rozwiązania zaprezentowanego w powyższym linku nie należy postrzegać jako zamiennik do układu opisywanego w tym wątku (to by była trochę armata na wróble...), ale warto rozważyć ten układ, jeśli ktoś planuje wykorzystać mały mikrokontroler do sterowania większą liczbą żarówek i/lub taśm LED. <br /><br />Od niedawna (ok. 1 rok) interesuję się elektroniką i mikrokontrolerami, na razie jestem na etapie testowania/próbowania różnych rozwiązań na samodzielnie projektowanych i wykonywanych płytkach prototypowych, metodą chemiotransferu. Zmagam się z nauką C i poznawaniem chimerycznego ESP8266 (choć ATmegę 8 również nieco poznałem). Innymi słowy bardzo początkujący jestem. Lubię czytać ATNELowskie forum i obejrzałem dość sporo poradników.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11772">Jagermeister</a> — 14 lip 2016, o 14:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-07-11T16:54:35+01:00</updated>
<published>2016-07-11T16:54:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163860#p163860</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163860#p163860"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163860#p163860"><![CDATA[
Okej! Dzięki za wyczerpującą odpowiedź. W wolnej chwili usiądę do tego <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 11 lip 2016, o 16:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-07-07T16:33:33+01:00</updated>
<published>2016-07-07T16:33:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163588#p163588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163588#p163588"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163588#p163588"><![CDATA[
Właśnie w dwóch zdaniach to się nie da <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />No ale spróbuję nakreślić rys:<br /><br />Na początek pin mikrokontrolera oznaczony jako OC1A należy ustawić na wyjście w stanie wysokim. Stan niski oznacza przewodzenie optotriaka, więc żarówka mogłaby niepotrzebnie mignąć po włączeniu zasilania.<br /><br />Zakładajmy na razie dla uproszczenia taktowanie 1MHz.<br /><br />Timer 1 należy skonfigurować  do pracy np. w trybie 14: Fast PWM z wartością TOP w ICR1.<br /><br />Wartość ICR1 powinna trzeba dobrać tak, aby opóźnienie było równe tyle, ile czas od zbocza narastającego impulsu detekcji zera do momentu wyłączenia triaka. Wyłączenie powinno się odbyć nieco przed ponownym zboczem narastającym impulsu detekcji. Myślę, że 200us wyprzedzenia powinno wystarczyć, zbocza są między sobą mniej więcej 10000 taktów, więc 9800 powinno być odpowiednią wartością rejestru ICR1.<br /><br />Pin OC1A konfigurujemy w tryb non-inverting, czyli tak, aby zerował się po wystąpieniu porównania i ustawiał po &quot;przekręceniu&quot; licznika. Czyli w rejestrze TCCR1A bit COM1A1=1 a bit COM1A0=0.<br /><br />Wartością rejestru OCR1A regulujemy jasność żarówki. Im mniejsza wartość, tym żarówka będzie świecić jaśniej. Nie należy jednak zaczynać od wartości zero, ponieważ zbocze narastające impulsu detekcji jest nieco przed faktycznym przejściem przez zero, a triaka powinniśmy włączać krótko po przejściu przez zero. Ponieważ nie wiesz jakie jest faktyczne opóźnienie pomiędzy zboczem narastającym impulsu a punktem zerowym sinusoidy, należy dobrać tę wartość doświadczalnie, przy czym lepiej nie schodzić poniżej powiedzmy (dla bezpieczeństwa) 200.<br /><br />Wartość OCR1A nie powinna też zbytnio zbliżyć się do wartości ICR1, bo wtedy impuls wyzwalający triaka może być zbyt krótki.<br /><br />Myślę, że wstępnie można ustalić minimalną wartość OCR1A na 1000, a maksymalną na 9500. Później można ewentualnie manipulować tymi wartościami, aby uzyskać pełną regulację. Zawsze lepiej to się robi przy użyciu oscyloskopu.<br /><br />Do szczęścia potrzebne są jeszcze przerwania.<br /><br />Pierwsze przerwanie tak jak do tej pory, od zbocza narastającego impulsu detekcji, jednak w nim wykonujemy tylko jedną operację: ustawiamy bit CS10 w rejestrze TCCR1B. To spowoduje wystartowanie timera 1 bez preskalera.<br />Po doliczeniu do wartości OCR1A pin OC1A załączy triaka.<br /><br />Drugie przerwanie od przepełnienia timera 1. Tutaj tylko wyłączamy taktowanie timera (zerujemy bit CS10 w rejestrze TCCR1B). Dobrze byłoby też wyzerować rejestr TCNT1. Nie jest to bardo konieczne, ale może trochę poprawi dokładność i powtarzalność czasu załączenia triaka.<br />Po doliczeniu do wartości ICR1 timer 1 się wyzeruje i pin OC1A wyłączy triaka.<br /><br />W ten sposób masz rozdzielczość (9500-1000)=<strong>8500 stopni regulacji</strong> i tylko dwa przerwania wykonujące się krócej niż Twoje (łącznie nie powinny przekroczyć 100 taktów) i to po jednym razie na każde 10000 impulsów (z czego przez ok. 9900 taktów mikrokontroler będzie się nudził <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />).<br /><br />Zanim zaczniesz <strong>sprawdź</strong> jednak, czy Twoja biblioteka od DS18B20 <strong>nie korzysta czasami z timera 1</strong>, bo cały plan na nic. Trzeba będzie wtedy użyć innego timera (pozostają tylko 8-bitowe). Oczywiście byłoby trzeba wtedy zastosować preskaler i odpowiednio przeliczyć wartości opóźnień. Konfiguracja timera też może się nieco różnić.<br /><br />Z kodem Ci zbytnio nie pomogę, bo z Arduino jakoś nie było mi nigdy po drodze <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />...no i nie udało się w dwóch zdaniach jak widzisz <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Pozdrawiam<br />Andrzej<br /><br />PS.<br />Jako ciekawostkę dodam, że w ten sposób można, korzystając z jednego impulsu detekcji, sterować dwoma niezależnymi obciążeniami wykorzystując tylko jeden timer (mowa o pinie OC1B i rejestrze OCR1B).<br /><br /><strong>No i życzę powodzenia w realizacji algorytmu.</strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 7 lip 2016, o 16:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-07-07T14:24:32+01:00</updated>
<published>2016-07-07T14:24:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163583#p163583</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163583#p163583"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163583#p163583"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Ja bym to zrobił inaczej<br /></div><br /><br />Więc może tylko napiszesz w dwóch zdaniach jak byś to zrobił. Może się zasugeruję i coś lepszego wymyślę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 7 lip 2016, o 14:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-07-07T12:57:14+01:00</updated>
<published>2016-07-07T12:57:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163578#p163578</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163578#p163578"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163578#p163578"><![CDATA[
<div class="quotetitle">Stachulec napisał(a):</div><div class="quotecontent"><br />Więc może zewnętrzny kwarc?<br /></div><br />Jeśli chcesz zwiększyć częstotliwość taktowania mikrokontrolera, to wystarczy ustawić fusebit CKDIV8 aby ustawić taktowanie na 8MHz.<br /><br />Ogólnie moim zdaniem wymyśliłeś niezbyt dobry algorytm sterowania. Przerwanie zajmujące zapewne kilkadziesiąt taktów zegara co 200 taktów zegara to nie najlepszy pomysł. Nie znam Twojego kodu obsługi DS18B20 (ani ogólnie Arduino), ale jeśli ten kod także korzysta z przerwań, to prawdopodobnie gubisz niektóre przerwania i stąd ten efekt przygasania. Być może zwiększenie taktowania pomoże.<br /><br />Ja bym to zrobił inaczej, ale to nieco bardziej zaawansowane rozwiązanie, więc kodu za Ciebie nie napiszę, tym bardziej, że nie znam Arduino.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 7 lip 2016, o 12:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-07-07T12:00:54+01:00</updated>
<published>2016-07-07T12:00:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163571#p163571</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163571#p163571"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163571#p163571"><![CDATA[
Więc może zewnętrzny kwarc?<br /><br />Podłączyłem do Arduino DS18b20. Podczas obsługi termometru żarówka przygasa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Chyba obok sterowania triakiem już nic więcej nie dołożę :/<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 7 lip 2016, o 12:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-07-05T18:19:54+01:00</updated>
<published>2016-07-05T18:19:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163470#p163470</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163470#p163470"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163470#p163470"><![CDATA[
<div class="quotetitle">Stachulec napisał(a):</div><div class="quotecontent"><br />Popracuje jeszcze nad szerokością szpilki i zobaczę jak to się przełoży np. na czas pomiędzy wykrywanymi zerami.<br /></div><br />Czas &quot;pomiędzy zerami&quot; się raczej nie zmieni, powtarzalność też raczej nie. Na pewno zmieni się odstęp czasowy pomiędzy zboczem narastającym i opadającym impulsu detekcji zera.<br /><br />Niemniej nie rób impulsu zbyt wąskiego, bo przy zastosowanym przez Ciebie sposobie wyłączania triaka może nie zdążać się wyłączyć. Jak się domyślam masz taktowanie 1MHz, więc pomiędzy zboczem narastającym impulsu detekcji (wywołującym przerwanie) a faktycznym przełączeniem pinu sterującego triakiem jest pewne opóźnienie (być może nawet rzędu kilkudziesięciu mikrosekund).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 5 lip 2016, o 18:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-07-05T17:51:12+01:00</updated>
<published>2016-07-05T17:51:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163469#p163469</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163469#p163469"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163469#p163469"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Czy zrobiłeś zmianę w kodzie, o której pisałem?<br /></div><br /><br />Zrobiłem. Działa! Żarówka nie tętni <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Zeruje TCNT1 i jest git. <br /><br />Popracuje jeszcze nad szerokością szpilki i zobaczę jak to się przełoży np. na czas pomiędzy wykrywanymi zerami.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Czy zrobiłeś zmianę w kodzie, o której pisałem?<br /></div><br /><br />Zrobiłem. Działa! Żarówka nie tętni <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Zeruje TCNT1 i jest git. <br /><br />Popracuje jeszcze nad szerokością szpilki i zobaczę jak to się przełoży np. na czas pomiędzy wykrywanymi zerami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 5 lip 2016, o 17:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-07-01T06:21:52+01:00</updated>
<published>2016-07-01T06:21:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163182#p163182</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163182#p163182"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163182#p163182"><![CDATA[
No cóż, chciałem tylko zwrócić uwagę, że zwiększanie wartości rezystora R3 spowoduje akurat efekt odwrotny, niż opisałeś (czyli zmniejszenie, a nie zwiększenie szerokości impulsu). W związku z tym, że autor tematu najprawdopodobniej nie posiada oscyloskopu, mógłby niepotrzebnie pobłądzić szukając rozwiązania.<br /><br />Jak wcześniej napisałem, moim zdaniem (popartym jednak pewnym doświadczeniem), lepiej mieć zbocza impulsu detekcji zera jak najbliżej punktu zerowego, a moment wyłączenia triaka bazować na czasie od poprzedniego impulsu.<br /><br />Niemniej biorąc pod uwagę, że autor wątku najwyraźniej ignoruje moje porady (nie, żebym się obraził <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />), myślę że nie ma sensu drążyć tematu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 1 lip 2016, o 06:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-07-01T05:47:04+01:00</updated>
<published>2016-07-01T05:47:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163181#p163181</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163181#p163181"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163181#p163181"><![CDATA[
Witam<br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Mam wrażenie, że kolega się na mnie obraził.<br /></div><br />Zapewniam, że absolutnie nie - odebrałem to raczej jako oczekiwanie na potwierdzenie mojej tezy, więc odpowiedziałem zgodnie z prawdą. Forum nie służy do wzajemnego obrażania się na siebie tylko do proponowania różnych ( w miarę bezpiecznych  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ) rozwiązań - a nóż ktoś trafi...<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 1 lip 2016, o 05:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-30T12:53:19+01:00</updated>
<published>2016-06-30T12:53:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163139#p163139</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163139#p163139"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163139#p163139"><![CDATA[
Mam wrażenie, że kolega się na mnie obraził.<br />Nie było moim zamiarem kogokolwiek urazić. Każdy ma prawo się pomylić, każdemu się to zdarza, a moja korekta nie była chyba jakoś szczególnie niegrzeczna?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 30 cze 2016, o 12:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-06-30T11:19:47+01:00</updated>
<published>2016-06-30T11:19:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163136#p163136</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163136#p163136"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163136#p163136"><![CDATA[
Witam<br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Jesteś tego pewien?   <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br />...dlatego zwyczajowo przed każdą moją sugestią dodaję &quot;w.g mnie&quot; - nie jest to ani nakaz ani pewnik - to jest odpowiednik &quot;ja bym może spróbował...&quot;<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 30 cze 2016, o 11:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-30T09:56:22+01:00</updated>
<published>2016-06-30T09:56:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163132#p163132</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163132#p163132"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163132#p163132"><![CDATA[
<div class="quotetitle">kicajek napisał(a):</div><div class="quotecontent"><br />R3 - zwiększając jego wartość rozszerzasz szerokość szpilki...<br /></div><br />Jesteś tego pewien? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />W ogóle myślę, że nie tędy droga. Impuls powinien być możliwie jak najwęższy (zbocza jak najbliżej punktu zerowego sieci), ponieważ dokładniej i bardziej powtarzalnie można określić, kiedy przejście przez zero faktycznie następuje.<br />Moment wyłączenia triaka w odpowiednim momencie należy wyznaczać poprzez odmierzenie czasu od poprzedniego impulsu.<br /><br />Poza tym, jak tak się przyjrzałem dokładniej schematowi, wartościom rezystorów i parametrom transoptora, to chyba jednak ten impuls jest dosyć szeroki, może nawet za szeroki...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 30 cze 2016, o 09:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-06-30T06:38:21+01:00</updated>
<published>2016-06-30T06:38:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163124#p163124</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163124#p163124"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163124#p163124"><![CDATA[
Witam<br /><div class="quotetitle">Stachulec napisał(a):</div><div class="quotecontent"><br />R3 czy R2?<br /></div><br />R3 - zwiększając jego wartość rozszerzasz szerokość szpilki, te zasilające LED'y są mniej krytyczne; w.g mnie 10k to dużo za mało - 47k  to już lepiej ale oscylogram by Ci pomógł.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 30 cze 2016, o 06:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-29T17:23:17+01:00</updated>
<published>2016-06-29T17:23:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163100#p163100</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163100#p163100"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163100#p163100"><![CDATA[
Czy zrobiłeś zmianę w kodzie, o której pisałem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 29 cze 2016, o 17:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-06-29T16:35:56+01:00</updated>
<published>2016-06-29T16:35:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163099#p163099</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163099#p163099"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163099#p163099"><![CDATA[
R3 czy R2?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 29 cze 2016, o 16:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-06-29T10:10:33+01:00</updated>
<published>2016-06-29T10:10:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163066#p163066</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163066#p163066"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163066#p163066"><![CDATA[
Witam<br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Drugim problemem może być to (choć nie musi), że sterowanie bramką triaka wyłączasz dopiero w przerwaniu od detekcji zera.<br /></div><br />Ten problem częściowo można rozwiązać przez dobranie rezystora R3 w układzie detekcji (p. Twój schemat ) - od niego zależy szerokość &quot;szpilki zerowej&quot; a tym samym moment włączenia triaka.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 29 cze 2016, o 10:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-06-29T05:55:01+01:00</updated>
<published>2016-06-29T05:55:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163057#p163057</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163057#p163057"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163057#p163057"><![CDATA[
<div class="quotetitle">Stachulec napisał(a):</div><div class="quotecontent"><br />lecz mimo wszystko czas od wykrycia zera pomimo mniejszej rozdzielczości powinien być odmierzany za każdym razem tak samo.<br /></div>Obawiam się, że się mylisz. Częstotliwość taktowania timera i częstotliwość sieci energetycznej na pewno nie są zsynchronizowane. Jeżeli na przykład częstotliwość taktowania mikrokontrolera będzie wynosiła 1,0005MHz zamiast dokładnie 1MHz (szczególnie może się tak zdarzyć w przypadku taktowania mikrokontrolera wewnętrznym generatorem RC), to każdy półokres sieci daje 5 taktów błędu i przy braku synchronizacji ten błąd się sumuje (czyli po 40 półokresach wynosi 200 taktów, czyli 0,2ms!). W takim przypadku, przy Twoim sposobie sterowania -  im większy będzie interwał pracy timera, tym bardziej punkt załączenia triaka będzie &quot;pływał&quot; w stosunku do przejścia przez zero. Spróbuj zerować TCNT1 w przerwaniu od detekcji zera. To powinno poprawić stabilność wyzwalania triaka.<br /><br />Drugim problemem może być to (choć nie musi), że sterowanie bramką triaka wyłączasz dopiero w przerwaniu od detekcji zera. Jeśli impuls detekcji jest wąski i zbocze sygnału wywołującego przerwanie będzie za blisko faktycznego przejścia przez zero, to może się okazać, że wyłączenie jest za późno i żarówka będzie zasilana przez cały następny półokres sieci. Biorąc pod uwagę, że masz tam pewną niestabilność w czasach pomiędzy impulsami, może się okazać, że triak czasami zdąży się wyłączyć, a czasami nie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 29 cze 2016, o 05:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-06-28T18:37:34+01:00</updated>
<published>2016-06-28T18:37:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163039#p163039</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163039#p163039"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=163039#p163039"><![CDATA[
Panowie, odgrzewam kotleta, ponieważ nadal jest mały problem. <br /><br />Żarówka pulsuje. Tym większe pulsowanie im rzadziej Timer1 zwiększa zmienną i o jeden. Myślałem, że zwiększając zmienną przepełnienia Timera odciążę mikrokontroler poprzez rzadsze wywoływanie funkcji zalacz(). Tymczasem efekt jest odwrotny. Im czesciej wywołuje funkcję zalacz() tym mniej odczuwalne jest pulsowanie światła. Wiem, że im rzadziej wywołuje funkcję zalacz() to zmniejszam rozdzielczość ściemniania, lecz mimo wszystko czas od wykrycia zera pomimo mniejszej rozdzielczości powinien być odmierzany za każdym razem tak samo. <br /><br />Pomiary czasu pomiędzy przejściami przez zero:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">10024<br />10008<br />10012<br />9984<br />10040<br />9992<br />10040<br />9964<br />10036<br />9992<br />10036<br />9992<br />10016<br />9992<br />10036<br />10000<br />10012<br />9988<br />10028<br />9996<br />10040<br />9992<br />10020<br />9984<br />10028<br />9996<br />10024<br />9996</div><br /><br />Kod programu:<br /><br />[syntax=cpp]#include &lt;TimerOne.h&gt;  <br /><br />volatile int i=0;               //licznik współpracujący z timerem1    <br />int AC_pin = 9;                          //Wyjście na triak<br /> <br />void setup()<br />{     <br />  pinMode(AC_pin, OUTPUT);  <br />  digitalWrite(AC_pin, HIGH);           // Triak wyłączony<br />  attachInterrupt(0, zero, RISING);     //Przerwanie sprzętowe od przejścia przez zero<br />  Timer1.initialize(200);  //Co 200us wywołuj funkcje zalacz()<br />  i=0;         <br />}<br />  <br />void zero() {<br /><br />  if(i&gt;40) //Zwłoka czasowa, eliminacja zakłóceń w przedziale od wystąpienia zera do 40*200us <br />  {<br />  digitalWrite(AC_pin, HIGH);           // Triak wyłączony  <br />  i=0;<br />  }<br />}    <br /><br />void zalacz()<br />{                  <br />  i++;  <br />  if( i==45) digitalWrite(AC_pin, LOW); // włączamy triaka po 45*200us od wykrycia zera                         <br />}        <br /> <br />void loop()<br />{    <br />  Timer1.attachInterrupt(zalacz);       //Co 200us zwiększaj i o 1  <br />}[/syntax]<br /><br />Czasy pomiędzy kolejnymi zerami wg mnie są zadowalające. Różnica na poziomie 50us nie powinna mieć wpływu na migotanie żarówki. <br />Być może jest jeszcze jakaś kwestia której nie jestem świadomy a może mieć wpływ na jakoś opisywanego sterowania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 28 cze 2016, o 18:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq5rix]]></name></author>
<updated>2016-06-16T15:44:30+01:00</updated>
<published>2016-06-16T15:44:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162434#p162434</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162434#p162434"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162434#p162434"><![CDATA[
Ciekawe, jednak Arduino się wyrabia <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Dobrze wiedzieć... Kolejny mit rozwiany.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5966">sq5rix</a> — 16 cze 2016, o 15:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-06-16T15:41:57+01:00</updated>
<published>2016-06-16T15:41:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162433#p162433</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162433#p162433"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162433#p162433"><![CDATA[
Panowie, <br />układ detekcji zera przerobiony. <br /><br /><img src="https://obrazkiforum.atnel.pl/10467/be728a5bc09f456b33e734e43d47073c.PNG" alt="Obrazek" /><br /><br />Wszystko działa aż miło. Nie przeszkadza nawet Serial.println oraz digitalWrite.<br /><br />Wyniki pomiaru czasu w us pomiędzy zerami poniżej:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">10048<br />9972<br />10036<br />9984<br />10040<br />9976<br />10040<br />9980<br />10036<br />9984<br />10032<br />9984<br />10036<br />9980<br />10040<br />9980<br />10036<br />9980<br />10036<br />9980<br />10036<br />9980<br />10040<br />9980<br />10040<br />9976<br />10040<br />9980<br />10036<br />9976<br />1004</div><br /><br />Jedynym problemem są grzejące się oporniki 47k. <br /><br />Zastosować 47k 5W?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 16 cze 2016, o 15:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[nemo]]></name></author>
<updated>2016-06-16T15:09:48+01:00</updated>
<published>2016-06-16T15:09:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162430#p162430</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162430#p162430"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162430#p162430"><![CDATA[
<div class="quotetitle">sq5rix napisał(a):</div><div class="quotecontent"><br />Moje zdanie: <br /><br />Z resztą ten kto robił ten schemat chyba nie wie że kondensator przesuwa fazę...<br /></div><br />Kondensator jest właśnie po to by przesunąć fazę, lub mówiąc inaczej delikatnie opóźnić sygnał.<br />Dzięki temu uzyskujemy to, że impuls, a dokładnie jego narastające zbocze jest niemalże w momencie przejścia przez zero. Bez tego kondensatora narastające zbocze byłoby przed przejściem przez zero (różnica jest niewielka). Niejako przy okazji ogranicza się wydzielanie ciepła, bo mamy rezystor 1M zamiast 30k.<br />Tak więc autor schematu wiedział co robi. Taki obrazek jaki otrzymał kolega Nefarious19 ja miałem dla kondensatora nie 47n a 470n.<br /><br />Odrębną kwesta jest czy i jak bardzo szkodliwe jest podanie impulsu (zbocza) przed przejściem przez zero.  W większości przypadków nie będzie to miało znaczenia, a jeśli byłoby to ważne, to można to łatwo skompensować poprzez proste opóźnienie. <br /><br />Polecam lekturę:<br /><!-- m --><a class="postlink" href="http://www.instructables.com/id/Arduino-controlled-light-dimmer-The-circuit/" >http://www.instructables.com/id/Arduino ... e-circuit/</a><!-- m --><br />na <!-- m --><a class="postlink" href="http://www.instructables.com/" >http://www.instructables.com/</a><!-- m --> jest jeszcze parę podobnych projektów - warto przejrzeć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13966">nemo</a> — 16 cze 2016, o 15:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2016-06-16T10:19:35+01:00</updated>
<published>2016-06-16T10:19:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162414#p162414</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162414#p162414"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162414#p162414"><![CDATA[
Kondensator  jest tam pewnie z powodu rozpędu tego kto to projektował, bo podobny układ stosuje się w prostych zasilaczach beztransformatorowych i służy on jako ogranicznik prądu. Nie ma to znaczenia gdy robimy jakąś kontrolkę led czy małą lampkę nocną czy nawet kiedy to służy do zasilania jakiejś prostej elektroniki na uC do momentu kiedy nie jest potrzebny sygnał przejścia przez zero. Natomiast rezystor 1M równolegle do kondensatora służy do jego rozładowania po odłączeniu zasilania z dwóch powodów:<br />1) Najważniejszy, przy nierozładowanym kondensatorze i ponownym włączeniu do gniazdka napięcia mogą się zsumować (w zależności w jakiej akurat fazie jest przebieg sinusoidy) i docelowo nie będzie 230, ale np. 400V, co prawda w impulsie, ale wystarczającym do uwalenia reszty układu.<br />2) Po prostu stwarza się możliwość, że przy macaniu układu mogłoby użytkownika je... przepraszam, kopnąć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 16 cze 2016, o 10:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stachulec]]></name></author>
<updated>2016-06-16T10:06:48+01:00</updated>
<published>2016-06-16T10:06:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162413#p162413</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162413#p162413"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162413#p162413"><![CDATA[
<div class="quotetitle">sq5rix napisał(a):</div><div class="quotecontent"><br />Z resztą ten kto robił ten schemat chyba nie wie że kondensator przesuwa fazę...<br /></div><br /><br />W takim razie, skoro SFH620 ma dwie diody święcące ustawione przeciwstawnie, to wystarczy że usunę kondensator. Zastanawiam się tylko po co on w takim razie tam jest ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10467">Stachulec</a> — 16 cze 2016, o 10:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nefarious19]]></name></author>
<updated>2016-06-16T07:51:31+01:00</updated>
<published>2016-06-16T07:51:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162409#p162409</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162409#p162409"/>
<title type="html"><![CDATA[Re: Arduino Nano, sterowanie triakiem (fazowe)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15592&amp;p=162409#p162409"><![CDATA[
<div class="quotetitle">sq5rix napisał(a):</div><div class="quotecontent"><br />Moje zdanie: <br />Żadna detekcja nie zadziała, jeśli używa się serial.printf <br />Ta funkcja zżera czas, podobnie jak ustawianie pinu przez digitalWrite, które jest bardzo skomplikowaną, długotrwałą, blokującą funkcją.<br /></div><br /><br />Ech to Arduino... Fajne jest ale na szybsze, mocniejsze procki <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Biedna Medzia może się nie wyrabiać <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Z resztą ten kto robił ten schemat chyba nie wie że kondensator przesuwa fazę... Masakra jakaś? jak to niby ma złapać synchronizację? Dowód? Proszę bardzo:<br /><br /><strong>TWÓJ UKŁAD</strong><br /><a href="https://obrazkiforum.atnel.pl/2500/70dc59bfeb8c0d018cfff8aa1dee1bbb.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2500/70dc59bfeb8c0d018cfff8aa1dee1bbb.png" alt="Obrazek" /></a><br /><strong>UKŁAD PORZĄDNIE ZROBIONY</strong><br /><a href="https://obrazkiforum.atnel.pl/2500/28a6aa09af696a9392adfb5e93094912.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2500/28a6aa09af696a9392adfb5e93094912.png" alt="Obrazek" /></a><br /><br />Jak widzisz w tym drugim nie ma przesunięcia fazowego od zera...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2500">Nefarious19</a> — 16 cze 2016, o 07:51</p><hr />
]]></content>
</entry>
</feed>