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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-06-23T10:21:59+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2858&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-06-23T10:21:59+01:00</updated>
<published>2013-06-23T10:21:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=39875#p39875</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=39875#p39875"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=39875#p39875"><![CDATA[
Paul Dirac obydwa wzory sa poprawne tylko dotycza dwoch roznych rzeczy. te pierwszy gdzie masz 2N to wzor na czestotliwosc generowana na wyjsciu OCx w trybie ctc. a drugi to na czestotliwosc wykonywania sie przerwania. i ten drugi to TO samo co w ksiazce <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jak sobie policzysz i przeanalizujes. Jedynie w ksiazce zapomnialem jeszcze na koncu zrobic -1 zeby zmniejszyc wartosc OCRx<br /><br /><br />mozesz sobie zajrzec do najnowszej wersji MkAvrCalculatora do AVR Timer calc'a  tam masz te wzorki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 cze 2013, o 10:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[poczciwy]]></name></author>
<updated>2013-06-23T08:49:26+01:00</updated>
<published>2013-06-23T08:49:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=39869#p39869</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=39869#p39869"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=39869#p39869"><![CDATA[
@Paul Dirac<br /><br />Mógłbyś się podzielić tym działającym kodem ?<br /><br />dzieki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=972">poczciwy</a> — 23 cze 2013, o 08:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-04-12T21:18:35+01:00</updated>
<published>2013-04-12T21:18:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34229#p34229</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34229#p34229"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34229#p34229"><![CDATA[
działa-hehe<br />Styknęło rozpisac wszystko, bo my chcemy generowanie pwm o okresie 50Hz, czyli tzreba geneorwac przerwanie co 12,8kHz i potem w przerwaniu jesli wartosc narosnie np dla 2,1 ms: (2.1/20)*256 = 27 dla której na porcie mamy stan wysoki a dla reszty stan niski dla pwm 8-bitowego. A i obsługe przycisku, żebym mógł obrócic w lewo potem w prawo i na środek <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />. Ale to chyba nie jest maksymalne wychylenie, znaczy rozdzielczośc jest zbyt mała, ale działa. To już teraz wiem, czym próbkowanie mniejsze tym dokładnośc jest lepsza.<br /><br />Dobra wielkie dzięki.<br />Wszystko jeste napisane w książce, żeby tak umieć analizowac dokładnie to co się czyta.<br /><br />jakies niezgoności praktyki ze wzorami z noty, podczas analizowania noty dla trybu CTC znalazłem wzór:<br />F_OCn = f_clock/(2*N*(1+OCRn)), N-preskaler. <br />Ja już nie rozumiem, skoro zgodnie z książką robimy cos postaci:<br />F_OCn = f_cloc/(N*OCRn), N-preskaler<br /><br />zgodnie z założeniem to jest typowa funckja, w której wraz ze wzrostem OCRn F_OCn rośnie i odwrotnie.  i teraz główne pytanie dlaczego są takie róznice typu wpisanie do rejestru OCRn dwa razy większej wartości -1 niż trzeba<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 12 kwi 2013, o 21:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-04-12T20:25:42+01:00</updated>
<published>2013-04-12T20:25:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34227#p34227</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34227#p34227"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34227#p34227"><![CDATA[
Ano widzisz - przeskalować - i teraz dostrzegłeś istotę zagadnienia. Przy okazji ja mówiłem o PWM'ie do płynnego sterowania mocą (jasnością diody LED) itp ... a zrobienie programowego PWM'a na potrzebę obsługi serwa - to już trzeba się ciut więcej nagimnastykować - w taki prosty sposób - za pomocą takiego prostego programowego PWM'a ciężko będzie ci to zrealizować a jak już to będzie bardzo niestabilnie działać i serwo będzie drżało w najlepszym przypadku bo będzie za mała rozdzielczość PWM'a w zakresie regulacji serwa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 kwi 2013, o 20:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-04-12T20:17:26+01:00</updated>
<published>2013-04-12T20:17:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34226#p34226</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34226#p34226"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34226#p34226"><![CDATA[
tam w tym drugim przypadku mamy 160, ale to nie wazne- przynajmniej już chyba czaje problem. Bo jesli mam dla serve okres 50hz to musze dobrac abym mial przerwanie z f=12800Hz. Ale pózniej jak przeskalowac, żebym miał 1,5ms skoro robie dla 20 ms?<br /><br />W sumie sprytnie to robisz, takie próbkowanie sygnału dłuższego przykładając krótszy!<br />dobra dzięki za podpowiedz, przynajmniej więcej już rozumiem niż przed<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 12 kwi 2013, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-04-12T19:52:05+01:00</updated>
<published>2013-04-12T19:52:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34223#p34223</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34223#p34223"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34223#p34223"><![CDATA[
<div class="quotetitle">Paul Dirac napisał(a):</div><div class="quotecontent"><br />Na stronie 228 masz taki fajny opis matematyczny sposbu generacji PWM na któryms z kanałów, któregos portu. i ja po prostu nie rozumiem, czemu w pierwszym etapie zakładasz, że przerwanie będzie generowane z f=40 kHz.<br /></div><br /><br />hmmm no tak załóżmy, że strzelam że 40 kHz bo akurat mi pasuje. Ale co za kłopot byłby żeby wynosiło np 30kHz ? wystarczyłoby dać np inny preskaler np =8 i wartość OCR=33 i nadal miałbyś PWM ale z częstotliwością ok 117Hz ... <br /><br />mógłbym dać 50kHz - wtedy do OCR przy F_CPU 8MHz dałbym wartość np 156, wtedy bym miał częstotliwość PWM = ok 195H. Generalnie przy programowym PWM lepiej ustawać jak najniższą możliwą częstotliwość PWM ze względu na jak najmniejsze obciążenie procesora po prostu. Ja podałem ot tak - przykład dla 40kHz - ale przecież to nie jakiś wymóg.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 kwi 2013, o 19:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-04-12T19:21:34+01:00</updated>
<published>2013-04-12T19:21:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34218#p34218</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34218#p34218"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34218#p34218"><![CDATA[
Na stronie 228 masz taki fajny opis matematyczny sposbu generacji PWM na któryms z kanałów, któregos portu. i ja po prostu nie rozumiem, czemu w pierwszym etapie zakładasz, że przerwanie będzie generowane z f=40 kHz.<br />Ja bym chciał w dalszym etapie sterowac z dowolnego piny servem i zastanawiam się, czy muszę dokonywac takich samych procedur. Czy po prostu zrobić to tak, że genrowac przerwanie co T= (50)^-1 i wtedy wysyłac o określonej szerokości impuls<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 12 kwi 2013, o 19:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-04-12T18:31:00+01:00</updated>
<published>2013-04-12T18:31:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34212#p34212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34212#p34212"/>
<title type="html"><![CDATA[Re: tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34212#p34212"><![CDATA[
Ja np kompletnie nie rozumiem o co tu chodzi w tym pytaniu więc nie będę umiał pomóc <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=54">mirekk36</a> — 12 kwi 2013, o 18:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Paul Dirac]]></name></author>
<updated>2013-04-12T17:24:39+01:00</updated>
<published>2013-04-12T17:24:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34197#p34197</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34197#p34197"/>
<title type="html"><![CDATA[tworzenie wlasnych wyjsc PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2858&amp;p=34197#p34197"><![CDATA[
Ja nie rozumiem jednej sprawy, zgodnie z wzorami na czestotliowsc PWM mamy, ze maja byc one równe:<br />f_cloc/(256*N), N-preskaler. No i gites, ale zgodnie z książką mirka czestotliwosc z jaka wywolywane jest przerwanie od przepelnienia jest mniejsze 200 razy niż mozliwe przerwanie zwiazane z mozliwa czestotliwoscia dla zega 8MHz, to tak jakbym nie mógł wziąść preskalera 1, zgodnie z nastepnym wzorem :<br />F_OC = f_cloc/(2*N(1+OCRn)) przy warunku, ze f_OC/f_cloc &lt;=0.5. <br />I tutaj jest moje główne pytanie, dlaczego?<br />Nie wiem, czy po prostu nózka z wbudowana mozliwoscia generowania PWM znacznie różni się od nózki mikrokontrolera bez takiej mozliwości. Bo to jakby generowanie sztuczne PWM na zwykłym wyjściu,<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1035">Paul Dirac</a> — 12 kwi 2013, o 17:24</p><hr />
]]></content>
</entry>
</feed>