www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Rotacijski enkodri - delovanje
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Periferija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14668
Aktiv.: 61.98
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Apr 26, 2009 7:06 pm    Naslov sporočila:   Odgovori s citatom

Spisal procedurco za rotacjiski enkoder, ter ga poskusil.




P4260062.ZIP
 Opis:
Filmček

Download
 Ime datoteke:  P4260062.ZIP
 Velikost datoteke:  3.41 MB
 Downloadano:  57 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14668
Aktiv.: 61.98
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Apr 26, 2009 7:20 pm    Naslov sporočila:   Odgovori s citatom

Branez je napisal/a:
Pa dela? V tisti temi vidim samo cifre. Wink


Seveda dela. Film je bolj temen- malo ga osvetli. Na desni strani displeja ga vrtim.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
borber
Član
Član



Pridružen-a: Pon 23 Maj 2005 8:40
Prispevkov: 3111
Aktiv.: 13.15
Kraj: LJUBLJANA

PrispevekObjavljeno: Ned Apr 26, 2009 8:01 pm    Naslov sporočila:   Odgovori s citatom

Silvo, če si pri volji mi nariši algoritem branja enkoderja.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14668
Aktiv.: 61.98
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Apr 26, 2009 8:49 pm    Naslov sporočila:   Odgovori s citatom

borber je napisal/a:
Silvo, če si pri volji mi nariši algoritem branja enkoderja.


Informacijo o smeri prebereš v štirjih korakih.




Tole je assemblerska koda. (AVR) V danem primeru preverjam vsak vhod zase. (tole je bilo na hitro napisano, da sem stvar stestiral) , sicer bi bilo še bolj enostavno preverjati oba vhoda istočasno, ter čakati na spremembo. (seveda pa način branja zavisi čisto od same aplikacije)


Koda:


.equ TGor=3
.equ TDol=4

#define SLevo PINB,TGor
#define SDesno PINB,TDol

;---------------------------------------------
;branje rotacijskega enkodra
;---------------------------------------------
Enkoder:
   sbic SLevo
   rjmp LSmer
   sbic SDesno
   rjmp DSmer
   rjmp Enkoder

LSmer:
   sbis SLevo
   rjmp Enkoder
   sbis SDesno
   rjmp LSmer
   
LSmer3:
   sbis SDesno
   rjmp Enkoder
   sbic SLevo
   rjmp LSmer3
   
   LSmer2:
   sbic SLevo
   rjmp LSmer
   sbic SDesno
   rjmp LSmer2

;če pride do sem je cel korak
   rcall StejGor
   rcall Osvezi
   rjmp Enkoder

DSmer:
   sbis SDesno
   rjmp Enkoder
   sbis SLevo
   rjmp DSmer
DSmer3:
   sbis SLevo
   rjmp Enkoder   
   sbic SDesno
   rjmp DSmer3
   
   DSmer2:
   sbic SDesno
   rjmp DSmer
   sbic SLevo
   rjmp DSmer2
;če pride do sem je cel korak
   rcall StejDol
   rcall Osvezi
   rjmp Enkoder

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
borber
Član
Član



Pridružen-a: Pon 23 Maj 2005 8:40
Prispevkov: 3111
Aktiv.: 13.15
Kraj: LJUBLJANA

PrispevekObjavljeno: Ned Apr 26, 2009 9:18 pm    Naslov sporočila:   Odgovori s citatom

Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.34
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Ned Apr 26, 2009 9:23 pm    Naslov sporočila:   Odgovori s citatom

Silvo, hvala, to bo tudi meni prav pršlo.

Doma imam 3 enkonderje iz laserskih mišk, od "koleščka". Vedno sem mislil, da enkonderji delujejo tako, da ko ga sučeš v eno smer, se za vsak korak pojavi signal na eni nogici, ko pa ga sučeš v drugo smer, pa na drugi. Ampak potem sem šel enkrat to sprobavat in sem videl, da temu ni tako, zato sem jih dal na stran. Zdaj pa jih lahko spet uporabim Wink

_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14668
Aktiv.: 61.98
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Apr 26, 2009 9:36 pm    Naslov sporočila:   Odgovori s citatom

borber je napisal/a:
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem.


V danem primeru berem vsak vhod mikrokontrolerja posebej ter ugotavljam kaj se z njimi dogaja. Najenostavneje pa je preverjanje obeh sočasno. Predpostavlja se, da so vhodi na najnižjih dveh pinih porta.
Prebereš stanje ter ugotoviš kje se enkoder nahaja. ( za orentacijo vzemiva gornjo tabelo)

-Reciva, da je stanje "3" oba logična vhoda sta visoka.
-čakaš na spremembo
-ob spremebi ugotoviš stanje
-A=1 B=0 (1) smer naprej
-A=0 B=1 (2) smer nazaj
-čakaš spremembo
-ugotavljaš gibanje glede na zadnje stanje
-če je bilo 1
potem sledi 0 za naprej 3 za nazaj
- če je bilo 2 sledi 0 za nazaj 3 za naprej

in tako naprej...

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.60

PrispevekObjavljeno: Ned Apr 26, 2009 9:39 pm    Naslov sporočila:   Odgovori s citatom

borber je napisal/a:
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem.


Spremljas v bistvu en signal in to po moznosti tako, da ujames obe flanki (npr. z "interrupt on I/O port change"), potem pa glede na stanje drugega signala ugotovis smer vrtenja:

