Rotační koder

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
rkozeluh
Příspěvky: 262
Registrován: 17 úno 2007, 00:00
Bydliště: Liberec

Rotační koder

#1 Příspěvek 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
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#2 Příspěvek od Andrea »

Bez ošetření zákmitů se nedá použít.
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#3 Příspěvek 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.
Uživatelský avatar
Ragnol
Příspěvky: 232
Registrován: 09 lis 2005, 00:00
Kontaktovat uživatele:

#4 Příspěvek 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
Uživatelský avatar
rkozeluh
Příspěvky: 262
Registrován: 17 úno 2007, 00:00
Bydliště: Liberec

#5 Příspěvek 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?
Uživatelský avatar
zouzel1
Příspěvky: 364
Registrován: 04 čer 2007, 00:00

#6 Příspěvek od zouzel1 »

Vždyť je to mechanický přepínač, ošetřit zákmity, tak jak píše Andrea... žoužel
Uživatelský avatar
BOBOBO
Příspěvky: 20879
Registrován: 25 úno 2008, 00:00
Bydliště: Rychnovsko

#7 Příspěvek 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 .
Uživatelský avatar
Maskot
Příspěvky: 1772
Registrován: 19 lis 2004, 00:00
Bydliště: Wien

#8 Příspěvek 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.
Uživatelský avatar
BOBOBO
Příspěvky: 20879
Registrován: 25 úno 2008, 00:00
Bydliště: Rychnovsko

#9 Příspěvek od BOBOBO »

Hej máš recht . Zkrátil jsem si to na ošetření obvodovým zapojením .
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#10 Příspěvek od Atlan »

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#11 Příspěvek 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.
Uživatelský avatar
rkozeluh
Příspěvky: 262
Registrován: 17 úno 2007, 00:00
Bydliště: Liberec

#12 Příspěvek 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ů?
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#13 Příspěvek 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.
Uživatelský avatar
rkozeluh
Příspěvky: 262
Registrován: 17 úno 2007, 00:00
Bydliště: Liberec

#14 Příspěvek 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 :?
Uživatelský avatar
rkozeluh
Příspěvky: 262
Registrován: 17 úno 2007, 00:00
Bydliště: Liberec

#15 Příspěvek 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.
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“