Stránka 1 z 1

Grayův kód->úhel

Napsal: 17 říj 2013, 20:45
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.

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

Napsal: 17 říj 2013, 22:05
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

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

Napsal: 18 říj 2013, 10:13
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).

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

Napsal: 18 říj 2013, 16:08
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ů..

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

Napsal: 19 říj 2013, 18:46
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

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

Napsal: 21 říj 2013, 22:34
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)