1: Ce je stanje drugega vhoda enako stanju prvega, potem se je enkoder zavrtel v eno smer.

2: Ce je stanje drugega vhoda drugacno kakor stanje prvega, potem se je enkoder zavrtel v drugo smer.

Lahko lovis samo eno flanko, ampak moras potem narediti 2x toliko poti za isto stevilo korakov. Princip je isti.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14668
Aktiv.: 61.98
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Apr 26, 2009 9:41 pm    Naslov sporočila:   Odgovori s citatom

program_er je napisal/a:
Silvo, hvala, to bo tudi meni prav pršlo.

Doma imam 3 enkonderje iz laserskih mišk, od "koleščka". Vedno sem mislil, da enkonderji delujejo tako, da ko ga sučeš v eno smer, se za vsak korak pojavi signal na eni nogici, ko pa ga sučeš v drugo smer, pa na drugi. Ampak potem sem šel enkrat to sprobavat in sem videl, da temu ni tako, zato sem jih dal na stran. Zdaj pa jih lahko spet uporabim Wink


Verjetno obstaja več variant senzorjev v miškah. Sam sem pred leti naredil en merilec, ki se je služil za meritev folije. Uporabil sem senzor ter delilni kolešček miške s kroglico. Senzor je že imel vgrajeno logiko za ugotavljanje smeri. Impulzi so prihajali vedno le po eni nogici - glede na smer vrtenja.


Temo sem razdelil v novo z ustreznim naslovom.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.52
Kraj: Krško

PrispevekObjavljeno: Ned Apr 26, 2009 10:25 pm    Naslov sporočila:   Odgovori s citatom

Silvo,kako kaže kaj tisti tvoj projekt za navijanje tuljavc?
_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14668
Aktiv.: 61.98
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Apr 26, 2009 10:37 pm    Naslov sporočila:   Odgovori s citatom

dkone je napisal/a:
Silvo,kako kaže kaj tisti tvoj projekt za navijanje tuljavc?


Števec je končan. Upam, da ga bom uspel spraviti do na papir, do naslednje števije.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.28
Kraj: Yogyakarta

PrispevekObjavljeno: Pon Apr 27, 2009 1:36 pm    Naslov sporočila:   Odgovori s citatom

Sokrat je napisal/a:
borber je napisal/a:
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem.


Spremljas v bistvu en signal in to po moznosti tako, da ujames obe flanki (npr. z "interrupt on I/O port change"), potem pa glede na stanje drugega signala ugotovis smer vrtenja:

1: Ce je stanje drugega vhoda enako stanju prvega, potem se je enkoder zavrtel v eno smer.

2: Ce je stanje drugega vhoda drugacno kakor stanje prvega, potem se je enkoder zavrtel v drugo smer.

Lahko lovis samo eno flanko, ampak moras potem narediti 2x toliko poti za isto stevilo korakov. Princip je isti.


V bistvu se en signal veče na INTerupt (ni važno ali je padajoči ali naraščujoči), ko se zgodi interupt ti drugi signal iz enkoderja pove ali se je zavrtel korak levo ali desno. Torej če se vrti vedno v eno smer dobiš ob vsakem interuptu isto vrednost na sosednji liniji, in tako števec avtomatsko povečuješ, zmanjšuješ. NE rabiš nobene logike zadaj v kodi.

_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.60

PrispevekObjavljeno: Pon Apr 27, 2009 2:15 pm    Naslov sporočila:   Odgovori s citatom

red_mamba je napisal/a:
Sokrat je napisal/a:
borber je napisal/a:
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem.


Spremljas v bistvu en signal in to po moznosti tako, da ujames obe flanki (npr. z "interrupt on I/O port change"), potem pa glede na stanje drugega signala ugotovis smer vrtenja:

1: Ce je stanje drugega vhoda enako stanju prvega, potem se je enkoder zavrtel v eno smer.

2: Ce je stanje drugega vhoda drugacno kakor stanje prvega, potem se je enkoder zavrtel v drugo smer.

Lahko lovis samo eno flanko, ampak moras potem narediti 2x toliko poti za isto stevilo korakov. Princip je isti.


ubistvu se en signal veče na INTerupt (ni važno ali je padajoči ali naraščujoči), ko se zgodi interupt ti drugi signal iz enkoderja pove ali se je zavrtel korak levo ali desno. Torej če se vrti vedno v eno smer dobiš ob vsakem interuptu isto vrednost na sosednji liniji, in tako števec avtomatsko povečuješ, zmanjšuješ. NE rabiš nobene logike zadaj v kodi.


Kaj sem pa jaz napisal ? Think

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.75
Kraj: Kranj - struževo

PrispevekObjavljeno: Pon Apr 27, 2009 5:57 pm    Naslov sporočila:   Odgovori s citatom

Če pa se obe liniji hkrati spremenita, pa prižgeš rdečo ledico (z napisom Napaka). Idea
_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.52
Kraj: Krško

PrispevekObjavljeno: Ned Jul 19, 2009 11:15 am    Naslov sporočila:   Odgovori s citatom

Čemu služi TTL 74hc14 spodaj na shemi? Imam tale IR dajalnik za enkoder ,pa me zanima ali tudi uporabim 74hc14?Oz. kakšno vlogo igra?


quadraturedec.png
 Opis:
 Velikost datoteke:  21.85 KB
 Pogledana:  39 krat

quadraturedec.png



_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Periferija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 486 dni


Powered by phpBB © 2001, 2005 phpBB Group