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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-08-16T13:55:53+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3875&amp;mode</id>
<entry>
<author><name><![CDATA[RobertM]]></name></author>
<updated>2013-08-16T13:55:53+01:00</updated>
<published>2013-08-16T13:55:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3875&amp;p=45903#p45903</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3875&amp;p=45903#p45903"/>
<title type="html"><![CDATA[Re: Procedury w tablicach dla silnika krokowego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3875&amp;p=45903#p45903"><![CDATA[
To jednak zmęczenie. <br />Wpisałem w pierwszym i drugim kroku ten sam krok (numer 3 - jazda referencyjna) i dlatego program wykonywał się cały czas na jednym ruchu. <br />Teraz działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1620">RobertM</a> — 16 sie 2013, o 13:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RobertM]]></name></author>
<updated>2013-08-15T19:14:20+01:00</updated>
<published>2013-08-15T19:14:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3875&amp;p=45836#p45836</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3875&amp;p=45836#p45836"/>
<title type="html"><![CDATA[Procedury w tablicach dla silnika krokowego]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3875&amp;p=45836#p45836"><![CDATA[
Witam<br />Nie mogę zrozumieć jednej rzeczy. Wymyśliłem sobie sterowanie silnikami krokowymi. Każda &quot;procedura&quot; ma swój numer. <br />Cały blok ma się wykonać licznik razy.<br />[syntax=c]while(1){<br />while(ram_cfg.counter){<br />if(T_auto==1){<br />for (licznik_proc=0;licznik_proc &lt; 64;licznik_proc++) //sprawdzanie numeru procedury<br />{<br />switch(ram_cfg.procedura&#91;licznik_proc&#93;){<br />case 1:<br />Motor(11,ram_cfg.dystans&#91;licznik_proc&#93;,ram_cfg.predkosc&#91;licznik_proc&#93;);<br />break;<br />case 2:<br />Motor(12,ram_cfg.dystans&#91;licznik_proc&#93;,ram_cfg.predkosc&#91;licznik_proc&#93;);<br />break;<br />case 3:<br />Motor_1_REF(ram_cfg.predkosc&#91;licznik_proc&#93;);<br />break;<br />default:<br />break;<br />} //od switch<br />}//od for<br />ram_cfg.counter--;<br />}<br />else<br />{<br />//Motor_2_STOP();<br />}<br />} //od while counter<br /><br />} // od while<br />} // od main[/syntax]<br />Wcześniej  zadeklarowałem zmienne w strukturze:<br />[syntax=c]unsigned long int counter;<br />uint8_t procedura&#91;64&#93;;<br />unsigned long int predkosc&#91;64&#93;;<br />unsigned long int dystans&#91;64&#93;;[/syntax]<br />No i początkowe wartości :<br />[syntax=c]ram_cfg.counter=1000000;<br />ram_cfg.procedura&#91;0&#93;=3; //jazda referencyjna<br />ram_cfg.predkosc&#91;0&#93;=500;<br /><br />ram_cfg.procedura&#91;1&#93;=3; //silnik 1 do tyłu<br />ram_cfg.predkosc&#91;1&#93;=5000;<br />ram_cfg.dystans&#91;1&#93;=3200;[/syntax]<br />Miałoby to działać tak,że w tablicy &quot;procedura&quot; jest trzymany numer procedury. I tak np. <br />1 - silnik 1 do przodu,<br />2 - silnik 1 do tyłu ,<br />3 - silnik 1 jazda referencyjna itd.<br />Czyli instrukcją for zwiększam sobie licznik_proc ( zadeklarowany jako uint8_t licznik_proc;) <br />potem switchem sprawdzam co dany numer procedury robi i tak dalej.<br />Niestety pierwszy switch jest dobrze rozpoznawany a potem są bzdury. Do tego licznik cykli (ram_cfg.counter) zmniejsza wartości przeskakując co kilka.<br />Dodam ,że jak na twardo wpiszę algorytm ( silnik1 do przodu, silnik 2 do tyłu. itp.) to wszystko działa i lcznik cykli się zminejsza o jeden. Może to zaćma spowodowana zmęczeniem ale nie mogę z tym ujechać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1620">RobertM</a> — 15 sie 2013, o 19:14</p><hr />
]]></content>
</entry>
</feed>