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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-07-10T22:04:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23808&amp;mode</id>
<entry>
<author><name><![CDATA[wojtekr51]]></name></author>
<updated>2021-07-10T22:04:32+01:00</updated>
<published>2021-07-10T22:04:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232949#p232949</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232949#p232949"/>
<title type="html"><![CDATA[Re: Kontrola prędkości obrotów silnika za pomocą PWM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232949#p232949"><![CDATA[
Chyba coś z programem jest nie tak. W twoim układzie, żeby realizować najprostsze sterowanie pełnokrokowe, powinieneś napisać definicje kroków tak:<br /><br />[syntax=c]#define KROK1 PORTC |= A1; PORTC &amp;= ~(A2 | B1 | B2)<br />#define KROK2 PORTC |= B1; PORTC &amp;= ~(A1 | A2 | B2)<br />#define KROK3 PORTC |= A2; PORTC &amp;= ~(A1 | B1 | B2)<br />#define KROK4 PORTC |= B2; PORTC &amp;= ~(A1 | A2 | B1)[/syntax]<br /><br />Gdzie jest ta dioda świecąca o której piszesz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1760">wojtekr51</a> — 10 lip 2021, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[antosV10]]></name></author>
<updated>2021-06-12T16:36:24+01:00</updated>
<published>2021-06-12T16:36:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232702#p232702</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232702#p232702"/>
<title type="html"><![CDATA[Re: Kontrola prędkości obrotów silnika za pomocą PWM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232702#p232702"><![CDATA[
Co do kodu to napisałem z użycie timera taki kod jak poniżej, ale jedne co się dzieje to czuję, że silnik w środku drga lecz się nie kręci. Coś z tym kodem jest nie tak czy to wina połaczeń (sprawdziłem dokładnie i wszystkie musi być w porządku połączone dodatkowo jak podpina pod Pin Vs mostka H zasilanie 12V didoa zaczyna zdecydowanie słabiej świecić i mrugać)?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define A1 (1 &lt;&lt; PC2)<br />#define B1 (1 &lt;&lt; PC5)<br />#define A2 (1 &lt;&lt; PC3)<br />#define B2 (1 &lt;&lt; PC4)<br /><br />#define KROK1 PORTC |= A1 | B1; PORTC &amp;= ~(A2 | B2)<br />#define KROK2 PORTC |= A2 | B1; PORTC &amp;= ~(A1 | B2)<br />#define KROK3 PORTC |= A2 | B2; PORTC &amp;= ~(A1 | B1)<br />#define KROK4 PORTC |= A1 | B2; PORTC &amp;= ~(A2 | B1)<br /><br />int main(void)<br />{<br />  DDRC |= A1 | A2 | B1 | B2;<br />  DDRB |= (1 &lt;&lt; PB1);<br /><br />  TCCR0A |= (1 &lt;&lt; WGM01);<br />  OCR0A = 125;<br />  TIMSK0 |= (1 &lt;&lt; OCIE0A);<br />  TCCR0B |= (1 &lt;&lt; CS02);<br /><br />  sei();<br /><br />  while(1);<br />}<br /><br />ISR(TIMER0_COMPA_vect)<br />{<br />  static uint8_t counter;<br />  PORTB ^= (1 &lt;&lt; PB1);<br /><br />  switch (counter)<br />  {<br />  case 0:<br />    KROK1;<br />    break;<br />  case 1:<br />    KROK2;<br />    break;<br />  case 2:<br />    KROK3;<br />    break;<br />   case 3:<br />    KROK4;<br />    counter = 0;<br />    break;<br />  }<br /><br />  counter++;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21647">antosV10</a> — 12 cze 2021, o 16:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-06-04T12:01:42+01:00</updated>
<published>2021-06-04T12:01:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232593#p232593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232593#p232593"/>
<title type="html"><![CDATA[Re: Kontrola prędkości obrotów silnika za pomocą PWM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232593#p232593"><![CDATA[
<div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Chciałbym zauważyć, że chodzi tu o silnik krokowy. Prędkość takiego silnika steruje się raczej poprzez zmianę częstotliwości kroków, a nie poprzez zmianę wypełnienia<br /></div><br /><br />Racja - jakoś nie wiem dlaczego pomyślałem o silniku DC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 cze 2021, o 12:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2021-06-04T11:55:26+01:00</updated>
<published>2021-06-04T11:55:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232592#p232592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232592#p232592"/>
<title type="html"><![CDATA[Re: Kontrola prędkości obrotów silnika za pomocą PWM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232592#p232592"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">antosV10 napisał(a):</div><div class="quotecontent">Dodatkow, czy jeżeli chcę sterować prędkością obrotów to na piny Enable 1 i Enable 2 muszę podać po prostu sygnał PWM z mikokontrolera<br /></div><br /><br />Dokładnie tak.</div><br /><br />Chciałbym zauważyć, że chodzi tu o silnik krokowy. Prędkość takiego silnika steruje się raczej poprzez zmianę częstotliwości kroków, a nie poprzez zmianę wypełnienia (jak to jest w przypadku silników komutatorowych). W kodzie przedstawionym przez autora wątku prędkość będzie odwrotnie proporcjonalna do czasu opóźnienia między krokami, tzn. im mniejsze opóźnienie, tym większa prędkość.<br /><br />Jeśli chodzi o kod, to jednak zdecydowanie polecałbym sterowanie silnikiem w przerwaniu timera zamiast funkcji <em>_delay_ms()</em>, ale dla próby teoretycznie ten kod powinien działać. Jak już wspomniał kolega Mirek, sprawdź jeszcze raz dokładnie połączenia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 4 cze 2021, o 11:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2021-06-04T10:19:52+01:00</updated>
<published>2021-06-04T10:19:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232591#p232591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232591#p232591"/>
<title type="html"><![CDATA[Re: Kontrola prędkości obrotów silnika za pomocą PWM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232591#p232591"><![CDATA[
Pewnie źle silnik podłączyłeś.<br /><br /><div class="quotetitle">antosV10 napisał(a):</div><div class="quotecontent"><br />Dodatkow, czy jeżeli chcę sterować prędkością obrotów to na piny Enable 1 i Enable 2 muszę podać po prostu sygnał PWM z mikokontrolera<br /></div><br />Dokładnie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 cze 2021, o 10:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[antosV10]]></name></author>
<updated>2021-06-04T09:00:51+01:00</updated>
<published>2021-06-04T09:00:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232588#p232588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232588#p232588"/>
<title type="html"><![CDATA[Kontrola prędkości obrotów silnika za pomocą PWM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23808&amp;p=232588#p232588"><![CDATA[
Witam, próbuję sterować silnikem elektrycznym za pomocą atmegi328P, ale na utknąłem w pewnym momencie i nie wiem co dalej. Mianowicie kiedy do pinu Vs układu L293D podłączone jest napięcie 12V silnik przestaje się kręcić, a kiedy go dotknę czuć, że coś się w nim rusza. Kiedy na tym pinie podaję 5V albo w ogóle zostawiam go odłączonego silnik normalnie się obraca. Dlaczego tak się dzieje i jak to mogę naprawić? Dodatkow, czy jeżeli chcę sterować prędkością obrotów to na piny Enable 1 i Enable 2 muszę podać po prostu sygnał PWM z mikokontrolera (pytam dla pewności, bo nie jestem pewien czy dobrze zrozumiałem)? <br /><br />Tutaj link do mojego silnika:<br /><!-- m --><a class="postlink" href="https://botland.com.pl/silniki-krokowe/3610-silnik-krokowy-jk42hs40-0504-200-krokowobr-12v05a043nm.html" >https://botland.com.pl/silniki-krokowe/ ... 043nm.html</a><!-- m --><br /><br /><a href="https://obrazkiforum.atnel.pl/21647/8f877a00c71e4048a7bf6d44dade1a82.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/21647/8f877a00c71e4048a7bf6d44dade1a82.png" alt="Obrazek" /></a><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define A1 (1 &lt;&lt; PC2)<br />#define B1 (1 &lt;&lt; PC4)<br />#define A2 (1 &lt;&lt; PC3)<br />#define B2 (1 &lt;&lt; PC5)<br /><br />#define KROK1 PORTC |= A1 | B1; PORTC &amp;= ~(A2 | B2)<br />#define KROK2 PORTC |= A2 | B1; PORTC &amp;= ~(A1 | B2)<br />#define KROK3 PORTC |= A2 | B2; PORTC &amp;= ~(A1 | B1)<br />#define KROK4 PORTC |= A1 | B2; PORTC &amp;= ~(A2 | B1)<br /><br />int main(void)<br />{<br />  DDRB |= (1 &lt;&lt; PB1);<br />  DDRC = 0xFF;<br /><br />  while (1)<br />  {<br /><br />    KROK1;<br />    _delay_ms(10);  <br />    KROK2;<br />    _delay_ms(10);<br />    KROK3;<br />    _delay_ms(10);<br />    KROK4;<br />    _delay_ms(10);<br />  }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21647">antosV10</a> — 4 cze 2021, o 09:00</p><hr />
]]></content>
</entry>
</feed>