
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=Highlander</id>
		<title>Highlander - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=Highlander"/>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Highlander&amp;action=history"/>
		<updated>2026-04-13T15:40:17Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=Highlander&amp;diff=5979&amp;oldid=prev</id>
		<title>Palo: New page: == Highlander == Robot Highlander bol skonštruovaný študentom prvého ročníka odboru fyzika na FMFI UK ako projekt na praktický seminár robotiky a súťaž Istrobot 2011 – kategó...</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Highlander&amp;diff=5979&amp;oldid=prev"/>
				<updated>2011-06-24T09:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;New page: == Highlander == Robot Highlander bol skonštruovaný študentom prvého ročníka odboru fyzika na FMFI UK ako projekt na praktický seminár robotiky a súťaž Istrobot 2011 – kategó...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Highlander ==&lt;br /&gt;
Robot Highlander bol skonštruovaný študentom prvého ročníka odboru fyzika na FMFI UK ako projekt na praktický seminár robotiky a súťaž Istrobot 2011 – kategória Stopár. Hlavným cieľom projektu popri úspešnom splnení úlohy – sledovania čiary bolo aj vytvorenie čo najjednoduchšieho amatérskeho robota len zo základných súčiastok bez použitia predpripravených kitov. Koncepcia robota je teda vhodná najmä pre začiatočníkov, ktorí majú len minimálne poznatky z robotiky, nechcú však kupovať už hotové modely, ale vytvoriť si vlastný. Takýto prístup umožnuje pochopiť architektúru robota od základov a získať skúsenosti s mechanickou, elektronickou aj softvérovou časťou zároveň.&lt;br /&gt;
&lt;br /&gt;
== Mechanická časť ==&lt;br /&gt;
Základom mechanickej časti robota je stavebnica Merkur. Na podstave sú upevnené dva upravené servomotory s veľkými kolesami, ktoré zabezpečujú pohyb robota a jeho otáčanie do strán. Nad servomotormi je vývod pre zdroj napätia. V strednej časti sa nachádza kontaktné pole s elektronikou. Vzadu je malé koliesko zabezpečujúce stabilitu. Dve infračervené LED-diódy a senzory sú upevnené v prednej časti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elektronika  ==&lt;br /&gt;
[[Image:Highlander.bmp|thumb|280px|Highlander-obvod]]&lt;br /&gt;
Riadiacim centrom robota je mikroprocesor PICAXE-20X2. I keď neposkytuje toľko možností ako niektoré iné typy, jeho výhodou je veľmi jednoduché používanie. PICAXE má vlastné vývojové prostredie postavené na Basic-u a predovšetkým nevyžaduje programátor – programy možno sťahovať priamo cez USB kábel. Navyše bola dlhodobým používaním zistená značná odolnosť voči vonkajšim vplyvom a nesprávnemu zaobchádzaniu. Je teda veľmi vhodný pre začiatočníkov.&lt;br /&gt;
&lt;br /&gt;
Servomotory SM-S4303R sú už výrobcom upravené tak, aby umožnovali neobmedzené otáčanie hriadeľa, sú teda vhodné pre pohyb kolies robota. 60 otáčok za minútu pri záťaži nestavia robota medzi najrýchlejších, o to väčší je ale moment 48 N.cm, ktorý umožňuje robotovi vyliezť aj na svahy s väčším sklonom. V tomto smere pomáhajú aj poťahy na kolesách, tie sú vystrihnuté z gumeného balóna, vďaka čomu je koeficient statického trenia na naklonenej rovine väčší ako pri nepokrytom povrchu kolies.&lt;br /&gt;
&lt;br /&gt;
Sledovanie čiary zabezpečujú dve infračervené LED-diódy L-53F3BT a dva prijímače TSOP31230. Diódy  generujú signál modulovaný 36 kHz.&lt;br /&gt;
&lt;br /&gt;
Spínač v prednej časti umožňuje reagovať na prekážky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Princíp sledovania čiary a program ==&lt;br /&gt;
Robot sa pohybuje striedavým zapínaním motorov v krátkych časových intervaloch, pričom diódy generujú infračervené svetlo, ktoré je pohlcované čiernou podložkou a odráža sa od bielej. Diódy sú namierené na bielu oblasť vedľa čiernej čiary, jedna naľavo, druhá napravo a signál z nich sa odráža do prijímačov. Ak sa robot začne stáčať napríklad doprava, pravá dióda sa dostane nad čiaru a prijímač stratí signál. Program vtedy prejde do cyklu, v ktorom sa zapína len ľavý motor, pravý je vypnutý, čo trvá až dovtedy, kým pravý prijímač znova nezaregistruje signál od diódy. Robot vtedy začne vykonávať zasa prvú časť programu. Analogicky princíp platí pre stáčanie doľava.&lt;br /&gt;
&lt;br /&gt;
V prípade, že sa pred robotom nachádza prekážka, narazí do nej spínačom, čim sa spustí časť programu, ktorá zabezpečí, že ju obíde. To znamená, že chvíľu tlačí do prekážky, potom zacúva, otočí sa doprava, prejde niekoľko desiatok centimetrov, otočí sa doľava atď. až sa dostane na miesto približne za prekážkou. Prametre v tejto časti programu treba nastaviť v závislosti od použitých motorov. Najlepšie je skúsiť ich postupne zadávať a meniť až kým sa neodsiahne najlepšie obchádzanie prekážky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zdrojový kód ===&lt;br /&gt;
&lt;br /&gt;
 pwmout c.5,50,118      		;generovanie signálu diódou na vstupný pin 5&lt;br /&gt;
 let adcsetup = %0000000000001111 	;nastaví piny Out 0,1,2 a In 7 ako ADC, aby z nich  &lt;br /&gt;
 ;mohol načítať napätie&lt;br /&gt;
 ;&lt;br /&gt;
 base:					;základná časť programu pre pohyb motorov           &lt;br /&gt;
 readadc 3,b5				;načíta napätie z pinu adc 3 do premennej b5&lt;br /&gt;
 if b5&amp;gt;200 then goto prekazka		;ak zaznamená napätie, prejde na &amp;quot;prekazka&amp;quot;&lt;br /&gt;
 readadc 2,b6&lt;br /&gt;
 if b6 &amp;gt; 200 then goto dolava		;ak zaznamená napätie, prejde na &amp;quot;dolava&amp;quot;&lt;br /&gt;
 readadc 1,b7&lt;br /&gt;
 if b7 &amp;gt; 200 then goto doprava		;ak zaznamená napätie, prejde na &amp;quot;doprava&amp;quot;&lt;br /&gt;
 pulsout 6,200 pause 40			;pulzy pre ľavý a pravý motor&lt;br /&gt;
 pulsout 7,400 pause 40&lt;br /&gt;
 high 4&lt;br /&gt;
 goto base				;späť na začiatok cyklu&lt;br /&gt;
 ;	&lt;br /&gt;
 dolava:				;cyklus pre odbočenie doľava, opakovane ;zapína pravý motor&lt;br /&gt;
 pulsout 7,400 pause 80&lt;br /&gt;
 high 4&lt;br /&gt;
 goto base				;späť na prvý cyklus&lt;br /&gt;
 ;	 &lt;br /&gt;
 doprava:				;cyklus pre odbočenie doprava, opakovane zapína ;ľavý motor&lt;br /&gt;
 pulsout 6,200 pause 80&lt;br /&gt;
 high 4&lt;br /&gt;
 goto base&lt;br /&gt;
 ;	 &lt;br /&gt;
 prekazka:				;obchádzka prekážky&lt;br /&gt;
 for b3=1 to 100			;rovno&lt;br /&gt;
 pulsout 6,200 pause 10&lt;br /&gt;
 pulsout 7,400 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;	&lt;br /&gt;
 for b3=1 to 20				;zacúva dozadu&lt;br /&gt;
 pulsout 6,400 pause 10&lt;br /&gt;
 pulsout 7,200 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;&lt;br /&gt;
 for b3=1 to 60				;doprava&lt;br /&gt;
 pulsout 7,400 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;&lt;br /&gt;
 for b3=1 to 30				;rovno&lt;br /&gt;
 pulsout 6,200 pause 10&lt;br /&gt;
 pulsout 7,400 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3	&lt;br /&gt;
 ;&lt;br /&gt;
 for b3=1 to 90				;dolava&lt;br /&gt;
 pulsout 6,200 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;&lt;br /&gt;
 for b3=1 to 50				;rovno&lt;br /&gt;
 pulsout 6,200 pause 10&lt;br /&gt;
 pulsout 7,400 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;&lt;br /&gt;
 for b3=1 to 90   			;dolava&lt;br /&gt;
 pulsout 6,200 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3	&lt;br /&gt;
 ;	&lt;br /&gt;
 for b3=1 to 50				;rovno&lt;br /&gt;
 pulsout 6,200 pause 10&lt;br /&gt;
 pulsout 7,400 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;&lt;br /&gt;
 for b3=1 to 110			;doprava&lt;br /&gt;
 pulsout 7,400 pause 10&lt;br /&gt;
 high 4&lt;br /&gt;
 next b3&lt;br /&gt;
 ;	&lt;br /&gt;
 goto base&lt;br /&gt;
&lt;br /&gt;
== Galéria ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:H1.JPG|thumb|175px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:H2.JPG‎|thumb|175px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:H3.JPG|thumb|175px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:H4.JPG|thumb|175px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Palo</name></author>	</entry>

	</feed>