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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-05-03T07:36:40+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=18313&amp;mode</id>
<entry>
<author><name><![CDATA[Cam74]]></name></author>
<updated>2017-05-03T07:36:40+01:00</updated>
<published>2017-05-03T07:36:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188290#p188290</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188290#p188290"/>
<title type="html"><![CDATA[Re: Arduino Uno- Enkoder Inkrementalny - Gubienie Impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188290#p188290"><![CDATA[
Kolega xentis ma rację. Osobiście wykorzystałem bibliotekę Mirka pod arduino i pięknie to chodzi. Jest tylko jedno ale, z biblioteki wyjąłem wszystko co było potrzebne i przeniosłem do głównego szkicu w arduino, powód, w arduino inaczej obsługuje się callbacki, cała reszta czy to na przerwaniach czy w pollingu śmiga aż miło.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13745">Cam74</a> — 3 maja 2017, o 07:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-05-02T21:26:39+01:00</updated>
<published>2017-05-02T21:26:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188282#p188282</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188282#p188282"/>
<title type="html"><![CDATA[Re: Arduino Uno- Enkoder Inkrementalny - Gubienie Impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188282#p188282"><![CDATA[
A poradniki Mirka w temacie obejrzałeś?<br /><a href="http://mirekk36.blogspot.com/2016/02/enkoder-obrotowy-od-podstaw.html"  class="postlink">http://mirekk36.blogspot.com/2016/02/enkoder-obrotowy-od-podstaw.html</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 2 maja 2017, o 21:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Pretas]]></name></author>
<updated>2017-05-02T20:43:48+01:00</updated>
<published>2017-05-02T20:43:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188274#p188274</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188274#p188274"/>
<title type="html"><![CDATA[Arduino Uno- Enkoder Inkrementalny - Gubienie Impulsów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18313&amp;p=188274#p188274"><![CDATA[
Witam,<br /><br />Próbowałem dziś sprawdzić, jak zlicza impulsy enkoder inkrementalny, który niedawno zakupiłem. Po napisaniu kodu programu i testowaniu okazuje się, że przy szybszych ruchach ręką w celu obrotu enkodera i powrotu do pozycji początkowej enkoder nie wskazuje 0-era, a wartości np. 5-6 większe/mniejsze. Prosiłbym więc was o pomoc w tej sprawie, w jaki sposób mógłbym usprawnić działanie programu, aby nie występowało zjawisko pomijania/gubienia impulsów.<br /><br />Enkoder użyty do zliczania:<br /><!-- m --><a class="postlink" href="http://sklep.cncprofi.com/enkoder-profi-360-06-a-a-b-b-z-z.html" >http://sklep.cncprofi.com/enkoder-profi ... b-z-z.html</a><!-- m --><br />Podłączenie do Arduino : 5V-Vcc,GND-GND, Sygnały A i B odpowiednio do pinów 2 i 4 wraz z rezystorami 10k Ohm<br />Kod programu:<br />[syntax=c]&#91;code&#93;<br />#define PhaseA         2      <br />#define PhaseB         4      <br />#define clockwise           1       <br />#define counterclockwise    2       <br /> <br />volatile long encposition= 0;<br />short encdirection = clockwise;<br />long lastposition = 0;<br /> <br />void setup()<br />{<br />  pinMode(PhaseA, INPUT);<br />  pinMode(PhaseB, INPUT);<br /> <br />  attachInterrupt(digitalPinToInterrupt(2), isr, RISING);<br /> <br />  Serial.begin (19200);<br />}<br /> <br />void loop()<br />{<br />  <br />  if (encposition != lastposition )<br />  {<br />    Serial.print(encposition, DEC);<br />    Serial.print(encdirection == clockwise ? &quot;clockwise&quot; : &quot;counterclockwise&quot;);<br />    lastposition = encposition;<br />  }<br />}<br /> <br /><br />void isr()<br />{<br />  <br />  int a = digitalRead(PhaseA);<br />  int b = digitalRead(PhaseB);<br /> <br />  if (a == b)<br /> {<br />   encposition--;<br />   encdirection = counterclockwise;<br /> }<br /> else<br /> {  <br />   encposition++;<br />   encdirection = clockwise ;<br /> }<br /> <br />}<br />&#91;/code&#93;[/syntax]<br /><br />Dołączona specyfikacja<br /><a href="https://obrazkiforum.atnel.pl/17095/9965cbc694af3d17ba775f77bbd10e0c.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/17095/9965cbc694af3d17ba775f77bbd10e0c.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/17095/c6edc8fa03751e80260d36617b9250c8.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/17095/c6edc8fa03751e80260d36617b9250c8.jpg" alt="Obrazek" /></a><br /><br />PS: Enkoder ma oznaczenie  ZL3806-360-5-24L jeśli jest to istotne.<br />Dziękuję i pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17095">Pretas</a> — 2 maja 2017, o 20:43</p><hr />
]]></content>
</entry>
</feed>