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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-08-19T09:33:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=19014&amp;mode</id>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-08-19T09:33:44+01:00</updated>
<published>2017-08-19T09:33:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193603#p193603</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193603#p193603"/>
<title type="html"><![CDATA[Re: Generowanie PWM - jak ten proces zachodzi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193603#p193603"><![CDATA[
<div class="quotetitle">lobuzp napisał(a):</div><div class="quotecontent"><br />A co dobre przetwornika, chodziło mi o to że potencjometrem przez ADC można sterować wypełnieniem.<br /></div> A no to teraz wszystko się rozjaśniło  <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=6265">xentis</a> — 19 sie 2017, o 09:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lobuzp]]></name></author>
<updated>2017-08-19T08:03:39+01:00</updated>
<published>2017-08-19T08:03:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193601#p193601</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193601#p193601"/>
<title type="html"><![CDATA[Re: Generowanie PWM - jak ten proces zachodzi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193601#p193601"><![CDATA[
Dziękuję za pomoc, wszystko świetne wyjaśnione. Link od dambo wiele mi wyjaśnił a odpowiedź od xentis rozwiała wszelkie wątpliwości jakie miałem. <br /><br />A co dobre przetwornika, chodziło mi o to że potencjometrem przez ADC można sterować wypełnieniem.<br /><br />Dzięki jeszcze raz, post na pewno przyda się dla potomnych <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=17747">lobuzp</a> — 19 sie 2017, o 08:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-08-18T19:04:23+01:00</updated>
<published>2017-08-18T19:04:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193580#p193580</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193580#p193580"/>
<title type="html"><![CDATA[Re: Generowanie PWM - jak ten proces zachodzi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193580#p193580"><![CDATA[
<div class="quotetitle">lobuzp napisał(a):</div><div class="quotecontent"><br />Załóżmy że od podania wartości przez przetwornik ADC do wygenerowania sygnału PWM na wyjściu.<br /></div>Nie za bardzo rozumiem co do generowania sygnały PWM ma przetwornik ADC?<br /><br />Co do zasady generowania samego sygnału PWM to jest to dosyć proste.<br />Zasada generowania opiera się o licznik który liczy w pętli czyli jak doliczy do końca to się &quot;przekręca&quot; i znów liczy od zera do przepełnienia - i tak cały czas.<br />Załóżmy że chcemy wygenerować sygnał PWM o wypełnieniu ok 50%, a licznik który generuje ten sygnał jest 8-bitowy.<br />Po uruchomieniu procka ładujemy do rejestru porównania wartość 128, a licznik startuje od zera. I teraz w momencie gdy wartość zliczona przez licznik jest mniejsza od wartości w rejestrze porównania na wyjściu sygnału PWM mamy stan wysoki &quot;1&quot; (w zależności od konfiguracji można odwrócić by było &quot;0&quot;)<br />Co każde tyknięcie licznika jego wartość jest porównywana z rejestrem porównania. W momencie gdy wartość zliczonych tyknięć zrówna się z rejestrem porównania wyjście sygnału PWM zmienia stan na &quot;0&quot;. Licznik liczy dalej aż do przepełnienia ale na wyjściu PWM jest ciągle &quot;0&quot; bo wartość zliczona przez licznik jest większa od wartości w rejestrze porównania. W momencie gdy licznik dobije do 255 a następnie przeskoczy na 0 które jest mniejsze od wartości w rejestrze porównania znów na wyjściu PWM mamy &quot;1&quot; do czasu aż licznik doliczy do 128 kiedy to znów wyjście PWM zmieni stan na &quot;0&quot;<br />I tak w kółko na wyjściu PWM stan jest zmieniany zgodnie z wynikiem porównania. Okres przebiegu PWM jest jednocześnie czasem potrzebnym do zapełnienia licznika (256 tyknięć) czyli jeśli chcemy mieć sygnał PWM o częstotliwości 10kHz (czyli okres=100us) to taktowanie licznika musi być 10000*256 = 2,56MHz (czyli okres wejściowy licznika 0,39us).<br />Powyższy opis tyczy się generowania przebiegu metodą FastPWM, generowanie sygnału metodą PhaseCorrect jest nieco bardziej skomplikowane i niestety sygnał taktujący licznik musi być dwa razy szybszy aby uzyskać sygnał PWM o takiej samej częstotliwości co przy Fast, jednakże sygnał taki jest lepszy dla np. silników.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 18 sie 2017, o 19:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[lobuzp]]></name></author>
<updated>2017-08-18T13:04:17+01:00</updated>
<published>2017-08-18T13:04:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193566#p193566</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193566#p193566"/>
<title type="html"><![CDATA[Generowanie PWM - jak ten proces zachodzi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19014&amp;p=193566#p193566"><![CDATA[
Witam wszystkich,<br /><br />Chciałbym dowiedzieć się jak generowane są sygnały PWM, krok po kroku. Wiem czym dany sygnał jest, wykorzystuje go w praktyce na przykładzie arduino. <br /><br />Jednak bardzo interesuje mnie jak jest on generowany wewnątrz procesora? Co takiego tam zachodzi? Wiem, że w Atmedze poprzez komparator porównywane są ze sobą rejestry TCNT1 i OCR1A/B. Cały czas nie wiem, jaka zachodzi te porówywanie w jaki sposób te wartości się zmieniają, co się dzieje gdy ich wartości zrównają się podczas porównywania przez komparator... nie mogę nigdzie znaleźć wytłumaczenia tego wszystkiego.  <br /><br />Jest ktoś w stanie opisać mi jakie kolejne zachodzą tam procesy? (może jakaś lista kroków - tym sposobem najszybciej idzie zrozumieć) Załóżmy że od podania wartości przez przetwornik ADC do wygenerowania sygnału PWM na wyjściu.<br /><br />Z góry bardzo dziękuje za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17747">lobuzp</a> — 18 sie 2017, o 13:04</p><hr />
]]></content>
</entry>
</feed>