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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-01T01:39:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14035&amp;mode</id>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-01-01T01:39:00+01:00</updated>
<published>2016-01-01T01:39:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149315#p149315</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149315#p149315"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149315#p149315"><![CDATA[
Witam<br />Trochę &quot;poglądowo&quot; ale może taki sposób by zdał egzamin:<br />[syntax=c]ISR(...)<br />{<br />        static uintxx_t takt =0;<br /><br />if(takt&gt;10 &amp;&amp; takt&lt;15 )  PORTB |= (1&lt;&lt;PB0);<br />else PORTB &amp;= ~(1&lt;&lt;PB0);<br /><br />if(takt&gt;20 &amp;&amp; takt&lt;25 ) PORTB |= (1&lt;&lt;PB1);<br />else PORTB &amp;= ~(1&lt;&lt;PB1);<br /><br />if(takt&gt;30 &amp;&amp; takt&lt;35 ) PORTB |= (1&lt;&lt;PB2);<br />else PORTB &amp;= ~(1&lt;&lt;PB2);<br /><br />takt++;<br />if(takt&gt; xx) takt =0;<br /><br /><br />}[/syntax]<br />Dzielisz całkowity czas na najmniejszą jednostkę czasu która Cię interesuje i wyjdzie Ci ilość taktów w danym przedziale. Te warunki &quot;takt&gt;20...&quot; wzięte z kapelusza, musisz sobie to policzyć; porty wyjściowe też jako przykład.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 1 sty 2016, o 01:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PCSzymon]]></name></author>
<updated>2015-12-31T09:30:32+01:00</updated>
<published>2015-12-31T09:30:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149251#p149251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149251#p149251"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149251#p149251"><![CDATA[
Tak coś przeczuwałem że będę musiał zrobić tak jak ty sądzisz<br />Raczej tam nie będzie nic innego obszernego. Program ma służyć jako wsad do wykrywacza metali z procesorem AVR<br />Sygnał 1 służy do generowania impulsów na cewkę. Odpowiednio zmieniając czas występowania sygnału 2 i 3 uzyskam dyskryminację wielkościową czyli nie będzie mi wykrywać gwoździ itp. <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Ja również pozdrawiam, Szymon <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=12362">PCSzymon</a> — 31 gru 2015, o 09:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2015-12-30T23:31:46+01:00</updated>
<published>2015-12-30T23:31:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149229#p149229</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149229#p149229"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149229#p149229"><![CDATA[
Ustawiasz timer np. T0 w trybie CTC z okresem 1 ms (1kHz).<br />W pętli programu sprawdzasz znacznik przepełnienia i jak wystąpiło to go zerujesz i zaczynasz generowanie przebiegów:<br />- ustawiasz pin OUT1 na 1<br />- czekasz 40 us (wypełnienie 4%)<br />- kasujesz pin OUT1 na 0<br />- czekasz 40 us<br />- ustawiasz pin OUT2 na 1<br />- czekasz 15 us<br />- kasujesz pin OUT2 na 0<br />- czekasz 15 us<br />- ustawiasz pin OUT3 na 1<br />- czekasz 15 us<br />- kasujesz pin OUT3 na 0<br />Po czym znowu czekasz na wystąpienie przepełnienia timera.<br /><br />Nawet jak będzie stosował blokującą pętlę i delay-e, to zajmuje ona 125 us. A pozostałe 875us masz wolne na inne działania.<br /><br />Problem pojawi się gdy będziesz chciał dodawać inne czasochłonne elementy, bo będziesz musiał dobrze zarządzać czasem zajmowanym przez nie.<br />Możesz teoretycznie użyć przerwania timera, ale 125us to trochę dużo jak na procedurę obsługi przerwania. Więc zaproponowanie tego na tym forum byłoby świętokractwem. Ale jak będziesz wiedział co robisz i ta procedura byłaby bardzo krytyczną czasowo i nie korzystałbyś z innych częstych przerwań to możesz też coś takiego rozważyć.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 30 gru 2015, o 23:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PCSzymon]]></name></author>
<updated>2015-12-30T19:57:33+01:00</updated>
<published>2015-12-30T19:57:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149199#p149199</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149199#p149199"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149199#p149199"><![CDATA[
Wartości będą stałe pierwszy sygnał ma wypełnienie 4% pomyliło mi się na obrazku<br />A mógłbyś mi to wytłumaczyć jak to zrobić na Timer'ze?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12362">PCSzymon</a> — 30 gru 2015, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2015-12-30T18:56:20+01:00</updated>
<published>2015-12-30T18:56:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149187#p149187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149187#p149187"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149187#p149187"><![CDATA[
Na początek zrób na timerze generowanie zdarzeń co 1 ms (1KHz). I od niej wyzwalaj sekwencję kolejnych impulsów po zadanym czasie. Z obrazka wynika, że różnica między początkiem pierwszego a końcem trzeciego sygnału to 15 + 40 + 15 + 15 + 15 =&gt; 100 us. Dlatego zostaje ci 90% czasu na inne działania.<br />W zależności co potrzebujesz więcej robić, to albo będziesz wchodził w jakieś zaawansowane mechanizmy lub zostawisz takie coś.<br /><br />-- <br />Pozdrawiam,<br />Robert<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Czy wartości czasowe dla sygnałów będą się zmieniały czy są stałe?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />Ten pierwszy sygnał ma także impuls o czasie 15us czy wypełnienie 4% lub 5%?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 30 gru 2015, o 18:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PCSzymon]]></name></author>
<updated>2015-12-30T17:30:17+01:00</updated>
<published>2015-12-30T17:30:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149176#p149176</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149176#p149176"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149176#p149176"><![CDATA[
A jaka najbliższa wartość?<br />Tak na oko max 80hz różnicy.<br />A da się delay'ami to zrobić? bo każdy z trzech sygnałów powinien mieć 1 kHz tylko odpowiednio opóźnione od siebie.<br /><br />Ale chyba z delay nic nie wyjdzie, bo w późniejszej fazie planuje dopisywać kod<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12362">PCSzymon</a> — 30 gru 2015, o 17:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2015-12-30T17:26:27+01:00</updated>
<published>2015-12-30T17:26:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149175#p149175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149175#p149175"/>
<title type="html"><![CDATA[Re: Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149175#p149175"><![CDATA[
Do tego nada się nawet atmega8.<br />Jakiej dokładności wymagasz?<br />Jak nic innego nie potrzebujesz robić na procesorze, to możesz to zrobić całkowicie liniowo (delay-ami). Możesz też zrobić odliczanie czasu przy użyciu timera.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 30 gru 2015, o 17:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PCSzymon]]></name></author>
<updated>2015-12-30T17:00:05+01:00</updated>
<published>2015-12-30T17:00:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149174#p149174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149174#p149174"/>
<title type="html"><![CDATA[Przebiegi Prostokątne]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14035&amp;p=149174#p149174"><![CDATA[
Dzień Dobry, Dobry Wieczór <br />Muszę wygenerować 3 sygnały PWM. <br />Pierwszy sygnał Częstotliwość: 1 kHz Wypełnienie: 4%<br />Drugi sygnał musi być opóźniony od pierwszego o 40 μs i czasie trwania 15 μs<br />Trzeci sygnał powinien być opóźniony o 15 μs i jego czas trwania wynosić musi 15 μs<br /><br />Jaki μC może do tego się nadać chciałbym aby był jak najmniej obszerny. Wytłumaczy mi ktoś jak to napisać?<br /><br />Dodaje plik podglądowy. Jak to ma wyglądać.<br /><a href="https://obrazkiforum.atnel.pl/12362/6f176670389d75c1f4e180c54dccec3e.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12362/6f176670389d75c1f4e180c54dccec3e.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12362">PCSzymon</a> — 30 gru 2015, o 17:00</p><hr />
]]></content>
</entry>
</feed>