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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14193&amp;mode</id>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-21T09:27:27+01:00</updated>
<published>2016-01-21T09:27:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151276#p151276</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151276#p151276"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151276#p151276"><![CDATA[
Wynik wysyłam na terminal po RS-sie, ale tylko podczas testów, chciałem podpatrzeć jakie wyniki mam z encodera i czy jest &quot;po mojej myśli&quot;. W docelowym układzie RS-a będę wykorzystywał do innych celów.<br />Jakiś czas temu trafiłem na projekt tej frezarki, musiałbym jeszcze raz się temu przyjrzeć, tym razem pod kątem serwomotorów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 21 sty 2016, o 09:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PRAT]]></name></author>
<updated>2016-01-21T08:18:49+01:00</updated>
<published>2016-01-21T08:18:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151273#p151273</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151273#p151273"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151273#p151273"><![CDATA[
To na jednym sygnale się nie da, podglądałeś tamten projekt?<br /><br />Jest jeszcze inny czysto programowy i o to samo chodzi.<br /><br /><!-- m --><a class="postlink" href="http://sheepdogguides.com/arduino/FA1updwn.htm" >http://sheepdogguides.com/arduino/FA1updwn.htm</a><!-- m --><br /><br />Jeszcze podgląd na ten wynik  liczenia to ma być na wyświetlaczu czy jak, bo podałeś informację &quot;mam komunikację z terminalem do wyświetlania impulsów(też działa)&quot;, ale co masz na myśli to można się tylko domyślać, że może to okienko w programie, niestety nie wiem jakim, albo nie wiem nic.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12463">PRAT</a> — 21 sty 2016, o 08:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-21T07:28:38+01:00</updated>
<published>2016-01-21T07:28:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151270#p151270</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151270#p151270"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151270#p151270"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Chodzi tylko o to, że gdy się silnik kręci w prawo to dodaje impulsy do licznika, a gdy się kręci w lewo to nie odejmuje, a nadal dodaje, czy jak?<br /></div><br />Tak o to chodzi. Encoder ma dwa wyjścia i jaki przebieg z nich mam to wiem, ale nie wiem jak to liczyć procesorem w górę i w dół.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 21 sty 2016, o 07:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PRAT]]></name></author>
<updated>2016-01-20T22:59:40+01:00</updated>
<published>2016-01-20T22:59:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151255#p151255</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151255#p151255"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=151255#p151255"><![CDATA[
Tom277. Chodzi tylko o to, że gdy się silnik kręci w prawo to dodaje impulsy do licznika, a gdy się kręci w lewo to nie odejmuje, a nadal dodaje, czy jak? Wydaje mi się, że na jednym wejściu tego nie da się opanować. Po to enkodery mają dwa wyjścia aby obydwa podłączyć, w dodatku są takie sterowniki których jedynym zadaniem jest pilnowanie tego by stan z enkoderów był zgodny ze stanem zadanym nawet gdy są siły zewnętrzne które mają ochotę to zmienić a więc podglądanie jak to działa trzeba rozpocząć od strony sprzętowej.<br /><br /><!-- m --><a class="postlink" href="http://www.elektroda.pl/rtvforum/topic2659141.html" >http://www.elektroda.pl/rtvforum/topic2659141.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12463">PRAT</a> — 20 sty 2016, o 22:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krafin]]></name></author>
<updated>2016-01-15T13:41:14+01:00</updated>
<published>2016-01-15T13:41:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150696#p150696</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150696#p150696"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150696#p150696"><![CDATA[
Panowie, ładowanie attiny13 a może jeszcze drugiego do czegoś innego - to nie kierunek. Co do STmek czy LPC to o ile ktoś wie jak działa dane peryferie nie trzeba nawet przeglądać wykresów itp. od razu przechodzimy do rejestrów. W końcu na ile sposobów można przedstawić wykres SPI, a peryferia jak np. timery mają pełna listę kroków co zrobić aby odpalić go w danym trybie. Jeżeli ktoś potrafi obsłużyć GPIO w AVR zrobi to samo na arm, i już na samych gpio zobaczy jakie one mają  fajne funkcje.<br />Nie mówię żeby od razu na dma się porywać czy usb, ale rejestry SPI, I2C, USART są bardzo podobne do AVR<br />No i nie rzucać się od razu jak pies na mięso na f4 czy f7, bo niby cena podobna a zegar kilkukrotnie większy, ale rzeczywiście można tam się na samym początku już na zegarach pogubić. Ale F0/L0 czy F1/L1 to pikusie z paroma rejestrami <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=487">krafin</a> — 15 sty 2016, o 13:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-15T12:37:24+01:00</updated>
<published>2016-01-15T12:37:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150693#p150693</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150693#p150693"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150693#p150693"><![CDATA[
Tak zoom, ale wydaje mi się, że nie moge tego zrobić w przerwaniu INT0 lub INT1 bo zapcham procesor obsługą tylko przerwania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 15 sty 2016, o 12:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zoom]]></name></author>
<updated>2016-01-15T12:27:37+01:00</updated>
<published>2016-01-15T12:27:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150691#p150691</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150691#p150691"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150691#p150691"><![CDATA[
<div class="quotetitle">Tom277 napisał(a):</div><div class="quotecontent"><br />Tu pytanie, jak to zrobić żeby zliczać impulsy w górę i w dół? Chciałem jakoś badać stan wyjścia B encodera, które jest przesunięte względem A, ale jak?<br />Myślałem nad wykorzystaniem przerwania INT0 lub INT1 w którym w momencie wystąpienia badałbym wyjście B...<br /></div><br /><br />No chyba inaczej nie da się obsłużyć enkodera, bo jak? Tak jak mówisz - dajesz sygnał A na przerwanie, np. na zbocze narastające. W momencie wystąpienia przerwania badasz stan wyjścia B - jak jest niski, to znaczy że kręci się w jedną stronę, jak wysoki to w drugą. Chyba tylko tak można określić kierunek.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=685">zoom</a> — 15 sty 2016, o 12:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-15T12:06:52+01:00</updated>
<published>2016-01-15T12:06:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150688#p150688</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150688#p150688"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150688#p150688"><![CDATA[
Kurcze, ale widzę na Youtube że ludzie budują &quot;servomotory&quot; na AVR i to działa! Niestety nie dostałem się do kodów żeby podpatrzeć jak to jest zrobione.<br />Na start chciałbym uruchomić chociaż ten testowy &quot;na biurku&quot; gdzie mam 100 impulsów,  zobaczyć jak to ruszyć. Nie chce mi się wierzyć, że się nie da  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />  na pewno jest to do ogarnięcia tylko się źle za to zabieram.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 15 sty 2016, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2016-01-15T11:53:22+01:00</updated>
<published>2016-01-15T11:53:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150687#p150687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150687#p150687"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150687#p150687"><![CDATA[
No to przynajmniej wiemy już o co chodzi. W sytuacji, o której piszesz faktycznie potrzeba dokładności rozpoznawania kierunku. Możesz mieć problem z prędkością małych avr'ków. Można bhy jeszcze wstawić pośrednuka na jakimś tiny13, który zajmie się enkoderem, i do głownego procka będzie wysyłał gotowe impulsy na dwóch pinach - jeden pin lewo, drugi prawo. Ja tak zrobiłem w jednym z projektów gdzie czasy przerwań miałem trochę wyśrubowane.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 15 sty 2016, o 11:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-15T11:31:06+01:00</updated>
<published>2016-01-15T11:31:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150684#p150684</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150684#p150684"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150684#p150684"><![CDATA[
ad1)<br />Trochę się nie zrozumieliśmy. Ja takiej rozdzielczości nie potrzebuję, po prostu mam taki encoder z silnikiem. Encoder ma rozdzielczość 400 impulsów na obrót i nic z tym nie zrobię. Myślałem nad zmniejszaniem/podzieleniem ilości impulsów, ale chciałbym wreszcie ogarnąć temat z encoderami dla tego nie chcę stosować półśrodków. Jak wspomniałem wcześniej robiłem już podejście do tego tematu. Miałem wtedy silnik z encoderem 500 impulsów na obrót, silnik rozkręcał się do 6000 obr/min i nie udało mi się tego ogarnąć. Mam też drugi silnik (dla prób na biurku) i ten ma 100 impulsów na obrót. To nie o to chodzi, że potrzebuję tak wysoka rozdzielczość, jak wspomniałem po prostu mam taki encoder i takie silniki a jak mówią &quot;darowanemu koniowi w zęby się nie zagląda&quot;.<br />ad2)<br />Spodziewałem się tego pytania  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> . Muszę badać kierunek obrotu ośki encodera. Silnik napędza za pośrednictwem niewielkiej przekładni spore ramię, coś w stylu odwróconego wahadła, Na pewno może się zdarzyć sytuacja, że ramie poruszy silnikiem przestawiając ośkę. Silniki są dwa i z założenia maja pracować zależnie/synchronicznie, ale nie, nie jest to SEGWAY <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  . Dla tego muszę kontrolować i korygować  położenie również w sytuacji gdy mikrokontroler nie porusza silnikiem(nie ma rozkazu ruchu).  Gdyby mogło być tak jak mówisz miałbym problem rozwiązany. Inna rzecz to, że taka metoda jaką proponujesz to nie jest sprzężenie zwrotne, to będzie działać mniej więcej jak silnik krokowy który ma wykonać ileś tam kroków ale czy je wykonał to tego mikrokontroler nie wie. Bazując na tym co napisałem to te 400 impulsów jest całkiem dobrą rozdzielczością więc chyba nie jest dobrym pomysłem zmniejszanie rozdzielczości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 15 sty 2016, o 11:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2016-01-15T09:10:23+01:00</updated>
<published>2016-01-15T09:10:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150673#p150673</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150673#p150673"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150673#p150673"><![CDATA[
Zastanawia mnie co to za silnik DC masz, który potrafi się wałem ustawić na jednej z 400 pozycji... Zastanów się czy potrzebna ci tak naprawdę tak wysoka precyzja enkodera. Może wystarczy dzielnik zrobić sprzętowy aby ograniczyć impulsowanie, to raz. Dwa to - czy potrzeba badać sygnał kierunkowo (czyli przesunięte impulsy)? W wielu sytuacjach jest to kompletnie nie uzasadnione i niepotrzebne, bo przecież uruchamiając motor program wie, w którą stronę rusza wałem, a więc wystarczy tylko liczyć ilość przybywających impulsów tyle, że w przerwaniu (to ważne!), bo wtedy nawet po odłączeniu napięcia silnik posiada bezwładność i parę impulsów doliczy do kierunku, w którym ostatni się obracał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 15 sty 2016, o 09:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-15T08:30:57+01:00</updated>
<published>2016-01-15T08:30:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150670#p150670</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150670#p150670"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150670#p150670"><![CDATA[
Od jakiegoś czasu zaczynam podzielać Twój pogląd, tylko że nic a nic o ARM-ach nie wiem. Czekam aż Mirek napisze kolejną książkę, tym razem o ARM-ach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 15 sty 2016, o 08:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krafin]]></name></author>
<updated>2016-01-15T07:49:02+01:00</updated>
<published>2016-01-15T07:49:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150668#p150668</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150668#p150668"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150668#p150668"><![CDATA[
Ja uwazam ze takie rzeczy jak te to wlasnie granica gdzie juz nie nalezy stosowac tych biednych avr a postawic nawet na jakis najmniejszy stm32 przykladowo f030 kosztuje 4zl a ma timer z sprzetowym zliczaniem impulsow z enkodera, dzieki czemu procek tylko czyta jeden rejestr i wynik na tacy. <br /><br />Tutaj maksymalna czestotliwosc to 32 kHz ale z jednego kanalu wiec na atmedze bedzie to bardzo trudne do zrobienia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=487">krafin</a> — 15 sty 2016, o 07:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-15T06:36:51+01:00</updated>
<published>2016-01-15T06:36:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150667#p150667</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150667#p150667"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150667#p150667"><![CDATA[
Wiem, o tym co napisałeś, ale nie wiem jak to wykorzystać w kodzie. W tej chwili, jak napisałem wcześniej zliczam impulsy timerem1, nie wiem jak mogę zmieniać kierunek zliczania zależnie od  kierunku obrotu. Jak to &quot;wychodzi&quot; z encodera to wiem (to o czym napisałeś) zresztą bardzo ładnie to widać na oscyloskopie 2-u kanałowym. Powiedz mi tylko jak tą właściwość wykorzystać w praktyce. Licznik timera1 zlicza autonomicznie podawane impulsy na swoje wejście T1 i nie mogę nic przestawić, chyba że mogę tylko nie wiem jak. Oczywiście nie upieram się, że tak musi być jak zrobiłem, chętnie dowiem się jak to zrobić inaczej. Na razie zrobiłem tak jak wyżej chociażby po to żeby sprawdzić elektrycznie czy wszystko gra.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 15 sty 2016, o 06:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-01-14T21:09:07+01:00</updated>
<published>2016-01-14T21:09:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150638#p150638</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150638#p150638"/>
<title type="html"><![CDATA[Re: Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150638#p150638"><![CDATA[
Witam <br />Przyjrzyj się przebiegom na oscyloskopie albo nawet mierniku.<br />Są przesunięte tworząc sekwencję. Parami np. ( stan_wyjścia_A , stan_wyjścia_B).<br />obracając w jedną stronę (0,0) dalej (1,0)--&gt;(1,1)--&gt;(0,1)--&gt;(0,0)<br />a w przeciwną odwrotnie.<br />zauważ że np. po (1,1) będzie albo (1,0) albo (0,1) a po (0,1) będzie (0,0) albo (1,1) ,zależy w którą stronę kręcisz.<br />Więc to wykorzystaj w kodzie licznik++; else <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 14 sty 2016, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Tom277]]></name></author>
<updated>2016-01-14T18:42:55+01:00</updated>
<published>2016-01-14T18:42:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150613#p150613</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150613#p150613"/>
<title type="html"><![CDATA[Encoder + silnik]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14193&amp;p=150613#p150613"><![CDATA[
Witam<br />Usiłuję napisać kod dla ATmegi88 obsługującej silnik i encoder zamontowany na wale silnika. Encoder ma 400 impulsów na obrót a silnik rozkręca się do max 4800obr/min. <br />Całość ma być serwem sterowanym z zewnątrz przez USART. Jakiś czas temu mierzyłem się już z podobnym problemem, ale poległem. Nie mogłem napisać nic działającego i z upływem czasu zniechęcenie wzięło górę. Teraz znowu mnie naszło i z nowymi pomysłami i zapałem próbuje ogarnąć temat. Niestety encoder dalej jest dla mnie problematyczny. Napisałem sterowanie przez PWM z timera0 silnikiem (to działa), mam komunikację z terminalem do wyświetlania impulsów(też działa), encoder wyjściem A podłączyłem do wejścia timera1 PD5 i wysyłając stan licznika na terminal widzę, że też działa, tzn zlicza impulsy, ale tylko w górę. Tu pytanie, jak to zrobić żeby zliczać impulsy w górę i w dół? Chciałem jakoś badać stan wyjścia B encodera, które jest przesunięte względem A, ale jak?<br />Myślałem nad wykorzystaniem przerwania INT0 lub INT1 w którym w momencie wystąpienia badałbym wyjście B, ale impulsy z encodera mogą pojawiać się max co ok. 31u sekund więc angażowanie procesora tak często do obsługi przerwania i jeszcze badanie w tym przerwaniu czy pin jest w stanie wysokim lub niskim, chyba nie jest dobre (tak mi się przynajmniej wydaję). Procesor ma jeszcze inne rzeczy do zrobienia więc wydaje mi się, że to złe rozwiązanie. Timer2 generuje mi takty dla  timera programowego, timer0 jak napisałem wcześniej zajmuje się PWM-em, więc został mi timer1. Jak to ogarnąć. W internecie jest sporo o encoderach, ale  większość dotyczy encoderów ręcznych, natomiast o optycznych z silnikiem jest nie za wiele, a przynajmniej nie znalazłem dla siebie odpowiedzi. <br />Elektrycznie wszystko działa, sprawdzałem na oscyloskopie i widać dwa przebiegi z encodera, zresztą jak wcześniej wspomniałem na terminalu ma ładnie pokazany przyrost licznika T1, niestety tylko przyrost.  <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=548">Tom277</a> — 14 sty 2016, o 18:42</p><hr />
]]></content>
</entry>
</feed>