Stránka 1 z 2

Rotační koder

Napsal: 19 lis 2009, 17:27
od rkozeluh
Má někdo zkušenosti s rotačním koderem 30 imp./otáčku z prodejny se slonem? Mám pocit, že si to dělá co chce. Je to připojený jen na zkoušku na Megu8, naprogramovaný v Bascomu a nefunguje to.

$regfile = "m8def.dat"
$crystal = 10000000
$hwstack = 32
$swstack = 10
$framesize = 40
Config Lcd = 16 * 2

Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3


Dim B As Byte
Dim Citac As Word


Portd = &B00000011

Citac = 0

Cursor Off
Cls
Lcd "Encoder test"
Wait 2

Do
B = Encoder(pind.0 , Pind.1 , Links , Rechts , 0)
Loop
End

Links:
Incr Citac
Cls
Lcd B ; " Right"
Lowerline
Lcd Citac
Return
Rechts:
Decr Citac
Cls
Lcd B ; " Left "
Lowerline
Lcd Citac
Return
End

Napsal: 19 lis 2009, 17:29
od Andrea
Bez ošetření zákmitů se nedá použít.

Napsal: 19 lis 2009, 17:42
od nekmil
Já ho používám několik let a bez problému.

B = Encoder(pind.0 , Pind.1 , Links , Rechts , 0) zkus tu nulu změnit na 1

Při 0 ta smyčka běží příliš rychle, proto asi špatně vyhodnocuje jednotlivé kroky. Při 1 čeká na krok viz nápověda v Bascomu.

Napsal: 19 lis 2009, 18:40
od Ragnol
hlavně ty ze slona jsou kvalita ... koupil jsem jich 10 a fungovala půlka a ten zbytek taky nic moc ... chce to pořádně ošetřit a mrknout škopkem jak to funguje

Napsal: 19 lis 2009, 19:24
od rkozeluh
nekmil píše:Já ho používám několik let a bez problému.

B = Encoder(pind.0 , Pind.1 , Links , Rechts , 0) zkus tu nulu změnit na 1

Při 0 ta smyčka běží příliš rychle, proto asi špatně vyhodnocuje jednotlivé kroky. Při 1 čeká na krok viz nápověda v Bascomu.


Vyzkoušel jsem 0 i 1, ale je to pořád stejný. I když točím na jednu stranu, pomalu nebo rychle, to je jedno, tak to chvíli přičítá a hned zase odčítá. prostě zmatek nepoužitelný.
Nevím jestli to tedy není tím koderem. Nevíte o nějakém "funkčním" nebo mám vyzkoušet další kus od slona?

Napsal: 19 lis 2009, 19:42
od zouzel1
Vždyť je to mechanický přepínač, ošetřit zákmity, tak jak píše Andrea... žoužel

Napsal: 20 lis 2009, 07:23
od BOBOBO
Taky jsem s ním měl problém . Potom je dobré rozebrat a kouknout na pružinky-kontakty , po jaké dráze skutečně jedou . Měl jsem kus u kterého jely dva kontakty spolu po nedělené ploše . Bylo u nového autoradia a proto ho vyhodili . Jinak se běžně používají i u mikrowelle a neviděl jsem tam žádná ošetření zákmitů a to je tam "nějaké" rušení kromě vlastního sepnutí-nesepnutí kodéru .

Napsal: 20 lis 2009, 07:49
od Maskot
BOBOBO píše:... neviděl jsem tam žádná ošetření zákmitů a to je tam "nějaké" rušení kromě vlastního sepnutí-nesepnutí kodéru .

To jsi koukal kam??Myslim,ze to by bylo videt az v softu pro ten ridici obvod.

Napsal: 20 lis 2009, 08:12
od BOBOBO
Hej máš recht . Zkrátil jsem si to na ošetření obvodovým zapojením .

Napsal: 21 lis 2009, 10:19
od Atlan

Napsal: 21 lis 2009, 10:38
od Andrea
Atlan píše:toto by ho malo uz osvietit :D

http://elektronika.kvalitne.cz/ATMEL/ne ... coder.html

Hlavně že tam autor píše "ale je třeba mít na paměti maximální proud kontakty!" a dá paralelně ke kontaktům kondíky 47nF. Jaký proud asi teče tím kontaktem, když šlusne kondík 47nF nabitý na 5V? Určitě větší než pár mA. :roll:
Taky občas dávám k tlačítkům kondíky, kvůli EMC, ale dávám 10nF a nepoužívám tlačítka s udaným max. proudem menším než 100mA.

Napsal: 21 lis 2009, 13:24
od rkozeluh
nekmil píše:Já ho používám několik let a bez problému.

B = Encoder(pind.0 , Pind.1 , Links , Rechts , 0) zkus tu nulu změnit na 1


Nekmile, a ta konstrukce programu je správná? Jak je to takhle napsané, tak by to mělo fungovat, nebo tam máš ještě nějaké HW ošetření vstupů?

Napsal: 21 lis 2009, 14:15
od nekmil
Ten Tvůj program jsem zkoušel v simulátoru, funguje správně akorát to zobrazování B je celkem zbytečné. V mém zařízení žádné ošetření vstupů nepoužívám.

Napsal: 21 lis 2009, 14:55
od rkozeluh
nekmil píše:Ten Tvůj program jsem zkoušel v simulátoru, funguje správně akorát to zobrazování B je celkem zbytečné. V mém zařízení žádné ošetření vstupů nepoužívám.

jasně, vím, že to B je tam zbytečné, měl jsem to jen abych viděl, co je na vstupu.

Tak nevím, jestli mám rozebrat ten koder, jestli je tam uvnitř všechno, jak má být :?

Napsal: 25 lis 2009, 09:42
od rkozeluh
Tak chyba byla v tom koderu ze slona. Když jsem tam připojil jeden, co jsem vybrakoval z mrchovlnky, tak to chodí OK, škoda jen, že má 12imp/otočku :?

Teď je jen otázka, jestli koupit další slůně, nebo to zkusit někde jinde.