Grayův kód->úhel

Chcete si postavit robota, ale tak nějak nevíte kudy do toho?
Odpovědět
Suso30

Grayův kód->úhel

Příspěvek od Suso30 »

Dobrý den,
mám ve škole možnost vyrobit v rámci školní individuální maturitní práce převodník z Grayova kódu na úhel natočení.Jednalo by se o to, že bych dostal k dispozici kotouč s Grayovým kódem (viz. http://tinyurl.com/o9s69g8) a představuji si to tak, že bych jako vysílač použil zdroj světla, část paprsku by procházela pouze otvory v kotouči na detektor a převáděn na elektrickou veličinu. Jenže jak pak dál ? Každé velikosti na napětí by bylo určeno číslo v Greyově kodu a to pak pouze převedeno na úhel a číslo v binární tvaru, jak také je součástí úlohy? Děkuji za všechny návrhy a nápady .
PS kotouč by byl na hřídeli a ovládán elektromotorkem.
hubacekp
Příspěvky: 259
Registrován: 24 úno 2013, 13:40

Re: Grayův kód->úhel

Příspěvek od hubacekp »

pokud jsem to pochopil správně, nejjednodužší to budeš mít, když si vytvoříš převodní tabulku a pak porovnáš kódy:

Kód: Vybrat vše

int gcode = 0;
int angle = 0;

funkce read_gcode {}

if (gcode == 0) angle = 0;
else if (gcode == 1) angle = 12*1; // 360/30 = 12 a násobit pozicí od 0 do 360 (30 pozic)
else if (gcode == 11) angle = 12*2;
else if (gcode == 10) angle = 12*3;
else if (gcode == 110) angle = 12*4;
...
else if (gcode == 1000) angle = 12*18;
else if (gcode == 11000) angle = 12*19;
atd.

taky bude záležet, jestli budeš počítat úhel k začátku, středu, nebo konci dělícího políčka...

nuly před jedničkami jsem vynechal, aby gcode mohl být int. Můžeš ho mít i String li libo...
otočení o angle
Uživatelský avatar
adamh
Příspěvky: 62
Registrován: 24 úno 2013, 23:10
Bydliště: Opava / Praha
Kontaktovat uživatele:

Re: Grayův kód->úhel

Příspěvek od adamh »

Suso30 píše:že bych jako vysílač použil zdroj světla, část paprsku by procházela pouze otvory v kotouči na detektor a převáděn na elektrickou veličinu.
Ne, nestačí jeden detektor (pokud to není nějaká řádková kamera), potřebuješ jich pět a ideálně každý se svým vlastním zdrojem světla.

Kdybys snímal jen kolik světla přes kotouček projde, nemohl bys rozlišit třeba stavy 10010 a 10001, protože u obou tvoří otvory 2/5 plochy (v případě, že je otvor log. 1).
“We’re all pathetic and creepy and can’t get girls. That’s why we fight robots.” –Kripke (TBBT)
Osobní web: adamh.cz
Suso30

Re: Grayův kód->úhel

Příspěvek od Suso30 »

Jojo, to mě pak taky došlo.Takže řešení by bylo, pokud se nemýlím, v případě 5-ti bitové disku použít 5 ledek jako vysílač a 5 třeba fototranzistorů jako přijímač. Prostě pro každý bit disku použít vlastní přijímač a radši i vysílač ? Pak nemělo docházet záměně stavů..
Suso30

Re: Grayův kód->úhel

Příspěvek od Suso30 »

Takhle nějak bych si to představoval.. http://2i.cz/702594be6d ,to schéma je hodně provizorní :) . Otázkou je co použít za "mozek".Součástí by měl být i displej , který vypíše přečtené hodnoty v gray code a hodnoty převedené na ůhel? Máte nějaké doporučení .Děkuji
hubacekp
Příspěvky: 259
Registrován: 24 úno 2013, 13:40

Re: Grayův kód->úhel

Příspěvek od hubacekp »

Robotika nemusí být znamenat jen elektronické provedení:
Pokud ti jde o detekci otočení u pomalých otáček, můžeš použít i obyčejné kontakty s pružinkou co se propojí když je mezi nimi díra, nebo je možný dokonce i princip FLAŠINETU => grayúv kotouč udělej jako válec - pokud se ve škole hodnotí invence :-).
Kontakty se sepnou a propojí se např. 5V přímo na nějaký pin.
Kolečko/válec si můžeš udělat v prototypu velikosti podle toho, jak malé kontakty dokážeš udělat.
(takto blbnu jen po 2 Fernetech)
Odpovědět