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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-11-06T14:23:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5135&amp;mode</id>
<entry>
<author><name><![CDATA[Camillo123]]></name></author>
<updated>2013-12-13T16:45:04+01:00</updated>
<published>2013-12-13T16:45:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60973#p60973</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60973#p60973"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60973#p60973"><![CDATA[
Prawidłowy kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /> <br />#define WE_A PC1<br />#define WE_B PC2<br />#define PWM_A PB1<br />#define DC_PRAWO PORTC &amp;= ~(1&lt;&lt;WE_A); PORTC |= (1&lt;&lt;WE_B); OCR1A=64;<br />#define DC_LEWO PORTC |= (1&lt;&lt;WE_A); PORTC &amp;= ~(1&lt;&lt;WE_B); OCR1A=64;<br />#define DC_STOP PORTC &amp;= ~(1&lt;&lt;WE_A); PORTC &amp;= ~(1&lt;&lt;WE_B)<br />#define key_pin (1&lt;&lt;PC0)<br />uint8_t key_lock;<br />uint8_t i=2;<br /> <br />int main (void){<br />    DDRB |= (PWM_A);<br />    DDRC |= (1&lt;&lt;WE_A) | (1&lt;&lt;WE_B);<br />    TCCR1A |= (1&lt;&lt;WGM10);<br />TCCR1B |= (1&lt;&lt;WGM12);<br />    TCCR1A |= (1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1);<br />TCCR1B |= (1&lt;&lt;CS10)|(1&lt;&lt;CS11);<br />    OCR1A = 0;         <br />    DDRC &amp;= ~key_pin;<br />    PORTC |= key_pin;<br />                                _delay_ms(10);<br />                                 <br />                                 {<br />                        while(1)<br />                        {<br />                                if(i%2==0)<br />                                {<br />                                        if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ) {<br />                                            DC_LEWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />                                            i=i+1;<br />                                                        }<br />                                }<br />                                else<br />                                {<br />                                        if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ){<br />                                            DC_PRAWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />                                            i=i+1;<br />                                            }<br />                                         }<br />                                }<br /> <br />}<br />}[/syntax]<br />Dziękuję za pomoc <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=2197">Camillo123</a> — 13 gru 2013, o 16:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2015-11-06T14:23:23+01:00</updated>
<published>2013-12-13T15:55:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60971#p60971</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60971#p60971"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60971#p60971"><![CDATA[
<span style="color: #BFFFBF">.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 13 gru 2013, o 15:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Camillo123]]></name></author>
<updated>2013-12-13T15:45:18+01:00</updated>
<published>2013-12-13T15:45:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60969#p60969</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60969#p60969"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60969#p60969"><![CDATA[
Silnik działa i na 1.5v więc.... Błąd jest w kodzie na 100% <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=2197">Camillo123</a> — 13 gru 2013, o 15:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-12-13T07:14:54+01:00</updated>
<published>2013-12-13T07:14:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60915#p60915</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60915#p60915"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60915#p60915"><![CDATA[
A to nie jest tak ze silnik nie ruszy przy powiedzmy 2v ale ruszy przy 2v wypadkowym z pwma?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 13 gru 2013, o 07:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[The River]]></name></author>
<updated>2013-12-13T00:09:45+01:00</updated>
<published>2013-12-13T00:09:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60905#p60905</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60905#p60905"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60905#p60905"><![CDATA[
A ja zadam takie może głupie pytanie czy sprawdzałeś może czy ruszy ci ten silnik przy zasilaniu 5V bo po schemacie widzę że takie właśnie napięcie mu podajesz (przy 100% wypełnieniu). A jak podasz mu jeszcze 1/4 tego.  To raz a dwa to sprawdzić sobie co tam masz na wyjściu na którym generujesz sygnał PWM, czy wogóle się cokolwiek pojawia czy nic.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=508">The River</a> — 13 gru 2013, o 00:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-12-12T22:03:43+01:00</updated>
<published>2013-12-12T22:03:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60886#p60886</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60886#p60886"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60886#p60886"><![CDATA[
A czy to ostateczny kod czy też nie, bo np.<br />[syntax=c]DDRB |= (PWM_A)[/syntax]<br />brak średnika i PWM_A to PB1, czyli nie ustawiasz jako wyjście tego wyprowadzenia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 12 gru 2013, o 22:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Camillo123]]></name></author>
<updated>2013-12-12T21:47:43+01:00</updated>
<published>2013-12-12T21:47:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60883#p60883</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60883#p60883"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60883#p60883"><![CDATA[
Nie zauważyłem, ale to błąd na schemacie... Faktycznie podłączam się pod PINC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2197">Camillo123</a> — 12 gru 2013, o 21:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-12-12T21:30:26+01:00</updated>
<published>2013-12-12T21:30:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60880#p60880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60880#p60880"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60880#p60880"><![CDATA[
Na schemacie wpinasz się do portu D, a w kodzie używasz port C.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 12 gru 2013, o 21:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Camillo123]]></name></author>
<updated>2013-12-12T21:22:53+01:00</updated>
<published>2013-12-12T21:22:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60878#p60878</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60878#p60878"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60878#p60878"><![CDATA[
Witam,<br />przy takim kodzie:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />#define WE_A PC1<br />#define WE_B PC2<br />#define PWM_A PB1<br />#define DC_PRAWO PORTC &amp;= ~(1&lt;&lt;WE_A); PORTC |= (1&lt;&lt;WE_B)<br />#define DC_LEWO PORTC |= (1&lt;&lt;WE_A); PORTC &amp;= ~(1&lt;&lt;WE_B)<br />#define DC_STOP PORTC &amp;= ~(1&lt;&lt;WE_A); PORTC &amp;= ~(1&lt;&lt;WE_B)<br />#define key_pin (1&lt;&lt;PC0)<br />uint8_t key_lock;<br />uint8_t i=2;<br /><br />int main (void){<br />DDRB |= (PWM_A)<br />DDRC |= (1&lt;&lt;WE_A) | (1&lt;&lt;WE_B);<br /> <br />                        TCCR1A |= (1&lt;&lt;WGM10);                      // Fast PWM 8bit<br />                        TCCR1A |= (1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1) ;     <br />                        OCR1A = 64;         //kanał A = 0<br />DDRC &amp;= ~key_pin;<br />                PORTC |= key_pin;<br />_delay_ms(10);<br /> <br /> {<br />while(1)<br />                        {<br />                                if(i%2==0)<br />                                {<br />                                        if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ) {<br />                                            DC_LEWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />i=i+1;<br />                                                        }<br />                                }<br />else<br />{<br />if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ){<br />                                            DC_PRAWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />i=i+1;<br />                                            }<br />                                         }<br />                                }<br /><br />}<br />}[/syntax]<br />Schemat wygląda tak:<br /><a href="http://forum.atnel.pl/_obrazki/o/2197/9e16b9aa29b72725c083ecc52e1a10be.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/2197/9e16b9aa29b72725c083ecc52e1a10be.png" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2197">Camillo123</a> — 12 gru 2013, o 21:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-12-12T19:36:12+01:00</updated>
<published>2013-12-12T19:36:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60854#p60854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60854#p60854"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60854#p60854"><![CDATA[
Jak ustawisz te bity:<br />[syntax=c]TCCR1A |= (1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1) ;[/syntax]<br />to timer przejmuje kontrolę na tymi wyjściami z funkcją pwm i jeśli chcesz zatrzymać silnik to musisz zejść z OCR1x do 0 (zależnie od konfiguracji)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 12 gru 2013, o 19:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2013-12-12T19:32:40+01:00</updated>
<published>2013-12-12T19:32:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60852#p60852</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60852#p60852"/>
<title type="html"><![CDATA[Re: Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60852#p60852"><![CDATA[
Pokaż schemat połączeń. Silnik sterujesz z L293D, tranzystorów, ULN-a?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 12 gru 2013, o 19:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Camillo123]]></name></author>
<updated>2013-12-12T18:11:46+01:00</updated>
<published>2013-12-12T18:11:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60834#p60834</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60834#p60834"/>
<title type="html"><![CDATA[Sterowanie PWM silnika]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5135&amp;p=60834#p60834"><![CDATA[
Witam,<br />postanowiłem przerobić swój poprzedni kod, bym mógł sterować PWM na ATmega 8. Chcę, by silnik pracował na 25% mocy (czyli OCR1A=64). Nisetety silnik nie odpowiada.<br />Początkowy kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />#define WE_A PC7<br />#define WE_B PC6<br /> <br />#define DC_PRAWO PORTC &amp;= ~(1&lt;&lt;WE_A); PORTC |= (1&lt;&lt;WE_B)<br />#define DC_LEWO PORTC |= (1&lt;&lt;WE_A); PORTC &amp;= ~(1&lt;&lt;WE_B)<br />#define DC_STOP PORTC &amp;= ~(1&lt;&lt;WE_A); PORTC &amp;= ~(1&lt;&lt;WE_B)<br />#define key_pin (1&lt;&lt;PC0)<br />uint8_t key_lock;<br />uint8_t i=2;<br /><br />int main (void){<br />DDRC |= (1&lt;&lt;WE_A) | (1&lt;&lt;WE_B);<br />DDRC &amp;= ~key_pin;<br />                                 PORTC |= key_pin;<br />_delay_ms(10);<br /> <br /> {<br />while(1)<br />                        {<br />                                if(i%2==0)<br />                                {<br />                                        if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ) {<br />                                            DC_LEWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />i=i+1;<br />                                                        }<br />                                }<br />else<br />{<br />if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ){<br />                                            DC_PRAWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />i=i+1;<br />                                            }<br />                                         }<br />                                }<br /><br />}<br />}[/syntax]<br />Nowy kod PWM:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /> <br />#define PWM_A    (1&lt;&lt;PB1) <br />#define PWM_B    (1&lt;&lt;PB2)<br /> <br />#define DC_PRAWO PORTB &amp;= ~(1&lt;&lt;PWM_A); PORTB |= (1&lt;&lt;PWM_B)<br />#define DC_LEWO PORTB |= (1&lt;&lt;PWM_A); PORTB &amp;= ~(1&lt;&lt;PWM_B)<br />#define DC_STOP PORTB &amp;= ~(1&lt;&lt;PWM_A); PORTB &amp;= ~(1&lt;&lt;PWM_B)<br />#define key_pin (1&lt;&lt;PC0)<br />uint8_t key_lock;<br />uint8_t i=2;<br /><br />int main (void){<br /> DDRB |= (PWM_A|PWM_B); <br /><br />TCCR1A |= (1&lt;&lt;WGM10);                      // Fast PWM 8bit <br />TCCR1B |= (1&lt;&lt;WGM12); <br />TCCR1A |= (1&lt;&lt;COM1A1)|(1&lt;&lt;COM1B1) ;   <br />TCCR1B |= (1&lt;&lt;CS10)|(1&lt;&lt;CS11);    <br /><br />OCR1A = 64;         //kanał A = 0 <br />OCR1B = 64;         //kanał B = 0 <br /><br />DDRC &amp;= ~key_pin;<br />                PORTC |= key_pin;<br />_delay_ms(10);<br /> <br /> {<br />while(1)<br />                        {<br />                                if(i%2==0)<br />                                {<br />                                        if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ) {<br />                                            DC_LEWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />i=i+1;<br />                                                        }<br />                                }<br />else<br />{<br />if( !key_lock &amp;&amp; !(PINC &amp; key_pin) ){<br />                                            DC_PRAWO;<br />                                            _delay_ms(5000);<br />                                            DC_STOP;<br />i=i+1;<br />                                            }<br />                                         }<br />                                }<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2197">Camillo123</a> — 12 gru 2013, o 18:11</p><hr />
]]></content>
</entry>
</feed>