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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=51&amp;t=22414&amp;mode</id>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2019-07-17T06:21:27+01:00</updated>
<published>2019-07-17T06:21:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220431#p220431</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220431#p220431"/>
<title type="html"><![CDATA[Re: Sterowanie silnikiem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220431#p220431"><![CDATA[
Nie koniecznie sprzętowo. Można z powodzeniem użyć programowego sterowania byle w przerwaniach impulsy były generowane. Tam też przekazujesz prędkość i ilość kroków do wykonania, a do pętli głównej wraca sygnał z jakiejś flagi lub licznika kroków o zakończeniu ruchu.<br />Porada odnośnie buforowanego lcd sama w sobie nic nie wnosi, bo i tak nie za wiele by to zmieniło jeśli chodzi o płynność (jakaś poprawa na pewno by była). Po prostu płynnego ruchu nie robi się w pętli głównej. Bufor znacznie przyspiesza pętlę i daje kupę czasu na inne obliczenia tylko trzeba jeszcze pamiętać o w pełni przelotowym (nieblokującym) pisaniu programu w każdej nawet najdrobniejszej jego części.<br />Wszystko zależy do czego to ma być i jakiej płynności oczekuje autor.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 17 lip 2019, o 06:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marcgend]]></name></author>
<updated>2019-07-16T21:45:04+01:00</updated>
<published>2019-07-16T21:45:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220430#p220430</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220430#p220430"/>
<title type="html"><![CDATA[Re: Sterowanie silnikiem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220430#p220430"><![CDATA[
Spróbuj generować te impulsy sprzętowo, Timerem2 jeśli to ATmega32. Ustawiasz np. tryb CTC ,bity COM21 i COM20 wedle potrzeb i w programie zmieniasz tylko OCR2 jeśli chcesz zmienić częstotliwość impulsów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6774">marcgend</a> — 16 lip 2019, o 21:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lu_let]]></name></author>
<updated>2019-07-16T18:28:00+01:00</updated>
<published>2019-07-16T18:28:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220424#p220424</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220424#p220424"/>
<title type="html"><![CDATA[Re: Sterowanie silnikiem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220424#p220424"><![CDATA[
Silnik krokowy sterowany z TA8435HQ <br />impulsy przerwania wychodzą z PD7<br />Przełożyłem Timer do przerwania i problem ustał, ale czy tak to się robi?<br /><br />[syntax=c]ISR( TIMER2_COMPA_vect ) {<br />uint16_t n;<br /><br />    n = Timer1;<br />if (n) Timer1 = --n;<br />n = Timer2;<br />if (n) Timer2 = --n;<br /><br /><br />if( !Timer1 ) {<br />Timer1 = (ram_cfg.rel3);<br />PORTD ^= (1&lt;&lt;PD7);<br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14494">Lu_let</a> — 16 lip 2019, o 18:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Szofer]]></name></author>
<updated>2019-07-16T18:19:17+01:00</updated>
<published>2019-07-16T18:19:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220423#p220423</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220423#p220423"/>
<title type="html"><![CDATA[Re: Sterowanie silnikiem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220423#p220423"><![CDATA[
Jakie sterowanie? PWM? Jakie sprzetowe? Programowe? Silnik pod obciążeniem czy na luzie? Jaki typ silnika?<br /><br />Przy wyswietlaniu znakow użyj bufora i za kazdym obiegiem petli while wrzucaj jeden znak.<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7664">Szofer</a> — 16 lip 2019, o 18:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lu_let]]></name></author>
<updated>2019-07-16T16:06:35+01:00</updated>
<published>2019-07-16T16:06:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220420#p220420</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220420#p220420"/>
<title type="html"><![CDATA[Sterowanie silnikiem LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22414&amp;p=220420#p220420"><![CDATA[
Witam,<br />Jak wyświetlać informacje na LCD, nie blokując pracującego silnika?<br />Próba wyświetlania na LCD jak niżej zakłóca pracę silnika.<br />Możliwe że sama idea sterowania silnikiem w ten sposób jest zła?<br />Proszę o jakieś wskazówki.<br /><br />[syntax=c]sei();<br />for(;;) {<br /><br />UART_RX_STR_EVENT(bufor);<br /><br />P_8;<br />ROTOR_LOCK;<br />HALF_POWER;<br /><br />if(ram_cfg.rel1==20) {<br />ENABLE;<br />//lcd_locate(0,0);<br />//lcd_str_P(PSTR(&quot;      START&quot;));<br />}<br />if(ram_cfg.rel1==10) {<br />DISABLE;<br />//lcd_locate(0,0);<br />//lcd_str_P(PSTR(&quot;      STOP &quot;));<br />}<br />if(ram_cfg.rel2==40) {<br />LEFT;<br />//lcd_locate(1,0);<br />//lcd_str_P(PSTR(&quot;&lt;- w lewo &quot;));<br />}<br />if(ram_cfg.rel2==50) {<br />RIGHT;<br />//lcd_locate(1,0);<br />//lcd_str_P(PSTR(&quot;w prawo -&gt;&quot;));<br />}<br /><br /><br />if( !Timer1 ) {<br />Timer1 = (ram_cfg.rel3);<br />PORTD ^= (1&lt;&lt;PD7);<br /><br />}<br /><br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14494">Lu_let</a> — 16 lip 2019, o 16:06</p><hr />
]]></content>
</entry>
</feed>